X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=doc%2Fzpm.8;h=542bb0f3e19df5e9456d9810c3f5449c16496186;hb=HEAD;hp=90e1f7ca2dd2b7d476a889a300857010d09d3b33;hpb=2eb30b5a4eb5feb15cab31a908686ef4e8d4b1f2;p=zpackage diff --git a/doc/zpm.8 b/doc/zpm.8 index 90e1f7c..542bb0f 100644 --- a/doc/zpm.8 +++ b/doc/zpm.8 @@ -1,4 +1,4 @@ -.TH zpm 8 2018-12-07 "ZPM 0.3" +.TH zpm 8 2019-03-01 "ZPM 0.3" .SH NAME zpm \- the ultimate package manager .SH SYNOPSIS @@ -9,22 +9,124 @@ zpm \- the ultimate package manager .I command .i options .SH DESCRIPTION -zpm is the ultimate package manager +zpm is the ultimate package manager. +The zpm program itself searches the pathfor zpm sub-commands to run. +Sub-commands will either be statically linked compiled programs. .PP -zpm manages packages +ZPM stores packages and package information in zpm databases, which +are sqlite3 databases with an application id of 0x5a504442. The +current user_version is 1. Both packages and information about installed +package are stored in zpm databases, with an identical database schema. +The difference between them is in how they are used and what they +typically contain. +.SS Package Names +.PP +Packages are identified by a name-version-release triple. +.PP +The name is the general name of the package, which must start with a letter, +and may contain letters, numbers, or a '-'. +.PP +The version must start with a numeral, and may contain numerals, letters, and +'.'. The version generally matches the upstream version of the software +in the package, but may be different due to the format requirements or +as assigned by the packager. +.PP +The release is a decimal integer assigned by the packager. +.PP +Usually a package may be specified by name or name and version if those +are unique for the context. +.SS Package Metadata +.PP +Package metadata is collected into stream and hashed with sha256 to +create a package hash. This hash may be verified by the admin, +and may be signed by the packager. +.SS Package Signing +.PP +Packages can be signed by the zpm-sign utility. +.PP +Public keys are put into a trust db at /var/lib/zpm/trustdb +(or $ZPMTRUSTDB, or ~/.zpm/trustdb, or via command line). +.PP +zpm-checksignature -t trustdbfile +.SS Library Handling +ZPM understands ELF files, and will automatically calculate elf library +dependencies. .SH OPTIONS \-P \fIpath\fR sets a path to the sub-command executables .SH EXAMPLES .B zpm init \fIpkgfile\fR .B zpm list \fIpkgfile\fR +.SH GLOSSARY +.TP +default database +Many commands take a database to work on. If not specified via a command +line option, a path to the database is taken from the ZPMDB environment +variable of, if that is not set, /var/lib/zpm/local.db is used. .SH EXIT STATUS 0 on success non zero on failure .SH FILES /var/lib/zpm/local.db .SH AUTHOR Nathan Wagner +.SH CREDITS +.PP +The following code all has a statement putting it into the public domain. +.TP +Ed25519 +adapted from code by Phillip Lay https://www.phlay.de/ +.TP +TLSE +TLS code adapted from tlse (heavily, there really isn't much tlse code left). +.TP +tomsfastmath and libtomcrypt +used by the TLS implementation +.TP +Chacha20 and Curve25519 +from ref10 implementations by Daniel Bernstein +.TP +SQLite +from https://sqlite.org/index.html +.TP +lzma +from http://git.tukaani.org/xz.git +.TP +SSL root certificates +taken from http://mxr.mozilla.org/mozilla/source/security/nss/lib/ckfw/builtins/certdata.txt +.TP +JSW data structures code. +Adapted from JSW's data structures code at http://www.eternallyconfuzzled.com/ +.TP +Blake2 +Taken from https://github.com/BLAKE2/BLAKE2.git +.PP +All other code written by Nathan Wagner and also placed in the public domain. +.SH LICENSE +ZPM itself is in the public domain. Compiled programs themselves +likely contain code from the C library and are subject to any licensing +requirements that implies. Where possible, programs have been statically +linked with musl rather than glibc, since glibc doesn't actually support +static linking. For the musl copyright see https://git.musl-libc.org/cgit/musl/tree/COPYRIGHT. .SH SEE ALSO +.BR zpm-addfile (8) .BR zpm-contents (8) +.BR zpm-elftype (8) +.BR zpm-extract (8) +.BR zpm-fetchurl (8) +.BR zpm-hash (8) +.BR zpm-init (8) .BR zpm-list (8) -.BR zpm-update (8) +.BR zpm-log (8) +.BR zpm-merge (8) +.BR zpm-packagehash (8) +.BR zpm-parse (8) +.BR zpm-quote (8) .BR zpm-repo (8) +.BR zpm-rmpackage (8) +.BR zpm-shell (8) +.BR zpm-sign (8) +.BR zpm-soname (8) +.BR zpm-soneed (8) +.BR zpm-stat (8) +.BR zpm-test (8) +.BR zpm-update (8) +.BR zpm-verify (8)