73 lines
2.1 KiB
Bash
73 lines
2.1 KiB
Bash
#!/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
|