pkget.1 (4227B)
1 .TH PKGET 1 "2026-06-11" "pkget 1.0" "User Commands" 2 .SH NAME 3 pkget \- binary package fetcher and installer 4 .SH SYNOPSIS 5 .B pkget 6 [\fB\-u\fR \fIurl\fR] 7 [\fB\-c\fR \fIdir\fR] 8 [\fB\-snNfUovh\fR] 9 [\fIpackage\fR ...] 10 .SH DESCRIPTION 11 \fBpkget\fR downloads binary packages from a remote HTTP repository, 12 resolves dependencies, verifies SHA256 checksums, and installs via 13 \fBpkgadd\fR(8). 14 .PP 15 The repository must contain a \fBrepo.db\fR (package metadata) and a 16 \fBrepo.sha256\fR (checksums) at its root. Run \fBpkget \-s\fR first 17 to sync these files to the local cache. 18 .SH OPTIONS 19 .TP 20 \fB\-u\fR \fIurl\fR 21 Repository base URL (required, or set \fBREPO_URL\fR in the environment). 22 .TP 23 \fB\-c\fR \fIdir\fR 24 Cache directory (default: \fB/var/cache/pkget\fR). 25 .TP 26 \fB\-s\fR 27 Sync the repo database and checksum file from the server. Exits 28 after syncing unless packages are also specified. 29 .TP 30 \fB\-n\fR 31 Dry run: resolve dependencies, print the install plan, and exit 32 without downloading or installing anything. 33 .TP 34 \fB\-N\fR 35 Skip dependency resolution. Only the named packages are processed; 36 their dependencies are ignored. 37 .TP 38 \fB\-f\fR 39 Force reinstall. Packages that are already installed are reinstalled 40 instead of being skipped. Passes \fB\-f\fR to \fBpkgadd\fR. 41 .TP 42 \fB\-U\fR 43 Upgrade mode. With explicit package names, passes \fB\-u\fR to 44 \fBpkgadd\fR for each package. With \fIno package arguments\fR, 45 upgrades \fIall\fR outdated packages (dependencies resolved, new 46 dependencies fetched, up-to-date packages skipped). 47 .TP 48 \fB\-o\fR 49 Show outdated packages. Compares installed versions against the 50 repo and prints packages with available updates. With package 51 arguments, checks only those packages. With no arguments, checks 52 all installed packages. 53 .TP 54 \fB\-v\fR 55 Verbose output. Prints additional progress messages prefixed with 56 \fB[v]\fR. 57 .TP 58 \fB\-h\fR 59 Print usage and exit. 60 .SH ENVIRONMENT 61 .TP 62 \fBREPO_URL\fR 63 Repository base URL. Must be set if \fB\-u\fR is not used. 64 .TP 65 \fBCACHEDIR\fR 66 Local cache directory (default: \fB/var/cache/pkget\fR). The repo 67 database and downloaded packages are stored here. 68 .TP 69 \fBPKGADD\fR 70 Path to \fBpkgadd\fR (default: \fBpkgadd\fR). 71 .SH FILES 72 .TP 73 \fB/var/cache/pkget/repo.db\fR 74 Cached repository database. 75 .TP 76 \fB/var/cache/pkget/repo.sha256\fR 77 Cached checksum file. 78 .TP 79 \fB/var/lib/pkg/db\fR 80 Installed package list (fallback when \fBpkginfo\fR is unavailable). 81 .SH EXAMPLES 82 .TP 83 Sync the repo index: 84 \fBpkget \-u https://pkg.example.com \-s\fR 85 .TP 86 Install a package and its dependencies: 87 \fBpkget \-u https://pkg.example.com wget\fR 88 .TP 89 Dry-run an install: 90 \fBpkget \-n \-u https://pkg.example.com curl\fR 91 .TP 92 Reinstall a package (force): 93 \fBpkget \-f \-u https://pkg.example.com bash\fR 94 .TP 95 Check for outdated packages: 96 \fBpkget \-o \-u https://pkg.example.com\fR 97 .TP 98 Upgrade all outdated packages: 99 \fBpkget \-U \-u https://pkg.example.com\fR 100 .TP 101 Install a standalone package (skip deps): 102 \fBpkget \-N \-u https://pkg.example.com mypkg\fR 103 .SH "INSTALL PIPELINE" 104 Each install follows this sequence: 105 .IP 1. 3 106 \fBResolve\fR \[em] Build the full ordered package list (dependencies 107 first) via topological sort. 108 .IP 2. 109 \fBFilter\fR \[em] Skip already-installed packages (unless \fB\-f\fR 110 or \fB\-U\fR). In full-upgrade mode, up-to-date transitive 111 dependencies are also skipped. 112 .IP 3. 113 \fBPlan\fR \[em] Print what will be installed, prompt for confirmation. 114 .IP 4. 115 \fBFetch\fR \[em] Download all packages and verify SHA256 checksums 116 \fIbefore\fR installing anything (atomicity). 117 .IP 5. 118 \fBInstall\fR \[em] Run pre-install script, call \fBpkgadd\fR, run 119 post-install script for each package in dependency order. 120 .SH "PRE/POST-INSTALL SCRIPTS" 121 Scripts are embedded in \fBrepo.db\fR as base64-encoded 122 \fBpre-install:b64:...\fR and \fBpost-install:b64:...\fR lines. 123 Legacy repos that store scripts as separate files 124 (\fBpre-install:1\fR) are still supported. 125 .SH "EXIT STATUS" 126 .IP 0 127 Success. 128 .IP 1 129 An error occurred (fetch failure, checksum mismatch, missing package, etc.). 130 .SH "SEE ALSO" 131 \fBpkgrepo\fR(1), \fBpkgadd\fR(8), \fBpkginfo\fR(8), \fBprt\-get\fR(8) 132 .SH BUGS 133 Circular dependencies are detected and warned about; the involved 134 packages are skipped rather than causing an infinite loop.