Needed by multilib dev-libs/glib when USE=selinux; see bugs 480946 and 479282
I'll need some assistance here; how/what does it mean to make a "multilib libselinux"? I have SELinux enabled on a multilib profile (hardened/linux/amd64/selinux) and on no-multilib profiles (hardened/linux/amd64/no-multilbi/selinux) without issues.
By "multilib libselinux" I mean using multilib-minimal.eclass or autotools-multilib.eclass to build libraries and install ABI-specific headers for multiple ABIs at once: for example, for both 32-bit and 64-bit on an amd64 profile. So that instead of using hacks like emul-linux-x86-*, and constantly running into bugs caused by normal package versions and emul-linux-x86-* versions getting out of sync, binary 32-bit packages that need glib would simply depend on glib[abi_x86_32].
See e.g. sys-libs/zlib-1.2.8-r1, dev-libs/glib-2.36.3-r2, or media-libs/libjpeg-turbo-1.3.0-r2 for some examples of how other packages do this.
Created attachment 356016 [details, diff]
a quick look at it shows that libpcre and libsepol should be converted first
(In reply to Alexis Ballier from comment #3)
> Created attachment 356016 [details, diff] [details, diff]
> ebuild diff
> a quick look at it shows that libpcre and libsepol should be converted first
pressed enter too quickly:
attached is a diff for libsepol; libselinux conversion could be done in a similar way but first needs libpcre
tl;dr: you can apply this libsepol patch if you're happy with it and then wait for libpcre to be converted
Created attachment 356054 [details]
Buildlog for libsepol with multilib ebuild fixes
I'm testing the libsepol patch on my systems, but on my multilib system, it installs the same files as before:
~$ qlist libsepol | grep lib
Shouldn't this now also include /lib/libsepol.so.1 or so?
(In reply to Sven Vermeulen from comment #5)
> Created attachment 356054 [details]
> Buildlog for libsepol with multilib ebuild fixes
> I'm testing the libsepol patch on my systems, but on my multilib system, it
> installs the same files as before:
> ~$ qlist libsepol | grep lib
> Shouldn't this now also include /lib/libsepol.so.1 or so?
/lib32, yes, but for this you need to enable abi_x86_32 :) (or set ABI_X86="64 32" in make.conf)
sys-libs/libsepol is updated/committed.
there's no bugreport for libpcre yet is there?
(In reply to Sven Vermeulen from comment #7)
> there's no bugreport for libpcre yet is there?
nope; it needs libedit/libreadline which in turn need ncurses for which there is a bug
I was about to start on this one, but then I noticed libselinux also uses python_copy_sources; doesn't this interfere with multilib_copysources?
(In reply to Sven Vermeulen from comment #9)
> I was about to start on this one, but then I noticed libselinux also uses
> python_copy_sources; doesn't this interfere with multilib_copysources?
it should work just the same but you should disable python & ruby stuff for non native ABIs: it will not work and is useless
i.e, in your code:
'if use python; then' becomes 'if multilib_is_native_abi && use python; then'
and also, python_copy_sources is better ran in multilib_src_compile since you will enter this function with a correctly set BUILD_DIR env var
sys-libs/libselinux-2.2.2-r1 now has multilib support. ˜arch for now; also bumped to version 2.2.2
libselinux-2.2.2-r4 is now stable