Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 478472

Summary: app-portage/gentoolkit - revdep-rebuild need functions.sh from sys-apps/openrc
Product: Portage Development Reporter: David <david.guglielmi>
Component: ToolsAssignee: Portage Tools Team <tools-portage>
Status: RESOLVED DUPLICATE    
Severity: normal CC: alexander, bob.deblier, esigra, ilovegnulinux, leho, maggu2810, marduk, nikoli, uzytkownik2
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 346443    

Description David 2013-07-28 14:34:44 UTC
I use systemd and after upgrading to virtual/service-manager and running emerge --depclean openrc is selected to be removed.

But revdep-rebuild.sh use /etc/init.d/functions.sh from openrc.





Reproducible: Always

Steps to Reproduce:
1. Un-merge openrc
2. Run revdep-rebuild
3.
Actual Results:  
# revdep-rebuild
/usr/bin/revdep-rebuild: line 311: /etc/init.d/functions.sh: No such file or directory
/usr/bin/revdep-rebuild: line 1068: einfo: command not found

/usr/bin/revdep-rebuild: line 645: einfo: command not found
/usr/bin/revdep-rebuild: line 646: einfo: command not found
/usr/bin/revdep-rebuild: line 647: einfo: command not found

/usr/bin/revdep-rebuild: line 652: einfo: command not found
/usr/bin/revdep-rebuild: line 672: einfo: command not found
/usr/bin/revdep-rebuild: line 697: einfo: command not found
/usr/bin/revdep-rebuild: line 713: einfo: command not found
/usr/bin/revdep-rebuild: line 729: einfo: command not found



binutils-config and gcc-config have the same issue with /etc/init.d/functions.sh.

Need to open bug report for those products also ?
Comment 1 David 2013-07-28 14:38:02 UTC
# emerge --info
Portage 2.1.12.2 (default/linux/amd64/13.0/desktop/gnome, gcc-4.7.2, glibc-2.15-r3, 3.4.52-std371 x86_64)
=================================================================
System uname: Linux-3.4.52-std371-x86_64-QEMU_Virtual_CPU_version_1.1.2-with-gentoo-2.2
KiB Mem:     2051036 total,    470776 free
KiB Swap:    2097148 total,   2097148 free
Timestamp of tree: Sun, 28 Jul 2013 13:15:01 +0000
ld GNU ld (GNU Binutils) 2.23.1
app-shells/bash:          4.2_p45
dev-lang/python:          2.7.5, 3.2.5-r1
dev-util/cmake:           2.8.10.2-r2
dev-util/pkgconfig:       0.28
sys-apps/baselayout:      2.2
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.11.6, 1.12.6
sys-devel/binutils:       2.23.1
sys-devel/gcc:            4.7.2-r1
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82-r4
sys-kernel/linux-headers: 3.7 (virtual/os-headers)
sys-libs/glibc:           2.15-r3
Repositories: gentoo
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-mtune=generic -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-mtune=generic -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="ftp://ftp.free.fr/mirrors/ftp.gentoo.org ftp://mirror.ovh.net/gentoo-distfiles"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync2.fr.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi alsa amd64 berkdb branding bzip2 cairo cdda cdr cli colord cracklib crypt cups cxx dbus dri dts dvd dvdr eds emboss encode evo exif fam ffmpeg firefox flac fortran fuse gdbm gif gnome gnome-keyring gnome-online-accounts gpm gstreamer gtk iconv introspection ipv6 jpeg lcms ldap libnotify libsecret mad mmx mng modules mp3 mp4 mpeg mudflap multilib nautilus ncurses nls nptl ogg opengl openmp pam pango pcre pdf png policykit ppds pulseaudio qt3support readline samba sdl session socialweb spell sse sse2 ssl startup-notification svg systemd tcpd tiff truetype udev udisks unicode upower usb vorbis wxwidgets x264 xcb xml xspice xv xvid 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="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="fr" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-4" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_2" RUBY_TARGETS="ruby19 ruby18" USERLAND="GNU" VIDEO_CARDS="qxl" 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, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 2 Paul Varner (RETIRED) gentoo-dev 2013-07-29 19:07:51 UTC
I can add openrc as a runtime dependency for gentoolkit.  However, I don't have a system with systemd configured so I don't know if having openrc installed would cause any other issues.
Comment 3 Dale Lukas Peterson 2013-07-30 01:16:25 UTC
I am running systemd and am getting the exact same error. It first occured after running emerge --depclean removed openrc and friends.
Comment 4 Brian Dolbec (RETIRED) gentoo-dev 2013-07-30 02:57:17 UTC
Can you try the python version of revdep-rebuild please.  See if it gets the same error.  It is included with recent versions of gentoolkit, it is named revdep-rebuild.py and is in /usr/bin/.

The python version can use some slight tweaking.  It occasionally misses a file or two compared to the bash version.
Comment 5 ak47wj 2013-07-30 03:15:47 UTC
I've tried revdep-rebuild.py. There is no problem.
Comment 6 David 2013-07-30 08:34:00 UTC
The python version looks good for me. But we have the same issue for sys-devel/gcc-config and sys-devel/binutils-config. For me we have 3 solutions to fix that issue for all packages.

1) Add OpenRC as RDEPEND for app-portage/gentoolkit, devel/gcc-config, sys-devel/binutils-config and maybe others packages that use it. (Not optimal for systemd user).
2) Create a new package that provides shared functions and remove it from OpenRC. (Probably a long work but I think this is the best way)
3) Make a patch for packages that use functions from /etc/init.d/functions.sh and embedded those functions in (I can propose a patch for revdep-rebuild.sh)
Comment 7 Alexander Tsoy 2013-07-30 08:46:58 UTC
(In reply to David from comment #6)

This was already discussed. I think we should wait until bug 373219 will be fixed.

https://bugs.gentoo.org/show_bug.cgi?id=373219#c61
Comment 8 David 2013-07-30 08:58:20 UTC
(In reply to Alexander Tsoy from comment #7)

You are right, I had not seen this bug report before opening this one.
Comment 9 Paul Varner (RETIRED) gentoo-dev 2013-07-30 15:06:14 UTC
For anyone affected by this, the revdep-rebuild.py script does not require functions.sh.  

However, the python replacement is not completely functional.  If you have a multilib system, it can miss breakage due to it thinking a 32 bit library with the same name satisfies a 64 bit library with the same name.
Comment 10 Pacho Ramos gentoo-dev 2013-07-31 21:43:06 UTC
We need to get the dep added in RDEPEND for this packages until functions.sh is splitted, otherwise people will get openrc depcleaned
Comment 11 SpanKY gentoo-dev 2013-11-30 20:56:15 UTC

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