# 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
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
# 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
(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.
Do you have any of the following installed? sys-apps/systemd sys-process/runit virtual/daemontools
yes, I have virtual/daemontools installed and recorded in world file.
(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.
OpenRC was removed from the system set in the commit for bug 511500: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8ace3d16092a886de6d7eacc65f7a0d5593b95ac
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.
(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
(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
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.
(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
(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.
*** This bug has been marked as a duplicate of bug 375115 ***