Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 487080 - sys-apps/systemd - install /etc/init.d/udev as emergency fallback (was: net-libs/gtk-vnc-0.5.3 - sandbox violation in /dev/stderr by /bin/sh /usr/bin/pygtk-codegen-2.0 ...)
Summary: sys-apps/systemd - install /etc/init.d/udev as emergency fallback (was: net-l...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] GNOME (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo systemd Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-10-06 10:05 UTC by Juergen Rose
Modified: 2014-04-03 19:30 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (build.log,341.70 KB, text/plain)
2013-10-06 10:07 UTC, Juergen Rose
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Juergen Rose 2013-10-06 10:05:23 UTC
'emerge gtk-vnc' fails with:
...
make[2]: Entering directory `/var/tmp/portage/net-libs/gtk-vnc-0.5.3/work/gtk-vnc-0.5.3_gtk3/vapi'
/usr/bin/vapigen-0.22                   \
        --library gvnc-1.0              \
        ../src/GVnc-1.0.gir
GVnc-1.0.gir:23.7-23.33: warning: Virtual method `Vnc.Audio.playback_data' conflicts with method of the same name
      <virtual-method name="playback_data">
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
GVnc-1.0.gir:36.7-36.35: warning: Virtual method `Vnc.Audio.playback_start' conflicts with method of the same name
      <virtual-method name="playback_start">
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
GVnc-1.0.gir:49.7-49.33: warning: Virtual method `Vnc.Audio.playback_stop' conflicts with method of the same name
      <virtual-method name="playback_stop">
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
Generation succeeded - 3 warning(s)
/usr/bin/vapigen-0.22                                   \
        --vapidir=.                             \
        --pkg gvnc-1.0                                  \
        --pkg gtk+-3.0                  \
        --library gtk-vnc-2.0   \
        --girdir=../src                 \
        ../src/GtkVnc-2.0.gir
/usr/bin/vapigen-0.22                   \
        --vapidir=.                             \
        --pkg gvnc-1.0                                  \
        --library gvncpulse-1.0                         \
        --girdir=../src                 \
        ../src/GVncPulse-1.0.gir
Generation succeeded - 0 warning(s)
Generation succeeded - 0 warning(s)
make[2]: Leaving directory `/var/tmp/portage/net-libs/gtk-vnc-0.5.3/work/gtk-vnc-0.5.3_gtk3/vapi'
make[2]: Entering directory `/var/tmp/portage/net-libs/gtk-vnc-0.5.3/work/gtk-vnc-0.5.3_gtk3'
make[2]: Nothing to be done for `all-am'.
make[2]: Leaving directory `/var/tmp/portage/net-libs/gtk-vnc-0.5.3/work/gtk-vnc-0.5.3_gtk3'
make[1]: Leaving directory `/var/tmp/portage/net-libs/gtk-vnc-0.5.3/work/gtk-vnc-0.5.3_gtk3'
>>> Source compiled.
 * --------------------------- ACCESS VIOLATION SUMMARY ---------------------------
 * LOG FILE: "/var/log/sandbox/sandbox-22054.log"
 * 
VERSION 1.0
FORMAT: F - Function called
FORMAT: S - Access Status
FORMAT: P - Path as passed to function
FORMAT: A - Absolute Path (not canonical)
FORMAT: R - Canonical Path
FORMAT: C - Command Line

F: open_wr
S: deny
P: /dev/stderr
A: /dev/stderr
R: /dev/stderr
C: /bin/sh /usr/bin/pygtk-codegen-2.0 --prefix gtkvnc --register /usr/share/pygtk/2.0/defs/gdk-types.defs --register /usr/share/pygtk/2.0/defs/gtk-types.defs --override /var/tmp/portage/net-libs/gtk-vnc-0.5.3/work/gtk-vnc-0.5.3/src/vnc.override vnc.defs 

F: open_wr
S: deny
P: /dev/stderr
A: /dev/stderr
R: /dev/stderr
C: /bin/sh /usr/bin/pygtk-codegen-2.0 --prefix gtkvnc --register /usr/share/pygtk/2.0/defs/gdk-types.defs --register /usr/share/pygtk/2.0/defs/gtk-types.defs --override /var/tmp/portage/net-libs/gtk-vnc-0.5.3/work/gtk-vnc-0.5.3/src/vnc.override vnc.defs 
 * --------------------------------------------------------------------------------

>>> Failed to emerge net-libs/gtk-vnc-0.5.3, Log file:





root@caiman:/root(63)# emerge --info =gtk-vnc-0.5.3
Portage 2.2.7 (default/linux/amd64/13.0, gcc-4.7.3, glibc-2.17, 3.10.10-gentoo x86_64)
=================================================================
                        System Settings
=================================================================
System uname: Linux-3.10.10-gentoo-x86_64-AMD_Phenom-tm-_II_X6_1090T_Processor-with-gentoo-2.2
KiB Mem:    16178648 total,   1067708 free
KiB Swap:  100663280 total, 100636756 free
Timestamp of tree: Sun, 06 Oct 2013 02:00:01 +0000
ld GNU ld (GNU Binutils) 2.23.2
app-shells/bash:          4.2_p45
dev-java/java-config:     2.2.0
dev-lang/python:          2.7.5-r2, 3.2.5-r2, 3.3.2-r2
dev-util/cmake:           2.8.11.2
dev-util/pkgconfig:       0.28
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.12.1
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.10.3, 1.11.6, 1.12.6, 1.13.4, 1.14
sys-devel/binutils:       2.23.2
sys-devel/gcc:            4.7.3-r1
sys-devel/gcc-config:     1.8
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r4
sys-kernel/linux-headers: 3.11 (virtual/os-headers)
sys-libs/glibc:           2.17
Repositories: gentoo x11 science sunrise x-portage g-cpan g-octave
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA PUEL Intel-SDP dlj-1.1 skype-eula skype-4.0.0.7-copyright googleearth AdobeFlash-11.x cadsoft Oracle-BCLA-JavaSE MakeMKV-EULA NVIDIA-CUDA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=amdfam10 -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/apache2-php5.5/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cgi-php5.5/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/php/cli-php5.5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=amdfam10 -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 preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j7"
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"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage_caiman"
PORTDIR_OVERLAY="/var/lib/layman/x11 /var/lib/layman/science /var/lib/layman/sunrise /usr/local/portage /var/lib/cpan /var/lib/g-octave"
USE="3dnow 3dnowext 64bit R X Xaw3d a52 aac acl acpi admin afs alsa amd64 ao apache2 apng applet archive armadillo arpack asf aspell atlas audacious audiofile automap automount bash-completion berkdb blas blast bluetooth bluray boost bzip2 cairo cdda cddb cdf cdio cdparanoia cdr cgi chm cli cmake consolekit cracklib crypt css cups curl cxx daap db dbi dbm dbus declarative designer devhelp device-mapper dga dia dirac djvu doc dot dri ds2490 ds9097 ds9097u dts dv dvb dvd dvdr dvi dynamicplugin eds egl elf emacs emboss emf encode epiphany evo examples exif expat extensions extra extras faac faad ffmpeg fftw firefox fits flac fltk fontconfig foomaticdb fortran fortran95 fpm fpx fuse g3dvl gcj gd gdal gdbm gdu gedit geoip geolocation geos gfortran gif gimp git glade glib glpk gml gmp gnome gnome-keyring gnome-print gnuplot gnutls gold gphoto2 gpm grammar graphics graphtft graphviz grass gsl gsm gstreamer gtk gtk3 gudev guile hddtemp hdf hdf5 hdri html http httpd hvm hwdb iconv icq icu id3 id3tag ide imagemagick imap inotify introspection ipod ipv6 irda ithreads jabber jadetex java java6 jbig john jpeg jpeg2k kate kdepim kdrive kerberos keymap kpathsea kvm ladspa lame lapack latex lcms ldap lensfun libffi libkms libnotify libsamplerate live lm_sensors lua lzma lzo mad mail maildir mapnik math matroska media-library mercurial mikmod mkl mmx mmxext mng mod modules mono motif mozilla mp3 mp4 mpeg mpi mplayer mtp mudflap multilib multimedia musepack musicbrainz mysql mysqli nautilus ncurses netcdf netpbm network networking networkmanager nfs nls nntp nptl nsplugin ntfs ntp numpy obex objc ocaml ocr octave odbc ofa ogdi ogg openexr opengl openmp openvg pam pango pcre pda pdf perl plasma plotutils plugins png podcast policykit portaudio posix postgres postscript ppds preview-latex proj projectm projectx pstricks pulseaudio python python-bindings q16 q32 qemu qhull qt3support qt4 quicktime raw readline real reiserfs reports rhythmbox rle romio rpc rrdcgi rrdtool sage samba sasl schroedinger science sdk sdl secure-delete semantic-desktop server session shout sip slang slp smart smbclient smp sms sndfile snmp soap sockets sound soup sox speex spell sql sqlite sse sse2 ssl stlport subtitles subversion sudo suexec svg svm swig systemd szip t1lib tcl tcpd tex tex4ht texmacs tgif theora thesaurus threads thunderbird tidy tiff tk toolbar tools truetype udev udisks unicode usb userlocales utempter v4l vaapi vala valgrind vdpau video virt-network virtualbox visio vorbis vpx wav webdav webdav-serf webkit wmf wxwidgets x264 xa xattr xcb xemacs xetex xext xft xine xml xmlreader xmlrpc xpm xv xvid xvmc yaml youtube zlib zvbi" 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_anon authn_dbd authn_core authn_dbm authn_default authn_file authz_core authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgid dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info lbmethod_byrequests log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif slotmem_shm so socache_shmcb speling status unique_id unixd userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="canon fuji ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CURL_SSL="nss" DRACUT_MODULES="caps lvm mdraid 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 void" KERNEL="linux" LCD_DEVICES="cfontz hd44780 mtxorb ncurses X lcd2usb lcdlinux png usblcd" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="de fr ru" NETBEANS_MODULES="apisupport cnd dlight enterprise ergonomics groovy gsf harness ide identity j2ee java mobility nb php profiler ruby websvccommon xml" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-3" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_2" QEMU_SOFTMMU_TARGETS="arm i386 x86_64" QEMU_USER_TARGETS="arm i386 x86_64" RUBY_TARGETS="ruby19 ruby18" USERLAND="GNU" VIDEO_CARDS="radeon displaylink" 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, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, SYNC, USE_PYTHON





root@caiman:/root(65)# emerge -pqv '=net-libs/gtk-vnc-0.5.3'
[ebuild     U ] net-libs/gtk-vnc-0.5.3 [0.5.2] USE="examples gtk3 introspection pulseaudio python sasl vala" PYTHON_TARGETS="python2_7 -python2_6"
Comment 1 Juergen Rose 2013-10-06 10:07:43 UTC
Created attachment 360210 [details]
build.log
Comment 2 Jeroen Roovers (RETIRED) gentoo-dev 2013-10-06 13:54:41 UTC
echo "note: pygtk-codegen-2.0 is deprecated, use pygobject-codegen-2.0 instead"   > /dev/stderr                                     
echo "note: I will now try to invoke pygobject-codegen-2.0 in the same directory" > /dev/stderr
Comment 3 Doug Goldstein (RETIRED) gentoo-dev 2013-10-08 14:56:46 UTC
(In reply to Jeroen Roovers from comment #2)
> echo "note: pygtk-codegen-2.0 is deprecated, use pygobject-codegen-2.0
> instead"   > /dev/stderr                                     
> echo "note: I will now try to invoke pygobject-codegen-2.0 in the same
> directory" > /dev/stderr

Well unfortunately upstreams aren't going to want to use pygobject-codegen-2.0 directly because that will mean they will lose old GTK+ support so it makes sense this is supported. Likely one of the GNOME eclasses that is used when installing pygtk packages needs to allow this as the file doing this is installed by pygtk.
Comment 4 Doug Goldstein (RETIRED) gentoo-dev 2013-10-08 14:57:44 UTC
(In reply to Juergen Rose from comment #0)
> 'emerge gtk-vnc' fails with:
> ...
> make[2]: Entering directory
> `/var/tmp/portage/net-libs/gtk-vnc-0.5.3/work/gtk-vnc-0.5.3_gtk3/vapi'
> /usr/bin/vapigen-0.22                   \
>         --library gvnc-1.0              \
>         ../src/GVnc-1.0.gir
> GVnc-1.0.gir:23.7-23.33: warning: Virtual method `Vnc.Audio.playback_data'
> conflicts with method of the same name
>       <virtual-method name="playback_data">
>       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
> GVnc-1.0.gir:36.7-36.35: warning: Virtual method `Vnc.Audio.playback_start'
> conflicts with method of the same name
>       <virtual-method name="playback_start">
>       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> GVnc-1.0.gir:49.7-49.33: warning: Virtual method `Vnc.Audio.playback_stop'
> conflicts with method of the same name
>       <virtual-method name="playback_stop">
>       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
> Generation succeeded - 3 warning(s)
> /usr/bin/vapigen-0.22                                   \
>         --vapidir=.                             \
>         --pkg gvnc-1.0                                  \
>         --pkg gtk+-3.0                  \
>         --library gtk-vnc-2.0   \
>         --girdir=../src                 \
>         ../src/GtkVnc-2.0.gir
> /usr/bin/vapigen-0.22                   \
>         --vapidir=.                             \
>         --pkg gvnc-1.0                                  \
>         --library gvncpulse-1.0                         \
>         --girdir=../src                 \
>         ../src/GVncPulse-1.0.gir
> Generation succeeded - 0 warning(s)
> Generation succeeded - 0 warning(s)
> make[2]: Leaving directory
> `/var/tmp/portage/net-libs/gtk-vnc-0.5.3/work/gtk-vnc-0.5.3_gtk3/vapi'
> make[2]: Entering directory
> `/var/tmp/portage/net-libs/gtk-vnc-0.5.3/work/gtk-vnc-0.5.3_gtk3'
> make[2]: Nothing to be done for `all-am'.
> make[2]: Leaving directory
> `/var/tmp/portage/net-libs/gtk-vnc-0.5.3/work/gtk-vnc-0.5.3_gtk3'
> make[1]: Leaving directory
> `/var/tmp/portage/net-libs/gtk-vnc-0.5.3/work/gtk-vnc-0.5.3_gtk3'
> >>> Source compiled.
>  * --------------------------- ACCESS VIOLATION SUMMARY
> ---------------------------
>  * LOG FILE: "/var/log/sandbox/sandbox-22054.log"
>  * 
> VERSION 1.0
> FORMAT: F - Function called
> FORMAT: S - Access Status
> FORMAT: P - Path as passed to function
> FORMAT: A - Absolute Path (not canonical)
> FORMAT: R - Canonical Path
> FORMAT: C - Command Line
> 
> F: open_wr
> S: deny
> P: /dev/stderr
> A: /dev/stderr
> R: /dev/stderr
> C: /bin/sh /usr/bin/pygtk-codegen-2.0 --prefix gtkvnc --register
> /usr/share/pygtk/2.0/defs/gdk-types.defs --register
> /usr/share/pygtk/2.0/defs/gtk-types.defs --override
> /var/tmp/portage/net-libs/gtk-vnc-0.5.3/work/gtk-vnc-0.5.3/src/vnc.override
> vnc.defs 
> 
> F: open_wr
> S: deny
> P: /dev/stderr
> A: /dev/stderr
> R: /dev/stderr
> C: /bin/sh /usr/bin/pygtk-codegen-2.0 --prefix gtkvnc --register
> /usr/share/pygtk/2.0/defs/gdk-types.defs --register
> /usr/share/pygtk/2.0/defs/gtk-types.defs --override
> /var/tmp/portage/net-libs/gtk-vnc-0.5.3/work/gtk-vnc-0.5.3/src/vnc.override
> vnc.defs 
>  *
> -----------------------------------------------------------------------------
> ---
> 
> >>> Failed to emerge net-libs/gtk-vnc-0.5.3, Log file:

Unfortunately this is a bit misleading. This is the summary with the tail end of the GTK+3 build but the access violation likely occurred during the GTK+2 build since that's where PyGTK will be used.
Comment 5 Alexandre Rostovtsev (RETIRED) gentoo-dev 2013-10-08 17:05:31 UTC
IMHO this is a bug in sys-apps/sandbox.

Writing to /dev/stdout and /dev/stderr should be allowed in a sandbox just like writing to /dev/null
Comment 6 SpanKY gentoo-dev 2013-10-12 20:02:20 UTC
post the output of `ls -ld /dev/std*`
Comment 7 Juergen Rose 2013-10-13 08:40:15 UTC
(In reply to SpanKY from comment #6)
> post the output of `ls -ld /dev/std*`

I do not have at caiman "/dev/std*":

root@caiman:/root(37)# ll /dev/std*
/bin/ls: cannot access /dev/std*: No such file or directory ,

probably due the disappearance of /etc/init.d/udev while systemd is still not running.
Comment 8 Juergen Rose 2013-10-13 09:03:04 UTC
After creating the links manually:

root@caiman:/dev(39)# ln -s /proc/self/fd/1 stdout
root@caiman:/dev(40)# ln -s /proc/self/fd/0 stdin
root@caiman:/dev(44)# ln -s /proc/self/fd/2 stderr

I could emerge gtk-vnc.
Comment 9 Alexandre Rostovtsev (RETIRED) gentoo-dev 2013-10-13 15:24:53 UTC
Perhaps systemd should then install /etc/init.d/udev as an emergency fallback for users who updated to systemd but then needed to reboot using upenrc.
Comment 10 Pacho Ramos gentoo-dev 2013-10-13 15:35:52 UTC
(In reply to Alexandre Rostovtsev from comment #9)
> Perhaps systemd should then install /etc/init.d/udev as an emergency
> fallback for users who updated to systemd but then needed to reboot using
> upenrc.

Interesting, it should be the same as provided by udev ebuild I guess, but will let other team members to review
Comment 11 Mike Gilbert gentoo-dev 2013-10-13 15:49:18 UTC
/etc/init.d/udev is provided by udev-init-scripts, which gets pulled in if you enable the openrc use flag on sys-apps/systemd.
Comment 12 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2013-10-13 16:50:36 UTC
Do our profiles enable USE=openrc by default?
Comment 13 Pacho Ramos gentoo-dev 2013-10-13 17:10:41 UTC
Grepping in profiles looks like no :/
Comment 14 Juergen Rose 2013-10-13 17:14:44 UTC
(In reply to Michał Górny from comment #12)
> Do our profiles enable USE=openrc by default?

'emerge -pvD systemd' says also NO:
root@caiman:/root(1)# emerge -pvD systemd

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

Calculating dependencies... done!
[ebuild   R    ] sys-apps/systemd-208-r2:0/1  USE="acl doc filecaps firmware-loader gudev http introspection kmod lzma pam policykit python tcpd xattr -audit -cryptsetup -gcrypt -openrc -qrcode (-selinux) {-test} -vanilla" ABI_X86="(64) -32 (-x32)" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7" 0 kB

And I did not disable openrc in /etc/portage/package.use:

root@caiman:/root(2)# grep systemd /etc/portage/package.use
root@caiman:/root(3)#
Comment 15 Pacho Ramos gentoo-dev 2013-10-13 18:07:30 UTC
Other option would be to have "+openrc" in systemd ebuild itself (I am unsure what openrc does in all the other packages)
Comment 16 Mike Gilbert gentoo-dev 2013-10-13 20:04:03 UTC
If I recall correctly, the main reason I added that openrc use flag was because i didn't like /lib/udev/rules.d/90-network.rules being run on my system.

I realize now that it is pretty harmless, and easily disabled by creating /etc/udev/rules.d/90-network.rules. I think we can just drop the openrc flag and depend on udev-init-scripts unconditionally.
Comment 17 Mike Gilbert gentoo-dev 2013-10-13 20:15:39 UTC
+  13 Oct 2013; Mike Gilbert <floppym@gentoo.org> systemd-208-r2.ebuild,
+  systemd-9999.ebuild:
+  Depend on udev-init-scripts unconditionally, bug 487080.
Comment 18 Andreas Hermann 2013-10-14 16:32:35 UTC
Now systemd hard depends on udev-init-scripts and thus on openrc???
Sorry, i didn't read the comments concerning the bug here, but this can't be the right solution.
Comment 19 Mike Gilbert gentoo-dev 2013-10-14 18:03:13 UTC
Apologies; I didn't realize udev-init-scripts had that runtime dep.

Udev team: Can we drop the RDEPEND="sys-apps/openrc" from udev-init-scripts please?
Comment 20 Mike Gilbert gentoo-dev 2013-10-14 18:13:41 UTC
williamh said to go ahead.

+  14 Oct 2013; Mike Gilbert <floppym@gentoo.org> udev-init-scripts-26.ebuild,
+  udev-init-scripts-9999.ebuild:
+  Drop runtime dependency on openrc, bug 487080.
Comment 21 Francisco J. Vazquez 2013-10-14 19:02:58 UTC
So, for those of us who migrated to systemd and don't plan on using or even installing openrc (and in fact INSTALL_MASK /etc/{init.d,conf.d,runlevels}), is udev-init-scripts useful for... anything? 

I thought /etc/init.d/udev et al. were only called by openrc (and thus don't understand the possibility of having init.d scripts installed without openrc).
Comment 22 Mike Gilbert gentoo-dev 2013-10-14 19:16:47 UTC
(In reply to Francisco Vazquez from comment #21)
> So, for those of us who migrated to systemd and don't plan on using or even
> installing openrc (and in fact INSTALL_MASK /etc/{init.d,conf.d,runlevels}),
> is udev-init-scripts useful for... anything? 

No, it is not useful if you do not have openrc installed or active. However, current Gentoo packaging policy is to install init scripts unconditionally. If you don't like that, please discuss the issue outside of bugzilla.
Comment 23 Francisco J. Vazquez 2013-10-14 20:33:02 UTC
(In reply to Mike Gilbert from comment #22)
> (In reply to Francisco Vazquez from comment #21)
> > So, for those of us who migrated to systemd and don't plan on using or even
> > installing openrc (and in fact INSTALL_MASK /etc/{init.d,conf.d,runlevels}),
> > is udev-init-scripts useful for... anything? 
> 
> No, it is not useful if you do not have openrc installed or active. However,
> current Gentoo packaging policy is to install init scripts unconditionally.
> If you don't like that, please discuss the issue outside of bugzilla.

Oh, I don't mind packages always installing *their* init.d scripts (it makes sense: they should always install .service and init.d files so the user can change the service manager at any time). I simply mask them.

What I don't understand is the logic on *systemd* depending on a package whose main (only?) function is to provide an init.d script... which is ony useful when you *don't* run systemd, but openrc.

Oh well, you're the dev. I'll simply add another ebuild to my ever-increasing overlay to remove the dependency :/
Comment 24 Mike Gilbert gentoo-dev 2013-10-14 20:48:21 UTC
The dependency has to be there to allow people to boot openrc with systemd installed.

The only question is whether to make the dependency conditional or not. *As has been clearly demonstrated in this bug report*, it is very easy for users to screw things up if we make it a conditional dependency via a use flag.

We could mess around with defaults to make it harder to screw up, but I think the unconditional dep is easier and less error-prone. I just don't see any compelling reason to have the use flag.
Comment 25 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2013-10-14 21:07:51 UTC
(In reply to Francisco Vazquez from comment #23)
> (In reply to Mike Gilbert from comment #22)
> > (In reply to Francisco Vazquez from comment #21)
> > > So, for those of us who migrated to systemd and don't plan on using or even
> > > installing openrc (and in fact INSTALL_MASK /etc/{init.d,conf.d,runlevels}),
> > > is udev-init-scripts useful for... anything? 
> > 
> > No, it is not useful if you do not have openrc installed or active. However,
> > current Gentoo packaging policy is to install init scripts unconditionally.
> > If you don't like that, please discuss the issue outside of bugzilla.
> 
> Oh, I don't mind packages always installing *their* init.d scripts (it makes
> sense: they should always install .service and init.d files so the user can
> change the service manager at any time). I simply mask them.
> 
> What I don't understand is the logic on *systemd* depending on a package
> whose main (only?) function is to provide an init.d script... which is ony
> useful when you *don't* run systemd, but openrc.
> 
> Oh well, you're the dev. I'll simply add another ebuild to my
> ever-increasing overlay to remove the dependency :/

You can just use package.provided to force portage to assume the dependency to be satisfied.
Comment 26 Francisco J. Vazquez 2013-10-15 07:27:46 UTC
Ok, I understand the logic now. I sometimes forget systemd is not only a service manager, but also replaces standalone udev. It makes perfect sense to unconditionally install the init.d files that the udev part of systemd needs, even if most people would install systemd to use it also as the service manager.

> You can just use package.provided to force portage to assume 
> the dependency to be satisfied.

I don't like deceiving portage ;). I use .provided just for packages that I install by hand.
Comment 27 Oleh 2013-10-15 11:59:37 UTC
what about packages that unconditionally installing systemd units, even if no traces of systemd exist on system? Examples: rsync, git. Fix this crap, please, and install units only if systemd USE flag enabled. Or provide systemd profile.