D'ar yaou 28 a viz Genver 2010 e 23 eur 31, « Robin H. Johnson » he deus skrivet :
> 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 )"
Of course, but real *DEPEND could be added in the xpak part of tbz2 and
resolv depedencies by the way.
> 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.
I did that already, but it's a bit heavy to maintain and do much
repetitive (maybe it's not the good word) as many packages would be
build with the same USE (in the case of same arch, chost etc).