* [gentoo-dev] Multilib project newsletter #n
@ 2014-07-01 22:38 Michał Górny
2014-07-01 22:44 ` Ciaran McCreesh
0 siblings, 1 reply; 6+ messages in thread
From: Michał Górny @ 2014-07-01 22:38 UTC (permalink / raw
To: gentoo-dev; +Cc: multilib
[-- Attachment #1: Type: text/plain, Size: 4683 bytes --]
Hello, developers and users.
I'm pretty sure that all of you are waiting with bated breaths for news
on the multilib project, so I've scrambled this quick newsletter
listing our latest achievements, issues and other things you may want
to know.
In random order:
1. hasufell fixed the header wrapping issues with libsdl that triggered
build failures in programs using SDL without pkg-/sdl-config [1]. Well,
to be more exact, he removed wrapping completely, and along with it
the x86 Hermes blitter assembly and support for libggi & directfb that
created differences in <sdl-config.h> and is no longer available
in SDL2 anyway.
2. pesa is still working on Qt4 in the project overlay [2]. He's making
progress all the time but there's still a lot to do -- and if you're
wondering, the current version doesn't support multilib properly yet
(fails on wrapped headers for a start).
3. Conversions of the remaining emul-linux-x86 libraries are stalled
as 'likely unnecessary'. In other words, please do not enable multilib
on some package just because it was in emul-linux-x86 since the dawn
of Gentoo. Convert it only when something else requires it.
4. I cleaned up all arch/ profiles to support multilib consistently,
and blueness handled most of hardened/*/{musl,uclibc}. A matrix of what
needed to be done is on the wiki [4]. Most importantly, this means that
from now on you can consistently match ${ABI} inside ebuilds
independently of whether the profile is multilib or not. In multilib
ebuilds you can also match ${MULTILIB_ABI_FLAG} (TODO: export it
globally as well for non-multilib ebuilds?).
5. We (I and _AxS_) also made the native ABI flag implicit USE. This
means that from now on, every ebuild on x86 pretends to have abi_x86_32
-- even if it's not multilib. This allows the USE-deps to match earlier
versions of packages for people who do not need multilib.
6. _AxS_ found out that -- thanks to the above -- we can write
dependencies for x86 binary packages much simpler. Some details are
on the wiki [5]. Long story short, the modern deps go like:
|| (
(
>=dev-libs/glib-2.34.3:2[abi_x86_32(-)]
>=virtual/opengl-7.0-r1[abi_x86_32(-)]
)
amd64? (
app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
)
)
Once the emul-linux-x86 are gone, it will be enough to drop
the 'amd64?' block and the outer || ().
7. I have made sys-libs/lib-compat installable on amd64 and replaced
emul-linux-x86-compat with a metapackage (since the two installed
the same binary thing). I've also fixed sys-libs/lib-compat-loki to
install its libraries in lib32 rather than lib64 (QA, whert art
thou?!). Note that this may break stuff that relied on the wrong
location but we're likely going to p.mask both for security
and license issues anyway [6,7,8].
8. We also started fixing ebuilds to support multilib deps but it's
really hard work. There is a progress tracker on the wiki [9] but it
lists only packages that depend on emul-linux-x86... and there are
32-bit games keyworded amd64 with no emul-linux-x86 deps. And most of
games have incorrect, broken, mis-synced and otherwise horrible deps
anyway.
9. Following some known shortcomings and a Funtoo request, I've added
'exception' support to multilib-dep-fixor [10]. In particular, it
allows us to force lower-known-safe versions of packages than it used
to put before. If you feel like it goes too high, and you know EAPI=5
(or multilib) was there for a long time, please suggest adding another
exception.
10. Oh, and in case anyone was wondering -- stable tree is still
silently broken, and arch teams are slacking in fixing the remaining
stabilizations [11]. Would someone mind dropping some of the packages
back to ~arch?
11. If all goes well, we may be able to mask emul-linux-x86 for removal
this summer.
[1]:https://bugs.gentoo.org/show_bug.cgi?id=512430
[2]:http://git.overlays.gentoo.org/gitweb/?p=proj/qt.git;a=summary
[3]:https://bugs.gentoo.org/show_bug.cgi?id=510042
[4]:https://wiki.gentoo.org/wiki/Multilib_porting_status#Profile_fixing_status
[5]:https://wiki.gentoo.org/wiki/Project:Multilib/Tips_%26_tricks#Binary_Package_Dependencies
[6]:https://bugs.gentoo.org/show_bug.cgi?id=510960
[7]:https://bugs.gentoo.org/show_bug.cgi?id=510962
[8]:https://bugs.gentoo.org/show_bug.cgi?id=504952
[9]:https://wiki.gentoo.org/wiki/Multilib_porting_status#Dependency_update_status
[10]:https://bitbucket.org/mgorny/multilib-dep-fixor
[11]:https://bugs.gentoo.org/show_bug.cgi?id=507148
--
Best regards,
Michał Górny
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 949 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [gentoo-dev] Multilib project newsletter #n
2014-07-01 22:38 [gentoo-dev] Multilib project newsletter #n Michał Górny
@ 2014-07-01 22:44 ` Ciaran McCreesh
2014-07-02 3:22 ` Ian Stakenvicius
0 siblings, 1 reply; 6+ messages in thread
From: Ciaran McCreesh @ 2014-07-01 22:44 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 190 bytes --]
On Wed, 2 Jul 2014 00:38:53 +0200
Michał Górny <mgorny@gentoo.org> wrote:
> || (
> amd64? (
I thought we were trying to discourage that abomination...
--
Ciaran McCreesh
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [gentoo-dev] Multilib project newsletter #n
2014-07-01 22:44 ` Ciaran McCreesh
@ 2014-07-02 3:22 ` Ian Stakenvicius
2014-07-02 5:24 ` Ulrich Mueller
0 siblings, 1 reply; 6+ messages in thread
From: Ian Stakenvicius @ 2014-07-02 3:22 UTC (permalink / raw
To: gentoo-dev
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
On 01/07/14 06:44 PM, Ciaran McCreesh wrote:
> On Wed, 2 Jul 2014 00:38:53 +0200 Michał Górny <mgorny@gentoo.org>
> wrote:
>> || ( amd64? (
>
> I thought we were trying to discourage that abomination...
>
It's still necessary, unfortunately, until such time as everything in
the tree no longer needs/depends on the emul-* packages (see news item
#8 for progress). Otherwise, end-users would end up with dependency
collisions.
However, with the way dependencies can be ordered now, once emul-*
packages are lastrite'd we can finally drop that from all of the ebuilds.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)
iF4EAREIAAYFAlOzeuUACgkQ2ugaI38ACPDiqQD+LFuZVwv7bsaw78iISRQ8dc+l
pFU+8HnJ2zMuQe7ntmwBAJ2keeY9QKAd0i1Cztv0HaBHoafXH6ld/BmkT1onA7Q1
=jJfw
-----END PGP SIGNATURE-----
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [gentoo-dev] Multilib project newsletter #n
2014-07-02 3:22 ` Ian Stakenvicius
@ 2014-07-02 5:24 ` Ulrich Mueller
2014-07-02 5:41 ` Ian Stakenvicius
2014-07-02 7:51 ` Michał Górny
0 siblings, 2 replies; 6+ messages in thread
From: Ulrich Mueller @ 2014-07-02 5:24 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 1021 bytes --]
>>>>> On Tue, 01 Jul 2014, Ian Stakenvicius wrote:
> On 01/07/14 06:44 PM, Ciaran McCreesh wrote:
>>> || ( amd64? (
>>
>> I thought we were trying to discourage that abomination...
> It's still necessary, unfortunately, until such time as everything
> in the tree no longer needs/depends on the emul-* packages (see news
> item #8 for progress). Otherwise, end-users would end up with
> dependency collisions.
Sure, the second block is needed, but the point is that foo? ( )
conditionals inside a || ( ) group should be avoided.
I wonder if the dependency couldn't be written like this, without the
amd64? () conditional:
|| (
(
>=dev-libs/glib-2.34.3:2[abi_x86_32(-)]
>=virtual/opengl-7.0-r1[abi_x86_32(-)]
)
(
app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
)
)
emul-linux-x86-* doesn't have keywords other than amd64, so it won't
match on non-amd64 anyway.
Ulrich
[-- Attachment #2: Type: application/pgp-signature, Size: 490 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [gentoo-dev] Multilib project newsletter #n
2014-07-02 5:24 ` Ulrich Mueller
@ 2014-07-02 5:41 ` Ian Stakenvicius
2014-07-02 7:51 ` Michał Górny
1 sibling, 0 replies; 6+ messages in thread
From: Ian Stakenvicius @ 2014-07-02 5:41 UTC (permalink / raw
To: gentoo-dev
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
On 02/07/14 01:24 AM, Ulrich Mueller wrote:
>>>>>> On Tue, 01 Jul 2014, Ian Stakenvicius wrote:
>
>> On 01/07/14 06:44 PM, Ciaran McCreesh wrote:
>>>> || ( amd64? (
>>>
>>> I thought we were trying to discourage that abomination...
>
>> It's still necessary, unfortunately, until such time as
>> everything in the tree no longer needs/depends on the emul-*
>> packages (see news item #8 for progress). Otherwise, end-users
>> would end up with dependency collisions.
>
> Sure, the second block is needed, but the point is that foo? ( )
> conditionals inside a || ( ) group should be avoided.
>
Ahh, sorry, missed that point entirely.
> I wonder if the dependency couldn't be written like this, without
> the amd64? () conditional:
>
> || ( (
>> =dev-libs/glib-2.34.3:2[abi_x86_32(-)]
>> =virtual/opengl-7.0-r1[abi_x86_32(-)]
> ) ( app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
> app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)] ) )
>
> emul-linux-x86-* doesn't have keywords other than amd64, so it
> won't match on non-amd64 anyway.
>
LGTM, will test tomorrow and confirm.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)
iF4EAREIAAYFAlOzm3cACgkQ2ugaI38ACPCloQD/fKfmTkG9yp+e/D+tK7Xmiepb
SKPlIk9tcoUzF0h8aToBAIqAjG8hcRKzuwoHOytpEekxVV29HWgWe+2xD6Q37T/r
=XYoV
-----END PGP SIGNATURE-----
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [gentoo-dev] Multilib project newsletter #n
2014-07-02 5:24 ` Ulrich Mueller
2014-07-02 5:41 ` Ian Stakenvicius
@ 2014-07-02 7:51 ` Michał Górny
1 sibling, 0 replies; 6+ messages in thread
From: Michał Górny @ 2014-07-02 7:51 UTC (permalink / raw
To: Ulrich Mueller; +Cc: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 1606 bytes --]
Dnia 2014-07-02, o godz. 07:24:09
Ulrich Mueller <ulm@gentoo.org> napisał(a):
> >>>>> On Tue, 01 Jul 2014, Ian Stakenvicius wrote:
>
> > On 01/07/14 06:44 PM, Ciaran McCreesh wrote:
> >>> || ( amd64? (
> >>
> >> I thought we were trying to discourage that abomination...
>
> > It's still necessary, unfortunately, until such time as everything
> > in the tree no longer needs/depends on the emul-* packages (see news
> > item #8 for progress). Otherwise, end-users would end up with
> > dependency collisions.
>
> Sure, the second block is needed, but the point is that foo? ( )
> conditionals inside a || ( ) group should be avoided.
>
> I wonder if the dependency couldn't be written like this, without the
> amd64? () conditional:
>
> || (
> (
> >=dev-libs/glib-2.34.3:2[abi_x86_32(-)]
> >=virtual/opengl-7.0-r1[abi_x86_32(-)]
> )
> (
> app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
> app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
> )
> )
>
> emul-linux-x86-* doesn't have keywords other than amd64, so it won't
> match on non-amd64 anyway.
It would but I wanted to be on the safe side when one of the developers
broke deps. I really don't want autounmask to try to keyword
emul-linux-x86 on x86 :). But maybe '-*' in the ebuild is enough.
As a note, something like this won't work properly because of
portage's broken dep resolver:
|| (
dev-libs/foo[abi_x86_32(-)]
dev-libs/foo[abi_ppc_32(-)]
)
--
Best regards,
Michał Górny
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 949 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2014-07-02 7:52 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-07-01 22:38 [gentoo-dev] Multilib project newsletter #n Michał Górny
2014-07-01 22:44 ` Ciaran McCreesh
2014-07-02 3:22 ` Ian Stakenvicius
2014-07-02 5:24 ` Ulrich Mueller
2014-07-02 5:41 ` Ian Stakenvicius
2014-07-02 7:51 ` Michał Górny
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox