diff options
Diffstat (limited to 'contrib/kiss-export')
-rwxr-xr-x | contrib/kiss-export | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/contrib/kiss-export b/contrib/kiss-export new file mode 100755 index 0000000..e8da80f --- /dev/null +++ b/contrib/kiss-export @@ -0,0 +1,17 @@ +#!/bin/sh -ef +# +# kiss-export - Turn an installed package into a KISS tarball. + +read -r ver rel 2>/dev/null < "$KISS_ROOT/var/db/kiss/installed/$1/version" || { + printf '%s\n' "error: '$1' is not installed." >&2 + exit 1 +} + +# This warning is safe to ignore as globs are disabled and +# word splitting is intentional. +# shellcheck disable=2046 +tar czvf "$1#$ver-$rel.tar.gz" -C / -- $( + while read -r file; do + [ -d "$KISS_ROOT/$file" ] || printf '%s\n' ".$file" + done < "$KISS_ROOT/var/db/kiss/installed/$1/manifest" +) |