]> pd.if.org Git - zpackage/commitdiff
rework zpm-add
authorNathan Wagner <nw@hydaspes.if.org>
Sat, 15 Sep 2018 12:25:09 +0000 (12:25 +0000)
committerNathan Wagner <nw@hydaspes.if.org>
Mon, 17 Sep 2018 12:16:13 +0000 (12:16 +0000)
zpm-add

diff --git a/zpm-add b/zpm-add
index 51c08054038f67091447596deec893e55241f375..4025bde71ee60b290e300f91cdf186a1c629d452 100755 (executable)
--- a/zpm-add
+++ b/zpm-add
@@ -54,15 +54,28 @@ fi
 
 pkgid="$1"
 shift
-set -x
 eval $(zpm parse -E $pkgid)
 
-if [ -z "$pkgfile" ];
+if [ -z "$pkgfile" ]; then
        pkgfile=$ZPM_PACKAGE_FILE
 fi
 
+if [ -z "$release" ]; then
+       if [ -z "$pkgfile" ]; then
+               die "cannot determine package file"
+       else
+               pkgstr=$(zpm findpkg $pkgfile $pkgid)
+               if [ -z "$pkgstr" ]; then
+                       die "unable to find package id for $pkgid in $pkgfile"
+               fi
+               pkgid=$pkgstr
+               # need to reparse the new package id
+               eval $(zpm parse -E $pkgid)
+       fi
+fi
+
 # look for a .zpm file here
-if [ -z "$pkgfile" ] && [ -n "$release" ] && [ -f "$pkgid.zpm" ];
+if [ -z "$pkgfile" ] && [ -f "$pkgid.zpm" ]; then
        pkgfile="$pkgid.zpm"
 fi
 
@@ -80,14 +93,9 @@ fi
 
 zpm test -v $pkgfile
 
-if [ -z "$release" ]; then
-       pkgstr=$(zpm findpkg -f $pkgfile $pkgid)
-fi
-
-if [ -z "$pkgstr" ]; then
-       die "unable to find package id for $pkgid"
-fi
-pkgid=$pkgstr
+package=$(zpm quote "$name")
+pkgver=$(zpm quote "$version")
+pkgrel=$(zpm quote "$release")
 
 #strip=$(cleanpath "$strip")
 for path in $*; do
@@ -147,6 +155,7 @@ for path in $*; do
        esac
 
        # TODO check that we have such a package,version,release
+       #cat <<EOS
        zpm shell $pkgfile <<EOS
 PRAGMA foreign_keys = ON;
 begin;