commit fb544a1
hovercats
·
2025-06-04 05:07:36 +0000 UTC
parent a6471ba
add `u` flag for updating packages out-of-date packages. | couple minor adjustments
1 files changed,
+18,
-8
M
rcpm
M
rcpm
+18,
-8
1@@ -74,13 +74,10 @@ fn packup_pkg {
2 pax -w . | gzip > $RCPM_CACHE/$pkg@$ver-$rev.tar.gz
3 }
4
5-fn check_pkgbuilt {
6- get_ver
7+fn check_prebuilt {
8 if (test ! -f $RCPM_CACHE/$pkg@$ver-$rev.tar.gz) {
9- echo "$pkg is not built"
10- exit 1
11+ echo $pkg is not built
12 }
13- if not status=()
14 }
15
16 fn gen_manifest {
17@@ -92,8 +89,8 @@ fn gen_manifest {
18
19 fn pkg_install {
20 cd $RCPM_ROOT
21- check_pkgbuilt
22- gzip -dc $RCPM_CACHE/$pkg@$ver-$rev.tar.gz | pax -r
23+ get_ver
24+ check_prebuilt || gzip -dc $RCPM_CACHE/$pkg@$ver-$rev.tar.gz | pax -r
25 }
26
27 fn pkg_build {
28@@ -140,6 +137,18 @@ fn rm_pkgs {
29 }
30 }
31
32+fn pkg_update {
33+ for (file in $RCPM_ROOT/$RCPM_DB/*) {
34+ pkg=`{basename $file}
35+ if (cmp -s $RCPM_ROOT/$RCPM_DB/$pkg/ver $RCPM_PATH/$pkg/ver) {
36+ echo $pkg is up to date
37+ }
38+ if not {
39+ pkg_build $pkg
40+ }
41+ }
42+}
43+
44 switch($1) {
45 case b
46 shift
47@@ -152,7 +161,6 @@ switch($1) {
48 for (pkg) dl_pkg $pkg
49 case h
50 rcpm_help
51- exit 0
52 case i
53 shift
54 for (pkg) pkg_install $pkg
55@@ -175,6 +183,8 @@ switch($1) {
56 case s
57 shift
58 for (pkg in $*) find $RCPM_PATH -type d -name $pkg
59+ case u
60+ pkg_update
61 case *
62 printf 'Error!\n'
63 exit 1