#!/bin/bash SRC=$1 DEST=$2 URL=https://static.opensuse.org/appstream/tumbleweed # Do not produce the html files - the biggest tasks are done # Users interested in them can always produce them locally out of the appdata.xml.gz file HTMLOUT=no HASHED_NAMES=no TMPDIR=$(mktemp -d) /usr/bin/appstream-builder \ --temp-dir=${TMPDIR}/apb \ --cache-dir=${TMPDIR}/apb/cache \ --origin=appdata \ --basename=appdata \ --packages-dir=${SRC} \ --output-dir=${DEST} 2>&1 > $TMPDIR/as-builder.log RET=$? if [ $RET -ne 0 ]; then # The appstream-builder failed, exit with an error code, so prod builder knows about it cat $TMPDIR/as-builder.log exit $RET fi # clean up TMPDIR again rm -rf ${TMPDIR} # Change screenshot URLs to our own infrastructure; disabled, as infra not ready # appstream-util mirror-screenshots \ # ${DEST}/appdata.xml.gz \ # ${URL} \ # /usr/share/app-screenshots \ # /tmp/apb-screenshots if [ "$HTMLOUT" = "yes" ]; then /usr/bin/appstream-util \ status-html \ ${DEST}/appdata.xml.gz \ ${DEST}/appdata.html # compress the HTML file (boo#942985) xz -9 ${DEST}/appdata.html /usr/bin/appstream-util \ status-html \ ${DEST}/appdata-failed.xml.gz \ ${DEST}/appdata-failed.html # compress the HTML file (boo#942985) xz -9 ${DEST}/appdata-failed.html fi if [ "$HASHED_NAMES" = "yes" ]; then # rename the appdata-icons.tar.gz tarball to something like # appdata-icons-${hash}.tar.gz, allowing mirrorbrain to send users # off to a mirror to catch the file, improving performance read md5 fn_catchall <<<$(md5sum ${DEST}/appdata-icons.tar.gz) mv ${DEST}/appdata-icons.tar.gz ${DEST}/appdata-icons-${md5}.tar.gz # also rename the appdata.xml.gz file in the same style read md5 fn_catchall <<<$(md5sum ${DEST}/appdata.xml.gz) mv ${DEST}/appdata.xml.gz ${DEST}/appdata-${md5}.xml.gz # And the same for the -screenshots tarball (containing auto-generated screenshots for fonts) read md5 fn_catchall <<<$(md5sum ${DEST}/appdata-screenshots.tar) mv ${DEST}/appdata-screenshots.tar ${DEST}/appdata-screenshots-${md5}.tar fi