Package: ksh93u+m
Version: 1.0.0~beta.1-1
Severity: serious
Tags: patch
User: debian...@lists.debian.org
Usertags: piuparts

Hi,

during a test with piuparts I noticed your package fails to upgrade from
'sid' to 'experimental'.
It installed fine in 'sid', then the upgrade to 'experimental' fails
because it tries to overwrite other packages files without declaring a
Breaks+Replaces relation.
This error may also be triggered by having a predecessor package from
'sid 'installed while installing the package from 'experimental'.

See policy 7.6 at
https://www.debian.org/doc/debian-policy/ch-relationships.html#overwriting-files-and-replacing-packages-replaces

>From the attached log (scroll to the bottom...):

  Preparing to unpack .../ksh_20210510-93u+m-1.0.0~beta.1-1_amd64.deb ...
  Unpacking ksh (20210510-93u+m-1.0.0~beta.1-1) ...
  dpkg: error processing archive 
/var/cache/apt/archives/ksh_20210510-93u+m-1.0.0~beta.1-1_amd64.deb (--unpack):
   trying to overwrite '/bin/ksh93', which is also in package ksh93u+m 
1.0.0~beta.1-1
  dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)
  Errors were encountered while processing:
   /var/cache/apt/archives/ksh_20210510-93u+m-1.0.0~beta.1-1_amd64.deb

The overwrite error is actually the other way around since ksh93u+m
in sid is newer than ksh in experimental.
Therefore please add 
  Breaks+Replaces: ksh (<< 20210511)
to ksh93u+m to ensure clean upgrades from whatever ksh version
was installed.

You also need to use an increasing version for
'dh_gencontrol -- -v...', otherwise subsequent (binary) uploads that
have a binary package with same version as already in the archive will
be rejected.
See the attached patch for my suggested solution.

You will have to file RM bugs against ftp.debian.org to get the obsolete
src:ksh package removed from sid and experimental.


cheers,

Andreas
diff -Nru ksh93u+m-1.0.0~beta.1/debian/control 
ksh93u+m-1.0.0~beta.1/debian/control
--- ksh93u+m-1.0.0~beta.1/debian/control        2021-09-05 15:14:36.000000000 
+0200
+++ ksh93u+m-1.0.0~beta.1/debian/control        2021-11-16 14:00:52.000000000 
+0100
@@ -11,8 +11,8 @@
 
 Package: ksh93u+m
 Architecture: any
-Replaces: ksh (<= 2020.0.0+really93u+20120801-10)
-Breaks: ksh (<= 2020.0.0+really93u+20120801-10)
+Replaces: ksh (<< 20210511)
+Breaks: ksh (<< 20210511)
 Depends: ${shlibs:Depends}, ${misc:Depends}
 Suggests: binfmt-support
 Description: AT&T KornShell
diff -Nru ksh93u+m-1.0.0~beta.1/debian/rules ksh93u+m-1.0.0~beta.1/debian/rules
--- ksh93u+m-1.0.0~beta.1/debian/rules  2021-09-05 15:14:36.000000000 +0200
+++ ksh93u+m-1.0.0~beta.1/debian/rules  2021-11-16 14:00:52.000000000 +0100
@@ -7,6 +7,7 @@
 export TZ=GMT
 
 include /usr/share/dpkg/buildflags.mk
+include /usr/share/dpkg/pkg-info.mk
 
 export CCFLAGS+=$(shell dpkg-buildflags --get CFLAGS)
 export CCFLAGS+=$(shell dpkg-buildflags --get CPPFLAGS)
@@ -34,8 +35,8 @@
        dh_installchangelogs NEWS
 
 override_dh_gencontrol:
-       dh_gencontrol --package=ksh93u+m
-       dh_gencontrol --package=ksh -- -v20210511
+       dh_gencontrol --package=ksh -- 
-v20210511+$(DEB_VERSION_UPSTREAM_REVISION)
+       dh_gencontrol --remaining-packages
 
 clean:
        dh_testdir

Attachment: ksh93u+m=1.0.0~beta.1-1_ksh=20210510-93u+m-1.0.0~beta.1-1.log.gz
Description: application/gzip

Reply via email to