Gentoo Archives: gentoo-dev

From: Pacho Ramos <pacho@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] MULTI_ABI support addition to main tree portage
Date: Sat, 29 Jan 2011 17:04:08
Message-Id: 1296320590.14673.0.camel@localhost.localdomain
In Reply to: [gentoo-dev] MULTI_ABI support addition to main tree portage by Thomas Sachau
1 El mié, 01-12-2010 a las 19:57 +0100, Thomas Sachau escribió:
2 > Hi,
3 >
4 > i have already written about this some months ago and updated the code in relation to the comments
5 > especially from vapier.
6 >
7 > Basicly, it does now first set abi-specific vars (like CC, CFLAGS and others (setup_abi_env function
8 > in bin/auto-multilib.sh contains the full list), then does build the package as usual. If additional
9 > ABIs are requested, it checks after src_install, if there are possible ABI-specific files (libs,
10 > headers or, if requested for every ABI, also binaries). If those are found, the image dir is moved
11 > away and a new run is started, where again at start abic-specific vars are set and then the complete
12 > src* phases are run. Once all requested ABIs are done, the image dirs are merged into the final
13 > image dir. The following pkg_* phases are each running for every ABI.
14 > Currently, only different libs and headers are installed by default, binaries will be the ones from
15 > the default ABI, unless you tell portage to install binaries for all requested ABIs, in which case a
16 > wrapper will select the ABI-specific binary depending on the environment.
17 > The current implementation uses a USE-dep like way internally to satisfy the needed dependencies, so
18 > that e.g. 32bit libs on a 64bit platform get their required dependencies built with 32bit libs
19 > installed. For the rare case, where the crosscompile does fail and there is only a need for the
20 > binary and no linking against the libs, i have also a var, which disables this auto-dependency
21 > calculation for specified packages.
22 >
23 > For the user interface, portage shows a USE_EXPANDed var, which contains the avaidable ABIs, as an
24 > example for "emerge -pv media-libs/jpeg":
25 >
26 > [ebuild R ] media-libs/jpeg-8b USE="-static-libs" MULTILIB_ABI="amd64 x86"
27 >
28 > Those ABIs can be handled like USE flags, in this case, they are "multilib_abi_amd64" and
29 > "multilib_abi_x86", so you can use those USE flags to enable/disable specific possible ABIs either
30 > globally or per package.
31 >
32 > The basic implementation can be used without changing main tree ebuilds or eclasses, but e.g. for
33 > the replacement of emul-* libs, this will require EAPI-support for ABI-specific USE-deps for
34 > binary-only packages or packages like wine.
35 >
36 > I would first like to see, if there are any bigger concerns especially with the implementation and
37 > how it is supposed to work.
38 >
39 > If there are no such concerns or if they have been resolved, i would like to request some help for
40 > the documentation and PMS-patch related work.
41 >
42 > For install instructions, please have a look at [1], the code can be found in the multilib branch of
43 > portage git repo at [2].
44 >
45 > While i did not yet get to the implementation of it, i would also like to propose something similiar
46 > for languages (like python, ruby or others), so that the basic parts are inside the PM and we can
47 > drop the different ways of implementation and allow users a much more fine-grained control on a per
48 > package base (in relation to the current way python eclass based very complex implementation works).
49 >
50 > [1]: http://github.com/sjnewbury/multilib-overlay/tree/portage-multilib/doc
51 > [2]: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=shortlog;h=refs/heads/multilib
52 >
53
54 Hello
55
56 I would like to know what is "blocking" this from landing main tree in
57 the "near" future, as I reviewed:
58
59 http://www.mail-archive.com/gentoo-dev@l.g.o/msg41737.html
60
61 and looks like there wasn't major problems (at least commented in this
62 thread)
63
64 Thanks a lot for the info :-)

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies

Subject Author
[gentoo-dev] Re: MULTI_ABI support addition to main tree portage Nikos Chantziaras <realnc@×××××.de>
Re: [gentoo-dev] MULTI_ABI support addition to main tree portage Nathan Phillip Brink <ohnobinki@××××××××××××××.net>