Am Donnerstag, 20. November 2014, 11:07:05 schrieb David Prévot: > Hi, Hi David, > Le 20/11/2014 07:00, Martin Steigerwald a écrit : > > Am Mittwoch, 19. November 2014, 17:17:34 schrieb David Prévot: > >> A proper APT pinning is IMHO highly preferable. It could be a three > >> lines file like: > >> > >> $ cat /etc/apt/preferences.d/testing > >> Package: * > >> Pin: release a=testing > >> Pin-Priority: 150 > > > > This is no proper pinning for machines that use wheezy-backports package > > cause it will upgrade all wheezy-backports packages to jessie > > That’s an incorrect statement (any priority 100 <= P < 500 would do), > please have a better look at the apt_preferences(5) man page before > spreading false information. Feel free to actually test it, and look at > the “apt-cache policy $package“ output to get what is going on (it may > help debugging in case something unexpected exist in your system). I highly dislike your tone. Before assuming I spread false information, how about first investigation what is happening on my system? But I also agree that my "This is no proper" may have offended you as well – as I boldy claimed the truth myself there. So lets see what I get on my system here and how this fits with the apt_preferences manpage in *my* point of view and interpretation: With your described pinning it will upgrade *ALL* wheezy-backport packages to teating. Here is proof: mondschein:/etc/apt> cat preferences Package: * Pin: release a=testing Pin-Priority: 150 mondschein:/etc/apt> LANG=C apt-get dist-upgrade Reading package lists... Done Building dependency tree Reading state information... Done Calculating upgrade... Done The following NEW packages will be installed: init-system-helpers libaudit0 libcryptsetup4 libsystemd-daemon0 libsystemd-id128-0 libsystemd-journal0 libsystemd-login0 php-symfony-class-loader php-symfony-event-dispatcher The following packages have been kept back: open-vm-tools openntpd The following packages will be upgraded: btrfs-tools fonts-font-awesome fonts-wqy-microhei initramfs-tools libjs-chosen libjs-dojo-core libjs-dojo-dijit libjs-dojo-dojox libjs-jcrop libjs-jquery-minicolors libjs-jquery-timepicker libjs-jquery-ui libjs-pdf libjs-twitter-bootstrap open-vm-tools-dkms owncloud-doc pdf.js-common php-assetic php-doctrine-annotations php-doctrine-cache php-doctrine-collections php-doctrine-common php-doctrine-dbal php-doctrine-inflector php-doctrine-lexer php-getid3 php-guzzle php-opencloud php-opencloud-doc php-patchwork-utf8 php-pimple php-sabre-dav php-sabre-vobject php-seclib php-symfony-classloader php-symfony-console php-symfony-eventdispatcher php-symfony-process php-symfony-routing 39 upgraded, 9 newly installed, 0 to remove and 2 not upgraded. Need to get 0 B/21.9 MB of archives. After this operation, 3114 kB disk space will be freed. Do you want to continue [Y/n]? n Abort. It will update *all* wheezy-backports packages. For owncloud its even desirable, but for the following two I don´t want it at this time: mondschein:/etc/apt#1> LANG=C apt-cache policy btrfs-tools btrfs-tools: Installed: 3.14.1-1~bpo70+1 Candidate: 3.17-1 Version table: 3.17-1 0 150 http://ftp.de.debian.org/debian/ jessie/main i386 Packages *** 3.14.1-1~bpo70+1 0 100 http://ftp.de.debian.org/debian/ wheezy-backports/main i386 Packages 100 /var/lib/dpkg/status 0.19+20120328-7.1 0 500 http://ftp.de.debian.org/debian/ wheezy/main i386 Packages mondschein:/etc/apt> apt-cache policy initramfs-tools initramfs-tools: Installiert: 0.115~bpo70+1 Installationskandidat: 0.116 Versionstabelle: 0.116 0 150 http://ftp.de.debian.org/debian/ jessie/main i386 Packages *** 0.115~bpo70+1 0 100 http://ftp.de.debian.org/debian/ wheezy-backports/main i386 Packages 100 /var/lib/dpkg/status 0.109.1 0 500 http://ftp.de.debian.org/debian/ wheezy/main i386 Packages So with that pinning it clearly updgrades these two wheezy-backports packages to testing as well. And I think its perfectly in line with the manpage of apt_preferences as well (highlists by me): APT then applies the following rules, listed in order of precedence, to determine which version of a package to install. o Never downgrade unless the priority of an available version exceeds 1000. ("Downgrading" is installing a less recent version of a package in place of a more recent version. Note that none of APT's default priorities exceeds 1000; such high priorities can only be set in the preferences file. Note also that downgrading a package can be risky.) ===> o Install the highest priority version. o If two or more versions have the same priority, install the most recent one (that is, the one with the higher version number). o If two or more versions have the same priority and version number but either the packages differ in some of their metadata or the --reinstall option is given, install the uninstalled one. ===> In a typical situation, the installed version of a package ===> (priority 100) is not as recent as one of the versions available ===> from the sources listed in the sources.list(5) file (priority 500 ===> or 990). Then the package will be upgraded when apt-get install ===> some-package or apt-get upgrade is executed. So it will install the highest priority version. And 100 is not as high as 500 so it will always install the new one from the default release. And well 150 is higher than the 100 wheezy-backports gets as default: 100 http://ftp.de.debian.org/debian/ wheezy-backports/non-free i386 Packa ges release v=,o=Debian Backports,a=wheezy-backports,n=wheezy- backports,l=Debian Backports,c=non-free origin ftp.de.debian.org So it will upgrade all wheezy-backports packages to testing, which from what I gather from the manpage is absolutely perfectly in line with the documentation. And with spinning wheezy-backports above 150 I get: mondschein:/etc/apt> cat preferences Package: * Pin: release a=testing Pin-Priority: 150 Package: * Pin: release a=wheezy-backports Pin-Priority: 200 mondschein:/etc/apt> LANG=C apt-get dist-upgrade Reading package lists... Done Building dependency tree Reading state information... Done Calculating upgrade... Done The following NEW packages will be installed: libaudit0 libcryptsetup4 libpam-systemd libsystemd-daemon0 libsystemd-id128-0 libsystemd-journal0 libsystemd-login0 systemd 0 upgraded, 8 newly installed, 0 to remove and 0 not upgraded. Need to get 0 B/1765 kB of archives. After this operation, 4573 kB of additional disk space will be used. Do you want to continue [Y/n]? n Abort. This is what I would expect. No upgrades of wheezy-backports packages except when I ask manually for those. The "I want to install systemd" seems to be broke to me as none of the packages apt-get dist-upgrade mentions is installed on the system, but I report a bug report about this: Bug#770698: apt: wants to install systemd packages on wheezy system with testing at lower priority https://bugs.debian.org/770698 On any account I would find a owncloud backport, even with limited functionality more desirable than a mixture of testing and wheezy on a *server*. Still I also want the security updates and thus I moved owncloud to jessie meanwhile. However even with apt-get install -t testing owncloud it just installed libjs- underscore owncloud packages. I may look into manually upgraded owncloud dependencies to jessie as well now. So while I see that testing above wheezy-backports eases upgrade of owncloud with all its dependencies at least on my system it would also upgrade all other wheezy-backport packages to testing as well which is not what I want. Ciao, -- Martin 'Helios' Steigerwald - http://www.Lichtvoll.de GPG: 03B0 0D6C 0040 0710 4AFA B82F 991B EAAC A599 84C7
Attachment:
signature.asc
Description: This is a digitally signed message part.