1
0
mirror of https://codeberg.org/kiss-community/kiss synced 2024-07-02 22:12:26 +00:00
kiss/contrib/kiss-export

36 lines
962 B
Plaintext
Raw Normal View History

2019-10-30 10:51:48 +00:00
#!/bin/sh -ef
2020-05-01 06:07:20 +00:00
# Turn an installed package into a KISS tarball
2019-10-30 10:51:48 +00:00
# Ignore shellcheck as we want the warning's behavior.
# shellcheck disable=2015
[ "$1" ] && kiss l "${1:-null}" >/dev/null || {
printf 'usage: kiss-export [pkg]\n'
exit 1
}
2019-10-30 10:51:48 +00:00
2020-02-25 20:56:41 +00:00
# Grab the package's version..
read -r ver rel 2>/dev/null < "$KISS_ROOT/var/db/kiss/installed/$1/version"
2020-02-25 20:56:41 +00:00
# Reset the argument list.
2020-05-15 06:58:16 +00:00
pkg=$1 pwd=$PWD
2020-02-25 20:56:41 +00:00
set --
# Construct the argument list using each file.
2020-03-11 18:04:07 +00:00
while read -r file; do
2020-02-25 20:56:41 +00:00
[ -d "$KISS_ROOT/$file" ] || set -- "$@" ".$file"
done < "$KISS_ROOT/var/db/kiss/installed/$pkg/manifest"
2020-05-15 06:58:16 +00:00
cd "$KISS_ROOT/"
2020-02-25 20:56:41 +00:00
# Turn the list of files back into a package.
2020-05-15 06:58:16 +00:00
tar cf - "$@" | case ${KISS_COMPRESS:-gz} in
bz2) bzip2 -z ;;
gz) gzip -6 ;;
lzma) lzma -z ;;
lz) lzip -z ;;
xz) xz -zT 0 ;;
zst) zstd -z ;;
esac > "$pwd/$pkg#$ver-$rel.tar.${KISS_COMPRESS:-gz}"
2020-02-25 20:56:41 +00:00
2020-05-15 06:58:16 +00:00
printf 'tarball created in %s\n' "$pwd/$pkg#$ver-$rel.tar.${KISS_COMPRESS:-gz}"