In an openvz (kernel 2.6.27) virtual container, when upgrading to udev-145-r1 (or later, currently 146-r1), either by # emerge -uDalN udev or # emerge -uDalN system, the latest gentoo-sources is pulled in as a dependency. This doesn't seem to happen on the host running the openvz kernel, only in containers. It appear this bug was introduced by the fix of bug #283845 (http://bugs.gentoo.org/show_bug.cgi?id=283845) Reproducible: Always Steps to Reproduce: 1. In an openvz Virtual Container 2. # emerge -uDalN udev 3. Actual Results: Calculating dependencies ... done! [ebuild N ] sys-kernel/gentoo-sources-2.6.31-r4 USE="-build -symlink" [ebuild U ] sys-fs/udev-145-r1 [141-r1] USE="-extras%" Expected Results: Calculating dependencies ... done! [ebuild U ] sys-fs/udev-145-r1 [141-r1] USE="-extras%" Pasting emerge info for both host and an effected container # emerge --info Portage 2.2_rc46 (default/linux/amd64/10.0/server, gcc-4.4.2, glibc-2.10.1-r0, 2.6.27-openvz-briullov.1-r3 x86_64) ================================================================= System uname: Linux-2.6.27-openvz-briullov.1-r3-x86_64-Intel-R-_Core-TM-2_Duo_CPU_E6750_@_2.66GHz-with-gentoo-2.0.1 Timestamp of tree: Fri, 30 Oct 2009 00:20:01 +0000 app-shells/bash: 4.0_p35 dev-lang/python: 2.5.4-r2, 2.6.3 dev-python/pycrypto: 2.0.1-r8 sys-apps/baselayout: 2.0.1 sys-apps/openrc: 0.5.2-r1 sys-apps/sandbox: 2.2 sys-devel/autoconf: 2.63-r1 sys-devel/automake: 1.10.2, 1.11 sys-devel/binutils: 2.20 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.6a virtual/os-headers: 2.6.30-r1 ACCEPT_KEYWORDS="amd64 ~amd64" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=native -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-march=native -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="assume-digests distlocks fixpackages news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch" GENTOO_MIRRORS="ftp://gentoo.mirror.web4u.cz/ http://gentoo.supp.name/ ftp://ftp.fi.muni.cz/pub/linux/gentoo/ http://mirror.muntinternet.net/pub/gentoo/ ftp://mirror.leaseweb.com/gentoo/" LDFLAGS="-Wl,-O1" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="acl amd64 berkdb bzip2 cli cracklib crypt cups dri fortran gdbm gpm iconv isdnlog ithreads logrotate mmx modules mudflap multilib ncurses nls nptl nptlonly openmp pam pcre perl pppd python readline reflection session snmp spl sse sse2 ssl symlink sysfs tcpd truetype unicode urandom xml xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="fbdev glint intel mach64 mga neomagic nv r128 radeon savage sis tdfx trident vesa vga via vmware voodoo" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS vc1 / # emerge --info Portage 2.2_rc46 (default/linux/amd64/10.0/server, gcc-4.4.2, glibc-2.10.1-r0, 2.6.27-openvz-briullov.1-r3 x86_64) ================================================================= System uname: Linux-2.6.27-openvz-briullov.1-r3-x86_64-Intel-R-_Core-TM-2_Duo_CPU_E6750_@_2.66GHz-with-gentoo-2.0.1 Timestamp of tree: Fri, 30 Oct 2009 00:20:01 +0000 app-shells/bash: 4.0_p35 dev-lang/python: 2.6.3 dev-python/pycrypto: 2.0.1-r8 sys-apps/baselayout: 2.0.1 sys-apps/openrc: 0.5.2-r1 sys-apps/sandbox: 2.2 sys-devel/autoconf: 2.63-r1 sys-devel/automake: 1.10.2, 1.11 sys-devel/binutils: 2.20 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.6a virtual/os-headers: 2.6.29 ACCEPT_KEYWORDS="amd64 ~amd64" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=native -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /sbin/rc /var/bind" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-march=native -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="assume-digests distlocks fixpackages news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" LDFLAGS="-Wl,-O1" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="acl amd64 apache2 berkdb bzip2 cli cracklib crypt cups dri fortran gdbm gpm iconv isdnlog mmx modules mudflap multilib ncurses nls nptl nptlonly openmp pam pcre perl pppd python readline reflection session snmp spl sse sse2 ssl sysfs tcpd truetype unicode urandom xml xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="fbdev glint intel mach64 mga neomagic nv r128 radeon savage sis tdfx trident vesa vga via vmware voodoo" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Some more info on what's happening. # nano /etc/portage/package.mask GNU nano 2.1.10 File: /etc/portage/package.mask >dev-lang/python-2.7 #>=sys-fs/udev-145-r1 sys-kernel/gentoo-sources # emerge -uDalN system These are the packages that would be merged, in order: Calculating dependencies ... done! !!! The following update has been skipped due to unsatisfied dependencies: sys-fs/udev:0 !!! All ebuilds that could satisfy "virtual/linux-sources" have been masked. !!! One of the following masked packages is required to complete your request: - sys-kernel/gentoo-sources-2.6.31-r4 (masked by: package.mask) /etc/portage/package.mask: #>=sys-fs/udev-146-r1 - sys-kernel/gentoo-sources-2.6.31-r3 (masked by: package.mask) - sys-kernel/gentoo-sources-2.6.31-r2 (masked by: package.mask) - sys-kernel/gentoo-sources-2.6.31-r1 (masked by: package.mask) - sys-kernel/gentoo-sources-2.6.31 (masked by: package.mask) - sys-kernel/gentoo-sources-2.6.30-r8 (masked by: package.mask) - sys-kernel/gentoo-sources-2.6.30-r7 (masked by: package.mask) - sys-kernel/gentoo-sources-2.6.30-r6 (masked by: package.mask) - sys-kernel/gentoo-sources-2.6.30-r5 (masked by: package.mask) - sys-kernel/gentoo-sources-2.6.30-r4 (masked by: package.mask) - sys-kernel/gentoo-sources-2.6.30-r3 (masked by: package.mask) - sys-kernel/gentoo-sources-2.6.30 (masked by: package.mask) - sys-kernel/gentoo-sources-2.6.29-r6 (masked by: package.mask) - sys-kernel/gentoo-sources-2.6.29-r5 (masked by: package.mask) - sys-kernel/gentoo-sources-2.6.28-r6 (masked by: package.mask) - sys-kernel/gentoo-sources-2.6.28-r5 (masked by: package.mask) - sys-kernel/gentoo-sources-2.6.27-r10 (masked by: package.mask) - sys-kernel/gentoo-sources-2.6.27-r8 (masked by: package.mask) - sys-kernel/gentoo-sources-2.6.26-r4 (masked by: package.mask) - sys-kernel/gentoo-sources-2.6.25-r9 (masked by: package.mask) - sys-kernel/gentoo-sources-2.6.16-r13 (masked by: package.mask) For more information, see the MASKED PACKAGES section in the emerge man page or refer to the Gentoo Handbook. (dependency required by "sys-fs/udev-146-r1" [ebuild]) Nothing to merge; would you like to auto-clean packages? [Yes/No]
We know about this. It is because linux-info.eclass depends on virtual/linux-sources, even if this is only a non-fatal check to be done. As tempopary workaround you can set I_KNOW_WHAT_I_AM_DOING to a value and then the eclass will not depend on linux-sources.
Actually, I already had I_KNOW_WHAT_I_AM_DOING set but it didn't seem to matter, wanted to pull in gentoo-sources anyway. What I did now instead, as a workaround, was # emerge -O udev to build it without dependencies, then it appear to works as expected with I_KNOW_WHAT_I_AM_DOING and # emerge udev, telling me that I am on my own as it cannot check the kernl config options - but before that when upgrading from udev-145 or earlier I_KNOW_WHAT_I_AM_DOING doesn't prevent to pull in gentoo-sources. So using the -O flag seem tobe the way to go for workaround + I_KNOW_WHAT_I_AM_DOING
*** Bug 293147 has been marked as a duplicate of this bug. ***
(In reply to comment #2) > > As tempopary workaround you can set I_KNOW_WHAT_I_AM_DOING to a value and then > the eclass will not depend on linux-sources. > I just wanted to stress again that the I_KNOW_WHAT_I_AM_DOING flag really doesn't work. With every release of new udev same sh*t, you have o do emerge -aO1 udev to pull in udev without deps before anything else, then you can run things like emerge -uDaN system|world I thought of it, if the problem is with linux-info.eclass deps, then maybe it's a linux-info.eclass bug or it's a bug to pull in that eclass for udev do with it, just checking kernel version and some flags? Just speculating...
The logic per I_KNOW_WHAT_I_AM_DOING is now default, and the linux-info no longer brings in linux-sources at all.
I am slightly confused, I see no bump for udev package and last entry in Changelog is of 30 Dec 2009 so just wonder if this has been fixed "outside" of udev or it simply hasn't made it to the tree yet?
The fix is in the eclass yes, not the ebuild. zzam noted that in comment #2 that was the source of the problem.