sys-fs/udev-init-scripts-8 (a dependency of udev-181) collides with the currently-installed sys-fs/udev-175-r1 >>> Installing (2 of 3) sys-fs/udev-init-scripts-8 * checking 10 files for package collisions * This package will overwrite one or more files that may belong to other * packages (see list below). You can use a command such as `portageq * owners / <filename>` to identify the installed package that owns a * file. If portageq reports that only one package owns a file then do * NOT file a bug report. A bug report is only useful if it identifies at * least two or more packages that are known to install the same file(s). * If a collision occurs and you can not explain where the file came from * then you should simply ignore the collision since there is not enough * information to determine if a real problem exists. Please do NOT file * a bug report at http://bugs.gentoo.org unless you report exactly which * two packages install the same file(s). Once again, please do NOT file * a bug report unless you have completely understood the above message. * * Detected file collision(s): * * /lib/udev/write_root_link_rule * /lib/udev/net.sh * /lib/udev/rules.d/90-network.rules * /lib/udev/rules.d/40-gentoo.rules * * Searching all installed packages for file collisions... * * Press Ctrl-C to Stop * * sys-fs/udev-175-r1 * /lib/udev/net.sh * /lib/udev/rules.d/40-gentoo.rules * /lib/udev/rules.d/90-network.rules * /lib/udev/write_root_link_rule * * Package 'sys-fs/udev-init-scripts-8' NOT merged due to file * collisions. If necessary, refer to your elog messages for the whole * content of the above message. Reproducible: Always Steps to Reproduce: 1. emerge =udev-181
jer@wieneke /newaches/gentoo/cvs/gentoo-x86/sys-fs/udev-init-scripts $ ebuildvar RDEPEND udev-init-scripts-8.ebuild : RDEPEND=">=sys-fs/udev-180" udev-init-scripts-9999.ebuild : RDEPEND=">=sys-fs/udev-180"
(In reply to comment #1) > jer@wieneke /newaches/gentoo/cvs/gentoo-x86/sys-fs/udev-init-scripts $ > ebuildvar RDEPEND > udev-init-scripts-8.ebuild : RDEPEND=">=sys-fs/udev-180" > udev-init-scripts-9999.ebuild : RDEPEND=">=sys-fs/udev-180" Sorry, but how do I up to >=udev-180 if >=udev-180 depends on udev-init-scripts-8, which collides with the currently installed version? To be clear: - sys-fs/udev-175-r1 is installed. - I try to update udev to 181 - portage tries to install udev-init-scripts <-- collision - sys-fs/udev-181 fails to install due to failed dependency So there needs to be a blocker, or post-dependency, or something else to ensure that old udev gets unmerged before udev-init-scripts gets installed. I'm reopening this.
emerge --unmerge (-C) forcefully uninstalls a package, disregarding dependencies. So you could use: emerge -C udev emerge '=udev-181' Another possibility is to disable "protect-owned" and "collision-protect" in FEATURES temporarily when installing sys-fs/udev-init-scripts. But I guess there indeed should be a blocker in sys-fs/udev-init-scripts.
Fixed in version 10 and 9999 by setting some more blockers