Allow pinning based on individual PPA repository

Bug #270817 reported by David Fraser
34
This bug affects 4 people
Affects Status Importance Assigned to Milestone
Launchpad itself
Fix Released
High
Celso Providelo
apt (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

I want to fetch a particular set of packages from a PPA, but not all (the current example is getting a new version of update-manager from Michael Vogt's repository at https://launchpad.net/~mvo/+archive - I don't want to also drag in new experimental versions of apt that this doesn't require).

So I tried setting up an apt preferences file as follows:
{{{
Package: update-manager
Pin: release o=LP-PPA-mvo
Pin-Priority: 600

Package: *
Pin: release o=LP-PPA-mvo
Pin-Priority: 0
}}}

This seems to be because although the main release file (http://ppa.launchpad.net/mvo/ubuntu/dists/hardy/Release) for the repository lists its origin as `LP-PPA-mvo`, the release file for the component (http://ppa.launchpad.net/mvo/ubuntu/dists/hardy/main/binary-i386/Release) lists its origin as `Ubuntu`

Ways of fixing this to me would include:

1) Fix the component to reflect the origin LP-PPA-mvo (simplest, but involves reliance on the upstream repository)
2) Add the ability to set options for individual repositories in the sources lists (it seems crazy that you can't label stuff client side for selection)

A workaround is to use Pin: origin ppa.launchpad.net, but this then applies to all PPAs and means you have to explicitly list all the packages you want to fetch.

Anders Kaseorg (andersk)
Changed in soyuz:
status: New → Confirmed
Changed in apt:
status: New → Invalid
Revision history for this message
Celso Providelo (cprov) wrote :

Thanks for reporting this inconsistency.

Changed in soyuz:
assignee: nobody → cprov
importance: Undecided → High
milestone: none → pending
status: Confirmed → Triaged
Revision history for this message
Lionel Dricot (ploum-deactivatedaccount) wrote :

I think my problem is a similar one.

We use at work an apt-proxy that cache the official repository but also all the needed PPA.

For example, we use the bzr ppa and thus we are having sources.list like that :

#The official ubuntu repository
deb http://local:9999/ubuntu intrepid main restricted universe multiverse
#up to date bzr
deb http://local:9999/bzr intrepid main

Unfortunatly, it means there's nearly no way to install the up-to-date bzr from the PPA ! There's no apt-pinning that seems to work. The only way is to force the version number for *every* package and dependancy.

Celso Providelo (cprov)
Changed in soyuz:
milestone: pending → 2.2.1
Celso Providelo (cprov)
Changed in soyuz:
status: Triaged → In Progress
Revision history for this message
Celso Providelo (cprov) wrote :

RF 7513

Changed in soyuz:
status: In Progress → Fix Committed
Celso Providelo (cprov)
Changed in soyuz:
status: Fix Committed → Fix Released
Revision history for this message
David Fraser (davidf) wrote :

Yay, tested and working - setting Pin: release o=LP-PPA-mvo works now

Revision history for this message
David Fraser (davidf) wrote :

Note that the change to the Origin will only be updated when a new package is released, so this will still be a problem on PPAs that haven't been updated since the fix was released

Revision history for this message
Celso Providelo (cprov) wrote :

That's right, David, good point.

Also bear in mind that when we finish multiple-ppas per user (bug #158570) there will be a small change in the 'Origin' value, it will include the proposed PPA name.

We will warn users appropriately when it's time and thanks for testing this feature.

Revision history for this message
Alan Franzoni (alanfranz) wrote :

I have got a similar issue with pinning with amd64 intrepid kde3 repos.

http://ppa.launchpad.net/kb9vqf/

This is the sources.list.d file:

deb http://ppa.launchpad.net/kb9vqf/ubuntu intrepid main
deb-src http://ppa.launchpad.net/kb9vqf/ubuntu intrepid main

Both the main Release file and the component Release file both list correctly LP-PPA-kb9vqf as its origin:

http://ppa.launchpad.net/kb9vqf/ubuntu/dists/intrepid/Release
http://ppa.launchpad.net/kb9vqf/ubuntu/dists/intrepid/main/binary-amd64/Release

But if I make a pin like that:

Package: *
Pin: release o=LP-PPA-kb9vqf
Pin-Priority: -20

My system version: (ubuntu 64bit intrepid)
remedios /etc/apt/sources.list.d # dpkg -l dpkg apt
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name Version Description
+++-==============-==============-============================================
ii apt 0.7.14ubuntu6 Advanced front-end for dpkg
ii dpkg 1.14.20ubuntu6 Debian package management system

Revision history for this message
Alan Franzoni (alanfranz) wrote :

Sorry, I ate the most importante sentence away.

I wanted to say: if I make a pin like that, apt still tries to update some deb packages I already have in my system if it finds them in the ppa, (e.g. emerald, libemerald, some kde libs.)

Revision history for this message
Alan Franzoni (alanfranz) wrote :

Sorry, please disregard my two latest comments. There seems to have been a pinning conflict which led such files to have too an high priority.

Everything works as expected.

Revision history for this message
Fr3ddie (fr3ddie) wrote :

Hi,
I'm using Hardy, and having the same problem till now: is the fix released for Hardy *too*?
Thanks,

Revision history for this message
Celso Providelo (cprov) wrote :

Hi 'Freddie',

It was fixed server-side, each PPA has a unique Origin: field, including the named ones. I don't think of anything that should be changed in previous series.

Can you please send an email to launchpad-users ML describing the problem your are experiencing in details (sources_list you use and your apt/preferences contents) ?

Thanks.

Revision history for this message
Fr3ddie (fr3ddie) wrote :

Hi 'Celso',

which is the list address? Can't find it.
Thank you

Revision history for this message
Celso Providelo (cprov) wrote : Re: [Bug 270817] Re: Allow pinning based on individual PPA repository

On Thu, Jul 2, 2009 at 11:36 AM, Fr3ddie<email address hidden> wrote:
> Hi 'Celso',
>
> which is the list address? Can't find it.

Become a member of https://edge.launchpad.net/~launchpad-users

--
Celso Providelo <email address hidden>
IRC: cprov, Jabber: <email address hidden>, Skype: cprovidelo
1024D/681B6469 C858 2652 1A6E F6A6 037B B3F7 9FF2 583E 681B 6469

Revision history for this message
Julian Edwards (julian-edwards) wrote :

For anyone reading this in the future, the package name in the preferences file must be specified in full, you can't use wildcards it seems. (Thanks to Fr3ddie for the feedback)

Revision history for this message
David Fraser (davidf) wrote :

----- "Julian Edwards" <email address hidden> wrote:

> For anyone reading this in the future, the package name in the
> preferences file must be specified in full, you can't use wildcards
> it
> seems. (Thanks to Fr3ddie for the feedback)

You can specify "Package: *" though...

Revision history for this message
Fr3ddie (fr3ddie) wrote :

> You can specify "Package: *" though...

This is why I opened a new bug, but no answer unitl now...

References:
https://bugs.launchpad.net/ubuntu/+source/apt/+bug/399474

Revision history for this message
Julian Andres Klode (juliank) wrote :

To the submitter: Pin-Priority: 0 does not exists. Only pins larger than 0 or less than 0 are correct.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.