Bug#894094: Pin 'release foo' matches foo-proposed in Ubuntu
7130136a49a2c055d19782f84dba6ea2b27c7006 which we developed last week
isn't sufficient (most output elided):
laney at nightingale> lxc launch -e images:ubuntu/bionic/amd64 pinning-test
laney at nightingale> lxc file push <(echo "Package: *\nPin: release bionic\nPin-Priority: 990") pinning-test/etc/apt/preferences.d/default-release
laney at nightingale> lxc file push <(echo "deb http://archive.ubuntu.com/ubuntu bionic-proposed main universe multiverse restricted") pinning-test/etc/apt/sources.list.d/proposed.list
laney at nightingale> lxc exec pinning-test -- apt update
laney at nightingale> lxc exec pinning-test -- apt policy gnome-online-accounts
990 http://archive.ubuntu.com/ubuntu bionic-proposed/main amd64 Packages
990 http://archive.ubuntu.com/ubuntu bionic/main amd64 Packages
We expected that to have 3.72.92-1 as the candidate.
Pin a= works for Ubuntu, but the reason that upstream had avoided that
is that they wanted a syntax which works for suite and codename (i.e.
'unstable' and 'sid'). For Ubuntu codename is always the release name -
'bionic-proposed' has codename 'bionic', so this breaks down.
The implementation isn't fully coherent though, because AFAICS
--pin-package=release=foo only works for suite names, not codenames - we
always generates a=release pins. We just allow both for the default
release, probably partly because this is grabbed from sources.list if
Can someone think of a clever solution? I'm not clever so the only thing
I can come up with off the top of my head is to use distro-info and
generate 'release a=' pins for Ubuntu releases and plain 'release' ones
otherwise, assuming they are Debian.
Iain Lane [ iain at orangesquash.org.uk ]
Debian Developer [ laney at debian.org ]
Ubuntu Developer [ laney at ubuntu.com ]