tazpkg annotate modules/recompress @ rev 846
Remove "busybox" "prefixes" (thanks llev)
We used "busybox wget", etc. to be sure we called Busybox's "wget", not any other "wget". Workaround already done in "getenv" module.
We used "busybox wget", etc. to be sure we called Busybox's "wget", not any other "wget". Workaround already done in "getenv" module.
author | Aleksej Bobylev <al.bobylev@gmail.com> |
---|---|
date | Fri Oct 09 13:14:01 2015 +0300 (2015-10-09) |
parents | d6cbd0c5f273 |
children |
rev | line source |
---|---|
al@844 | 1 #!/bin/sh |
al@844 | 2 # TazPkg - Tiny autonomous zone packages manager, hg.slitaz.org/tazpkg |
al@844 | 3 # recompress - TazPkg module |
al@844 | 4 # Recompress .tazpkg cpio archive with lzma |
al@844 | 5 |
al@844 | 6 |
al@844 | 7 # Connect function libraries |
al@844 | 8 . /lib/libtaz.sh |
al@844 | 9 |
al@844 | 10 # Get TazPkg working environment |
al@844 | 11 . @@MODULES@@/getenv |
al@844 | 12 |
al@844 | 13 |
al@844 | 14 |
al@844 | 15 |
al@844 | 16 # Extract a package with cpio and gzip/lzma. |
al@844 | 17 |
al@844 | 18 extract_package() { |
al@844 | 19 action 'Extracting package...' |
al@844 | 20 cpio -idm --quiet < "${PACKAGE_FILE##*/}" && rm -f "${PACKAGE_FILE##*/}" |
al@844 | 21 if [ -f fs.cpio.lzma ]; then |
al@844 | 22 unlzma < fs.cpio.lzma | cpio -idm --quiet && rm fs.cpio.lzma |
al@844 | 23 elif [ -f fs.cpio.gz ]; then |
al@844 | 24 zcat fs.cpio.gz | cpio -idm --quiet && rm fs.cpio.gz |
al@844 | 25 fi |
al@844 | 26 status |
al@844 | 27 } |
al@844 | 28 |
al@844 | 29 |
al@844 | 30 PACKAGE_FILE="$1" |
al@844 | 31 |
al@844 | 32 title 'Recompressing package "%s"' "$(basename "$PACKAGE_FILE" .tazpkg)" |
al@844 | 33 TMP_DIR="$(mktemp -d)" |
al@844 | 34 |
al@844 | 35 action "Copying original package..." |
al@844 | 36 cp "$PACKAGE_FILE" "$TMP_DIR" |
al@844 | 37 status |
al@844 | 38 |
al@844 | 39 cd "$TMP_DIR" |
al@844 | 40 extract_package |
al@844 | 41 |
al@844 | 42 action "Recompressing the FS..." |
al@846 | 43 find fs | cpio -o -H newc --quiet | lzma e fs.cpio.lzma -si |
al@844 | 44 rm -rf fs |
al@844 | 45 status |
al@844 | 46 |
al@844 | 47 action "Creating new package..." |
al@846 | 48 find | cpio -o -H newc --quiet > "$PACKAGE_FILE" |
al@844 | 49 status |
al@844 | 50 |
al@844 | 51 rm -rf "$TMP_DIR" |
al@844 | 52 separator; newline |