Selective upgrading of packages
Selective upgrading of packages
Posted Jul 16, 2012 16:46 UTC (Mon) by epa (subscriber, #39769)Parent article: Left by Rawhide
I believe apt and dpkg offer something like this where you can run Debian stable and pick certain packages from unstable?
Posted Jul 16, 2012 17:01 UTC (Mon)
by drag (guest, #31333)
[Link] (8 responses)
But in terms of 'stable' using apt-pinning to pull in packages from Unstable or testing is not useful. The problem you run into is that the way Debian does dependencies is that when they upgrade some lower-level package they re-compile everything then have the new packages depend on the new lower-level package. This is probably not necessary as long as the developers of the low level packages are not huge dicks about breaking ABIs, but it does avoid the need for Debian to care when libraries don't bother to stay compatible with themselves.
The effect of this is that when you pull in packages from Unstable you will be forced to upgrade huge swaths of your OS.
If you want to mix and match packages the best approach I found is to use backports.debian.org and/or backwards port the packages yourself using deb-src files. Despite what the Gentoo folks may say Debian does make handling/building/install source-based packages fairly easy. Using that approaches I have always been successful.
Although I expect that forcing dpkg to install and ignoring dependency tracking will probably work fairly well in many cases.
Posted Jul 16, 2012 17:26 UTC (Mon)
by Cyberax (✭ supporter ✭, #52523)
[Link] (3 responses)
And actually using the Unstable distribution in Debian is much less scary than running Rawhide.
Posted Jul 16, 2012 18:11 UTC (Mon)
by drag (guest, #31333)
[Link] (2 responses)
Posted Jul 16, 2012 21:20 UTC (Mon)
by awesomeman (guest, #85116)
[Link] (1 responses)
Posted Jul 16, 2012 22:54 UTC (Mon)
by drag (guest, #31333)
[Link]
I use Debian Unstable and Fedora on my desktops.To me they seem roughly equivalent in terms of 'rawness' and goals even though they take different approaches.
To find a equivelant for Rawhide you'd have to look at mixing Debian Unstable with Experimental.
Posted Jul 16, 2012 20:55 UTC (Mon)
by epa (subscriber, #39769)
[Link]
Posted Jul 16, 2012 20:58 UTC (Mon)
by foom (subscriber, #14868)
[Link] (1 responses)
It's possible that the interdependence of desktop packages might be greater and make it infeasible to usefully do for a non-server package without upgrading almost the entire OS, I haven't really tried that.
Posted Jul 16, 2012 23:04 UTC (Mon)
by drag (guest, #31333)
[Link]
If the package doesn't want lots of dependencies then I'll pull down straight from Unstable. If it's something that lots of other packages depend on I usually won't do it and will source code compile.
This is usually how it goes for me when I install Debian stable and find out the software I want to run wants newer versions of something-or-other then Debian provides. In ranking from preferable to not:
1. Check backports.debian.org
Posted Jul 17, 2012 10:57 UTC (Tue)
by pkern (subscriber, #32883)
[Link]
That's pretty uncommon, especially now that we have symbol files at least for C libraries. The "recompile everything" normally only happens when the ABI is broken, which causes the binary package name to change. As we're pretty anal about ABIs it's not uncommon that we point upstream to breakage. It is true, however, that some library say that if you compile against it, you need at least that same version of the library to use it. That's one way one can take without symbol files. This means that you do not need to manually check for ABI additions. But we don't do mass rebuilds for those new versions, it's just that packages happen to link against them when they are built and then inherit those dependencies.
Posted Jul 16, 2012 17:26 UTC (Mon)
by dwmw2 (subscriber, #2063)
[Link] (3 responses)
Note that this doesn't always work. Some GNOME projects are deliberately shipping with broken dependencies so the Rawhide packages aren't marked as requiring new libraries even though they do.
Posted Jul 17, 2012 13:05 UTC (Tue)
by Yenya (subscriber, #52846)
[Link] (2 responses)
So as a side note, the whole mirroring of gigabytes of rawhide is pretty useless even for testing, because rawhide, from the tester's point of view, is already outdated.
Posted Jul 17, 2012 20:54 UTC (Tue)
by nim-nim (subscriber, #34454)
[Link]
Though the infra price should be paid in useful bug reports
Posted Jul 18, 2012 6:21 UTC (Wed)
by michich (guest, #17902)
[Link]
By your reasoning you'd have to conclude that testing of anything is always useless, because the developer could respond with "I already fixed the bug in my local git tree" or "I already thought about this bug and have a fix planned in my head". The fix propagation delay can simply never reach zero.
Selective upgrading of packages
Selective upgrading of packages
Selective upgrading of packages
Selective upgrading of packages
Selective upgrading of packages
Selective upgrading of packages
Selective upgrading of packages
Selective upgrading of packages
2. See if something can be pulled from testing without pulling in a lot of dependencies.
3. Use apt-source and related items to compile packages.
4. upgrade to testing or unstable.
Selective upgrading of packages
The problem you run into is that the way Debian does dependencies is that when they upgrade some lower-level package they re-compile everything then have the new packages depend on the new lower-level package. This is probably not necessary as long as the developers of the low level packages are not huge dicks about breaking ABIs, but it does avoid the need for Debian to care when libraries don't bother to stay compatible with themselves.
You can use yum to upgrade specific binary packages from Rawhide. For example yum --releasever=rawhide update openconnect should pull in the specific package and any of its dependencies. And if its list of dependencies comprises the whole world including glibc, you get to say 'no' and rebuild from source instead.
Selective upgrading of packages
Selective upgrading of packages
Selective upgrading of packages
Selective upgrading of packages