Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 478476 - virtual/udev-206: drop static-libs USE
Summary: virtual/udev-206: drop static-libs USE
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: udev maintainers
URL:
Whiteboard:
Keywords:
: 478110 (view as bug list)
Depends on:
Blocks: gnome-3.8-stable
  Show dependency tree
 
Reported: 2013-07-28 15:45 UTC by Pacho Ramos
Modified: 2013-08-07 15:57 UTC (History)
7 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Pacho Ramos gentoo-dev 2013-07-28 15:45:15 UTC
As I have seen in some forums and bug reports, as virtual/udev is providing "static-libs" but that is not honored by systemd ebuild, people are getting blockers like:
http://forums.gentoo.org/viewtopic-p-7359636.html#7359636

I think that virtual should drop that USE flag and packages still relying on static-libs support should depend on || ( udev eudev) ebuilds as, otherwise, the virtual providers cannot be really switched between them at buildtime
Comment 1 Samuli Suominen (RETIRED) gentoo-dev 2013-07-28 16:03:14 UTC
IUSE="static-libs" is required in virtual/udev for sys-fs/lvm2[static,static-libs] and sys-fs/cryptsetup[static,static-libs]
Because of this, both sys-fs/udev and sys-fs/eudev supports building static libudev.a
And virtual/udev is fine for long as it supports it's default which is sys-fs/udev
So what you want is for cryptsetup and lvm2 to drop their flags first, then we can look into following up in sys-fs/udev and virtual/udev
Comment 2 Alexandre Rostovtsev (RETIRED) gentoo-dev 2013-07-28 18:54:30 UTC
CC-ing gnome, lvm2 and cryptsetup maintainers.

This is a big stumbling block for the gnome-3.8 upgrade. I am a developer, and it still took me more than an hour to figure out that virtual/udev[static-libs] was the reason why portage would not let me install 3.8 and systemd - portage's error messages were entirely unhelpful :/

(I had enabled udev[static-libs] because older versions of cryptsetup and genkernel had required it for using an encrypted root partition.)
Comment 3 Pacho Ramos gentoo-dev 2013-07-28 18:56:46 UTC
(In reply to Samuli Suominen from comment #1)
> IUSE="static-libs" is required in virtual/udev for
> sys-fs/lvm2[static,static-libs] and sys-fs/cryptsetup[static,static-libs]
> Because of this, both sys-fs/udev and sys-fs/eudev supports building static
> libudev.a
> And virtual/udev is fine for long as it supports it's default which is
> sys-fs/udev

I don't think virtual is fine if it's only really satisfied by some of its providers, currently, it has a USE flag that will simply don't work when systemd is present. But will CC QA team as I don't know if there is some kind of policy on this (even if current behavior looks unreasonable to me :/)

> So what you want is for cryptsetup and lvm2 to drop their flags first, then
> we can look into following up in sys-fs/udev and virtual/udev

cryptsetup and lvm2 should depend on sys-fs/udev when static-libs is set as they need it (not virtual, that is not providing it in all situations)
Comment 4 William Hubbs gentoo-dev 2013-07-28 21:01:55 UTC
(In reply to Pacho Ramos from comment #3)
> (In reply to Samuli Suominen from comment #1)
> > IUSE="static-libs" is required in virtual/udev for
> > sys-fs/lvm2[static,static-libs] and sys-fs/cryptsetup[static,static-libs]
> > Because of this, both sys-fs/udev and sys-fs/eudev supports building static
> > libudev.a
> > And virtual/udev is fine for long as it supports it's default which is
> > sys-fs/udev
> 
> I don't think virtual is fine if it's only really satisfied by some of its
> providers, currently, it has a USE flag that will simply don't work when
> systemd is present. But will CC QA team as I don't know if there is some
> kind of policy on this (even if current behavior looks unreasonable to me :/)

Yes, it is fine, because in the virtual you can force the use flag to be set or not for the individual providers.

That's what the (+) and (-) syntax is for in use dependencies.
Comment 5 William Hubbs gentoo-dev 2013-07-28 21:11:55 UTC
@pacho:
See http://dev.gentoo.org/~ulm/pms/5/pms.html#x1-870008.2.6.4, specifically the section on 4-style use dependencies.
Comment 6 Pacho Ramos gentoo-dev 2013-07-28 21:20:19 UTC
OK, thanks

But we need to improve this situation: looks like in fedora cryptsetup and lvm2 are simply not building static stuff, also, nothing in the tree (apart of old genkernel versions) need it

Why don't drop them then?
Comment 7 Pacho Ramos gentoo-dev 2013-07-28 21:41:57 UTC
Also neither opensuse or debian are providing static for them:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=543163

Reading lvm2 ebuild looks like genkernel was consuming it, but newer genkernel versions don't depend on static it seems
Comment 8 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2013-07-28 22:50:31 UTC
I think the major consumer were separate /usr fanciers who hate the idea of initramfs and prefer having security issues involved with static linking.
Comment 9 Alexandre Rostovtsev (RETIRED) gentoo-dev 2013-07-29 13:53:30 UTC
*** Bug 478110 has been marked as a duplicate of this bug. ***
Comment 10 Pacho Ramos gentoo-dev 2013-08-01 20:52:28 UTC
@gnome, what if we mask "static-libs" for virtual/udev (and co) in gnome profile?
Comment 11 Samuli Suominen (RETIRED) gentoo-dev 2013-08-01 21:11:35 UTC
(In reply to Pacho Ramos from comment #10)
> @gnome, what if we mask "static-libs" for virtual/udev (and co) in gnome
> profile?

heh. why didn't I think of that, that would solve the problem and this bug can be closed WONTFIX
Comment 12 Pacho Ramos gentoo-dev 2013-08-01 21:29:47 UTC
Well, I didn't notice this until now... but I doubt how will it behave with current stable Gnome 2.32 :/ (as its users will still run sys-apps/udev)
Comment 13 Samuli Suominen (RETIRED) gentoo-dev 2013-08-01 21:38:38 UTC
sys-fs/lvm2 static static-libs
sys-fs/cryptsetup static static-libs
virtual/udev static-libs

those to package.use.mask in gnome/ profile
Comment 14 Samuli Suominen (RETIRED) gentoo-dev 2013-08-07 15:57:46 UTC
OK, _AxS_ have been working on USE="static" and sys-fs/{cryptsetup,lvm2} and they are working again.
Then, there is no need to remove IUSE="static-libs" from virtual/udev -- it's required.