zypper is magic
A number of experiments suggest that it may be feasible to run zypper from an openSUSE 'live' media against a 'foreign' RPM based OS installation (eg. CentOS) and then 'zypper dup' to openSUSE
Thanks to satsolver, openSUSE's heavy use of pkgconfig(), and our sometimes 'excessive' recommends, zypper always seems able to suggest a viable upgrade solution, replacing the foreign CentOS/RHEL packages with appropriate openSUSE ones
Of course, this wouldn't be a hackweek project if it 'just worked' - There are a number of rough edges that need serious effort before this idea is 'usable'
- dracut - making sure mkinitd gets rebuilt to replace the 'foreign' dracut with our own
- config files in different locations - a potential use case for Machinery?
- different package names - is satsolver really smart enough to figure out how to upgrade packages with different names?
- testing testing testing - this may work in the lab with very basic installations, does it really work in practice?
- not just RPM's? - could we get zypper/libzypp/satsolver to understand .debs enough to know how to replace them?
This project is part of:
Hack Week 11
Often when we test maintenance updates or when ...