+ZPM - the ultimate package manager
+==================================
+
Features
--------
lists of directory contents
package database editing
- e.g. marking a file as a configuration file
+ mark a file as a configuration file
repackaging
creating a package from the current state of an installed package
use shell scripts where possible
use shell functions as hooks and callbacks
-package is just a tarball
-can contain more than one package
-xz compressed
-
-version?
-package-name/version/files/{usr/bin/foo, etc}
-package-name/version/info/hooks - shell script of functions
-package-name/version/info/pkginfo - shell readable
-package-name/version/info/manifest? derivable from tarball
-package-name/version/info/dynamiclibs, or greppable from manifest?
+A package is an SQLite database file.
-/var/lib/zpac:
-packages/installed/<package>/files/sha1/ab/ab/hash -> file
-librefs/<library name>/<package> (or file?)
-sha1/ab/ab/<sha1hashs> -> file
-fileowner/sha1/ab/ab/hash/packagename - can be more than one
+Multiple packages in the same file.
need to mark a package as held for no automatic upgrade
-configure to run a command after an any package work
+configure to run a command after any package work
+
+System Administration
+---------------------
+
+Install a package
+
+ zpm install <pkgname>
+
+Add a repository
+
+ zpm repo add <repo_url>
+
+List the files owned by a package
+
+ zpm contents <pkgname>
+
+Capture current state of configuration files
+
+ zpm capture <pkgname>
+
+Create a package file from an installed package
+
+ zpm export <pkgname>
+
+Extract file content from a package
+
+ zpm extract <hash> <path>
+
+Packaging Software
+------------------
+
+Build a package in the current directory
+
+ zpm build
+
+Create a package from a tarball
+
+ zpm build -t <tarfile> <packagefile>
+
+Import the contents of one package file into another
+
+ zpm merge <basefile> <otherfile>
+
+Create a package from a list of file names on stdin
+
+ find <find_options> | zpm build -s <packagefile>
+
+Create a new empty package
+
+ zpm newpackage <packagefile>
+
+Add a file to a package in a package db
+
+ zpm addtopackage <packagefile> <filepath>
+
+Mark a file as a configuration file
+
+ zpm mark -c <packagefile> <path>
+
+Mark a package as finished building
+
+ zpm complete <packagefile> <packagename>
+
+Utilities
+---------
+
+Show the elf libraries needed by a program or library
+
+ zpm soneed <file>
+
+Show the elf library provided by a library file
+
+ zpm soname <file>
+
+Get the sha256 hash of a file
+
+ zpm hash <file>
+
+Get the unix timestamp of a file
+
+ zpm stat -f '%m' <file>
+
+Get the uid of a file
+
+ zpm stat -f '%u' <file>