README (1646B)
1 mkpk 2 ==== 3 4 Packaging system using Plan9 mk 5 6 7 Prerequisites 8 ------------- 9 10 * PRoot[1] 11 * sbase tar[2] + (-T + -n patch)[3] 12 * xz 13 * install, sed, sort, uniq, mv… 14 * Plan9 mk, for example from [4] 15 16 17 Installation 18 ------------ 19 20 # mk install 21 22 23 mkpk helper usage (for admins/users) 24 ------------------------------------ 25 26 # mkpk update # Pulls the MKFILESREPO repository 27 # mkpk fetch foo # fetches the sources of foo to SRCBASEDIR 28 # mkpk build foo # builds the foo tarball and puts it into PKGDIR 29 # mkpk install foo # installs the built tarball 30 # mkpk list foo # lists files in the installed tarball 31 # mkpk info foo # shows information about the installed tarball 32 # mkpk uninstall foo # uninstalls the package using the installed 33 # tarball as a filelist 34 # mkpk upgrade foo # upgrades the existing package, by running 35 # fetch -> build -> uninstall -> install 36 37 With table[5]: 38 39 $ tsvtable /pkg/pkgdb.tsv # Displays a nicely formatted table of all 40 # installed tarballs and their versions 41 42 43 Usage in your projects (for hackers) 44 ------------------------------------ 45 46 $ cd /path/to/project 47 $ cat <<! >mkfile 48 mkpklib=/lib/mkpk 49 <$mkpklib/defaults.mk 50 51 # ... 52 53 <$mkpklib/standard.mk # or add your own rules 54 55 # ... 56 57 <$mkpklib/package.mk 58 59 # ... 60 ! 61 $ mk package # creates mypackage-1.2.3.{tar.xz,sha512} 62 $ doas mk package-install # installs the above to PKGDIR 63 64 65 [1]: https://proot-me.github.io/ 66 [2]: https://core.suckless.org/sbase/ 67 [3]: https://git.sr.ht/~strahinja/sbase/tree/master/item/patches/0001-Add-both-T-filelist-and-n-equivalent-of-no-recursion.patch 68 [4]: https://tools.suckless.org/9base/ 69 [5]: https://git.sr.ht/~strahinja/table/