From 5d06aa78f6500a05b4ac440a06534df7ac0d8182 Mon Sep 17 00:00:00 2001 From: Nathan Wagner Date: Sun, 25 Nov 2018 05:38:37 +0000 Subject: [PATCH] add install option to merge files --- zpm-install | 14 ++++++++++++-- zpm-syncfs.c | 1 + 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/zpm-install b/zpm-install index 1fb470e..0cb0281 100755 --- a/zpm-install +++ b/zpm-install @@ -18,11 +18,13 @@ absorb=0 overwrite=0 syncopts='' installall=0 +mergefiles=0 # zpm-install [-SCn] [ -d localdb ] [ -f pkgfile ] [ -R installroot ] pkgstr ... -while getopts f:d:R:nSCvAOa opt; do +while getopts f:d:R:nSCvAOaF opt; do case $opt in f) pkgfile="$OPTARG" ;; + F) mergefiles=1 ;; d) localdb="$OPTARG" ;; R) rootdir="$OPTARG" ;; S) runscripts=0 ;; @@ -154,7 +156,11 @@ for pkgid in $pkglist; do if [ $verbose -gt 0 ]; then echo merging $pkgid fi - zpm merge -u -F -f $pkgfile -s installing $pkgid + if [ $mergefiles -eq 1 ]; then + zpm merge -u -F -f $pkgfile -s installing $pkgid + else + zpm merge -u -f $pkgfile -s installing $pkgid + fi if [ $? -ne 0 ]; then die "merging $pkgid failed" fi @@ -174,6 +180,10 @@ if [ $verbose -gt 0 ]; then syncopts="$syncopts -v" fi +if [ "$pkgfile" != "$ZPMDB" ]; then + syncopts="$syncopts -f $pkgfile" +fi + zpm syncfs $syncopts syncrv=$? diff --git a/zpm-syncfs.c b/zpm-syncfs.c index 85c033e..0b88928 100644 --- a/zpm-syncfs.c +++ b/zpm-syncfs.c @@ -1302,6 +1302,7 @@ int main(int ac, char **av){ conf.log = &localdb; if (pkgdbfile) { + /* TODO open read-only */ if (!zpm_open(&pkgdb, pkgdbfile)) { fprintf(stderr, "can't open src db %s\n", localdbfile); exit(EXIT_FAILURE); -- 2.40.0