From ddeb616cccad9c19467be36be9415cbb82a836ce Mon Sep 17 00:00:00 2001 From: Nathan Wagner Date: Sat, 15 Sep 2018 11:37:33 +0000 Subject: [PATCH] remove create option to zpm-add --- t/add.t | 21 +++++++++++++-------- zpm-add | 58 ++++++++++++++++++++++++++++++++++++--------------------- 2 files changed, 50 insertions(+), 29 deletions(-) diff --git a/t/add.t b/t/add.t index 4f0725d..3463afb 100755 --- a/t/add.t +++ b/t/add.t @@ -7,7 +7,7 @@ PF=test.db -plan 17 +plan 20 td=test.addtopackage rm -rf $td @@ -15,9 +15,12 @@ mkdir $td echo foo > $td/foo okexit 'making foo' -rm -f zpmtest-1.0-1.zpm +pkgid=zpmtest-1.0-1 + +rm -f $pkgid.zpm -require zpm add -C zpmtest $td/foo +require zpm newpackage -C $pkgid +require zpm add $pkgid $td/foo h=$(zpm hash $td/foo) require zpm extract zpmtest-1.0-1.zpm $h $td/foo2 h2=$(zpm hash $td/foo2) @@ -31,9 +34,11 @@ okstreq "$3" "1" package release okstreq "$4" "$td/foo" file foo in package diag "$pkglist" -rm zpmtest-1.0-1.zpm +rm -f zpmtest-1.0-1.zpm -require zpm add -C -f $PF zpmtest $td/foo +rm -f $PF +require zpm newpackage -f $PF -C $pkgid +require zpm add -f $PF zpmtest $td/foo rm -f $td/foo2 require zpm extract $PF $h $td/foo2 h2=$(zpm hash $td/foo2) @@ -48,12 +53,12 @@ okstreq "$4" "$td/foo" file foo in package diag "$pkglist" rm -f $PF -require zpm add -C -f $PF -S "$td" zpmtest $td/foo +require zpm newpackage -f $PF -C $pkgid +require zpm add -f $PF -S "$td" zpmtest $td/foo fn=$(zpm showpkg $PF | awk '{print $4}') okstreq "$fn" "foo" file foo in package prefix striped +rm -f $PF finish rm -rf $td -rm -f $PF -rm -f zpmtest-1.0-1.zpm diff --git a/zpm-add b/zpm-add index 1b7bff4..51c0805 100755 --- a/zpm-add +++ b/zpm-add @@ -1,7 +1,10 @@ #!/bin/sh -pkgver=${ZPMPKGVER:-1.0} -pkgrel=${ZPMPKGREL:-1} +# zpm add -f pkgfile pkgid [ files ] + +# no package file? take from ZPM_PACKAGE_FILE +# no pkgid ? take from ZPM_PACKAGE_ID +# no id impossible die() { echo $* 1>&2 @@ -27,21 +30,17 @@ cleanpath() { } tags= -create=0 +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:Ccu:g: opt; do +while getopts :f:v:r:l:P:S:cu:g: opt; do case $opt in f) pkgfile="$OPTARG" ;; - v) pkgver="$OPTARG" ;; - r) pkgrel="$OPTARG" ;; - l) licenses="$OPTARG" ;; P) prefix="$OPTARG" ;; S) strip=$(cleanpath "$OPTARG"); ;; t) tags="$tags $OPTARG" ;; - c) tags="$tags configuration" ;; - C) create=1 ;; + c) isconfig=1 ;; u) username="$OPTARG" ;; g) groupname="$OPTARG" ;; *) echo 'unknown option' $opt; exit 1 ;; @@ -49,30 +48,47 @@ while getopts :f:v:r:l:P:S:Ccu:g: opt; do done shift $((OPTIND - 1)) -package="$1" +if [ $isconfig -eq 1 ]; then + tags="$tags configuration" +fi + +pkgid="$1" shift -if [ -z "$package" ]; then - die "must specify package" +set -x +eval $(zpm parse -E $pkgid) + +if [ -z "$pkgfile" ]; + pkgfile=$ZPM_PACKAGE_FILE +fi + +# look for a .zpm file here +if [ -z "$pkgfile" ] && [ -n "$release" ] && [ -f "$pkgid.zpm" ]; + pkgfile="$pkgid.zpm" fi -set -e if [ -z "$pkgfile" ]; then - pkgfile="$package-$pkgver-$pkgrel.zpm" + die "cannot determine package file" fi +set -e + # check for package file if [ ! -f "$pkgfile" ]; then - if [ $create -eq 1 ]; then - echo creating $pkgfile - zpm newpackage -I -f $pkgfile -v $pkgver -r $pkgrel $package || exit 1 - else - echo $pkgfile does not exist - exit 1 - fi + echo $pkgfile does not exist + exit 1 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 + #strip=$(cleanpath "$strip") for path in $*; do #echo adding $path -- 2.40.0