Hi, At this moment udev-init-scripts is hard dependency. The init scripts are installed and automatically added to sysinit runlevel. For users who use other /dev managment solutions like mdev, it should be possible to not pull in the init scripts. Non-udev users often install udev or eudev to satisfy the media-libs/mesa dependencies, chromium requires libudev too. The solution would be to add init-scripts useflags, enabled by default, so users who have 'sysfs/eudev -*' would have no problem. Reproducible: Always
(In reply to Piotr Karbowski from comment #0) > Hi, > > At this moment udev-init-scripts is hard dependency. The init scripts are > installed and automatically added to sysinit runlevel. > > For users who use other /dev managment solutions like mdev, it should be > possible to not pull in the init scripts. Non-udev users often install udev > or eudev to satisfy the media-libs/mesa dependencies, chromium requires > libudev too. > > The solution would be to add init-scripts useflags, enabled by default, so > users who have 'sysfs/eudev -*' would have no problem. > > Reproducible: Always Good point but this also applies to sys-fs/udev then. We should have a common use flag.
The init scripts are for openrc, so IUSE="openrc" seems to make the most sense. That said, I believe this conversation has anready taken place multiple times in 2014 and so far as I can remember the consensus has been to keep it a hard dep; the option for the few users that want to avoid installing udev-init-scripts is to use package.provided to make the PM think it's there. Also, I believe there was a rumour that udev-init-scripts is going to be retired soon in favour of each udev provider packaging their own. So this bug becomes moot if that happens.
(In reply to Ian Stakenvicius from comment #2) > That said, I believe this conversation has anready taken place multiple > times in 2014 and so far as I can remember the consensus has been to keep it > a hard dep; the option for the few users that want to avoid installing > udev-init-scripts is to use package.provided to make the PM think it's there. Is it anywhere to read up? I am not really into the way of thinking like why enhance when only few people will benefit from it. The improvement to made is pretty clear so I would really vote for go for it. (In reply to Ian Stakenvicius from comment #2) > Also, I believe there was a rumour that udev-init-scripts is going to be > retired soon in favour of each udev provider packaging their own. So this > bug becomes moot if that happens. Its not like like this bug require much of effort or that if additional USE flag will be added it coudn't disappear later along with udev-init-scripts, it it goes away too.
(In reply to Ian Stakenvicius from comment #2) > The init scripts are for openrc, so IUSE="openrc" seems to make the most > sense. > We dropped USE=openrc for eudev-2* and above because eudev and openrc are independant. This left sys-fs/udev-init-scripts orphaned so we now hard depend on it as a PDEPEND. But I think the logic should be the same as for unit files: we install them unconditionally.
The real problem behind udev-init-scripts is that they do automatically add udev to sysinit runlevel. I've run into the issue where I had both udev and mdev started. That's why I think the init scripts shoudn't be hard dep whatsoever.
(In reply to Piotr Karbowski from comment #5) > The real problem behind udev-init-scripts is that they do automatically add > udev to sysinit runlevel. I've run into the issue where I had both udev and > mdev started. That's why I think the init scripts shoudn't be hard dep > whatsoever. That sounds like an openrc bug -- udev should be started as a provider of 'dev-manager', and if the mdev init script is installed it should be used instead, especially since mdev is lexicographically before udev.
(In reply to Ian Stakenvicius from comment #6) > (In reply to Piotr Karbowski from comment #5) > > The real problem behind udev-init-scripts is that they do automatically add > > udev to sysinit runlevel. I've run into the issue where I had both udev and > > mdev started. That's why I think the init scripts shoudn't be hard dep > > whatsoever. > > That sounds like an openrc bug -- udev should be started as a provider of > 'dev-manager', and if the mdev init script is installed it should be used > instead, especially since mdev is lexicographically before udev. Agreed. We have several providers now and one script. So we need to add intelligence to it.
(In reply to Piotr Karbowski from comment #0) > Hi, > > At this moment udev-init-scripts is hard dependency. The init scripts are > installed and automatically added to sysinit runlevel. > > For users who use other /dev managment solutions like mdev, it should be > possible to not pull in the init scripts. Non-udev users often install udev > or eudev to satisfy the media-libs/mesa dependencies, chromium requires > libudev too. > > The solution would be to add init-scripts useflags, enabled by default, so > users who have 'sysfs/eudev -*' would have no problem. I believe I can use the build use flag to control whether the scripts are added to the runlevel or not. I would prefer that instead of the use flag. (In reply to Ian Stakenvicius from comment #2) > Also, I believe there was a rumour that udev-init-scripts is going to be > retired soon in favour of each udev provider packaging their own. So this > bug becomes moot if that happens. I haven't heard this, and I wouldn't recommend it. The reason the scripts were split out is that this allows them to be tested and stabled separately from the package. MySQL/mariadb/etc do the same thing; the init scripts are a separate package.
My understanding of why this was being forced into the sysinit runlevel is it was being done for the stages and livecd. I have been told that this can be handled another way by releng, so I am fixing the live ebuild so that it will not add the services to the sysinit runlevel any longer.