forked from kiss-community/kiss
29 lines
762 B
Bash
Executable File
29 lines
762 B
Bash
Executable File
#!/bin/sh -ef
|
|
#
|
|
# kiss-export - Turn an installed package into a KISS tarball.
|
|
|
|
kiss l "${1:-null}" >/dev/null
|
|
|
|
# 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; 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 cf - -C / -- "$@" | case ${KISS_COMPRESS:-gz} in
|
|
bz2) bzip2 -z ;;
|
|
gz) gzip -6 ;;
|
|
xz) xz -zT 0 ;;
|
|
zst) zstd -z ;;
|
|
esac > "$pkg#$ver-$rel.tar.${KISS_COMPRESS:-gz}"
|
|
|
|
printf 'tarball created in %s\n' "$PWD/$pkg#$ver-$rel.tar.${KISS_COMPRESS:-gz}"
|