https://bugzilla.novell.com/show_bug.cgi?id=883565
https://bugzilla.novell.com/show_bug.cgi?id=883565#c20
--- Comment #20 from Andrey Borzenkov
For openSUSE 13.1 I have to use
%if 0%{?suse_version} <= 1310 # # Older versions like oS 13.1 do not distinguish between # network.target and network-online.target # for f in src/core/service.c src/insserv-generator/insserv-generator.c do sed -ri '/"network",.*SPECIAL_NETWORK_ONLINE_TARGET,/{ s/SPECIAL_NETWORK_ONLINE_TARGET/SPECIAL_NETWORK_TARGET/}' $f done %endif
to make it work
?? That is what we have right now. And it is broken. I think I understand the problem. In 13.1 network@<if>.service is not part of transaction. It is started explicitly by /etc/init,d/network via "systemctl start network@<if>". This means we just replaced one race condition with another one. If job for network@<if> is queued *before* network-online.target, it works. But if network-online@target happens to be finished before, we lose. Note that upstream commit 58e027023b47b32e42cf93dd4a629b869ee1ef25 adds explicit After=network.target to network-online.target. This should fix it - it ensures that network-online.target is started only after /etc/init.d/network is finished, which means all jobs for network@if are submitted. I added backport of this patch to my repo, which is rebuilding right now. Could you test if it works for you? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.