Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

apt pinning for deb-multimedia does not work

13 views
Skip to first unread message

Roland Hieber

unread,
Jun 18, 2013, 12:30:04 PM6/18/13
to
Hi,

I want to pin the libav* packages from deb-multimedia so they get a
lower priority than the libav packages in the default Debian repos.

My sources.list looks like this:

$ cat /etc/apt/sources.list /etc/apt/sources.list.d/*list
# deb [arch=amd64,i386] http://debian.tu-bs.de/debian/ wheezy main
contrib non-free

deb [arch=amd64,i386] http://debian.tu-bs.de/debian/ wheezy main contrib
non-free
deb-src http://debian.tu-bs.de/debian/ wheezy main contrib non-free

deb [arch=amd64,i386] http://security.debian.org/ wheezy/updates main
contrib non-free
deb-src http://security.debian.org/ wheezy/updates main contrib non-free

deb [arch=amd64,i386] http://ftp5.gwdg.de/pub/linux/debian/debian/
wheezy-proposed-updates main contrib non-free
deb-src http://ftp5.gwdg.de/pub/linux/debian/debian/
wheezy-proposed-updates main contrib non-free
deb
http://debian-multimedia.informatik.uni-erlangen.de/debian-multimedia
testing main
deb-src
http://debian-multimedia.informatik.uni-erlangen.de/debian-multimedia
testing main


My preferences look like this:

$ cat /etc/apt/preferences.d/*.pref
Package: libavdevice53
Pin: release o=Unofficial Multimedia Packages
Pin-Priority: 250

(/etc/apt/preferences is empty and "Unofficial Multimedia Packages" is
what
http://debian-multimedia.informatik.uni-erlangen.de/debian-multimedia/dists/testing/Release
says for the Origin: header)


But nevertheless, apt still assigns a prio of 500:

$ apt-cache policy libavdevice53
libavdevice53:
Installed: 6:9.3-1
Candidate: 7:0.10.3-dmo1
Package pin: 7:0.10.3-dmo1
Version table:
7:0.10.3-dmo1 250
500
http://debian-multimedia.informatik.uni-erlangen.de/debian-multimedia/
testing/main amd64 Packages
*** 6:9.3-1 250
100 /var/lib/dpkg/status
6:0.8.6-1 250
500 http://debian.tu-bs.de/debian/ wheezy/main amd64 Packages


However, if I change the pinning to Package: *, everything works as
expected (for all packages of course, but I don't need that :P)

Is this a PEBCAK, or is this a bug in apt?

More info:

$ apt-cache policy apt
apt:
Installed: 0.9.7.9
Candidate: 0.9.7.9
Version table:
*** 0.9.7.9 0
500 http://debian.tu-bs.de/debian/ wheezy/main amd64 Packages
100 /var/lib/dpkg/status

$ apt-config dump
APT "";
APT::Architecture "amd64";
APT::Build-Essential "";
APT::Build-Essential:: "build-essential";
APT::Install-Recommends "1";
APT::Install-Suggests "0";
APT::Authentication "";
APT::Authentication::TrustCDROM "true";
APT::NeverAutoRemove "";
APT::NeverAutoRemove:: "^firmware-linux.*";
APT::NeverAutoRemove:: "^linux-firmware$";
APT::NeverAutoRemove:: "^linux-image.*";
APT::NeverAutoRemove:: "^kfreebsd-image.*";
APT::NeverAutoRemove:: "^linux-restricted-modules.*";
APT::NeverAutoRemove:: "^linux-ubuntu-modules-.*";
APT::NeverAutoRemove:: "^gnumach$";
APT::NeverAutoRemove:: "^gnumach-image.*";
APT::Never-MarkAuto-Sections "";
APT::Never-MarkAuto-Sections:: "metapackages";
APT::Never-MarkAuto-Sections:: "restricted/metapackages";
APT::Never-MarkAuto-Sections:: "universe/metapackages";
APT::Never-MarkAuto-Sections:: "multiverse/metapackages";
APT::Never-MarkAuto-Sections:: "oldlibs";
APT::Never-MarkAuto-Sections:: "restricted/oldlibs";
APT::Never-MarkAuto-Sections:: "universe/oldlibs";
APT::Never-MarkAuto-Sections:: "multiverse/oldlibs";
APT::Architectures "";
APT::Architectures:: "amd64";
APT::Architectures:: "i386";
APT::Compressor "";
APT::Compressor::. "";
APT::Compressor::.::Name ".";
APT::Compressor::.::Extension "";
APT::Compressor::.::Binary "";
APT::Compressor::.::Cost "1";
APT::Compressor::gzip "";
APT::Compressor::gzip::Name "gzip";
APT::Compressor::gzip::Extension ".gz";
APT::Compressor::gzip::Binary "gzip";
APT::Compressor::gzip::Cost "2";
APT::Compressor::gzip::CompressArg "";
APT::Compressor::gzip::CompressArg:: "-9n";
APT::Compressor::gzip::UncompressArg "";
APT::Compressor::gzip::UncompressArg:: "-d";
APT::Compressor::bzip2 "";
APT::Compressor::bzip2::Name "bzip2";
APT::Compressor::bzip2::Extension ".bz2";
APT::Compressor::bzip2::Binary "bzip2";
APT::Compressor::bzip2::Cost "3";
APT::Compressor::bzip2::CompressArg "";
APT::Compressor::bzip2::CompressArg:: "-9";
APT::Compressor::bzip2::UncompressArg "";
APT::Compressor::bzip2::UncompressArg:: "-d";
APT::Compressor::xz "";
APT::Compressor::xz::Name "xz";
APT::Compressor::xz::Extension ".xz";
APT::Compressor::xz::Binary "xz";
APT::Compressor::xz::Cost "4";
APT::Compressor::xz::CompressArg "";
APT::Compressor::xz::CompressArg:: "-6";
APT::Compressor::xz::UncompressArg "";
APT::Compressor::xz::UncompressArg:: "-d";
APT::Compressor::lzma "";
APT::Compressor::lzma::Name "lzma";
APT::Compressor::lzma::Extension ".lzma";
APT::Compressor::lzma::Binary "xz";
APT::Compressor::lzma::Cost "5";
APT::Compressor::lzma::CompressArg "";
APT::Compressor::lzma::CompressArg:: "--format=lzma";
APT::Compressor::lzma::CompressArg:: "-9";
APT::Compressor::lzma::UncompressArg "";
APT::Compressor::lzma::UncompressArg:: "--format=lzma";
APT::Compressor::lzma::UncompressArg:: "-d";
APT::Compressor::::Name "";
APT::Compressor::::Extension ".";
APT::Compressor::::Binary "";
APT::Compressor::::Cost "100";
APT::Compressor::::CompressArg "";
APT::Compressor::::CompressArg:: "-9";
APT::Compressor::::UncompressArg "";
APT::Compressor::::UncompressArg:: "-d";
Dir "/";
Dir::State "var/lib/apt/";
Dir::State::lists "lists/";
Dir::State::cdroms "cdroms.list";
Dir::State::mirrors "mirrors/";
Dir::State::extended_states "extended_states";
Dir::State::status "/var/lib/dpkg/status";
Dir::Cache "var/cache/apt/";
Dir::Cache::archives "archives/";
Dir::Cache::srcpkgcache "srcpkgcache.bin";
Dir::Cache::pkgcache "pkgcache.bin";
Dir::Etc "etc/apt/";
Dir::Etc::sourcelist "sources.list";
Dir::Etc::sourceparts "sources.list.d";
Dir::Etc::vendorlist "vendors.list";
Dir::Etc::vendorparts "vendors.list.d";
Dir::Etc::main "apt.conf";
Dir::Etc::netrc "auth.conf";
Dir::Etc::parts "apt.conf.d";
Dir::Etc::preferences "preferences";
Dir::Etc::preferencesparts "preferences.d";
Dir::Etc::trusted "trusted.gpg";
Dir::Etc::trustedparts "trusted.gpg.d";
Dir::Bin "";
Dir::Bin::methods "/usr/lib/apt/methods";
Dir::Bin::solvers "";
Dir::Bin::solvers:: "/usr/lib/apt/solvers";
Dir::Bin::dpkg "/usr/bin/dpkg";
Dir::Bin::bzip2 "/bin/bzip2";
Dir::Bin::xz "/usr/bin/xz";
Dir::Media "";
Dir::Media::MountPath "/media/apt";
Dir::Log "var/log/apt";
Dir::Log::Terminal "term.log";
Dir::Log::History "history.log";
Dir::Ignore-Files-Silently "";
Dir::Ignore-Files-Silently:: "~$";
Dir::Ignore-Files-Silently:: "\.disabled$";
Dir::Ignore-Files-Silently:: "\.bak$";
Dir::Ignore-Files-Silently:: "\.dpkg-[a-z]+$";
Dir::Ignore-Files-Silently:: "\.save$";
Dir::Ignore-Files-Silently:: "\.orig$";
Acquire "";
Acquire::cdrom "";
Acquire::cdrom::mount "/media/cdrom/";
Acquire::Languages "";
Acquire::Languages:: "en_US";
Acquire::Languages:: "en";
Acquire::Languages:: "none";
Unattended-Upgrade "";
Unattended-Upgrade::Origins-Pattern "";
Unattended-Upgrade::Origins-Pattern::
"origin=Debian,archive=stable,label=Debian-Security";
DPkg "";
DPkg::Pre-Install-Pkgs "";
DPkg::Pre-Install-Pkgs:: "/usr/sbin/dpkg-preconfigure --apt || true";
CommandLine "";
CommandLine::AsString "apt-config dump";

--
Roland Hieber
Stratum 0 e.V., Braunschweig, Germany, Earth
https://stratum0.org/


--
To UNSUBSCRIBE, email to debian-us...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org
Archive: http://lists.debian.org/51C08425...@rohieb.name

Andrei POPESCU

unread,
Jun 20, 2013, 1:20:02 PM6/20/13
to
On Ma, 18 iun 13, 18:00:37, Roland Hieber wrote:
> Hi,
>
> I want to pin the libav* packages from deb-multimedia so they get a
> lower priority than the libav packages in the default Debian repos.
>
> My sources.list looks like this:
>
> $ cat /etc/apt/sources.list /etc/apt/sources.list.d/*list
> # deb [arch=amd64,i386] http://debian.tu-bs.de/debian/ wheezy main
> contrib non-free
>
> deb [arch=amd64,i386] http://debian.tu-bs.de/debian/ wheezy main contrib

Side note: you don't need to add the architecture to sources.list, apt
will automatically use all architectures configured with dpkg.

>
> My preferences look like this:
>
> $ cat /etc/apt/preferences.d/*.pref
> Package: libavdevice53
> Pin: release o=Unofficial Multimedia Packages
> Pin-Priority: 250
>
> (/etc/apt/preferences is empty and "Unofficial Multimedia Packages" is
> what
> http://debian-multimedia.informatik.uni-erlangen.de/debian-multimedia/dists/testing/Release
> says for the Origin: header)

Looks good to me.

> But nevertheless, apt still assigns a prio of 500:
>
> $ apt-cache policy libavdevice53
> libavdevice53:
> Installed: 6:9.3-1
> Candidate: 7:0.10.3-dmo1
> Package pin: 7:0.10.3-dmo1
> Version table:
> 7:0.10.3-dmo1 250
> 500
> http://debian-multimedia.informatik.uni-erlangen.de/debian-multimedia/
> testing/main amd64 Packages
> *** 6:9.3-1 250
> 100 /var/lib/dpkg/status
> 6:0.8.6-1 250
> 500 http://debian.tu-bs.de/debian/ wheezy/main amd64 Packages
>
>
> However, if I change the pinning to Package: *, everything works as
> expected (for all packages of course, but I don't need that :P)
>
> Is this a PEBCAK, or is this a bug in apt?

It's certainly strange. Are you sure there's no typo in the file (i.e.
you copy-pasted and not copied the contents to the e-mail)? Could you
please also attach the output of:

apt-cache policy
apt-cache policy libavdevice53:amd64
apt-cache policy libavdevice53:i386

Which one is your main architecture (dpkg --print-architecture)?

Kind regards,
Andrei
--
http://wiki.debian.org/FAQsFromDebianUser
Offtopic discussions among Debian users and developers:
http://lists.alioth.debian.org/mailman/listinfo/d-community-offtopic
signature.asc

Slavko

unread,
Jun 20, 2013, 2:40:01 PM6/20/13
to
Hi,

Dňa 20.06.2013 19:13 Andrei POPESCU wrote / napísal(a):
> On Ma, 18 iun 13, 18:00:37, Roland Hieber wrote:
>> My preferences look like this:
>>
>> $ cat /etc/apt/preferences.d/*.pref
>> Package: libavdevice53
>> Pin: release o=Unofficial Multimedia Packages
>> Pin-Priority: 250
>>

I was bothering with the release too, but without success. Finally this
works for me (for all deb-multimedia packages):

Package: *
Pin: origin *.deb-multimedia.org
Pin-Priority: 200

regards

--
Slavko
http://slavino.sk

signature.asc

Andrei POPESCU

unread,
Jun 21, 2013, 9:10:04 AM6/21/13
to
On Jo, 20 iun 13, 20:13:06, Andrei POPESCU wrote:
> On Ma, 18 iun 13, 18:00:37, Roland Hieber wrote:
>
> > But nevertheless, apt still assigns a prio of 500:

Actually it doesn't, 500 is the priority of the source, the package
itself has 250 (the number behind the version).

> > $ apt-cache policy libavdevice53
> > libavdevice53:
> > Installed: 6:9.3-1
> > Candidate: 7:0.10.3-dmo1
> > Package pin: 7:0.10.3-dmo1
> > Version table:
> > 7:0.10.3-dmo1 250
> > 500
> > http://debian-multimedia.informatik.uni-erlangen.de/debian-multimedia/
> > testing/main amd64 Packages
> > *** 6:9.3-1 250
> > 100 /var/lib/dpkg/status
> > 6:0.8.6-1 250
> > 500 http://debian.tu-bs.de/debian/ wheezy/main amd64 Packages
> >
> >
> > However, if I change the pinning to Package: *, everything works as
> > expected (for all packages of course, but I don't need that :P)
> >
> > Is this a PEBCAK, or is this a bug in apt?

I think we didn't understand priorities correctly. Let's see again what
the fine manual (apt_preferences(5)) says:

How APT Interprets Priorities
Priorities (P) assigned in the APT preferences file must be
positive or negative integers. They are interpreted as follows
(roughly speaking):

[...]

500 <= P < 990
causes a version to be installed unless there is a version
available belonging to the target release or the installed
version is more recent

As per above output you have 6:9.3-1 installed, which is more recent
than 6:0.8.6-1. Because of this apt wants to jump directly to the higher
version from dmo (apt will not downgrade unless the priority is higher
than 1000). Does this make sense?

Solution: uninstall 6:9.3-1 and apt will then prefer the Debian version.
signature.asc

Roland Hieber

unread,
Jun 25, 2013, 8:10:02 PM6/25/13
to
On 21.06.2013 15:04, Andrei POPESCU wrote:
> I think we didn't understand priorities correctly. Let's see again what
> the fine manual (apt_preferences(5)) says:
>
> […]
> As per above output you have 6:9.3-1 installed, which is more recent
> than 6:0.8.6-1. Because of this apt wants to jump directly to the higher
> version from dmo (apt will not downgrade unless the priority is higher
> than 1000). Does this make sense?

Oh yes, that was the crux of the matter. The apt-cache policy output is
a bit confusing in my opinion (sooo many numbers…), and the man page
does not say anything about how to interpret it… Anyways, thanks for the
hint, the following pinning works as expected:

Package: *
Pin: release o=Unofficial Multimedia Packages
Pin-Priority: 450

Package: libav*
Pin: release o=Unofficial Multimedia Packages
Pin-Priority: -1


Cheers,
Roland


--
To UNSUBSCRIBE, email to debian-us...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org
Archive: http://lists.debian.org/kqda5u$gnc$1...@ger.gmane.org
0 new messages