tazpkg view 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 |
line source
1 #!/bin/sh
2 # TazPkg - Tiny autonomous zone packages manager, hg.slitaz.org/tazpkg
3 # recompress - TazPkg module
4 # Recompress .tazpkg cpio archive with lzma
7 # Connect function libraries
8 . /lib/libtaz.sh
10 # Get TazPkg working environment
11 . @@MODULES@@/getenv
16 # Extract a package with cpio and gzip/lzma.
18 extract_package() {
19 action 'Extracting package...'
20 cpio -idm --quiet < "${PACKAGE_FILE##*/}" && rm -f "${PACKAGE_FILE##*/}"
21 if [ -f fs.cpio.lzma ]; then
22 unlzma < fs.cpio.lzma | cpio -idm --quiet && rm fs.cpio.lzma
23 elif [ -f fs.cpio.gz ]; then
24 zcat fs.cpio.gz | cpio -idm --quiet && rm fs.cpio.gz
25 fi
26 status
27 }
30 PACKAGE_FILE="$1"
32 title 'Recompressing package "%s"' "$(basename "$PACKAGE_FILE" .tazpkg)"
33 TMP_DIR="$(mktemp -d)"
35 action "Copying original package..."
36 cp "$PACKAGE_FILE" "$TMP_DIR"
37 status
39 cd "$TMP_DIR"
40 extract_package
42 action "Recompressing the FS..."
43 find fs | cpio -o -H newc --quiet | lzma e fs.cpio.lzma -si
44 rm -rf fs
45 status
47 action "Creating new package..."
48 find | cpio -o -H newc --quiet > "$PACKAGE_FILE"
49 status
51 rm -rf "$TMP_DIR"
52 separator; newline