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