Reply to comment

Grabbing an updated package from a newer Ubuntu distribution

This isn't a very complicated or hard to remember trick, but it's a useful one, and I feel like writing about it. The general principle is simple. I have a package available through apt and synaptic, but it isn't a new enough version. I checked on http://packages.ubuntu.com and the version I want is available in the next upcoming OS release. The plan is to add that new release as an extra package source, grab the new package, then turn it off when we're done.

My example is being done with Dr. Scheme (package drscheme) on a nice Hardy Heron Ubuntu install. The latest version listed in Synaptic is 3.72. That's not compatible with some of the latest and greatest stuff I need scheme for.

Looking online I see that the Intrepid Ibex release has Dr. Scheme at version 4.0, which will certainly do the trick.

So in Synaptic I add a new third-party software source. Start at the Settings Menu > Repositories > Third-Party Software Tab > Add... button. Just type in the line
deb http://us.archive.ubuntu.com/ubuntu/ intrepid universe

Where did this line come from? I looked up in the file /etc/apt/sources.lst where Ubuntu was currently getting system packages from. Then I just changed the word "hardy" to "intrepid," and only used the 'universe' section keyword. I know the package I'm looking for is listed under Universe, so there's no reason to drag any other sections in.

Hit reload, then search for the package again. Now it's marked as upgradeable to 4.0. It will also upgrade it's dependency package: mzscheme.

BE WARNED: if you do this trick with critical, deeply integrated system packages you may end up with a ton of dependency updates that will be pulled out of the newer, yet unreleased, repository. When you have these huge lists be wary, as it may not work correctly with your existing configuration, or the packages may not be fully tweaked and ready for prime time yet.

Anyway, apply the changes, let the packages install, and you have your upgrade. Before you forget, go back to the Repositories screen and disable that source. You don't want to accidentally start upgrading random things out of the new release.

Reply