[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#814843: Origin pins for single packages don't work



Control: severity -1 wishlist
Control: retitle -1 show package-specific pin on sources

(Not a bug, just UI)

On Mon, Feb 15, 2016 at 12:46:30PM -0800, Russ Allbery wrote:
> Package: apt
> Version: 1.2.3
> Severity: normal
> 
> I have the following files in /etc/apt/preferences.d:
> 
> ==> google-base.pref <==
> Package: *
> Pin: origin dl.google.com
> Pin-Priority: 1
> 
> ==> google-chrome.pref <==
> Package: google-chrome-stable
> Pin: origin dl.google.com
> Pin-Priority: 100
> 
> The goal is to assign a low priority to all packages from dl.google.com
> except for google-chrome-stable, which gets a somewhat higher priority
> that allows automatic updates.
> 
> But this doesn't actually work:
> 
> google-chrome-stable:
>   Installed: 48.0.2564.109-1
>   Candidate: 48.0.2564.109-1
>   Version table:
>  *** 48.0.2564.109-1 100

This shows the pin matching a Package: google-chrome-stable entry.

>           1 http://dl.google.com/linux/chrome/deb stable/main amd64 Packages

This shows the pin value for that source, that is, Package: * pins.

>         100 /var/lib/dpkg/status

> The general pin works fine, but the specific package pin does not.  If I
> delete the general pin entirely, I get:
> 
> google-chrome-stable:
>   Installed: 48.0.2564.109-1
>   Candidate: 48.0.2564.109-1
>   Version table:
>  *** 48.0.2564.109-1 100
>         500 http://dl.google.com/linux/chrome/deb stable/main amd64 Packages
>         100 /var/lib/dpkg/status
> 
> showing that the google-chrome.pref file appears to just be ignored
> completely.  The same continues to be true even if I change it to be a
> version pin, as in:

No, you still get 100, as shown next to the version number.

Consider
 Package: *
 Pin: origin dl.google.com
 Pin-Priority: 1

 Package: google-chrome-stable
 Pin: origin dl.google.com
 Pin-Priority: 111

The output is:

google-chrome-stable:
  Installed: 48.0.2564.103-1
  Candidate: 48.0.2564.109-1
  Version table:
     48.0.2564.109-1 111
          1 http://dl.google.com/linux/chrome/deb stable/main amd64 Packages

Meaning that the version was pinned at 111, whereas the source usually only
has 1.

Maybe it would make sense to show that 
  http://dl.google.com/linux/chrome/deb stable/main amd64 Packages
is effectively 111 here, but we do not store that information, we only
store one version -> pin assocation, so it fails for multiple ones. So
I don't think we can change that.

But I'll leave it open for now, maybe I get a better idea.

-- 
Julian Andres Klode  - Debian Developer, Ubuntu Member

See http://wiki.debian.org/JulianAndresKlode and http://jak-linux.org/.

When replying, only quote what is necessary, and write each reply
directly below the part(s) it pertains to (`inline'). Thank you.


Reply to: