On 2016-01-21, Tim Sattarov wrote: > Не оно ? > > zless /usr/share/doc/apt/NEWS.Debian.gz > > apt (1.1~exp9) experimental; urgency=medium > > A new algorithm for pinning has been implemented, it now assigns a > pin priority to a version instead of assigning a pin to a package. > > This might break existing corner cases of pinning, if they use multiple > pins involving the same package name or patterns matching the same > package name, but should overall lead to pinning that actually works > as intended and documented.
У меня вопрос - разве ранее было не так? Как можно привязыать пин к пакету безотносительно версии? В документации apt_preferences(5): The Effect of APT Preferences The specific form assigns a priority (a "Pin-Priority") to one or more specified packages with a specified version or version range. The general form assigns a priority to all of the package versions in a given distribution (that is, to all the versions of packages that are listed in a certain Release file) or to all of the package versions coming from a particular Internet site, as identified by the site's fully qualified domain name. Разница между старой и новой - о изменении умалчивает: $ MANWIDTH=78 man apt_preferences >old $ MANWIDTH=78 man ./apt_preferences.5.gz >new $ diff -u old new --- old 2016-01-21 21:52:41.860006641 +0200 +++ new 2016-01-21 21:52:52.920136753 +0200 @@ -74,12 +74,12 @@ like the Debian backports archive since squeeze-backports. priority 500 - to the versions that are not installed and do not belong to the - target release. + to the versions that do not belong to the target release. priority 990 - to the versions that are not installed and belong to the target - release. + to the versions that belong to the target release. + The highest of those priorities whose description matches the version + is assigned to the version. If the target release has not been specified then APT simply assigns priority 100 to all installed package versions and priority 500 to @@ -194,6 +194,11 @@ Pin: release a=stable, v=8 Pin-Priority: 500 + The effect of the comma operator is similar to an "and" in logic: All + conditions must be satisfied for the pin to match. There is one + exception: For any type of condition (such as two "a" conditions), + only the last such condition is checked. + Regular expressions and glob(7) syntax APT also supports pinning by glob(7) expressions, and regular expressions surrounded by slashes. For example, the following example @@ -203,7 +208,7 @@ slashes). Package: gnome* /kde/ - Pin: release n=experimental + Pin: release a=experimental Pin-Priority: 500 The rule for those expressions is that they can occur anywhere where @@ -251,11 +256,15 @@ P < 0 prevents the version from being installed - If any specific-form records match an available package version then - the first such record determines the priority of the package version. - Failing that, if any general-form records match an available package - version then the first such record determines the priority of the - package version. + P = 0 + has undefined behaviour, do not use it. + + The first specific-form record matching an available package version + determines the priority of the package version. Failing that, the + priority of the package is defined as the maximum of all priorities + defined by generic-form records matching the version. Records defined + using patterns in the Pin field other than "*" are treated like + specific-form records. For example, suppose the APT preferences file contains the three records presented earlier: @@ -518,4 +527,4 @@ 1. APT bug page http://bugs.debian.org/src:apt -APT 1.0.10.2 09 June 2012 APT_PREFERENCES(5) +APT 1.1.10 15 August 2015 APT_PREFERENCES(5) -- http://defun.work/