I am trying to install the latest version of subversion on Sid, and because it has a bug I receive a warning and I abort the installation. How do I get to locate the previous version version, install it and pin until the bug is resolved?
<a href="https://getridbug.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="c9bba6a6bd89baacbbbfacbbf9f8">[email protected]</a>:~# apt-get install subversion Reading package lists... Done Building dependency tree Reading state information... Done Suggested packages: db5.3-util subversion-tools The following NEW packages will be installed: subversion 0 upgraded, 1 newly installed, 0 to remove and 205 not upgraded. Need to get 0 B/981 kB of archives. After this operation, 4,844 kB of additional disk space will be used. Retrieving bug reports... Done Parsing Found/Fixed information... Done critical bugs of subversion (-> 1.9.2-2) <Outstanding> b1 - #803725 - subversion: dump-load of a repository modifies verbose log output: M line lost serious bugs of subversion (-> 1.9.2-2) <Outstanding> b2 - #803589 - FTBFS with ruby2.2 (only) Summary: subversion(2 bugs) Are you sure you want to install/upgrade the above packages? [Y/n/?/...] n ********************************************************************** ****** Exiting with an error in order to stop the installation. ****** ********************************************************************** E: Sub-process /usr/sbin/apt-listbugs apt returned an error code (10) E: Failure running script /usr/sbin/apt-listbugs apt
Answers:
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Method 1
You can tell apt-get to install a specific version of a package. For your example:
apt-get install subversion
you would append the version to the package name, e.g.,
apt-get install subversion=1.9.2-1
To find a package version, the Debian wiki page RollbackUpdate shows an example where that information is found in
http://www.debian.org/distrib/packages, i.e.,
https://www.debian.org/distrib/packages#search_packages
or (older versions) via
http://snapshot.debian.org/
http://snapshot.debian.org/package/subversion/
shows
http://snapshot.debian.org/package/subversion/1.9.2-2/
http://snapshot.debian.org/package/subversion/1.9.2-1/
http://snapshot.debian.org/package/subversion/1.9.1-1/
and so forth.
Finally, the Debian page shows (for its example) the change to make to /etc/apt/preferences to pin the package.
Method 2
This is the eventual solution to the problem. The important thing is that the URL for the repository in the sources.list should be the full one containing the repo for the required package, in this case http://snapshot.debian.org/archive/debian/20150924T154447Z/. There is a good write up at http://mindref.blogspot.co.uk/2012/02/apt-revert-upgrade.html and also explained in a related question – What is the proper syntax for pinning a debian package to a repository and a version?
/etc/apt/sources.list.d/snapshots.list
# snapshot.debian.org # added for subversion 1.9.2 subversion bug #803725 deb http://snapshot.debian.org/archive/debian/20150924T154447Z/ unstable main
/etc/apt/preferences.d/subversion
Package: subversion libsvn1 Pin: version 1.9.2-1 Pin-Priority: 700
apt-cache policy subversion
subversion:
Installed: 1.9.2-1
Candidate: 1.9.2-1
Package pin: 1.9.2-1
Version table:
1.9.2-3+b1 700
500 http://http.debian.net/debian/ unstable/main amd64 Packages
*** 1.9.2-1 700
500 http://snapshot.debian.org/archive/debian/20150924T154447Z/ unstable/main amd64 Packages
100 /var/lib/dpkg/status
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0