Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 447900 - virtual/dev-manager-0 requiring sys-apps/busybox[mdev] when installed sys-fs/udev version is not marked stable
Summary: virtual/dev-manager-0 requiring sys-apps/busybox[mdev] when installed sys-fs/...
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: Normal critical (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-12-20 03:38 UTC by Ronie Henrich
Modified: 2012-12-20 19:47 UTC (History)
2 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 Ronie Henrich 2012-12-20 03:38:53 UTC
I am getting the following error when running "emerge -pv --depclean":
 * Dependencies could not be completely resolved due to
 * the following required packages not being installed:
 *
 *   sys-apps/busybox[mdev] pulled in by:
 *     virtual/dev-manager-0


After doing some research and debug I found out that the aforementioned error started after these two changes:
  24 Nov 2012; Samuli Suominen <ssuominen@gentoo.org> dev-manager-0.ebuild:
  Pull in virtual/udev instead of sys-fs/udev wrt #444398 by Richard Yao

  24 Nov 2012; Samuli Suominen <ssuominen@gentoo.org> udev-146-r1.ebuild,
  udev-149.ebuild, udev-151-r4.ebuild, udev-164-r2.ebuild:
  Reset keywording back to ~arch since these can't be considered stable
  anymore. Use at your own risk.


Before 24 Nov 2012:
  * sys-fs/udev-164-r2 installed
  * sys-fs/udev is a provider in virtual/dev-manager-0
  * sys-fs/udev-164-r2 is marked stable for x86
  * "emerge -pv --depclean" OK

After 24 Nov 2012:
  * sys-fs/udev-164-r2 installed
  * virtual/udev replaced sys-fs/udev as a provider in virtual/dev-manager-0
  * sys-fs/udev-164-r2 not marked stable for x86 anymore
  * "emerge -pv --depclean" complaints that virtual/dev-manager-0 requires sys-apps/busybox[mdev]


After adding =sys-fs/udev-164-r2 to /etc/portage/package.accept_keywords, "emerge -pv --depclean" stopped complaining.

It seems that "emerge -pv --depclean" is not considering a installed package as a provider when that package is not marked stable.
Comment 1 Mike Gilbert gentoo-dev 2012-12-20 05:24:51 UTC
It does not consider packages which are not visible when resolving dependencies. udev-164-r2 is no longer visible on a stable system unless you add it to package.keywords.

You should upgrade to udev-171, which would also resolve this.

I would say portage is operating as-designed; there is no bug here.
Comment 2 Ronie Henrich 2012-12-20 14:25:43 UTC
Considering this "emerge -pv --depclean" behavior, I regular user probably is going to activate mdev useflag for sys-apps/busybox and recompile sys-apps/busybox. Then sys-fs/udev is going to be removed after running "emerge --depclean", probably leading to a unbootable system. Right?
Comment 3 Mike Gilbert gentoo-dev 2012-12-20 15:02:49 UTC
Two questions:

When is the last time you ran a world update?
Do you have udev-171 in package.mask?
Comment 4 Ronie Henrich 2012-12-20 16:30:10 UTC
I do trivial world updates on a weekly basis.
I only do a sys-fs/udev update when updating the kernel.

A kernel + sys-fs/udev update requires testing before updating that on a production server.


But my point is that anyone with a keyworded sys-fs/udev installed is going to get a message asking to enable mdev useflag for sys-apps/busybox.

Working as designed or not, a wrong message is and will always be a bug.
Comment 5 Mike Gilbert gentoo-dev 2012-12-20 16:36:18 UTC
I might have the wrong mindset here, so I'm passing this onto the portage maintainers and base-system for a second opinion.
Comment 6 William Hubbs gentoo-dev 2012-12-20 18:24:36 UTC
Comment #1 is correct.
This is not a bug.

The fix is to either upgrade udev to 171 or to add the version of udev you are using to /etc/portage/package.keywords until you can upgrade.
Comment 7 Samuli Suominen (RETIRED) gentoo-dev 2012-12-20 18:34:59 UTC
(In reply to comment #6)
> Comment #1 is correct.
> This is not a bug.
> 
> The fix is to either upgrade udev to 171 or to add the version of udev you
> are using to /etc/portage/package.keywords until you can upgrade.

Exactly. The part of the ChangeLog from Comment #0 where is says resetting older versions back to ~arch is done purposely, the older versions are known to have so severe issues they are far more unstable than 171 or 196 and should only be used in few extremely rare cases where you can't boot a newer kernel yet. I'm closing this bug, since nothing is to be done here.
Comment 8 Ronie Henrich 2012-12-20 19:29:05 UTC
(In reply to comment #6)
> Comment #1 is correct.
> This is not a bug.
> 
> The fix is to either upgrade udev to 171 or to add the version of udev you
> are using to /etc/portage/package.keywords until you can upgrade.

I know that, but what I am trying to say is that the error given by "emerge -pv --depclean" is misleading. My opinion is that it should not be asking for sys-apps/busybox[mdev] when another provider (sys-fs/udev) is already installed.


To prevent mistakes, the message given by "emerge -pv --depclean" could be something like the following:
 * Dependencies could not be completely resolved due to
 * the following required packages not being installed:
 *
 *   sys-fs/udev-164-r2::gentoo (masked by: ~x86 keyword) pulled in by:
 *     virtual/dev-manager-0


If fixing that message is not an option, at least consider a news item for users to be aware of the solution.
Comment 9 Zac Medico gentoo-dev 2012-12-20 19:47:25 UTC
(In reply to comment #8)
> My opinion is that it should not be asking
> for sys-apps/busybox[mdev] when another provider (sys-fs/udev) is already
> installed.

That would be a variant of bug #164457.

> To prevent mistakes, the message given by "emerge -pv --depclean" could be
> something like the following:
>  * Dependencies could not be completely resolved due to
>  * the following required packages not being installed:
>  *
>  *   sys-fs/udev-164-r2::gentoo (masked by: ~x86 keyword) pulled in by:
>  *     virtual/dev-manager-0

Yeah, that would a good way to handle bug #164457 for cases where one of the choices is already installed.