@@ -7,10 +7,16 @@ make_args=( prefix=/usr sbindir=/sbin mandir=/usr/man ) + +if [ ! -f '/etc/slackware-version' ]; then + echo 'This script is meant to be run on a Slackware system.' >&2 + + exit 1 +fi if [ -z "${version}" ]; then echo 'Usage: make-slackware-package ' >&2 exit 1 @@ -21,28 +27,28 @@ mkdir "${workdir}" || exit 1 ( PATH="${PATH}:/sbin" - set -ex + set -x - cd "${workdir}" + cd "${workdir}" || exit 1 installdir="$(pwd)/installed" wget -O appfs.tar.gz "${url}" - tar -xf appfs.tar.gz - - cd "appfs-${version}" - - make "${make_args[@]}" - make "${make_args[@]}" DESTDIR="${installdir}" install - - cd "${installdir}" - - mkdir install - cat << \_EOF_ > install/slack-desc + tar -xf appfs.tar.gz || exit 1 + + cd "appfs-${version}" || exit 1 + + make "${make_args[@]}" || exit 1 + make "${make_args[@]}" DESTDIR="${installdir}" install || exit 1 + + cd "${installdir}" || exit 1 + + mkdir install || exit 1 + cat << \_EOF_ > install/slack-desc || exit 1 appfs: appfs (App Filesystem) appfs: appfs: AppFS is a manifest-based FUSE filesystem that lazily fetches files over HTTP. appfs: It is intended to be a universal packaging format. appfs: @@ -52,16 +58,18 @@ appfs: appfs: appfs: _EOF_ - makepkg -c n -l y "../${package}" + makepkg -c n -l y "../${package}" || exit 1 - xz -dc "../${package}" | tardy -User 0 -Group 0 | xz -9c > "../${package}.new" - mv "../${package}.new" "../${package}" + if [ "$(id -u)" != '0' ]; then + xz -dc "../${package}" | tardy -User 0 -Group 0 | xz -9c > "../${package}.new" || exit 1 + mv "../${package}.new" "../${package}" || exit 1 + fi ) || exit 1 mv "${workdir}/${package}" . rm -rf "${workdir}" exit 0