Building binary packages
Contents
Windows
In /etc/make.conf
PORTDIR_OVERLAY="/usr/local/portage"
Building crossdev environment for MINGW-32, first install crossdev package
emerge -av crossdev
Under hardened profile mingw doesn't get compiled, hence switch to default profile before building
eselect profile set 1 env-update source /etc/profile
Build MINGW-32 with the latest releases
crossdev -t i686-mingw32 -P -v
Restore Hardened profile
eselect profile set 7 env-update source /etc/profile
Mac OS X
Until now it has not been possible to install a building environment for Mac OS X under Linux. If you have suggestions, they are pretty welcome.
Ubuntu
'pbuilder' is no longer available in gentoo portage. Are there any other solutions?
pbuilder setup
These comments are made on a gentoo distribution and they are based on https://help.ubuntu.com/ubuntu/packagingguide/C/gs-pbuilder.html.
Install fakeroot package
emerge -av fakeroot
Before running pbuilder, you must fix /etc/hostname temporarily (difference between gentoo and debian environments).
echo "sirac.geopsy.org" > /etc/hostname
Don't forget to remove that file at the end. You may encounter problems on next startup of you gentoo box. Check that hostname -f works properly. If not, check /etc/host of gentoo tree.
pbuilder does not run out of the box. Apparently, arch is not properly set and it must be forced with --debootstrapopts.
pbuilder create --debug --distribution hardy --debootstrapopts --arch=amd64 --mirror "ftp://ftp.proxad.net/mirrors/ftp.ubuntu.com/ubuntu" --othermirror "deb http://archive.ubuntu.com/ubuntu hardy universe multiverse" --debootstrapopts --include=gpgv
Every time you touch /etc/apt/sources.list, don't forget to run apt-get update'.
To modify the build environment:
pbuilder execute --save-after-exec your_script
Package building
https://help.ubuntu.com/6.10/ubuntu/packagingguide/C/basic-scratch.html
Quick steps:
cp sesarray-src-2.1.0-snapshot-20081205.tar.gz sesarray_2.1.0.20081205.orig.tar.gz tar xvfpz sesarray_2.1.0.20081205.orig.tar.gz
Edit debian directory
* changelog * control * copyright * rules
For each new version, changelog and control must be updated.
To generate .dsc files (as normal user)
cd sesarray-src-2.1.0-snapshot-20081205 dpkg-buildpackage -S -rfakeroot
To generate the final .deb package (as root)
pbuilder build ../sesarray_2.1.0.20081205-2.dsc
or (for debug)
# Initialization of the build platform cd /var/cache/pbuilder/build mkdir experimental cd experimental tar xfpz ../../base.tgz # For all tries.... pbuilder build --no-targz --buildplace /var/cache/pbuilder/build/experimental --preserve-buildplace ../sesarray_2.1.0.20081205-2.dsc
Copy this file to pool/main on repository
Ubuntu repository
apt-ftparchive is not installed with emerge, it is in /usr/local/apt and you must set paths before
export LD_LIBRARY_PATH=/usr/local/apt:$LD_LIBRARY_PATH export PATH=/usr/local/apt:$PATH
cd softwares/packages/ubuntu apt-ftparchive generate ../apt-ftparchive.conf apt-ftparchive -c=../apt-release.conf release dists/hardy > dists/hardy/Release