diff options
author | dylan.araps@gmail.com <dylan.araps@gmail.com> | 2020-02-25 20:56:40 +0000 |
---|---|---|
committer | dylan.araps@gmail.com <dylan.araps@gmail.com> | 2020-02-25 20:56:40 +0000 |
commit | 3d8badd82230be192b90b50d6550e5f5cea87487 (patch) | |
tree | 16b2d922e0a2c5d7c2e4897077601daded403b7b /contrib/kiss-export | |
parent | dccd4404c4ab677480c0fe0aed0f1d3b82e4210b (diff) | |
download | cpt-3d8badd82230be192b90b50d6550e5f5cea87487.tar.gz |
contrib: clean up
FossilOrigin-Name: 2ea8ee144f0d0cdaaa8c95a7fedf53d7a3fc8e305ed99d51639a7f4450e475ed
Diffstat (limited to 'contrib/kiss-export')
-rwxr-xr-x | contrib/kiss-export | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/contrib/kiss-export b/contrib/kiss-export index e8da80f..dd5dedd 100755 --- a/contrib/kiss-export +++ b/contrib/kiss-export @@ -2,16 +2,22 @@ # # 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 -} +kiss l "${1:-null}" >/dev/null -# 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" -) +# Grab the package's version.. +read -r ver rel 2>/dev/null < \ + "$KISS_ROOT/var/db/kiss/installed/$1/version" + +# Reset the argument list. +pkg=$1 +set -- + +# Construct the argument list using each file. +while read -r file || [ "$file" ]; do + [ -d "$KISS_ROOT/$file" ] || set -- "$@" ".$file" +done < "$KISS_ROOT/var/db/kiss/installed/$pkg/manifest" + +# Turn the list of files back into a package. +tar czf "$pkg#$ver-$rel.tar.gz" -C / -- "$@" + +printf 'tarball created in %s\n' "$PWD/$pkg#$ver-$rel.tar.gz" |