Hi! This is for post-bullseye, but I appreciate guidance if anyone has time. Shared library version transitions trigger uncertainty in me.
I want to upload a new upstream libidn release into Debian, but upstream has done a shared library transition. Bullseye will ship with libidn11-dev instead of libidn-dev too. Is the first step on the transition to provide a libidn-dev package experimental (and after the release, unstable) and make all reverse build-dependencies use it? If so, I plan to upload a new libidn version to experimental with this libidn-dev package, and then start to file bugs to all build reverse-dependencies to make them use libidn-dev. Once all bugs have been addressed, I can upload the new upstream version into unstable to finish the transition. Is that correct? The reverse build dependencies needs to be rebuilt against the new version though, and I'm not sure how that happens. I have prepared what I want to upload into experimental here: https://salsa.debian.org/debian/libidn/-/tree/experimental and I have attempted to re-build all reverse dependencies [1] here: https://salsa.debian.org/debian/libidn/-/pipelines/255418 The failed tests looks harmless: echoping is FTFBS and broken for other reasons, clickhouse just takes too long to build (but no indication of problem), and systemd appear to failed for some other reason. A 'git diff' between the version in bullseye and what I want to upload to experimental is shown below, together with debdiff-output between the built packages. Generally, does things looks okay? Specifically, what about the Breaks/Replaces/Conflicts? The d/changelog entry? Will the confusing 'Replaces: libidn11-dev' for the libidn11 (!) package in bullseye cause any problem? Am I right to drop it here? Should I wait post release with the upload to experimental, and/or filing the bugs? /Simon [1] thanks to https://salsa.debian.org/bzed/reverse-dependency-ci
jas@latte:~/dpkg/libidn$ PAGER=cat git diff bullseye..experimental diff --git a/debian/changelog b/debian/changelog index 28965c1..ebab7e8 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,14 @@ +libidn (1.33-4) UNRELEASED; urgency=low + + * Prepare for soname bump in newer upstream releases. + - New libidn-dev package, contain what was in libidn11-dev before. + - Make libidn11-dev a dummy transitional package. + - Drop references to libidn9 and libidn9-dev, last seen in 2003 + and didn't reach testing according to the tracker. + * For libidn11, drop confusing 'Replaces: libidn11-dev'. + + -- Simon Josefsson <si...@josefsson.org> Sun, 16 May 2021 00:08:06 +0200 + libidn (1.33-3) unstable; urgency=low [ Simon Josefsson ] diff --git a/debian/control b/debian/control index b5996d7..65a58b6 100644 --- a/debian/control +++ b/debian/control @@ -26,10 +26,20 @@ Description: Command line and Emacs interface to GNU Libidn interface. Package: libidn11-dev +Section: oldlibs +Architecture: any +Depends: libidn-dev, ${misc:Depends} +Multi-Arch: same +Description: Transitional development package for GNU Libidn + This is a transitional package. It can safely be removed. + +Package: libidn-dev Section: libdevel Architecture: any Depends: libidn11 (= ${binary:Version}), pkg-config, ${misc:Depends} -Conflicts: libidn9-dev +Breaks: libidn11-dev (<< 1.33-4) +Replaces: libidn11-dev (<< 1.33-4) +Provides: libidn11-dev Multi-Arch: same Description: Development files for GNU Libidn, an IDN library GNU Libidn is a fully documented implementation of the Stringprep, @@ -43,8 +53,6 @@ Description: Development files for GNU Libidn, an IDN library Package: libidn11 Architecture: any Depends: ${misc:Depends}, ${shlibs:Depends} -Conflicts: libidn9-dev -Replaces: libidn11-dev Pre-Depends: ${misc:Pre-Depends} Multi-Arch: same Description: GNU Libidn library, implementation of IETF IDN specifications diff --git a/debian/gbp.conf b/debian/gbp.conf index 5862fad..2861725 100644 --- a/debian/gbp.conf +++ b/debian/gbp.conf @@ -1,4 +1,4 @@ [DEFAULT] pristine-tar = True sign-tags = True -debian-branch = bullseye +debian-branch = experimental diff --git a/debian/libidn11-dev.examples b/debian/libidn-dev.examples similarity index 100% rename from debian/libidn11-dev.examples rename to debian/libidn-dev.examples diff --git a/debian/libidn11-dev.info b/debian/libidn-dev.info similarity index 100% rename from debian/libidn11-dev.info rename to debian/libidn-dev.info diff --git a/debian/libidn11-dev.install b/debian/libidn-dev.install similarity index 100% rename from debian/libidn11-dev.install rename to debian/libidn-dev.install diff --git a/debian/libidn11-dev.manpages b/debian/libidn-dev.manpages similarity index 100% rename from debian/libidn11-dev.manpages rename to debian/libidn-dev.manpages diff --git a/debian/libidn11.symbols b/debian/libidn11.symbols index a6f7a37..a5196d0 100644 --- a/debian/libidn11.symbols +++ b/debian/libidn11.symbols @@ -1,5 +1,5 @@ libidn.so.11 libidn11 #MINVER# -* Build-Depends-Package: libidn11-dev +* Build-Depends-Package: libidn-dev LIBIDN_1.0@LIBIDN_1.0 1.13 idn_free@LIBIDN_1.0 1.13 idna_strerror@LIBIDN_1.0 1.13 diff --git a/debian/salsa-ci.yml b/debian/salsa-ci.yml index 892f3cd..7e8a7a8 100644 --- a/debian/salsa-ci.yml +++ b/debian/salsa-ci.yml @@ -1,3 +1,8 @@ include: - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml + - https://jas.pages.debian.net/reverse-dependency-ci/libidn.yml + +# Enable reverse dependency builds with manual pipeline invoked from +# https://salsa.debian.org/debian/libidn/-/pipelines/new with variable +# SALSA_CI_ENABLE_REVERSE_DEPENDENCY_BUILD set to 1.
jas@latte:~/dpkg/libidn$ debdiff ../libidn_1.33-3_amd64.changes ../libidn_1.33-4_amd64.changes [The following lists of changes regard files as different if they have different names, permissions or owners.] Files in second .changes but not in first ----------------------------------------- -rw-r--r-- root/root /usr/lib/debug/.build-id/fb/f45dfbc332a31df88c6486c891d26b77484f38.debug -rw-r--r-- root/root /usr/share/doc/libidn-dev/changelog.Debian.gz -rw-r--r-- root/root /usr/share/doc/libidn-dev/changelog.gz -rw-r--r-- root/root /usr/share/doc/libidn-dev/copyright -rw-r--r-- root/root /usr/share/doc/libidn-dev/examples/README -rw-r--r-- root/root /usr/share/doc/libidn-dev/examples/example.c -rw-r--r-- root/root /usr/share/doc/libidn-dev/examples/example2.c -rw-r--r-- root/root /usr/share/doc/libidn-dev/examples/example3.c -rw-r--r-- root/root /usr/share/doc/libidn-dev/examples/example4.c -rw-r--r-- root/root /usr/share/doc/libidn-dev/examples/example5.c Files in first .changes but not in second ----------------------------------------- -rw-r--r-- root/root /usr/lib/debug/.build-id/b8/51518b886fad3ef49ddda44ba667ac043e60c0.debug -rw-r--r-- root/root /usr/share/doc/libidn11-dev/examples/README -rw-r--r-- root/root /usr/share/doc/libidn11-dev/examples/example.c -rw-r--r-- root/root /usr/share/doc/libidn11-dev/examples/example2.c -rw-r--r-- root/root /usr/share/doc/libidn11-dev/examples/example3.c -rw-r--r-- root/root /usr/share/doc/libidn11-dev/examples/example4.c -rw-r--r-- root/root /usr/share/doc/libidn11-dev/examples/example5.c Control files of package idn: lines which differ (wdiff format) --------------------------------------------------------------- Version: [-1.33-3-] {+1.33-4+} Control files of package idn-dbgsym: lines which differ (wdiff format) ---------------------------------------------------------------------- Build-Ids: [-b851518b886fad3ef49ddda44ba667ac043e60c0-] {+fbf45dfbc332a31df88c6486c891d26b77484f38+} Depends: idn (= [-1.33-3)-] {+1.33-4)+} Version: [-1.33-3-] {+1.33-4+} Control files of package libidn11: lines which differ (wdiff format) -------------------------------------------------------------------- [-Conflicts: libidn9-dev-] [-Replaces: libidn11-dev-] Version: [-1.33-3-] {+1.33-4+} Control files of package libidn11-dbgsym: lines which differ (wdiff format) --------------------------------------------------------------------------- Depends: libidn11 (= [-1.33-3)-] {+1.33-4)+} Version: [-1.33-3-] {+1.33-4+} Control files of package libidn11-dev: lines which differ (wdiff format) ------------------------------------------------------------------------ [-Conflicts: libidn9-dev-] Depends: [-libidn11 (= 1.33-3), pkg-config-] {+libidn-dev+} Description: [-Development files-] {+Transitional development package+} for GNU [-Libidn, an IDN library-] [- GNU-] Libidn {+This+} is a [-fully documented implementation of the Stringprep,-] [- Punycode and IDNA specifications. Libidn's purpose is to encode and-] [- decode internationalized domain names. The Nameprep, XMPP, SASLprep,-] [- and iSCSI profiles are supported.-] [- .-] [- This package contains the header files, static library, pkg-config-] [- information, API man pages, and the Libidn manual.-] {+transitional package. It can safely be removed.+} Installed-Size: [-878-] {+453+} Section: [-libdevel-] {+oldlibs+} Version: [-1.33-3-] {+1.33-4+} Control files of package libidn11-java: lines which differ (wdiff format) ------------------------------------------------------------------------- Version: [-1.33-3-] {+1.33-4+} jas@latte:~/dpkg/libidn$
signature.asc
Description: PGP signature