Gentoo Archives: gentoo-dev

From: Bertrand Jacquin <beber@××××××××.net>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Building custom package for multi-arch/system
Date: Sat, 30 Jan 2010 11:43:00
Message-Id: 20100130114139.GB32677@lemonhead.scabb
In Reply to: Re: [gentoo-dev] Building custom package for multi-arch/system by "Robin H. Johnson"
1 D'ar yaou 28 a viz Genver 2010 e 23 eur 31, « Robin H. Johnson » he deus skrivet :
2 > On Thu, Jan 28, 2010 at 04:17:41PM +0100, Beber wrote:
3 > > So, I did a wrapper to emerge --buildpkg to create tbz2 with SHA1 in
4 > > names function of USE, like :
5 > > CHOST="x86_64-pc-linux-gnu"
6 > > ACCEPT_KEYWORDS="amd64"
7 > > tcpdump
8 > >
9 > > USE="+chroot +ipv6 -ssl -test -samba -smi"
10 > > is placed under /data/pkg/amd64/x86_64-pc-linux-gnu/net-analyzer/tcpdump-4.0.1_pre20090709+2bf4bfffad82d4ae519f76770b4f7db7b4416738.tbz2
11 > >
12 > > USE="+chroot +ipv6 +ssl -test +samba -smi"
13 > > is placed under /data/pkg/amd64/x86_64-pc-linux-gnu/net-analyzer/tcpdump-4.0.1_pre20090709+5e099e8337e4cadfceda6ccf4c881fbb495980bd.tbz2
14 > A word of warning on this.
15 >
16 > Simply capturing the USE flags is not enough, the libraries that a
17 > binary is linked against can cause problems as well, as the dependency
18 > imposed by linking is much stricter than the RDEPEND in the ebuild.
19 >
20 > tcpdump for example has:
21 > RDEPEND="... ssl? ( >=dev-libs/openssl-0.9.6m )"
22
23 Of course, but real *DEPEND could be added in the xpak part of tbz2 and
24 resolv depedencies by the way.
25
26 > But if you built and linked against openssl-0.9.7*, then upgraded to
27 > openssl-0.9.8, you can expect breakage.
28 >
29 > Similar things happened with binaries linked against libmysqlclient in
30 > the past.
31 >
32 > As to my own take on a solution to the problem for work stuff, we simply
33 > maintain one chroot per unique environment (we only have 5 envs), and
34 > build in the chroot, then use those binpkgs on the boxes.
35
36 I did that already, but it's a bit heavy to maintain and do much
37 repetitive (maybe it's not the good word) as many packages would be
38 build with the same USE (in the case of same arch, chost etc).
39
40 --
41 Beber