mkpk

Систем за управљање пакетима који користи mk из система Plan9
git clone https://git.sr.ht/~strahinja/mkpk
Дневник | Датотеке | Референце | ПРОЧИТАЈМЕ | ЛИЦЕНЦА

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/