Using pinning, you can select which packages come from maverick, and automatically get their dependencies, and keep them up-to-date through your package manager. https://help.ubuntu.com/community/PinningHowto
You would be much better off exploring apt pinning, see man
apt_preferences
.
So lets assume you're on Oneiric and you want to get those packages
from Precise.
If you read the man you'll see that I copy/pasted the relevant
sections and just modified the release name
/etc/apt/preferences
Package: libccid
Pin: release n=precise
Pin-Priority: 990
Package: libpcsclite*
Pin: release n=precise
Pin-Priority: 990
Package: libusb*
Pin: release n=precise
Pin-Priority: 990
Package: opensc
Pin: release n=precise
Pin-Priority: 990
Package: pcscd
Pin: release n=precise
Pin-Priority: 990
Explanation: Uninstall or do not install any Ubuntu-originated
Explanation: package versions other than those in the oneiric release
Package: *
Pin: release n=oneiric
Pin-Priority: 900
Package: *
Pin: release o=Ubuntu
Pin-Priority: -10
Then, I copied my /etc/apt/sources.list
to
/etc/apt/sources.list.d/precise.list
and replaced all occurrences of
oneiric with precise. Then ran apt-get update
and finally apt-get
upgrade
.
# apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be upgraded:
libpcsclite1 libusb-0.1-4 libusb-1.0-0 libusbmuxd1
4 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 86.0 kB of archives.
After this operation, 88.1 kB disk space will be freed.
Do you want to continue [Y/n]? y
Do you want to continue [Y/n]? y
Get:1 http://us.archive.ubuntu.com/ubuntu/ precise/main libusb-0.1-4 amd64 2:0.1.12-20 [17.6 kB]
Get:2 http://us.archive.ubuntu.com/ubuntu/ precise/main libusb-1.0-0 amd64 2:1.0.9~rc3-2 [30.9 kB]
Get:3 http://us.archive.ubuntu.com/ubuntu/ precise/main libpcsclite1 amd64 1.7.4-2ubuntu1 [23.5 kB]
Get:4 http://us.archive.ubuntu.com/ubuntu/ precise/main libusbmuxd1 amd64 1.0.7-2 [14.1 kB]
Fetched 86.0 kB in 0s (124 kB/s)
For some reason, pcscd and opensc didn't get installed, probably
because it wasn't installed to begin with so there was nothing to
upgrade, no big deal, I can install exactly that version using precise
as the reference like this.
$ apt-get install opensc pcscd -t precise
Take note of the use of -t, packagename/precise
would also work.
and there are the packages you want, from the latest release, and
only those packages, they will also be updated automatically. If you don't want them anymore, just delete the entries from
/etc/apt/preferences
and the next time you run apt-get upgrade
they'll be removed. Should you remove the entire prefs file be sure to
delete that precise.list sources file as well our your system will try
to update to the latest set of packages. Also if you decide to
dist-upgrade later, you'll need to remove the entire prefs file and it
would probably be a good idea to remove the other sources.list less
the upgrade will find, thanks to the higher priority, that there are
no packages to update.
Apt pinning isn't that hard, you just need to dig in a little and
experiment. All the verbs for n=
etc are found by examining
apt-cache policy
.
This is why seasoned admins rant and rave about apt vs yum. You can
concisely update services and keep them up-to-date in a clean,
deterministic, and maintainable manner.
No more compiling packages either.
I strongly suggest you read the entire man page and get comfortable
with the concept and read other guides on apt pinning before
continuing with this proposal. Good luck and have fun!
https://help.ubuntu.com/community/PinningHowto