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
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
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.)
(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)
(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.
@pacho: See http://dev.gentoo.org/~ulm/pms/5/pms.html#x1-870008.2.6.4, specifically the section on 4-style use dependencies.
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?
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
I think the major consumer were separate /usr fanciers who hate the idea of initramfs and prefer having security issues involved with static linking.
*** Bug 478110 has been marked as a duplicate of this bug. ***
@gnome, what if we mask "static-libs" for virtual/udev (and co) in gnome profile?
(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
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)
sys-fs/lvm2 static static-libs sys-fs/cryptsetup static static-libs virtual/udev static-libs those to package.use.mask in gnome/ profile
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.