Hi! I'm now resuming work on the libidn shared library transition, and I'm ready for the upload to experimental. I wanted to ping back here to get more review. I'm following Andreas Metzler's outline, but included some tweaks suggested by Simon McVittie. I decided to do some more changes that are unrelated here (e.g., drop the would-be poorly named libidn11-java package which nobody appears to use, and drop the no longer working Emacs libraries). The old package (1.33-3, in bullseye) looks like the following (yeah, the 'Replaces: libidn11-dev' on the 'libidn11' package is confusing, and could potentially cause problems here): 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 Package: libidn11-dev Section: libdevel Architecture: any Depends: libidn11 (= ${binary:Version}), pkg-config, ${misc:Depends} Conflicts: libidn9-dev Multi-Arch: same Description: Development files for GNU Libidn, an IDN library The new package (1.38-1) that I'm planning to upload has this: Package: libidn12 Architecture: any Depends: ${misc:Depends}, ${shlibs:Depends} Pre-Depends: ${misc:Pre-Depends} Multi-Arch: same Description: GNU Libidn library, implementation of IETF IDN specifications Package: libidn-dev Section: libdevel Architecture: any Depends: libidn12 (= ${binary:Version}), pkg-config, ${misc:Depends} Breaks: libidn11-dev (<< 1.38-1~) Replaces: libidn11-dev (<< 1.38-1~) Suggests: idn Multi-Arch: same Description: Development files for GNU Libidn, an IDN library Package: libidn11-dev Section: oldlibs Architecture: any Depends: libidn-dev (>= 1.38-1~), ${misc:Depends} Multi-Arch: same Description: Transitional development package for GNU Libidn Libidn11-dev's '>= 1.38-1~' dependency, and the '<< 1.38-1~' in libidn12, came as a suggestion from Simon McVittie. It builds fine, and reverse dependencies builds too (the two failures are not libidn-issues): https://salsa.debian.org/debian/libidn/-/pipelines/270968 I'm including more complete debdiff below. What do you think? I'm not only looking to catch fatal mistakes, but also want ideas on how to improve this further, so all feedback is welcome. Thanks, /Simon jas@latte:~/dpkg$ debdiff --show-moved libidn_1.33-3_amd64.changes libidn_1.38-1_amd64.changes Warning: these package names were in the second list but not in the first: -------------------------------------------------------------------------- libidn-dev libidn12 libidn12-dbgsym Warning: these package names were in the first list but not in the second: -------------------------------------------------------------------------- libidn11 libidn11-dbgsym libidn11-java [The following lists of changes regard files as different if they have different names, permissions or owners.] Files only in first set of .debs, found in package idn ------------------------------------------------------ -rw-r--r-- root/root /usr/share/doc/idn/AUTHORS.gz -rw-r--r-- root/root /usr/share/doc/idn/TODO -rw-r--r-- root/root /usr/share/emacs/site-lisp/idna.el -rw-r--r-- root/root /usr/share/emacs/site-lisp/punycode.el Files only in first set of .debs, found in package idn-dbgsym ------------------------------------------------------------- -rw-r--r-- root/root /usr/lib/debug/.build-id/b8/51518b886fad3ef49ddda44ba667ac043e60c0.debug Files only in first set of .debs, found in package libidn11 ----------------------------------------------------------- -rw-r--r-- root/root /lib/x86_64-linux-gnu/libidn.so.11.6.16 -rw-r--r-- root/root /usr/share/doc/libidn11/changelog.Debian.gz -rw-r--r-- root/root /usr/share/doc/libidn11/changelog.gz -rw-r--r-- root/root /usr/share/doc/libidn11/copyright lrwxrwxrwx root/root /lib/x86_64-linux-gnu/libidn.so.11 -> libidn.so.11.6.16 Files moved from package libidn11 to package libidn12 ----------------------------------------------------- -rw-r--r-- root/root DEBIAN/shlibs -rw-r--r-- root/root DEBIAN/symbols -rw-r--r-- root/root DEBIAN/triggers Files only in first set of .debs, found in package libidn11-dbgsym ------------------------------------------------------------------ -rw-r--r-- root/root /usr/lib/debug/.build-id/14/d4bc0771a40445c675c5c4682d56465463ccc8.debug lrwxrwxrwx root/root /usr/share/doc/libidn11-dbgsym -> libidn11 Files only in first set of .debs, found in package libidn11-dev --------------------------------------------------------------- -rw-r--r-- root/root /usr/share/doc-base/libidn11 -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 -rw-r--r-- root/root /usr/share/doc/libidn11-dev/libidn.pdf.gz lrwxrwxrwx root/root /usr/lib/x86_64-linux-gnu/libidn.so -> /lib/x86_64-linux-gnu/libidn.so.11 Files moved from package libidn11-dev to package libidn-dev ----------------------------------------------------------- -rw-r--r-- root/root /usr/include/idn-free.h -rw-r--r-- root/root /usr/include/idn-int.h -rw-r--r-- root/root /usr/include/idna.h -rw-r--r-- root/root /usr/include/pr29.h -rw-r--r-- root/root /usr/include/punycode.h -rw-r--r-- root/root /usr/include/stringprep.h -rw-r--r-- root/root /usr/include/tld.h -rw-r--r-- root/root /usr/lib/x86_64-linux-gnu/libidn.a -rw-r--r-- root/root /usr/lib/x86_64-linux-gnu/pkgconfig/libidn.pc -rw-r--r-- root/root /usr/share/info/libidn-components.png -rw-r--r-- root/root /usr/share/info/libidn.info.gz -rw-r--r-- root/root /usr/share/man/man3/idn_free.3.gz -rw-r--r-- root/root /usr/share/man/man3/idna_strerror.3.gz -rw-r--r-- root/root /usr/share/man/man3/idna_to_ascii_4i.3.gz -rw-r--r-- root/root /usr/share/man/man3/idna_to_ascii_4z.3.gz -rw-r--r-- root/root /usr/share/man/man3/idna_to_ascii_8z.3.gz -rw-r--r-- root/root /usr/share/man/man3/idna_to_ascii_lz.3.gz -rw-r--r-- root/root /usr/share/man/man3/idna_to_unicode_44i.3.gz -rw-r--r-- root/root /usr/share/man/man3/idna_to_unicode_4z4z.3.gz -rw-r--r-- root/root /usr/share/man/man3/idna_to_unicode_8z4z.3.gz -rw-r--r-- root/root /usr/share/man/man3/idna_to_unicode_8z8z.3.gz -rw-r--r-- root/root /usr/share/man/man3/idna_to_unicode_8zlz.3.gz -rw-r--r-- root/root /usr/share/man/man3/idna_to_unicode_lzlz.3.gz -rw-r--r-- root/root /usr/share/man/man3/pr29_4.3.gz -rw-r--r-- root/root /usr/share/man/man3/pr29_4z.3.gz -rw-r--r-- root/root /usr/share/man/man3/pr29_8z.3.gz -rw-r--r-- root/root /usr/share/man/man3/pr29_strerror.3.gz -rw-r--r-- root/root /usr/share/man/man3/punycode_decode.3.gz -rw-r--r-- root/root /usr/share/man/man3/punycode_encode.3.gz -rw-r--r-- root/root /usr/share/man/man3/punycode_strerror.3.gz -rw-r--r-- root/root /usr/share/man/man3/stringprep.3.gz -rw-r--r-- root/root /usr/share/man/man3/stringprep_4i.3.gz -rw-r--r-- root/root /usr/share/man/man3/stringprep_4zi.3.gz -rw-r--r-- root/root /usr/share/man/man3/stringprep_check_version.3.gz -rw-r--r-- root/root /usr/share/man/man3/stringprep_convert.3.gz -rw-r--r-- root/root /usr/share/man/man3/stringprep_locale_charset.3.gz -rw-r--r-- root/root /usr/share/man/man3/stringprep_locale_to_utf8.3.gz -rw-r--r-- root/root /usr/share/man/man3/stringprep_profile.3.gz -rw-r--r-- root/root /usr/share/man/man3/stringprep_strerror.3.gz -rw-r--r-- root/root /usr/share/man/man3/stringprep_ucs4_nfkc_normalize.3.gz -rw-r--r-- root/root /usr/share/man/man3/stringprep_ucs4_to_utf8.3.gz -rw-r--r-- root/root /usr/share/man/man3/stringprep_unichar_to_utf8.3.gz -rw-r--r-- root/root /usr/share/man/man3/stringprep_utf8_nfkc_normalize.3.gz -rw-r--r-- root/root /usr/share/man/man3/stringprep_utf8_to_locale.3.gz -rw-r--r-- root/root /usr/share/man/man3/stringprep_utf8_to_ucs4.3.gz -rw-r--r-- root/root /usr/share/man/man3/stringprep_utf8_to_unichar.3.gz -rw-r--r-- root/root /usr/share/man/man3/tld_check_4.3.gz -rw-r--r-- root/root /usr/share/man/man3/tld_check_4t.3.gz -rw-r--r-- root/root /usr/share/man/man3/tld_check_4tz.3.gz -rw-r--r-- root/root /usr/share/man/man3/tld_check_4z.3.gz -rw-r--r-- root/root /usr/share/man/man3/tld_check_8z.3.gz -rw-r--r-- root/root /usr/share/man/man3/tld_check_lz.3.gz -rw-r--r-- root/root /usr/share/man/man3/tld_default_table.3.gz -rw-r--r-- root/root /usr/share/man/man3/tld_get_4.3.gz -rw-r--r-- root/root /usr/share/man/man3/tld_get_4z.3.gz -rw-r--r-- root/root /usr/share/man/man3/tld_get_table.3.gz -rw-r--r-- root/root /usr/share/man/man3/tld_get_z.3.gz -rw-r--r-- root/root /usr/share/man/man3/tld_strerror.3.gz Files only in first set of .debs, found in package libidn11-java ---------------------------------------------------------------- -rw-r--r-- root/root /usr/share/doc-base/libidn11-java -rw-r--r-- root/root /usr/share/doc/libidn11-java/api/Makefile.am -rw-r--r-- root/root /usr/share/doc/libidn11-java/api/Makefile.in.gz -rw-r--r-- root/root /usr/share/doc/libidn11-java/api/about.html -rw-r--r-- root/root /usr/share/doc/libidn11-java/api/alphaindex.html -rw-r--r-- root/root /usr/share/doc/libidn11-java/api/deprecated.html -rw-r--r-- root/root /usr/share/doc/libidn11-java/api/gnu/inet/encoding/CombiningClass.html -rw-r--r-- root/root /usr/share/doc/libidn11-java/api/gnu/inet/encoding/Composition.html -rw-r--r-- root/root /usr/share/doc/libidn11-java/api/gnu/inet/encoding/DecompositionKeys.html -rw-r--r-- root/root /usr/share/doc/libidn11-java/api/gnu/inet/encoding/DecompositionMappings.html -rw-r--r-- root/root /usr/share/doc/libidn11-java/api/gnu/inet/encoding/IDNA.html -rw-r--r-- root/root /usr/share/doc/libidn11-java/api/gnu/inet/encoding/IDNAException.html -rw-r--r-- root/root /usr/share/doc/libidn11-java/api/gnu/inet/encoding/NFKC.html -rw-r--r-- root/root /usr/share/doc/libidn11-java/api/gnu/inet/encoding/Punycode.html -rw-r--r-- root/root /usr/share/doc/libidn11-java/api/gnu/inet/encoding/PunycodeException.html -rw-r--r-- root/root /usr/share/doc/libidn11-java/api/gnu/inet/encoding/RFC3454.html -rw-r--r-- root/root /usr/share/doc/libidn11-java/api/gnu/inet/encoding/Stringprep.html -rw-r--r-- root/root /usr/share/doc/libidn11-java/api/gnu/inet/encoding/StringprepException.html -rw-r--r-- root/root /usr/share/doc/libidn11-java/api/gnu/inet/encoding/classes.html -rw-r--r-- root/root /usr/share/doc/libidn11-java/api/gnu/inet/encoding/package-summary.html -rw-r--r-- root/root /usr/share/doc/libidn11-java/api/gnu/inet/encoding/tree.html -rw-r--r-- root/root /usr/share/doc/libidn11-java/api/index.html -rw-r--r-- root/root /usr/share/doc/libidn11-java/api/resources/gjdoc.js -rw-r--r-- root/root /usr/share/doc/libidn11-java/api/resources/gjdochtml-clean-color1.css -rw-r--r-- root/root /usr/share/doc/libidn11-java/api/resources/gjdochtml-clean-layout.css -rw-r--r-- root/root /usr/share/doc/libidn11-java/api/resources/inherit.png -rw-r--r-- root/root /usr/share/doc/libidn11-java/api/serialized-form.html -rw-r--r-- root/root /usr/share/doc/libidn11-java/changelog.Debian.gz -rw-r--r-- root/root /usr/share/doc/libidn11-java/changelog.gz -rw-r--r-- root/root /usr/share/doc/libidn11-java/copyright -rw-r--r-- root/root /usr/share/java/libidn-1.33.jar lrwxrwxrwx root/root /usr/share/java/libidn.jar -> libidn-1.33.jar New files in second set of .debs, found in package idn ------------------------------------------------------ -rw-r--r-- root/root /usr/share/doc/idn/AUTHORS -rw-r--r-- root/root /usr/share/doc/idn/FAQ New files in second set of .debs, found in package idn-dbgsym ------------------------------------------------------------- -rw-r--r-- root/root /usr/lib/debug/.build-id/84/f435e40f9c9b247e523b44a16c589e5b8324a4.debug New files in second set of .debs, found in package libidn-dev ------------------------------------------------------------- -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 lrwxrwxrwx root/root /usr/lib/x86_64-linux-gnu/libidn.so -> libidn.so.12.6.3 New files in second set of .debs, found in package libidn12 ----------------------------------------------------------- -rw-r--r-- root/root /usr/lib/x86_64-linux-gnu/libidn.so.12.6.3 -rw-r--r-- root/root /usr/share/doc/libidn12/changelog.Debian.gz -rw-r--r-- root/root /usr/share/doc/libidn12/changelog.gz -rw-r--r-- root/root /usr/share/doc/libidn12/copyright lrwxrwxrwx root/root /usr/lib/x86_64-linux-gnu/libidn.so.12 -> libidn.so.12.6.3 New files in second set of .debs, found in package libidn12-dbgsym ------------------------------------------------------------------ -rw-r--r-- root/root /usr/lib/debug/.build-id/16/41a7c7d9a44def884a10004ae8d0505152f537.debug lrwxrwxrwx root/root /usr/share/doc/libidn12-dbgsym -> libidn12 Files moved or copied from at least TWO packages or to at least TWO packages ---------------------------------------------------------------------------- -rw-r--r-- root/root DEBIAN/control From packages: idn-dbgsym, idn, libidn11-dbgsym, libidn11-dev, libidn11-java, libidn11 To packages: idn-dbgsym, idn, libidn-dev, libidn11-dev, libidn12-dbgsym, libidn12 -rw-r--r-- root/root DEBIAN/md5sums From packages: idn-dbgsym, idn, libidn11-dbgsym, libidn11-dev, libidn11-java, libidn11 To packages: idn-dbgsym, idn, libidn-dev, libidn11-dev, libidn12-dbgsym, libidn12 Control files of package idn: lines which differ (wdiff format) --------------------------------------------------------------- Depends: libc6 (>= 2.14), [-libidn11-] {+libidn12+} (>= 1.13) Description: Command line [-and Emacs-] interface to GNU Libidn This package contains the idn command-line [-tool and its Emacs lisp-] [- interface.-] {+tool.+} Installed-Size: [-213-] {+120+} Version: [-1.33-3-] {+1.38-1+} Control files of package idn-dbgsym: lines which differ (wdiff format) ---------------------------------------------------------------------- Build-Ids: [-b851518b886fad3ef49ddda44ba667ac043e60c0-] {+84f435e40f9c9b247e523b44a16c589e5b8324a4+} Depends: idn (= [-1.33-3)-] {+1.38-1)+} Installed-Size: [-42-] {+43+} Version: [-1.33-3-] {+1.38-1+} Control files of package libidn11-dev: lines which differ (wdiff format) ------------------------------------------------------------------------ [-Conflicts: libidn9-dev-] Depends: [-libidn11 (= 1.33-3), pkg-config-] {+libidn-dev (>= 1.38-1~)+} 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-] {+49+} Section: [-libdevel-] {+oldlibs+} Version: [-1.33-3-] {+1.38-1+} jas@latte:~/dpkg$
Attachment:
signature.asc
Description: PGP signature