pkget

Binary package manager for CRUX
git clone git://git.emmett1.my/pkget.git
Log | Files | Refs | README

README (2097B)


      1 pkget - binary package manager
      2 =============================
      3 
      4 pkget downloads, verifies, and installs binary packages from an HTTP
      5 repository.  pkgrepo generates the repository metadata from a CRUX
      6 ports tree.
      7 
      8 
      9 Quick start
     10 -----------
     11 
     12   $ chmod +x pkget pkgrepo
     13 
     14   $ pkget -u https://pkg.example.com -s        sync repo index
     15   $ pkget -u https://pkg.example.com wget      install wget + its dependencies
     16   $ pkget -u https://pkg.example.com -U        upgrade all outdated packages
     17   $ pkget -u https://pkg.example.com -o        check for outdated packages
     18 
     19 
     20 Requirements
     21 ------------
     22 
     23   Runtime:
     24     - POSIX /bin/sh, awk, sed, grep, mktemp, sort, join, cat, tr
     25     - curl or wget
     26     - sha256sum, shasum -a 256, or sha256 -q
     27     - pkgadd (CRUX pkgutils)
     28     - pkginfo (optional; falls back to /var/lib/pkg/db)
     29 
     30   Server-side only (pkgrepo):
     31     - A CRUX-style ports tree (name/Pkgfile per port)
     32     - Built .pkg.tar.xz / .pkg.tar.gz / .pkg.tar.bz2 files
     33 
     34 
     35 Repository format
     36 -----------------
     37 
     38   The repo server exposes two files at its root:
     39 
     40     repo.db       Blank-line-separated stanzas of field:value pairs.
     41                   Fields: name, version, release, file, deps, desc,
     42                   pre-install (base64), post-install (base64).
     43 
     44     repo.sha256   <sha256>  <filename> lines (two spaces, sha256sum format).
     45 
     46   Package filenames: <name>#<version>-<release>.pkg.tar.xz
     47   The # is URL-encoded to %23 when fetching (avoids fragment interpretation).
     48 
     49   Pre/post-install scripts are embedded directly in repo.db as base64.
     50   Legacy repos with separate script files (pre-install:1) are supported.
     51 
     52 
     53 Environment variables
     54 ---------------------
     55 
     56   REPO_URL      Repository base URL (required, or use -u flag).
     57   CACHEDIR      Local cache directory (default: /var/cache/pkget).
     58   PKGADD        Path to pkgadd (default: pkgadd).
     59   PORTSDIR      Ports tree root(s), space-separated (pkgrepo only).
     60   PKGDIR        Built package directory (default: /var/pkg/repo).
     61   PKGEXT        Package extensions (default: .pkg.tar.gz .pkg.tar.xz .pkg.tar.bz2).
     62 
     63 
     64 See also
     65 --------
     66 
     67   pkget(1), pkgrepo(1)