From 09c80a1f8918d888063f4d1a75921a99fe5f0b5c Mon Sep 17 00:00:00 2001 From: Nathan Wagner Date: Wed, 20 Feb 2019 13:21:56 +0000 Subject: [PATCH] let newpackage set additional fields --- doc/zpm-newpackage.8 | 71 ++++++++++++++++++++++++++++++++++++++++++++ doc/zpm-pathmod.8 | 2 +- t/basics.t | 12 +++++++- zpm-newpackage | 29 ++++++++++++++++-- 4 files changed, 110 insertions(+), 4 deletions(-) create mode 100644 doc/zpm-newpackage.8 diff --git a/doc/zpm-newpackage.8 b/doc/zpm-newpackage.8 new file mode 100644 index 0000000..b7dd498 --- /dev/null +++ b/doc/zpm-newpackage.8 @@ -0,0 +1,71 @@ +.TH zpm-newpackage 8 2019-02-20 "ZPM 0.3" +.SH NAME +zpm-newpackage \- run newpackage +.SH SYNOPSIS + b) builddate="$OPTARG" ;; +.B zpm newpackage +[ +.BI \-f " pkgfile" +] +[ +.B \-CI +] +[ +.BI \-d description +] +[ +.BI \-u url +] +[ +.BI \-l licenses +] +[ +.BI \-p packager +] +[ +.BI \-b builddate +] +.I package +.SH DESCRIPTION +\fBzpm-newpackage\fR +Creates a new package. +.SH OPTIONS +.TP +.BI \-f package +specify the package file to create the package in. +.TP +.B \-C +Create the package file if it does not exist. +.TP +.B \-I +Do nothing if the package already exists. Without this option, +if the package already exists, it is an error. +.TP +.BI \-d description +Set the package description. +.TP +.BI \-u url +Set the package url. +.TP +.BI \-l license +Set the package license. +.TP +.BI \-p packager +Set the package packager. +.TP +.BI \-b builddate +Set the package builddate. Defaults to the current timestamp. +.SH EXAMPLES +.TP +.B zpm newpackage -f foo-1.0-1 foo-1.0-1 +Create a new package. +.SH EXIT STATUS +0 on success non zero on failure +.SH FILES +/var/lib/zpm/local.db +.SH ENVIRONMENT +ZPMDB +.SH AUTHOR +Nathan Wagner +.SH SEE ALSO +.BR zpm (8) diff --git a/doc/zpm-pathmod.8 b/doc/zpm-pathmod.8 index fc807d0..7c6b950 100644 --- a/doc/zpm-pathmod.8 +++ b/doc/zpm-pathmod.8 @@ -1,4 +1,4 @@ -.TH zpm-contents 8 2018-12-08 "ZPM 0.3" +.TH zpm-pathmod 8 2019-02-20 "ZPM 0.3" .SH NAME zpm-pathmod \- modify package file metadata .SH SYNOPSIS diff --git a/t/basics.t b/t/basics.t index cd5cb43..2ef85c6 100755 --- a/t/basics.t +++ b/t/basics.t @@ -2,7 +2,7 @@ . tap.sh -plan 10 +plan 15 PF=test.db @@ -26,6 +26,16 @@ require zpm pkg -f $PF basics version=2.0 pkgid=$(zpm list -f $PF) okstreq "$pkgid" "basics-2.0-1" "have basics 2.0" +tryrun zpm newpackage -f $PF -p foo -l bar -d baz -u quux valset-1.0-1 +val=$(zpm pkgmod -f $PF valset packager) +okstreq "$val" 'foo' newpackage set packager +val=$(zpm pkgmod -f $PF valset licenses) +okstreq "$val" 'bar' newpackage set licenses +val=$(zpm pkgmod -f $PF valset description) +okstreq "$val" 'baz' newpackage set description +val=$(zpm pkgmod -f $PF valset url) +okstreq "$val" 'quux' newpackage set url + cd .. rm -rf tmp finish diff --git a/zpm-newpackage b/zpm-newpackage index 8b9fb0b..a92cea3 100755 --- a/zpm-newpackage +++ b/zpm-newpackage @@ -82,9 +82,34 @@ fi package=$(zpm quote "$name") pkgver=$(zpm quote "$version") pkgrel=$(zpm quote "$release") +if [ -n "$description" ]; then + description=$(zpm quote -q "$description") +else + description=NULL +fi + +if [ -n "$licenses" ]; then + licenses=$(zpm quote -q "$licenses") +else + licenses=NULL +fi + +if [ -n "$packager" ]; then + packager=$(zpm quote -q "$packager") +else + packager=NULL +fi +if [ -n "$url" ]; then + url=$(zpm quote -q "$url") +else + url=NULL +fi zpm shell $pkgfile <