Bug 635323

Summary: systemd and upstart updates fight each other
Product: [Fedora] Fedora Reporter: Michal Jaegermann <michal>
Component: systemdAssignee: Lennart Poettering <lpoetter>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: rawhideCC: lpoetter, metherid, mschmidt, notting, orion, plautrba, robatino, steve
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-10-22 11:04:23 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Michal Jaegermann 2010-09-19 00:20:10 UTC
Description of problem:

A rawhide update from September 16th replaced systemd-sysvinit with upstart-sysvinit.  There is even a rawhide-report note:
- have upstart-sysvinit obsolete systemd-sysvinit, to reset the default

Fair enough as systemd-10-2.fc15 at that time was not exactly working.
Only now with the current rawhide the following happens:

 Resolving Dependencies
--> Running transaction check
---> Package initscripts.x86_64 0:9.21-2.fc15 set to be updated
---> Package systemd-sysvinit.x86_64 0:10-3.fc15 set to be installed
--> Processing Dependency: upstart for package: 1:readahead-1.5.7-1.fc15.x86_64
--> Processing Dependency: upstart = 0.6.5-8.fc15 for package: upstart-sysvinit-0.6.5-8.fc15.x86_64
--> Processing Conflict: upstart-sysvint-0.6.5-8.fc15.x86_64 conflicts systemd-sysvinit
--> Processing Conflict: systemd-sysvinit-10-3.fc15.x86_64 conflicts upstart-sysvinit

and both initscripts-9.21-2.fc15 and systemd-sysvinit-10-3.fc15 are dropped from a transaction.

Yes, I know how to force replacing upstart-sysvinit with systemd-sysvinit but this still leaves "Package readahead-1.5.7-1.fc15.x86_64 requires upstart" as the last one got obsoleted by systemd-sysvinit.

Version-Release number of selected component (if applicable):
systemd-10-3.fc15
upstart-0.6.5-8.fc15

Comment 1 Michal Jaegermann 2010-09-19 00:26:47 UTC
Oh, another effect of obsoleting upstart when it was still in use is that a clean reboot after such operation does not seem to be possible.  OTOH I have no idea if a "conditional obosolete" is even possible.

Comment 2 Bill Nottingham 2010-09-20 16:10:16 UTC
Fixed in 10-4 to obsolete upstart-sysvinit too.

Comment 3 Michal Jaegermann 2010-09-22 20:55:40 UTC
(In reply to comment #2)
> Fixed in 10-4 to obsolete upstart-sysvinit too.

It does not appear work too well:
...
--> Running transaction check
---> Package systemd-sysvinit.x86_64 0:10-4.fc15 set to be installed
--> Processing Conflict: upstart-sysvinit-0.6.5-9.fc15.x86_64 conflicts systemd-sysvinit
--> Processing Conflict: systemd-sysvinit-10-4.fc15.x86_64 conflicts upstart-sysvinit
--> Finished Dependency Resolution
....
Packages skipped because of dependency problems:
    initscripts-9.21-2.fc15.x86_64 from rawhide
    systemd-sysvinit-10-4.fc15.x86_64 from rawhide

Comment 4 Bill Nottingham 2010-09-23 17:26:39 UTC
What are you upgrading from?

Comment 5 Michal Jaegermann 2010-09-23 20:10:29 UTC
(In reply to comment #4)
> What are you upgrading from?

Current rawhide.  Somewhat recently it updated upstart-0.6.5-8.fc15 and upstart-sysvinit-0.6.5.fc15, replacing systemd-sysvinit in the process, and later upstart was updated to 0.6.5-9.fc15.  Yes, I know that I can do systemd updates "by hand" but this is not the point.

As a matter of fact I did force an update to systemd-10-3.fc15, with all related dependencies like systemd-sysvinit and initscripts, but I had to back that out because that version of systemd was plain broken (see bug 630225 which is still ASSIGNED).

Comment 6 Michal Jaegermann 2010-10-01 21:48:05 UTC
I am not sure what an update result is expected here but the current rawhide packages I see the following:

---> Package initscripts.x86_64 0:9.21-3.fc15 set to be updated
---> Package systemd.x86_64 0:10-6.fc15 set to be updated
---> Package systemd-units.x86_64 0:10-6.fc15 set to be updated
---> Package upstart.x86_64 0:0.6.5-11.fc15 set to be updated
---> Package upstart-sysvinit.x86_64 0:0.6.5-11.fc15 set to be updated
--> Processing Conflict: systemd-10-6.fc15.x86_64 conflicts upstart-sysvinit
--> Processing Conflict: upstart-sysvinit-0.6.5-11.fc15.x86_64 conflicts systemd-sysvinit
--> Finished Dependency Resolution
--> Running transaction check
--> Processing Dependency: systemd-units = 10-3.fc15 for package: systemd-10-3.fc15.x86_64
---> Package systemd.x86_64 0:10-6.fc15 set to be updated
--> Processing Dependency: systemd-sysvinit for package: initscripts-9.21-3.fc15.x86_64
--> Processing Dependency: upstart = 0.6.5-9.fc15 for package: upstart-sysvinit-0.6.5-9.fc15.x86_64
---> Package upstart-sysvinit.x86_64 0:0.6.5-11.fc15 set to be updated
--> Finished Dependency Resolution
--> Running transaction check
--> Processing Dependency: systemd-units = 10-3.fc15 for package: systemd-10-3.fc15.x86_64
---> Package systemd-units.x86_64 0:10-6.fc15 set to be updated
--> Processing Dependency: upstart = 0.6.5-9.fc15 for package: upstart-sysvinit-0.6.5-9.fc15.x86_64
---> Package upstart.x86_64 0:0.6.5-11.fc15 set to be updated
--> Finished Dependency Resolution

Packages skipped because of dependency problems:
    initscripts-9.21-3.fc15.x86_64 from rawhide
    systemd-10-6.fc15.x86_64 from rawhide
    systemd-units-10-6.fc15.x86_64 from rawhide
    upstart-0.6.5-11.fc15.x86_64 from rawhide
    upstart-sysvinit-0.6.5-11.fc15.x86_64 from rawhide

Yes, removing upstart-sysvinit and updating the rest does work but this does not happen without an "extra help".  Missing "Obsoletes: upstart-sysvinit"?

After such "hand" operation was performed 'man init' results in:

man: can't resolve /usr/share/man/man8/init.8.gz: No such file or directory
man: can't open /usr/share/man/man8/init.8: No such file or directory

Would not be better to have '.so man1/systemd.1' in such file?

The other catch is that after such update a system does not really properly boot in a default configuration due to a buggy systemd and requires 'init=/sbin/upstart'.

Comment 7 Orion Poplawski 2010-10-12 16:01:55 UTC
From fresh F14 install to rawhide I get:

--> Processing Conflict: systemd-11-1.fc15.x86_64 conflicts upstart-sysvinit
--> Processing Conflict: upstart-sysvinit-0.6.5-11.fc15.x86_64 conflicts systemd-sysvinit
--> Finished Dependency Resolution
Error: systemd conflicts with upstart-sysvinit
Error: upstart-sysvinit conflicts with systemd

Comment 8 Bill Nottingham 2010-10-13 20:02:25 UTC
The current proposed (but not built) solution is that upstart-sysvinit goes away, and upstart can use the systemd implementations of shutdown/reboot/etc.

Comment 9 Petr Lautrbach 2010-10-14 15:42:47 UTC
should be fixed by upstart-0.6.5-12.fc15

Comment 10 Steve Kelem 2011-06-10 21:13:08 UTC
After the upgrade from Fedora 14 to 15, i get:
yum update --skip-broken
Loaded plugins: auto-update-debuginfo, presto, refresh-packagekit
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package upstart.x86_64 0:1.2-2.fc14 will be updated
--> Processing Dependency: upstart = 1.2-2.fc14 for package: upstart-sysvinit-1.2-2.fc14.x86_64
---> Package upstart.x86_64 0:1.2-4.fc15 will be an update
--> Processing Dependency: /etc/rc.d/rc.sysinit for package: upstart-1.2-4.fc15.x86_64
--> Running transaction check
---> Package initscripts-legacy.x86_64 0:9.30-2.fc15 will be installed
---> Package upstart.x86_64 0:1.2-2.fc14 will be updated
--> Processing Dependency: upstart = 1.2-2.fc14 for package: upstart-sysvinit-1.2-2.fc14.x86_64
--> Finished Dependency Resolution

Packages skipped because of dependency problems:
    initscripts-legacy-9.30-2.fc15.x86_64 from fedora
    upstart-1.2-4.fc15.x86_64 from updates