12

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?

root@server01:~# 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
Braiam
  • 35,991
vfclists
  • 7,531
  • 14
  • 53
  • 79
  • I would prefer to freeze it then pin it. I only pin things that I do not want installed at all, like systemd related dependencies, or dependencies installing firmware in VMs. To froze a package echo "subversion hold" | dpkg --set-selections – Rui F Ribeiro Nov 15 '15 at 14:07
  • I have given a more detailed answer below as that was the eventual solution, but have left the answer as it is because it is technically correct. The related question to the solution is here - https://unix.stackexchange.com/questions/242101/what-is-the-proper-syntax-for-pinning-a-debian-package-to-a-repository-and-a-ver – vfclists Jun 03 '17 at 10:19

2 Answers2

18

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.

Thomas Dickey
  • 76,765
  • See my answer for the eventual solution to the problem. It was necessary to specify the full name of the repo for the required version. I haven't unmarked the answer as it is correct with reference to the question. – vfclists Jun 03 '17 at 10:18
5

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
vfclists
  • 7,531
  • 14
  • 53
  • 79
  • In case this helps someone: I went back to last Ubuntu LTS using deb http://de.archive.ubuntu.com/ubuntu/ bionic universe and Package: openjfx Pin: release a=bionic Pin-Priority: 1001 – JPT Nov 19 '18 at 14:36