Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 565920 - sys-fs/zfs <=sys-fs/udev-init-scripts-28 dep block systemd (or no openrc system) coherence with >sys-fs/udev-init-scripts
Summary: sys-fs/zfs <=sys-fs/udev-init-scripts-28 dep block systemd (or no openrc syst...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal major (vote)
Assignee: Richard Yao (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-11-16 10:23 UTC by Ivan Dorna
Modified: 2016-11-22 16:23 UTC (History)
6 users (show)

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


Attachments
a screenshot of the problem. (zfs.JPG,29.58 KB, image/jpeg)
2015-11-16 10:23 UTC, Ivan Dorna
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ivan Dorna 2015-11-16 10:23:20 UTC
Created attachment 417088 [details]
a screenshot of the problem.

the dependencies of sys-fs/zfs with <=sys-fs/udev-init-scripts-28 it's blocking the usage of systemd (or no openrc system) coherence with >sys-fs/udev-init-scripts. the only motivation of this dep it's related to zfs scripts?
it's not possible include they in the sys-fs/zfs package? removing init and openrc deps?

on a recent non openrc system the user have to decide to use or not use zfs package to mainatain world coherence.
Comment 1 Ivan Dorna 2015-11-16 10:28:35 UTC
Portage 2.2.24 (python 2.7.10-final-0, default/linux/amd64/13.0/systemd, gcc-4.9.3, glibc-2.22-r1, 4.2.3-aufs x86_64)
=================================================================
System uname: Linux-4.2.3-aufs-x86_64-Intel-R-_Core-TM-_i3-4170_CPU_@_3.70GHz-with-gentoo-2.2
KiB Mem:    16243192 total,   2158880 free
KiB Swap:    2097148 total,   2097148 free
Timestamp of repository gentoo: Sun, 15 Nov 2015 21:05:01 +0000
sh bash 4.3_p42
ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1
ccache version 3.2.4 [enabled]
app-shells/bash:          4.3_p42::gentoo
dev-lang/perl:            5.22.0::gentoo
dev-lang/python:          2.7.10-r3::gentoo, 3.4.3::gentoo, 3.5.0-r2::gentoo
dev-util/ccache:          3.2.4::gentoo
dev-util/cmake:           3.4.0::gentoo
dev-util/pkgconfig:       0.29::gentoo
sys-apps/baselayout:      2.2::gentoo
sys-apps/openrc:          0.17::gentoo
sys-apps/sandbox:         2.9::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69::gentoo
sys-devel/automake:       1.11.6-r1::gentoo, 1.13.4::gentoo, 1.14.1::gentoo, 1.15::gentoo
sys-devel/binutils:       2.25.1-r1::gentoo
sys-devel/gcc:            4.9.3::gentoo
sys-devel/gcc-config:     1.8::gentoo
sys-devel/libtool:        2.4.6::gentoo
sys-devel/make:           4.1-r1::gentoo
sys-kernel/linux-headers: 4.2::gentoo (virtual/os-headers)
sys-libs/glibc:           2.22-r1::gentoo
Repositories:

gentoo
    location: /ports/portage
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000

dotnet
    location: /var/lib/layman/dotnet
    masters: gentoo
    priority: 50

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=x86-64 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /etc/conf.d /etc/entropy /etc/init.d /usr/share/config/kdm /usr/share/gnupg/qualified.txt /var/bind"
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.6/ext-active/ /etc/php/cgi-php5.6/ext-active/ /etc/php/cli-php5.6/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/skel /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c /lib/modules"
CXXFLAGS="-O2 -march=x86-64 -pipe"
DISTDIR="/ports/distfiles"
EMERGE_DEFAULT_OPTS="--autounmask=y --autounmask-write --quiet --jobs=1 --keep-going --with-bdeps=y"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs ccache compressdebug config-protect-if-modified distlocks fixlafiles merge-sync news parallel-fetch parallel-install sandbox sfperms splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro"
MAKEOPTS="-j4"
PKGDIR="/ports/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="/ports/tmp"
USE="acl acpi aes amd64 berkdb bzip2 cli cracklib crypt cxx dbus dri evdev event eventhandler fortran gdbm gnutls grub hardened iconv inotify ipc ipmi iproute2 ipv6 ithreads jfs kms kvm libevent libnotify live lm_sensors logind lz4 lzma lzo mmx mmxext modules multilib ncurses net45 netlink network nls nptl ntfs openmp pam pcre policykit polkit pulseaudio rar readline reiserfs seccomp session slp smp sse sse2 sse3 sse4 sse4_1 sse4a ssl ssp ssse3 stream sysfs system-sqlite systemd tcpd threads udev udisks unicode urandom usb v4l v4l2 wifi wireless xattr xfs zlib" ABI_X86="64 32" ALSA_CARDS="hda-intel" 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" APACHE2_MPMS="prefork" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="agfa_cl20 casio_qv dimagev dimera3500 kodak_dc120 kodak_dc210 kodak_dc240 kodak_dc3200 kodak_ez200 konica_qm150 panasonic_coolshot panasonic_dc1000 panasonic_dc1580 panasonic_l859" COLLECTD_PLUGINS="aggregation ascent battery bind cgroups conntrack contextswitch cpu cpufreq csv curl curl_json curl_xml dbi df disk dns entropy ethstat exec filecount fscache hddtemp interface ipmi iptables irq libvirt load logfile lvm madwifi match_empty_counter match_hashed match_regex match_timediff match_value mbmon md memcached memory multimeter mysql netlink network nfs nginx notify_email ntpd numa olsrd openvpn ping powerdns processes protocols routeros rrdcached rrdtool sensors serial snmp statsd swap syslog table tail target_notification target_replace target_scale target_set tcpconns ted thermal threshold unixsock uptime users uuid vmem wireless write_graphite write_http" CPU_FLAGS_X86="mmxext tsc pae apic nx x2apic hypervisor mmx sse sse2 sse3 ssse3 sse4 sse4a sse4_1" DRACUT_MODULES="btrfs caps cifs crypt crypt-gpg crypt-loop dmsquash-live iscsi livenet lvm mdraid multipath nbd nfs ssh-client syslog bootchart" 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 ublox ubx" GRUB_PLATFORMS="efi-32 efi-64 pc emu ieee1275 multiboot qemu" INPUT_DEVICES="evdev void" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en" NGINX_MODULES_HTTP="access addition auth_basic auth_pam auth_request autoindex browser cache_purge charset dav dav_ext echo empty_gif fancyindex fastcgi flv geo geoip gunzip gzip headers_more image_filter limit_conn limit_req map memcached metrics mp4 naxsi perl proxy push push_stream random_index realip referer rewrite scgi secure_link slowfs_cache spdy split_clients ssi stub_status sub upload_progress upstream_check upstream_ip_hash userid uwsgi xslt" NGINX_MODULES_MAIL="imap pop3 smtp" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7" QEMU_SOFTMMU_TARGETS="x86_64 arm cris i386 m68k microblaze mips mips64 mips64el mipsel ppc ppc64 ppcemb sh4 sh4eb sparc sparc64" QEMU_USER_TARGETS="alpha arm armeb cris i386 m68k microblaze mips mipsel ppc ppc64 ppc64abi32 sh4 sh4eb sparc sparc32plus sparc64 x86_64" RUBY_TARGETS="ruby20 ruby21" SANE_BACKENDS="abaton agfafocus apple artec artec_eplus48u as6e avision bh canon canon630u canon_dr canon_pp cardscan coolscan coolscan2 coolscan3 dc210 dc240 dc25 dell1600n_net dmc epjitsu epson epson2 fujitsu genesys gt68xx hp hp3500 hp3900 hp4200 hp5400 hp5590 hpljm1005 hpsj5s hs2p ibm kodak kvs1025 leo lexmark ma1509 matsushita microtek microtek2 mustek mustek_pp mustek_usb nec net niash p5 pie pixma plustek plustek_pp qcam ricoh rts8891 s9036 sceptre sharp sm3600 sm3840 snapscan sp15c st400 stv680 tamarack teco1 teco2 teco3 test u12 umax umax1220u umax_pp xerox_mfp pnm" USERLAND="GNU" VIDEO_CARDS="intel amdgpu radeon radeonsi nouveau i915 i965 r100 r200 r300 r600 modesetting fbdev vesa" 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"
USE_PYTHON="2.7"
Unset:  CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 2 Ralf Ramsauer 2015-12-01 16:45:17 UTC
Confirmed, same problem here.
Comment 3 William Hubbs gentoo-dev 2016-02-02 21:21:53 UTC
@ryao:
You should test with ~arch openrc (0.20.4) and use "want dev-settle" in
your zfs init scripts. I think that will take care of this issue.
Comment 4 Jeff Kowalczyk 2016-04-26 21:44:49 UTC
Any movement on this? Can anyone point to ZFS upstream discussions re: requirement to pin to/under a specific udev-init-scripts?

% sudo emerge sys-fs/zfs-kmod zfs -pv
[ebuild  N     ] sys-kernel/spl-0.6.5.4-r1::gentoo  USE="-custom-cflags -debug" 546 KiB
[ebuild  N     ] sys-fs/zfs-kmod-0.6.5.4-r1::gentoo  USE="rootfs -custom-cflags -debug" 2,511 KiB
[ebuild  N     ] sys-fs/zfs-0.6.5.4-r2::gentoo  USE="rootfs -custom-cflags -debug (-kernel-builtin) -static-libs -test-suite" PYTHON_TARGETS="python2_7 python3_5 -python3_3 -python3_4" 63 KiB
[blocks B      ] >=sys-fs/udev-init-scripts-28 (">=sys-fs/udev-init-scripts-28" is blocking sys-fs/zfs-0.6.5.4-r2)

Total: 3 packages (3 new), Size of downloads: 3,118 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-fs/zfs-0.6.5.4-r2:0/0::gentoo, ebuild scheduled for merge) pulled in by
    zfs

  (sys-fs/udev-init-scripts-30:0/0::gentoo, installed) pulled in by
    >=sys-fs/udev-init-scripts-26 required by (sys-fs/udev-229-r2:0/0::gentoo, installed)
Comment 5 Yixun Lan archtester gentoo-dev 2016-11-09 10:21:54 UTC
I'm also a zfs user (CCing fearedbliss) ..

and still I don't understand the root cause, why we have to block >=sys-fs/udev-init-scripts-28, is there any corner case? @ryao 

I found current zfs version (0.6.5.8) works fine with sys-fs/udev-init-scripts-31, and my system is using sys-apps/systemd

can you try to test with openrc? or I will do at later time
Comment 6 Jonathan Vasquez (RETIRED) gentoo-dev 2016-11-10 13:06:53 UTC
Hey Yixun,

I actually forked the gentoo zfs ebuilds in my overlay and removed this udev block a long time ago (maybe back in 0.6.5.4 ebuilds?), I also use systemd and it's fine here. At the time, I remember williamh say that he added the block because of something with openrc. I haven't used openrc in a while so I can't say, but I suppose someone can try WilliamH's recommendation of using ~arch openrc and seeing if it works.

- Jonathan
Comment 7 William Hubbs gentoo-dev 2016-11-10 15:00:47 UTC
Are you sure I added the block? The way I remember this, ryao added it.
I suggested a test to try in comment #3.
Now, you can use stable openrc since the version is newer than the one I
referred to in the comment.
Make sure you are using ~arch udev-init-scripts.

First, test it with zfs as is. If there are no issues, the only thing to
do is remove the block.

If the issue still exists, add "want dev-settle" to the dependencies in
the zfs init scripts.
Comment 8 Richard Yao (RETIRED) gentoo-dev 2016-11-11 01:22:46 UTC
(In reply to William Hubbs from comment #7)
> Are you sure I added the block? The way I remember this, ryao added it.
> I suggested a test to try in comment #3.
> Now, you can use stable openrc since the version is newer than the one I
> referred to in the comment.
> Make sure you are using ~arch udev-init-scripts.
> 
> First, test it with zfs as is. If there are no issues, the only thing to
> do is remove the block.
> 
> If the issue still exists, add "want dev-settle" to the dependencies in
> the zfs init scripts.

I did add it. I am starting testing to fully examine the boot process soon. I'll look at this as part of that. If there is any more interference by what look like attacks on my network connection, it will be delayed.

If you guys are confident that things are fine with William's suggestion, feel free to go ahead and commit the fix before I look at things. I trust your judgement.
Comment 9 Jonathan Vasquez (RETIRED) gentoo-dev 2016-11-11 02:10:11 UTC
Sorry about that William, that's what I mean't to say, that ryao added the block to the zfs scripts!
Comment 10 Ivan Dorna 2016-11-11 08:28:49 UTC
The problem it's seems not related to boot, but only to ebuild deps.

But in the case it's related to boot, 
local USE flags can be added for the boot (-bootable) or root (-rootfs already present) if is the use case with deps on the relative packages, and setting (grub, zpool, zfs params) that permit this feature, on both init systems, (openrc/systemd)

Flux diag.:

do you need net-fs/zfs?
No -> "God in his heaven, allright with the world" 
yes -> applicative use case: default USE including (-rootfs -bootable) -> do you need it at boot?

No (-rootfs -bootable) > "God in his heaven, allright with the world" 
Yes (+rootfs +bootable) > cross dependency check and settings check + advise


What do you think about?

O.T. a serious look to init scripts and systemd units...
Comment 11 Yixun Lan archtester gentoo-dev 2016-11-22 12:44:59 UTC
I've removed the  <=sys-fs/udev-init-scripts-28 restriction, tested both on systemd and openrc, all work fine

btw, I've fixed this only at version 0.6.5.8  ..

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e5053f4714c1fa84c9d18b51d7bb25241d51f560
Comment 12 Ivan Dorna 2016-11-22 16:23:47 UTC
Great!!!!!

Thanks Yixun Lan, and the other guys. Sincerely.

Can you say why it's already present in 9999 version? 
also 9999 works well without it.