Fullpkg
Fullpkg is script for building packages from an abs-tree from scratch. This script:
- Checks whether the target package has been built.
- Finds dependencies for the target package and check that they are at the latest version.
- 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)
- Copy PKGBUILD and files to a build directory.
- Builds the packages on inverse dependence level.
Contents
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-mips64elThose 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.