Fullpkg - ParabolaWiki

# 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.

Categories:

- Hacking
- Packaging
- Libretools
- MIPS