+# --F 001 error, wouldn't know which pkgid to create, could derive from file?
+# C-F 101 error, since package wouldn't exist in file to find
+if [ -z "$release" ]; then
+ die must specify complete package id
+fi
+
+# set file from pkgid
+# CR- 110 set file from pkgid, create if needed
+# -R- 010 set file from pkgid, create in file, error if no file
+if [ -z "$pkgfile" ]; then
+ pkgfile="$pkgid.zpm"
+fi
+
+# will now be one of these
+# CRF 111 create package in file given, create file if needed
+# -RF 011 create package in file, error if file doesn't exist
+if [ ! -f "$pkgfile" ]; then
+ if [ $create -eq 1 ]; then
+ zpm init $pkgfile
+ else
+ die $pkgfile does not exist
+ fi
+fi
+
+set -e
+
+if [ "$idempotent" = 1 ]; then
+ idempotent='or ignore'
+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