File openSUSE-appstream-process of Package appstream-glib

#!/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
openSUSE Build Service is sponsored by