@@ -1,12 +1,20 @@ #! /usr/bin/env bash -pkgsdir="$1" +if [ "$1" == '--cpio' ]; then + mode='file' + + pkgfile="$1" +else + mode='dir' + + pkgsdir="$1" +fi appfsdir="$2" -if [ -z "${pkgsdir}" -o -z "${appfsdir}" ]; then - echo 'Usage: appfs-mk ' >&2 +if [ -z "${pkgsdir}" -a -z "${pkgfile}" ] || [ -z "${appfsdir}" ]; then + echo 'Usage: appfs-mk {--cpio |} ' >&2 exit 1 fi appfsdir="$(cd "${appfsdir}" && pwd)" @@ -85,11 +93,19 @@ echo "${type},${stat_data},${extra_data},${filename}" fi done } -cd "${pkgsdir}" || exit 1 +case "${mode}" in + dir) + cd "${pkgsdir}" || exit 1 + ;; + file) + echo 'Unsupported' >&2 + exit 1 + ;; +esac packagelistfile="${appfsdir}/sha1/${RANDOM}${RANDOM}${RANDOM}${RANDOM}${RANDOM}.tmp" for package in *; do ( cd "${package}" || exit 1