X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=zpm-add;h=2b4dda692f822361ccc032aef314d7156404a724;hb=b7a4dd34227b6cf84908ffde9f2c4395f29fe1b4;hp=4025bde71ee60b290e300f91cdf186a1c629d452;hpb=9d083a447a46714def83ef782581c51d8e5897dc;p=zpackage diff --git a/zpm-add b/zpm-add index 4025bde..2b4dda6 100755 --- a/zpm-add +++ b/zpm-add @@ -29,12 +29,14 @@ cleanpath() { printf "%s" "$clean" } +verbose=0 tags= isconfig=0 # option for "multipackage" just to let the system know that's what you meant # option to take filenames from stdin # parse package, version, release from file if not given -while getopts :f:v:r:l:P:S:cu:g: opt; do +# TODO -l follow symlinks, -L follow symlinks, adding all, links and targets +while getopts :f:vr:l:P:S:cu:g: opt; do case $opt in f) pkgfile="$OPTARG" ;; P) prefix="$OPTARG" ;; @@ -43,7 +45,8 @@ while getopts :f:v:r:l:P:S:cu:g: opt; do c) isconfig=1 ;; u) username="$OPTARG" ;; g) groupname="$OPTARG" ;; - *) echo 'unknown option' $opt; exit 1 ;; + v) verbose=1 ;; + *) echo 'unknown option' $OPTARG; exit 1 ;; esac done shift $((OPTIND - 1)) @@ -52,6 +55,10 @@ if [ $isconfig -eq 1 ]; then tags="$tags configuration" fi +if [ $verbose -gt 1 ]; then + set -x +fi + pkgid="$1" shift eval $(zpm parse -E $pkgid) @@ -83,15 +90,19 @@ if [ -z "$pkgfile" ]; then die "cannot determine package file" fi -set -e - # check for package file if [ ! -f "$pkgfile" ]; then echo $pkgfile does not exist exit 1 fi +set -e zpm test -v $pkgfile +set +e + +if [ $verbose -gt 0 ]; then + echo adding to $pkgfile $pkgid +fi package=$(zpm quote "$name") pkgver=$(zpm quote "$version") @@ -132,7 +143,7 @@ for path in $*; do rpath="$prefix/$rpath" fi - filetype=$(zpm stat -f '%t' "$path") + filetype=$(zpm stat -l -f '%t' "$path") hash='NULL' target='NULL' case "$filetype" in @@ -165,5 +176,8 @@ commit; EOS #printf "%s %s%s\n" $path $rpath ${target:+" -> $target"} -printf "%s\n" $path +if [ $verbose -gt 0 ]; then + printf "%s\n" $path +fi + done