Skip to content

Building and modifying pakku

eqf0 edited this page Feb 27, 2022 · 5 revisions

GNU autools are not used, the Makefile is custom written.

Installation

Unlike most packages, Pakku is entirely useless without the AUR, pacman and makepkg. So to get a working full installation you need to build the AUR package. For trouble shooting or development purposes, use the pakku-git package to get the latest changes.

Typical commands for building, modifying and rebuilding:

git clone https://aur.archlinux.org/pakku-git.git
cd pakku-git
makepkg -so # fetch and prepare source but don't build it
makepkg -e

Which creates a pakku-git-<tag>-<arch>.taz.zst you can install

sudo pacman -U pakku-git-<tag>-<arch>.taz.ztd

Then you can modify the source in src/pakku and rebuild if you wish

rm -r src/pakku/src/pakku src/pakku/lib/tools src/nimcache/
makepkg -ef # force rebuild

To build at an earlier commit, instead of the command above:

$ makepkg -o
$ cd src/pakku
$ git log
(find desired commit hash)
$ git checkout <commit hash>
$ cd ../..
$ makepkg -e

See the makepkg manpage for more options!

Local build

For development or trouble shooting, it is possible to build Pakku without installing it.

git clone https://github.com/zqqw/pakku
cd pakku
make src/pakku

This creates a src/pakku binary that can be used for debugging purposes. Just take into account it only makes sense to build it in an Arch based system. For more available targets, check the Makefile.

Clone this wiki locally