Fullpkg

Fullpkg is script for building packages from an abs-tree from scratch. This script:

  1. Checks whether the target package has been built.
  2. Finds dependencies for the target package and check that they are at the latest version.
  3. Write a list of packages to build and how deep are they in dependencies. (eg. A depends on B, B depends on C -> A is level 0, B is level 1, C is level 2)
  4. Copy PKGBUILD and files to a build directory.
  5. Builds the packages on inverse dependence level.

Set up

fullpkg uses some vars from /etc/libretools.conf, you need to setup these ones:

File: /etc/libretools.conf
REPOS=(core extra ...)
ABSROOT=$WORKDIR/abslibre
FULLBUILDCMD="sudo libremakepkg -cumL -M --noconfirm -M --nocheck"

Architecture specific hooks

There are also files specific to the arch you have to install separatedly,
 # pacman -Sy libretools-mips64el
Those contains hooks specific for that architecture:
File: /etc/libretools.d/mips64el.conf
HOOKLOCALRELEASE=mipsrelease
HOOKPKGBUILDMOD=mips-add

To use arch specific hooks you need to uncomment the right field in /etc/libretools.conf:

File: /etc/libretools.conf
## These are architecture specific files.
## Uncomment them if you installed libretools-arch
#source /etc/libretools.d/mips64el.conf
#source /etc/libretools.d/x86_64.conf
#source /etc/libretools.d/i686.conf

If you use fullpkg on i686 or x86_64, you can file a feature request at the issue tracker and attach a file containing your arch specific hooks. Those will be reviewed for inclusion on libretools.

Usage

Which are fullpkg options

Fullpkg will always have an updated list of options wich can be shown by using
 $ fullpkg -h

Building packages using fullpkg

You need to cd to a dir wich contains a PKGBUILD for your target package and run fullpkg:

 $ cd /dir/with/PKGBUILD
 $ fullpkg [options] 

fullpkg will copy all PKGBUILDS and files for building the target package and their deps.

Problems with fullpkg

Report a bug on the libretools tracker.