]> pd.if.org Git - zpackage/blobdiff - zpm-addtopackage
have ctap prove read from stdin
[zpackage] / zpm-addtopackage
index 81c1bcb5b1cbc9fe7f8417de6bd4e54cd238b672..1b7bff4d3296d34e15cb08544709f98d7646569b 100755 (executable)
@@ -31,7 +31,7 @@ create=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:Cc opt; do
+while getopts :f:v:r:l:P:S:Ccu:g: opt; do
        case $opt in
                f) pkgfile="$OPTARG" ;;
                v) pkgver="$OPTARG" ;;
@@ -42,7 +42,9 @@ while getopts :f:v:r:l:P:S:Cc opt; do
                t) tags="$tags $OPTARG" ;;
                c) tags="$tags configuration" ;;
                C) create=1 ;;
-               *) echo 'unknown option'; exit 1 ;;
+               u) username="$OPTARG" ;;
+               g) groupname="$OPTARG" ;;
+               *) echo 'unknown option' $opt; exit 1 ;;
        esac
 done
 shift $((OPTIND - 1))
@@ -73,12 +75,12 @@ zpm test -v $pkgfile
 
 #strip=$(cleanpath "$strip")
 for path in $*; do
-       echo adding $path
+       #echo adding $path
        mtime=$(zpm stat -f '%y' $path)
        uid=$(zpm stat -f '%u' $path)
        gid=$(zpm stat -f '%g' $path)
-       username=$(zpm stat -f '%U' $path)
-       groupname=$(zpm stat -f '%G' $path)
+       : ${username:=$(zpm stat -f '%U' $path)}
+       : ${groupname:=$(zpm stat -f '%G' $path)}
        mode=$(zpm stat -f '%a' $path)
        rpath="$path"
 
@@ -128,6 +130,7 @@ for path in $*; do
                        ;;
        esac
 
+       # TODO check that we have such a package,version,release
        zpm shell $pkgfile <<EOS
 PRAGMA foreign_keys = ON;
 begin;