Wiki

Clone wiki

Dibab / fixpackagebuild

Overview :

Dibab build packages for packages/list-$ARCH or packages/list-$MODULE

Dibab needs only user rights, and some packages needs 

* patches : http://code.google.com/p/dibab/source/browse/#git%2F2.0%2Fpackages%2Fpatches 
* special config options : http://code.google.com/p/dibab/source/browse/2.0/packages/build-packages,
* special build commands : http://code.google.com/p/dibab/source/browse/2.0/packages/db-autobuild 

to build fine.

This document tries to explain how write special rules
 for packages that does not build with standard build "./configure --prefix=$PREFIX"

Note : To force build package in source tree, you have to add one specific file
 into package source at packages/db-autobuild (look at :SKIP_DIR)

/****** Scenario : clamav cannot build with ' User clamav (and/or group clamav) doesn't exist' *****/

We will write a patch for this

1 - Run make into "BUILDME" mode for manual build

BUILDME=OK make lanpower # clamav is into lanpower module

2 - goes into build directory

cd $HOME/dibab/build-lanpower/clamav-0.98 # dibab tries to build packages outside source directory

$HOME/dibab/src/clamav-0.98/configure

Error : "' User clamav (and/or group clamav) doesn't exist'"

vim configure : looking at "doesn't exist" : users seems to be an option

./configure --help # see configure options 

--with-user=uid          name of the clamav user (default=clamav)
--with-group=gid        name of the clamav group (default=clamav)

$HOME/dibab/src/clamav-0.98/configure --with-user=root --with-group=root # OK

delete source directory ($HOME/dibab/build-lanpower/clamav-0.98)

return to dibab source tree

vim packages/build-packages

go to #WRITE HERE NEW RULES

add : echo $ARCHIVE | grep clamav && LC_CONFIGURE_OPTS="--with-user=root --with-group=root "
make lanpower : OK !

Updated