I've been around this APT pinning process a couple of times and I still can't get it to do what I want.
Currently I am running Ubuntu Karmic. I have no default release set, so Karmic is defaulting to priority 500. I've added Ubuntu Lucid to my sources and in the preferences file set it's priority to 400.
Now say I want to install the latest Firefox-3.5 from Lucid, as far as I know I have two options.
1: sudo apt-get install firefox-3.5/lucid
This will only pull dependencies from Karmic and will generally fail because some supporting package doesn't have a high enough version in Karmic.
2: sudo apt-get install firefox-3.5 -t lucid
This will pull all required dependencies from Lucid, even those that could have been met from Karmic.
What I want is a third option that uses Karmic where it can and only uses Lucid where it must.
Now of course this can be done by hand by applying option 1 recursively to every unmet dependency, but that quickly gets very tedious.
Is there someway I can manipulate the priorities and options to achieve what I want?