Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 641916 - sys-apps/systemd-236-r1 sysv-utils enabled by default
Summary: sys-apps/systemd-236-r1 sysv-utils enabled by default
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo systemd Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-12-21 12:35 UTC by younky.yang
Modified: 2018-01-17 04:11 UTC (History)
5 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 younky.yang 2017-12-21 12:35:49 UTC
systemd-236-r1 has sysv-utils flag enabled by default which will pull in sysvinit. but sysvinit has conflicts with systemd. So this should not be enabled by default, especially for profile with systemd.
Comment 1 Ben Kohler gentoo-dev 2017-12-21 12:44:40 UTC
I think you are reading something wrong.  If USE=sysv-utils is set on systemd, then sysvinit *blocks it*.  systemd only depends on sysvinit if the flag is disabled.

Since openrc was recently removed from @system, sysvinit should be unneeded & depcleanable/removable, if you have (the default) USE=sysv-utils enabled on systemd.
Comment 2 Mart Raudsepp gentoo-dev 2017-12-21 12:48:47 UTC
(there was a mid-air collision, my comment is as reply to the OP)
No, it's the opposite. USE=sysv-utils (the default now) blocks sysvinit and USE=-sysv-utils pulls it in. The whole purpose of USE=sysv-utils is to provide some of sysvinit tools via systemd directly for common commands like "halt", "reboot", "poweroff" and their manpages and be able to go without a sysvinit package.
I suppose the migration away from sysvinit may be a bit troublesome, resulting in such confusion as seems to be the case here, based on what portage outputs or so.

Reassigning to systemd for a quick look over (perhaps migration isn't as smooth as possible yet?) before marking as INVALID or some such.
Feel free to share why or how you came to the conclusions you did (maybe relevant portage output that was the cause of the confusion?)
Comment 3 Mike Gilbert gentoo-dev 2017-12-21 14:21:25 UTC
If you would kindly provide the full emerge output that lead you to this conclusion, I will take a look.
Comment 4 Adrian Bassett 2017-12-21 21:04:26 UTC
(In reply to Mart Raudsepp from comment #2)

> Reassigning to systemd for a quick look over (perhaps migration isn't as
> smooth as possible yet?) before marking as INVALID or some such.
> Feel free to share why or how you came to the conclusions you did (maybe
> relevant portage output that was the cause of the confusion?)

I am having problems between systemd-236-r1 and sysvinit mutually blocking each other and can't see how to resolve the blockage.  Six numbered sections show what I did.

1/ Initial position.

# emerge -auvND world

These are the packages that would be merged, in order:

Calculating dependencies  . .... ........ .......... done!
[ebuild     U  ] sys-apps/systemd-236-r1:0/2::gentoo [236:0/2::gentoo] USE="acl curl gcrypt http idn kmod lz4 lzma nat pam policykit qrcode seccomp ssl sysv-utils* -apparmor -audit -build -cryptsetup -elfutils -gnuefi -importd -libidn2 (-selinux) {-test} -usrmerge -vanilla -xkb" ABI_X86="32 (64) (-x32)" 0 KiB
[blocks B      ] sys-apps/sysvinit ("sys-apps/sysvinit" is blocking sys-apps/systemd-236-r1)

Total: 1 package (1 upgrade), Size of downloads: 0 KiB
Conflict: 1 block (1 unsatisfied)

 * Error: The above package list contains packages which cannot be
 * installed at the same time on the same system.

  (sys-apps/sysvinit-2.88-r9:0/0::gentoo, installed) pulled in by
    >=sys-apps/sysvinit-2.86-r6[selinux?] (>=sys-apps/sysvinit-2.86-r6) required by (sys-apps/openrc-0.34.11:0/0::gentoo, installed)
    sys-apps/sysvinit required by @selected

  (sys-apps/systemd-236-r1:0/2::gentoo, ebuild scheduled for merge) pulled in by
    sys-apps/systemd required by (sys-fs/multipath-tools-0.7.4:0/0::gentoo, installed)
    sys-apps/systemd:= required by (net-misc/sslh-1.18-r2:0/0::gentoo, installed)
.
.
.

2/ So, remove sysvinit.

# emerge --unmerge sysvinit
 * This action can remove important packages! In order to be safer, use
 * `emerge -pv --depclean <atom>` to check for reverse dependencies before
 * removing packages.

 sys-apps/sysvinit
    selected: 2.88-r9 
   protected: none 
     omitted: none 

All selected packages: =sys-apps/sysvinit-2.88-r9

>>> 'Selected' packages are slated for removal.
>>> 'Protected' and 'omitted' packages will not be removed.

>>> Waiting 5 seconds before starting...
>>> (Control-C to abort)...
>>> Unmerging in: 5 4 3 2 1
>>> Unmerging (1 of 1) sys-apps/sysvinit-2.88-r9...

3/ Position after removing sysvinit blocker.

# emerge -auvND world

These are the packages that would be merged, in order:

Calculating dependencies  ...... ..... .. .... done!
[ebuild  N     ] sys-apps/sysvinit-2.88-r9::gentoo  USE="(-ibm) (-selinux) -static" 0 KiB
[ebuild     U  ] sys-apps/systemd-236-r1:0/2::gentoo [236:0/2::gentoo] USE="acl curl gcrypt http idn kmod lz4 lzma nat pam policykit qrcode seccomp ssl sysv-utils* -apparmor -audit -build -cryptsetup -elfutils -gnuefi -importd -libidn2 (-selinux) {-test} -usrmerge -vanilla -xkb" ABI_X86="32 (64) (-x32)" 0 KiB
[blocks B      ] sys-apps/sysvinit ("sys-apps/sysvinit" is blocking sys-apps/systemd-236-r1)

4/ as sysvinit is pulled in by openrc:

(sys-apps/sysvinit-2.88-r9:0/0::gentoo, ebuild scheduled for merge) pulled in by
    >=sys-apps/sysvinit-2.86-r6[selinux?] (>=sys-apps/sysvinit-2.86-r6) required by (sys-apps/openrc-0.34.11:0/0::gentoo, installed)

remove openrc
 
# emerge --unmerge openrc
 * This action can remove important packages! In order to be safer, use
 * `emerge -pv --depclean <atom>` to check for reverse dependencies before
 * removing packages.


!!! 'sys-apps/openrc' (virtual/service-manager) is part of your system profile.
!!! Unmerging it may be damaging to your system.


 sys-apps/openrc
    selected: 0.34.11 
   protected: none 
     omitted: none 

All selected packages: =sys-apps/openrc-0.34.11

>>> 'Selected' packages are slated for removal.
>>> 'Protected' and 'omitted' packages will not be removed.

>>> Waiting 5 seconds before starting...
>>> (Control-C to abort)...
>>> Unmerging in: 5 4 3 2 1
>>> Unmerging (1 of 1) sys-apps/openrc-0.34.11...

5/ openrc, required by sysvinit, is now added to the list.

# emerge -auvND world

These are the packages that would be merged, in order:

Calculating dependencies  ........ ........... done!
[ebuild  N     ] sys-apps/sysvinit-2.88-r9::gentoo  USE="(-ibm) (-selinux) -static" 0 KiB
[ebuild     U  ] sys-apps/systemd-236-r1:0/2::gentoo [236:0/2::gentoo] USE="acl curl gcrypt http idn kmod lz4 lzma nat pam policykit qrcode seccomp ssl sysv-utils* -apparmor -audit -build -cryptsetup -elfutils -gnuefi -importd -libidn2 (-selinux) {-test} -usrmerge -vanilla -xkb" ABI_X86="32 (64) (-x32)" 0 KiB
[ebuild  N     ] sys-apps/openrc-0.34.11::gentoo  USE="ncurses netifrc pam unicode -audit -debug -newnet (-prefix) (-selinux) -static-libs" 0 KiB
[blocks B      ] sys-apps/sysvinit ("sys-apps/sysvinit" is blocking sys-apps/systemd-236-r1)

6/ openrc appears to be unconditionally required in some cases.

# equery depends openrc
 * These packages depend on openrc:
net-misc/knock-0.7 (server ? sys-apps/openrc)
net-misc/netifrc-0.6.0 (>=sys-apps/openrc-0.15)
virtual/service-manager-0 (!prefix ? sys-apps/openrc)

?

Thanks.
Comment 5 Ben Kohler gentoo-dev 2017-12-21 21:10:30 UTC
I believe the root of your problems was that sysvinit was in @selected (world file).  If it weren't explicitly listed in your world file, then the blockers should have been able to resolve themselves by autounmerging sysvinit, openrc, and netifrc all at once.
Comment 6 Mike Gilbert gentoo-dev 2017-12-21 22:03:10 UTC
I think openrc is getting pulled in by net-misc/knock, and possibly by net-misc/netifrc if that happens to be in your world file.

These are probably pretty rare for a typical systemd user.
Comment 7 Adrian Bassett 2017-12-21 22:38:25 UTC
(In reply to Mike Gilbert from comment #6)
> I think openrc is getting pulled in by net-misc/knock, and possibly by
> net-misc/netifrc if that happens to be in your world file.
> 
> These are probably pretty rare for a typical systemd user.

Thanks for the comments in #5 and #6.

I have things sorted now - sysvinit and openrc were both in the world file.

Having removed those two entries I still didn't manage to get things automatically to resolve the various blockers so I manually unmerged sysvinit, openrc, netifrc and knock, which was indeed pulling in openrc and thus sysvinit.

Thanks again.
Comment 8 Richard Freeman gentoo-dev 2017-12-21 23:08:09 UTC
(In reply to Adrian.Bassett from comment #7)
> Having removed those two entries I still didn't manage to get things
> automatically to resolve the various blockers so I manually unmerged
> sysvinit, openrc, netifrc and knock, which was indeed pulling in openrc and
> thus sysvinit.

The first three make sense.

knock should not depend on openrc and I filed bug 641980.  I'm not sure it really makes sense to list it as blocking this.
Comment 9 younky.yang 2017-12-22 01:42:33 UTC
(In reply to Mike Gilbert from comment #6)
> I think openrc is getting pulled in by net-misc/knock, and possibly by
> net-misc/netifrc if that happens to be in your world file.
> 
> These are probably pretty rare for a typical systemd user.

Got it solved by unmerge these packages. Thanks
Comment 10 Juergen Rose 2017-12-22 13:44:33 UTC
'emerge -v --update --newuse --deep --with-bdeps=y --exclude mysql-workbench --keep-going --backtrack=30 @world' and 'emerge -v1 systemd' fails here with:


These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R    ] sys-apps/systemd-236-r1:0/2::gentoo  USE="acl curl gcrypt http kmod lz4 lzma pam policykit seccomp ssl sysv-utils* -apparmor -audit -build -cryptsetup -elfutils -gnuefi -idn -importd -libidn2 -nat -qrcode (-selinux) {-test} -usrmerge -vanilla -xkb" ABI_X86="32 (64) (-x32)" 0 KiB
[blocks B      ] sys-apps/sysvinit ("sys-apps/sysvinit" is blocking sys-apps/systemd-236-r1)

Total: 1 package (1 reinstall), Size of downloads: 0 KiB
Conflict: 1 block (1 unsatisfied)

 * Error: The above package list contains packages which cannot be
 * installed at the same time on the same system.

  (sys-apps/systemd-236-r1:0/2::gentoo, ebuild scheduled for merge) pulled in by
    sys-apps/systemd[pam] required by (sys-auth/pambase-20150213-r1:0/0::gentoo, installed)
    >=sys-apps/systemd-44:0= required by (gnome-extra/gnome-system-monitor-3.24.0:0/0::gentoo, installed)
    sys-apps/systemd:0/2= required by (net-fs/samba-4.7.3:0/0::gentoo, installed)
    >=sys-apps/systemd-205:0/2= required by (sys-fs/lvm2-2.02.166-r2:0/0::gentoo, installed)
    >=sys-apps/systemd-209:0/2= required by (sys-apps/gnome-disk-utility-3.24.1:0/0::gentoo, installed)
    sys-apps/systemd required by (x11-wm/mutter-3.24.4:0/0::gentoo, installed)
    systemd
    sys-apps/systemd:0/2= required by (dev-db/mariadb-10.2.11:0/18::gentoo, installed)
    sys-apps/systemd:0= required by (sys-auth/polkit-0.113-r4:0/0::gentoo, installed)
...
  (sys-apps/sysvinit-2.88-r9:0/0::gentoo, installed) pulled in by
    >=sys-apps/sysvinit-2.86-r6[selinux?] (>=sys-apps/sysvinit-2.86-r6) required by (sys-apps/openrc-0.34.11:0/0::gentoo, installed)




I have neither openrc, sysvinit nor netifrc in /var/lib/portage/world.
knock is not installed.

root@lynx:/root(253)# grep netifrc /var/lib/portage/world
root@lynx:/root(254)# grep openrc /var/lib/portage/world
root@lynx:/root(255)# grep sysvinit /var/lib/portage/world
root@lynx:/root(256)# qlist -Iv knock
root@lynx:/root(257)# 

netifrc is installed as dependency of openrc:

root@lynx:/usr/local/portage/net-libs(144)# emerge -pv --depclean netifrc

Calculating dependencies... done!
  net-misc/netifrc-0.6.0 pulled in by:
    sys-apps/openrc-0.34.11 requires net-misc/netifrc
...

What should I do?
Comment 11 Juergen Rose 2017-12-22 13:51:58 UTC
(In reply to Juergen Rose from comment #10)
> 'emerge -v --update --newuse --deep --with-bdeps=y --exclude mysql-workbench
> --keep-going --backtrack=30 @world' and 'emerge -v1 systemd' fails here with:
> 
...
> 
> netifrc is installed as dependency of openrc:
> 
> root@lynx:/usr/local/portage/net-libs(144)# emerge -pv --depclean netifrc
> 
> Calculating dependencies... done!
>   net-misc/netifrc-0.6.0 pulled in by:
>     sys-apps/openrc-0.34.11 requires net-misc/netifrc
...

Removing of netifrc does not help.
Comment 12 Adrian Bassett 2017-12-22 13:56:11 UTC
(In reply to Juergen Rose from comment #11)
> (In reply to Juergen Rose from comment #10)
> > 'emerge -v --update --newuse --deep --with-bdeps=y --exclude mysql-workbench
> > --keep-going --backtrack=30 @world' and 'emerge -v1 systemd' fails here with:
> > 
> ...
> > 
> > netifrc is installed as dependency of openrc:
> > 
> > root@lynx:/usr/local/portage/net-libs(144)# emerge -pv --depclean netifrc
> > 
> > Calculating dependencies... done!
> >   net-misc/netifrc-0.6.0 pulled in by:
> >     sys-apps/openrc-0.34.11 requires net-misc/netifrc
> ...
> 
> Removing of netifrc does not help.

As you will have read, knock turned out to be an un-expected consumer of openrc on my system.  Perhaps you are encountering the effects of a similar dependency?
You could try 'equery depends openrc' and see if that turns up any likely candidates.
Comment 13 Mart Raudsepp gentoo-dev 2017-12-22 14:46:35 UTC
(In reply to Juergen Rose from comment #10)
> root@lynx:/usr/local/portage/net-libs(144)# emerge -pv --depclean netifrc
> 
> Calculating dependencies... done!
>   net-misc/netifrc-0.6.0 pulled in by:
>     sys-apps/openrc-0.34.11 requires net-misc/netifrc
> ...
> 
> What should I do?

Either uninstall openrc or don't use sysv-utils on systemd.

emerge --depclean -va netifrc openrc
should succeed for you, or tell what needs openrc and go from there.

Make sure you remain bootable with systemd, of course.
Comment 14 Juergen Rose 2017-12-22 21:24:39 UTC
(In reply to Adrian.Bassett from comment #12)
> (In reply to Juergen Rose from comment #11)
> > (In reply to Juergen Rose from comment #10)
> > > 'emerge -v --update --newuse --deep --with-bdeps=y --exclude mysql-workbench
> > > --keep-going --backtrack=30 @world' and 'emerge -v1 systemd' fails here with:
> > > 
> > ...
> > > 
> > > netifrc is installed as dependency of openrc:
> > > 
> > > root@lynx:/usr/local/portage/net-libs(144)# emerge -pv --depclean netifrc
> > > 
> > > Calculating dependencies... done!
> > >   net-misc/netifrc-0.6.0 pulled in by:
> > >     sys-apps/openrc-0.34.11 requires net-misc/netifrc
> > ...
> > 
> > Removing of netifrc does not help.
> 
> As you will have read, knock turned out to be an un-expected consumer of
> openrc on my system.  Perhaps you are encountering the effects of a similar
> dependency?
> You could try 'equery depends openrc' and see if that turns up any likely
> candidates.


Thank you Adrian.

root@lynx:/root(262)# equery depends openrc
 * These packages depend on openrc:
app-misc/livecd-tools-2.3 (>=sys-apps/openrc-0.8.2-r1)
virtual/service-manager-0 (!prefix ? sys-apps/openrc)


After deleting livecd-tools the blocking of systemd and sysvinit disapeared.
Comment 15 Alexander Pilipenko 2018-01-17 02:17:52 UTC
Openrc package contains some useful functions like ebegin, eerror, may be need to split this functions into separated package or add them to systemd with USE="sysv-utils"?
Comment 16 Mike Gilbert gentoo-dev 2018-01-17 04:11:44 UTC
(In reply to Alexander Pilipenko from comment #15)

Those are covered by the sys-apps/gentoo-functions package.