On 5 August 2017 at 00:04, Alf Gaida wrote:
| Package: libgsl23
| Version: 2.4+dfsg-3
| Severity: grave
| Tags: patch
| 
| Dear Maintainer, 
| 
| like the subject says libgsl lacks some breaks and replaces, that breaks the 
upgrade path:
| 
| % LANG=C sudo apt -f install                                                  
                    :(
| Reading package lists... Done
| Building dependency tree       
| Reading state information... Done
| Correcting dependencies... Done
| The following additional packages will be installed:
|   libgsl23
| Suggested packages:
|   gsl-ref-psdoc | gsl-doc-pdf | gsl-doc-info | gsl-ref-html
| The following NEW packages will be installed:
|   libgsl23
| 0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded.
| 28 not fully installed or removed.
| Need to get 0 B/914 kB of archives.
| After this operation, 2.887 kB of additional disk space will be used.
| Do you want to continue? [Y/n] y
| (Reading database ... 537126 files and directories currently installed.)
| Preparing to unpack .../libgsl23_2.4+dfsg-3_amd64.deb ...
| Unpacking libgsl23:amd64 (2.4+dfsg-3) ...
| dpkg: error processing archive 
/var/cache/apt/archives/libgsl23_2.4+dfsg-3_amd64.deb (--unpack):
|  trying to overwrite '/usr/lib/x86_64-linux-gnu/libgslcblas.so.0.0.0', which 
is also in package libgsl2:amd64 2.4+dfsg-2
| dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
| Errors were encountered while processing:
|  /var/cache/apt/archives/libgsl23_2.4+dfsg-3_amd64.deb
| E: Sub-process /usr/bin/dpkg returned an error code (1)
| 
| 
| The following should fix that
| 
| diff --git a/debian/control b/debian/control
| index 5e12819..486169d 100644
| --- a/debian/control
| +++ b/debian/control
| @@ -12,8 +12,9 @@ Architecture: any
|  Multi-Arch: same
|  Pre-Depends: ${misc:Pre-Depends}
|  Depends: ${shlibs:Depends}, ${misc:Depends}
| +Breaks: libgsl2
|  Conflicts: gsl, libgsl0, libgsl0ldbl
| -Replaces: gsl, libgsl0 (<= 1.9-4), libgsl0ldbl (<= 1.16+dfsg-4)
| +Replaces: gsl, libgsl0 (<= 1.9-4), libgsl0ldbl (<= 1.16+dfsg-4), libgsl2
|  Suggests: gsl-ref-psdoc | gsl-doc-pdf | gsl-doc-info | gsl-ref-html
|  Description: GNU Scientific Library (GSL) -- library package 
|   The GNU Scientific Library (GSL) is a collection of routines for
| 

Thanks for that.

One possibly alternative would be to put libgslcblas.so.0.0.0  into its own
libgslcblas depend on it as this library has no soname.  But it is probably
easier to go with 'Breaks: ' as you suggest.

The thing that is unpleasant is that we probably need to keep adding the old
soname libraries to debian/control as this progresses.

Dirk
 
| Cheers Alf
| 
| -- System Information:
| Debian Release: buster/sid
|   APT prefers buildd-unstable
|   APT policy: (500, 'buildd-unstable'), (500, 'unstable'), (500, 'testing'), 
(500, 'stable'), (500, 'oldstable'), (1, 'experimental')
| Architecture: amd64 (x86_64)
| Foreign Architectures: i386
| 
| Kernel: Linux 4.12.4-towo.2-siduction-amd64 (SMP w/8 CPU cores; PREEMPT)
| Locale: LANG=de_DE.utf8, LC_CTYPE=de_DE.utf8 (charmap=UTF-8), LANGUAGE= 
(charmap=UTF-8)
| Shell: /bin/sh linked to /bin/dash
| Init: systemd (via /run/systemd/system)
| 
| Versions of packages libgsl23 depends on:
| ii  libc6  2.24-14
| 
| libgsl23 recommends no packages.
| 
| Versions of packages libgsl23 suggests:
| pn  gsl-ref-psdoc | gsl-doc-pdf | gsl-doc-info | gsl-ref-html  <none>
| 
| -- no debconf information

-- 
http://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org

Reply via email to