commit 8e3261b
hovercats
·
2026-09-08 14:06:18 +0000 UTC
parent 6303728
add option to change default compressor
1 files changed,
+23,
-3
M
rcpm
M
rcpm
+23,
-3
1@@ -22,6 +22,7 @@ if (~ $#RCPM_CACHE 0) {
2 RCPM_CACHE=/home/$user/var/rcpm/bin
3 }
4 }
5+if (~ $#RCPM_COMPRESSOR 0) RCPM_COMPRESSOR=gzip
6
7 fn dl_pkg {
8 cd $RCPM_PATH/$pkg
9@@ -73,17 +74,36 @@ fn get_ver {
10
11 }
12
13+fn rcpm_compressor {
14+ switch($RCPM_COMPRESSOR) {
15+ case gzip
16+ tool=gzip
17+ ext=gz
18+ case bzip
19+ tool=bzip2
20+ ext=bz2
21+ case xz
22+ tool=xz
23+ ext=xz
24+ case zstd
25+ tool=zstd
26+ ext=zst
27+ }
28+}
29+
30 fn packup_pkg {
31 mkdir -p ./$RCPM_DB/$pkg
32 get_ver
33 printf $"version >./$RCPM_DB/$pkg/ver
34 gen_manifest
35 test -d $RCPM_CACHE || mkdir -p $RCPM_CACHE
36- pax -w . | gzip > $RCPM_CACHE/$pkg@$ver-$rev.tar.gz
37+ rcpm_compressor
38+ pax -w . | $tool > $RCPM_CACHE/$pkg@$ver-$rev.tar.$ext
39 }
40
41 fn check_prebuilt {
42- if (test ! -f $RCPM_CACHE/$pkg@$ver-$rev.tar.gz) {
43+ rcpm_compressor
44+ if (test ! -f $RCPM_CACHE/$pkg@$ver-$rev.tar.$ext) {
45 log $pkg is not built
46 }
47 }
48@@ -98,7 +118,7 @@ fn gen_manifest {
49 fn install_pkg {
50 cd $RCPM_ROOT
51 get_ver || status=()
52- check_prebuilt || {gzip -dc $RCPM_CACHE/$pkg@$ver-$rev.tar.gz | pax -r
53+ check_prebuilt || {$tool -dc $RCPM_CACHE/$pkg@$ver-$rev.tar.$ext | pax -r
54 log $pkg installed successfully}
55 }
56