Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 642484 - portage-2.3.13-r1 try to remove openrc despite it is part of system profile
Summary: portage-2.3.13-r1 try to remove openrc despite it is part of system profile
Status: RESOLVED DUPLICATE of bug 375115
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - Dependencies (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-12-28 09:22 UTC by Zhixu Liu
Modified: 2018-01-08 01:37 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 Zhixu Liu 2017-12-28 09:22:50 UTC
# emerge --depclean -p

...

Calculating dependencies... done!
>>> Calculating removal order...

>>> These are the packages that would be unmerged:

 net-misc/netifrc
    selected: 0.5.1
   protected: none
     omitted: none


!!! '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

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

All selected packages: =net-misc/netifrc-0.5.1 =sys-apps/openrc-0.34.11 =sys-apps/sysvinit-2.88-r9

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

Packages installed:   719
Packages in world:    174
Packages in system:   44
Required packages:    716
Number to remove:     3
Comment 1 Mart Raudsepp gentoo-dev 2017-12-28 09:31:50 UTC
Don't forget to post emerge --info.
Also, openrc is NOT part of @system, service-manager is, and systemd satisfies it on systemd profiles at least, but can't see your emerge --info to see what profile you are on... If systemd, then this should be DUPLICATE of bug 375115
Comment 2 Zhixu Liu 2017-12-28 11:22:06 UTC
# emerge --info                                                                                                                                                                                                                             [18/1807]
Portage 2.3.13 (python 2.7.14-final-0, default/linux/amd64/17.0/hardened, gcc-6.4.0, glibc-2.25-r9, 4.9.6-gentoo-r1-ks x86_64)
=================================================================
System uname: Linux-4.9.6-gentoo-r1-ks-x86_64-Intel-R-_Xeon-R-_CPU_E5-2620_v4_@_2.10GHz-with-gentoo-2.4.1
KiB Mem:    65753700 total,    564568 free
KiB Swap:   31248380 total,  31243512 free
Timestamp of repository gentoo: Thu, 28 Dec 2017 03:30:01 +0000
Head commit of repository gentoo: 64e0c2a7bc03fa8bb731884be6610237c93bcc93
sh bash 4.3_p48-r1
ld GNU ld (Gentoo 2.29.1 p3) 2.29.1
distcc 3.2rc1 x86_64-pc-linux-gnu [disabled]
app-shells/bash:          4.3_p48-r1::gentoo
dev-java/java-config:     2.2.0-r3::gentoo
dev-lang/perl:            5.24.3::gentoo
dev-lang/python:          2.7.14-r1::gentoo, 3.5.4-r1::gentoo
dev-util/cmake:           3.9.6::gentoo
dev-util/pkgconfig:       0.29.2::gentoo
sys-apps/baselayout:      2.4.1-r2::gentoo
sys-apps/openrc:          0.34.11::gentoo
sys-apps/sandbox:         2.10-r4::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69::gentoo
sys-devel/automake:       1.15.1-r1::gentoo
sys-devel/binutils:       2.29.1-r1::gentoo
sys-devel/gcc:            6.4.0::gentoo
sys-devel/gcc-config:     1.8-r1::gentoo
sys-devel/libtool:        2.4.6-r3::gentoo
sys-devel/make:           4.2.1::gentoo
sys-kernel/linux-headers: 4.4::gentoo (virtual/os-headers)
sys-libs/glibc:           2.25-r9::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    sync-rsync-extra-opts:

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CC="clang"
CFLAGS="-O2 -pipe -g"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /etc/stunnel/stunnel.conf /usr/share/gnupg/qualified.txt /var/bind"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.6/ext-active/ /etc/php/apache2-php7.0/ext-active/ /etc/php/apache2-php7.1/ext-active/ /etc/php/cgi-php5.6/ext-active/ /etc/php/cgi-php7.0/e
xt-active/ /etc/php/cgi-php7.1/ext-active/ /etc/php/cli-php5.6/ext-active/ /etc/php/cli-php7.0/ext-active/ /etc/php/cli-php7.1/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXX="clang++"
CXXFLAGS="-O2 -pipe -g"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--quiet-build=y --with-bdeps=y"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs buildpkg cgroup compress-build-logs compress-index compressdebug config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync multilib-strict news parallel-fetch preserve-libs protect-owned sandbox sfperms splitdebug strict
unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://mirrors.163.com/gentoo/ http://distfiles.gentoo.org"
LANG="zh_CN.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j 16"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="acl amd64 berkdb bzip2 caps cracklib crypt cscope cxx enscript fastcgi fontconfig gd git hardened iconv icu idn ipv6 jit jpeg kerberos ldap lua luajit multilib mysql ncurses nls nptl openmp pam pcre pie png python readline sasl seccomp snmp sqlite ssl ssp static-libs subversion suid syslog tcmalloc threads truetype unicode vhosts vim-syntax xattr xml xtpax zlib" ABI_X86="64" 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" APACHE2_MODULES="actions alias auth_basic auth_digest authn_alias authn_anon authn_core authn_dbd authn_dbm authn_file authz_core authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir env expires ext_filter file_cache filter headers http2 ident imagemap include info lbmethod_bybusyness lbmethod_byrequests lbmethod_bytraffic lbmethod_heartbeat log_config logio macro mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http reqtimeout rewrite setenvif slotmem_shm socache_shmcb speling status substitute unique_id unixd userdir usertrack version vhost_alias" APACHE2_MPMS="event" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="efi-64 pc" INPUT_DEVICES="libinput keyboard mouse" KERNEL="linux" L10N="zh-CN" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en en_US zh_CN zh" NGINX_MODULES_HTTP="access addition auth_basic auth_ldap auth_pam auth_request autoindex browser cache_purge charset dav echo empty_gif fancyindex fastcgi flv geo geoip gzip headers_more image_filter limit_conn limit_req lua map memcached metrics naxsi proxy realip referer rewrite scgi secure_link security split_clients ssi stub_status sub upstream_check upstream_hash upstream_ip_hash upstream_keepalive upstream_least_conn upstream_zone userid uwsgi xslt" NGINX_MODULES_MAIL="imap pop3 smtp" NGINX_MODULES_STREAM="access geo geoip limit_conn map realip return split_clients ssl_preread upstream_hash upstream_least_conn upstream_zone" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-0" POSTGRES_TARGETS="postgres9_5" PYTHON_SINGLE_TARGET="python3_5" PYTHON_TARGETS="python2_7 python3_5" RUBY_TARGETS="ruby22" USERLAND="GNU" VIDEO_CARDS="amdgpu fbdev intel nouveau radeon radeonsi vesa dummy v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 3 Zhixu Liu 2017-12-28 11:24:01 UTC
(In reply to Mart Raudsepp from comment #1)
> Don't forget to post emerge --info.
> Also, openrc is NOT part of @system, service-manager is, and systemd
> satisfies it on systemd profiles at least, but can't see your emerge --info
> to see what profile you are on... If systemd, then this should be DUPLICATE
> of bug 375115

Yes, my description is not accurate.

emerge --info updated in previous comment.
Comment 4 Mike Gilbert gentoo-dev 2017-12-28 15:28:31 UTC
Do you have any of the following installed?

sys-apps/systemd
sys-process/runit
virtual/daemontools
Comment 5 Zhixu Liu 2017-12-28 23:33:01 UTC
yes, I have virtual/daemontools installed and recorded in world file.
Comment 6 Zhixu Liu 2017-12-28 23:54:11 UTC
(In reply to Zhixu Liu from comment #5)
> yes, I have virtual/daemontools installed and recorded in world file.

after remove virtual/daemontools, problem disappear. But I do remember it didn't try to remove openrc before, it's wired.

Also, why depclean still try to remove openrc? I mean, the warning is some kind of misleading.
Comment 7 Zac Medico gentoo-dev 2017-12-29 03:18:15 UTC
OpenRC was removed from the system set in the commit for bug 511500:

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8ace3d16092a886de6d7eacc65f7a0d5593b95ac
Comment 8 Zhixu Liu 2018-01-03 05:54:29 UTC
rerun emerge -auvDNgkt world, daemontools was memerged in by service-manager again.

[nomerge       ] virtual/service-manager-0::gentoo  USE="(-prefix)"
[binary  N     ]  virtual/daemontools-0::gentoo  0 KiB

Then emerge --depclean will try remove openrc again.

So this definitely need to be fixed, thanks.
Comment 9 Zac Medico gentoo-dev 2018-01-03 06:22:08 UTC
(In reply to Zhixu Liu from comment #8)
> rerun emerge -auvDNgkt world, daemontools was memerged in by service-manager
> again.
> 
> [nomerge       ] virtual/service-manager-0::gentoo  USE="(-prefix)"
> [binary  N     ]  virtual/daemontools-0::gentoo  0 KiB
> 
> Then emerge --depclean will try remove openrc again.
> 
> So this definitely need to be fixed, thanks.

This kind of thing is expected if openrc is masked somehow. Please check the output of this command to see if it's masked somehow:

  emerge -pv openrc
Comment 10 Zhixu Liu 2018-01-03 12:40:44 UTC
(In reply to Zac Medico from comment #9)
> (In reply to Zhixu Liu from comment #8)
> > rerun emerge -auvDNgkt world, daemontools was memerged in by service-manager
> > again.
> > 
> > [nomerge       ] virtual/service-manager-0::gentoo  USE="(-prefix)"
> > [binary  N     ]  virtual/daemontools-0::gentoo  0 KiB
> > 
> > Then emerge --depclean will try remove openrc again.
> > 
> > So this definitely need to be fixed, thanks.
> 
> This kind of thing is expected if openrc is masked somehow. Please check the
> output of this command to see if it's masked somehow:
> 
>   emerge -pv openrc

# emerge -pv openrc

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

Calculating dependencies... done!
[ebuild   R    ] sys-apps/openrc-0.34.11::gentoo  USE="ncurses netifrc pam static-libs unicode -audit -debug -newnet (-prefix) (-selinux)" 0 KiB

Total: 1 package (1 reinstall), Size of downloads: 0 KiB
Comment 11 Ben Kohler gentoo-dev 2018-01-06 15:44:33 UTC
I don't think there's any new portage bug here, just an unfortunate consequence of how flexible this virtual is.  Reminds me a lot of nano being depcleaned when "ed" gets installed, even though the end-user didn't intend to use ed as his main editor.

I suspect that the vast majority of people installing daemontools don't actually intend to use it as init or the only service manager.

This idea is a bit unconventional but what if we added a new default-off USE flag to virtual/daemontools that allowed users to explicitly opt-in to allowing daemontools to satisfy virtual/service-manager?  Then virtual/service-manager would require this flag to be set on virtual/daemontools.
Comment 12 Zac Medico gentoo-dev 2018-01-08 01:06:00 UTC
(In reply to Ben Kohler from comment #11)
> I don't think there's any new portage bug here, just an unfortunate
> consequence of how flexible this virtual is.  Reminds me a lot of nano being
> depcleaned when "ed" gets installed, even though the end-user didn't intend
> to use ed as his main editor.
> 
> I suspect that the vast majority of people installing daemontools don't
> actually intend to use it as init or the only service manager.

Yes, the behavior described in comment #8 is actually expected, since emerge tries very hard to eliminate redundant packages (openrc in this case). If daemontools gets pulled into the dependency graph and openrc does not, then emerge will automatically try to eliminate openrc. This behavior is intentional, as a means to eliminate redundant packages.

> This idea is a bit unconventional but what if we added a new default-off USE
> flag to virtual/daemontools that allowed users to explicitly opt-in to
> allowing daemontools to satisfy virtual/service-manager?  Then
> virtual/service-manager would require this flag to be set on
> virtual/daemontools.

The flag would have to be in the virtual/service-manager ebuild.

I think a reasonable solution is that anyone who wants to ensure that openrc remains installed should simply add it to their world file like this:

  emerge --noreplace openrc
Comment 13 Mike Gilbert gentoo-dev 2018-01-08 01:24:48 UTC
(In reply to Zac Medico from comment #12)

That was the same conclusion we (WilliamH and myself) reached in #gentoo-dev before I removed openrc from the @system set.

I also proposed a solution involving USE flags, but we ultimately didn't feel it was worth the effort to solve this issue for the small number of people using daemontools/runit.
Comment 14 Zac Medico gentoo-dev 2018-01-08 01:37:57 UTC

*** This bug has been marked as a duplicate of bug 375115 ***