Gnarly little bug https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=969261 forced us to roll back the packages for cyrus.
Open http://snapshot.debian.org and under Binary search, look for your package. In our case cyrus-imapd
.
We are presented with a list of all binary versions http://snapshot.debian.org/binary/cyrus-imapd/.
Find the right one, 3.2.2-1 in our example:
Click the /pool/main/c/cyrus-imapd
link (http://snapshot.debian.org/archive/debian/20200729T085837Z/pool/main/c/cyrus-imapd/).
Use the obtained link but only the part to the timestamp and create a new source for packages:
# vim /etc/apt/sources.list.d/snapshot.list
deb http://snapshot.debian.org/archive/debian/20200729T085837Z buster-backports main
Pin the packages, so the system does not update them:
root@g:/etc/apt/preferences.d
# cat cyrus.pref
Package: cyrus-admin
Pin: version 3.2.2-1~bpo10+1
Pin-Priority: 1001
Package: cyrus-clients
Pin: version 3.2.2-1~bpo10+1
Pin-Priority: 1001
Package: cyrus-common
Pin: version 3.2.2-1~bpo10+1
Pin-Priority: 1001
Package: cyrus-imapd
Pin: version 3.2.2-1~bpo10+1
Pin-Priority: 1001
Package: libcyrus-imap-perl
Pin: version 3.2.2-1~bpo10+1
Pin-Priority: 1001
# vim: set ts=4 sw=0 et cc=80:
Update the package list, ignoring the “valid until” parameter:
# apt-get -o Acquire::Check-Valid-Until=false update
Review the policy:
# apt-cache policy cyrus-imapd
cyrus-imapd:
Installed: 3.2.3-1~bpo10+1
Candidate: 3.2.3-1~bpo10+1
Version table:
*** 3.2.3-1~bpo10+1 500
500 http://ftp.si.debian.org/debian buster-backports/main amd64 Packages
100 /var/lib/dpkg/status
3.2.2-1~bpo10+1 500
500 http://snapshot.debian.org/archive/debian/20200729T085837Z buster-backports/main amd64 Packages
3.0.8-6+deb10u4 500
500 http://ftp.si.debian.org/debian buster/main amd64 Packages
3.0.8-6+deb10u3 500
500 http://security.debian.org/debian-security buster/updates/main amd64 Packages
2.5.10-3+deb9u2 500
500 http://ftp.si.debian.org/debian stretch/main amd64 Packages
500 http://security.debian.org/debian-security stretch/updates/main amd64 Packages
It is highly adviseable to use --dry-run
, to see what will be done. With the same swithc, you can also see if any other package is dependent on the one you want to downgrade. The line you are looking for is:
0 upgraded, 0 newly installed, 5 downgraded, 0 to remove and 4 not upgraded.
# apt-get install cyrus-imapd=3.2.2-1~bpo10+1 cyrus-common=3.2.2-1~bpo10+1 cyrus-admin=3.2.2-1~bpo10+1 cyrus-clients=3.2.2-1~bpo10+1 libcyrus-imap-perl=3.2.2-1~bpo10+1 --dry-run
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
cyrus-caldav cyrus-doc cyrus-murder cyrus-nntpd cyrus-pop3d cyrus-replication
The following packages will be DOWNGRADED:
cyrus-admin cyrus-clients cyrus-common cyrus-imapd libcyrus-imap-perl
0 upgraded, 0 newly installed, 5 downgraded, 0 to remove and 4 not upgraded.
Inst cyrus-imapd [3.2.3-1~bpo10+1] (3.2.2-1~bpo10+1 Debian Backports:buster-backports [amd64]) []
Inst cyrus-clients [3.2.3-1~bpo10+1] (3.2.2-1~bpo10+1 Debian Backports:buster-backports [amd64]) []
Inst cyrus-admin [3.2.3-1~bpo10+1] (3.2.2-1~bpo10+1 Debian Backports:buster-backports [amd64]) []
Inst libcyrus-imap-perl [3.2.3-1~bpo10+1] (3.2.2-1~bpo10+1 Debian Backports:buster-backports [amd64]) []
Inst cyrus-common [3.2.3-1~bpo10+1] (3.2.2-1~bpo10+1 Debian Backports:buster-backports [amd64])
Conf cyrus-imapd (3.2.2-1~bpo10+1 Debian Backports:buster-backports [amd64])
Conf cyrus-clients (3.2.2-1~bpo10+1 Debian Backports:buster-backports [amd64])
Conf cyrus-admin (3.2.2-1~bpo10+1 Debian Backports:buster-backports [amd64])
Conf libcyrus-imap-perl (3.2.2-1~bpo10+1 Debian Backports:buster-backports [amd64])
Conf cyrus-common (3.2.2-1~bpo10+1 Debian Backports:buster-backports [amd64])
Install the older packages:
# apt-get install cyrus-imapd=3.2.2-1~bpo10+1 cyrus-common=3.2.2-1~bpo10+1 cyrus-admin=3.2.2-1~bpo10+1 cyrus-clients=3.2.2-1~bpo10+1 libcyrus-imap-perl=3.2.2-1~bpo10+1
Review the policy again:
# apt-cache policy cyrus-imapd
cyrus-imapd:
Installed: 3.2.2-1~bpo10+1
Candidate: 3.2.2-1~bpo10+1
Version table:
3.2.3-1~bpo10+1 500
500 http://ftp.si.debian.org/debian buster-backports/main amd64 Packages
*** 3.2.2-1~bpo10+1 1001
500 http://snapshot.debian.org/archive/debian/20200729T085837Z buster-backports/main amd64 Packages
100 /var/lib/dpkg/status
3.0.8-6+deb10u4 500
500 http://ftp.si.debian.org/debian buster/main amd64 Packages
3.0.8-6+deb10u3 500
500 http://security.debian.org/debian-security buster/updates/main amd64 Packages
2.5.10-3+deb9u2 500
500 http://ftp.si.debian.org/debian stretch/main amd64 Packages
500 http://security.debian.org/debian-security stretch/updates/main amd64 Packages