fedup for F23 and beyond

[tl;dr: fedup is going away and should be re-implemented by the system packaging tools.] Hey all, F22 is the fifth release we've handled with fedup. A lot has changed since F17, and we've learned some valuable lessons about how upgrades work (and how they fail). We've come to the conclusion that the current design is unsupportable, mostly due to upgrade.img, which turns out to cause more problems than it solves[1]. So! For F23, fedup needs to be redesigned. Here's how it should work: 1) Download packages for the new system 2) Use the systemd Offline Updates[2] facility to install packages This is really simple - simple enough that it should probably be provided by the system packaging tools themselves. As a proof-of-concept, I've implemented it as a DNF plugin, which you can see here[3]: https://github.com/wgwoods/dnf-plugin-fedup This behavior could also be implemented by PackageKit, which would make it easy to write a proper GUI. So that's the plan: drop upgrade.img, move upgrade support into the system packaging tools. Sometimes simpler is better. -w [1] For example, here are three F22 release-blockers, all caused by upgrade.img: https://bugzilla.redhat.com/show_bug.cgi?id=1185604 https://bugzilla.redhat.com/show_bug.cgi?id=1209941 https://bugzilla.redhat.com/show_bug.cgi?id=1207251 That first one is a nasty crash inside systemd, which led to a mailing-list discussion[1a] where Lennart concludes that the double-switchroot thing we're doing with upgrade.img is just not supportable[1b]. And I totally agree. [1a] http://lists.freedesktop.org/archives/systemd-devel/2015-March/029030.html [1b] http://lists.freedesktop.org/archives/systemd-devel/2015-April/031013.html [2] http://www.freedesktop.org/wiki/Software/systemd/SystemUpdates/ [3] It works just fine in F21, if you're feeling brave..