Gentoo Archives: gentoo-dev

From: "Robin H. Johnson" <robbat2@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Building custom package for multi-arch/system
Date: Fri, 29 Jan 2010 00:05:09
Message-Id: robbat2-20100128T222531-494462824Z@orbis-terrarum.net
In Reply to: [gentoo-dev] Building custom package for multi-arch/system by Beber
On Thu, Jan 28, 2010 at 04:17:41PM +0100, Beber wrote:
> So, I did a wrapper to emerge --buildpkg to create tbz2 with SHA1 in > names function of USE, like : > CHOST="x86_64-pc-linux-gnu" > ACCEPT_KEYWORDS="amd64" > tcpdump > > USE="+chroot +ipv6 -ssl -test -samba -smi" > is placed under /data/pkg/amd64/x86_64-pc-linux-gnu/net-analyzer/tcpdump-4.0.1_pre20090709+2bf4bfffad82d4ae519f76770b4f7db7b4416738.tbz2 > > USE="+chroot +ipv6 +ssl -test +samba -smi" > is placed under /data/pkg/amd64/x86_64-pc-linux-gnu/net-analyzer/tcpdump-4.0.1_pre20090709+5e099e8337e4cadfceda6ccf4c881fbb495980bd.tbz2
A word of warning on this. Simply capturing the USE flags is not enough, the libraries that a binary is linked against can cause problems as well, as the dependency imposed by linking is much stricter than the RDEPEND in the ebuild. tcpdump for example has: RDEPEND="... ssl? ( >=dev-libs/openssl-0.9.6m )" But if you built and linked against openssl-0.9.7*, then upgraded to openssl-0.9.8, you can expect breakage. Similar things happened with binaries linked against libmysqlclient in the past. As to my own take on a solution to the problem for work stuff, we simply maintain one chroot per unique environment (we only have 5 envs), and build in the chroot, then use those binpkgs on the boxes. -- Robin Hugh Johnson Gentoo Linux: Developer, Trustee & Infrastructure Lead E-Mail : robbat2@g.o GnuPG FP : 11AC BA4F 4778 E3F6 E4ED F38E B27B 944E 3488 4E85

Replies

Subject Author
Re: [gentoo-dev] Building custom package for multi-arch/system Philipp Riegger <lists@××××××××××××.de>
Re: [gentoo-dev] Building custom package for multi-arch/system Bertrand Jacquin <beber@××××××××.net>