Source: htmlcxx Version: 0.87-3 Severity: serious Tags: patch pending Justification: library ABI skew on upgrade User: debian-...@lists.debian.org Usertags: time-t
Dear maintainer, As part of the 64-bit time_t transition required to support 32-bit architectures in 2038 and beyond (https://wiki.debian.org/ReleaseGoals/64bit-time), we have identified htmlcxx as a source package shipping runtime libraries whose ABI either is affected by the change in size of time_t, or could not be analyzed via abi-compliance-checker (and therefore to be on the safe side we assume is affected). To ensure that inconsistent combinations of libraries with their reverse-dependencies are never installed together, it is necessary to have a library transition, which is most easily done by renaming the runtime library package. Since turning on 64-bit time_t is being handled centrally through a change to the default dpkg-buildflags (https://bugs.debian.org/1037136), it is important that libraries affected by this ABI change all be uploaded close together in time. Therefore I have prepared a 0-day NMU for htmlcxx which will initially be uploaded to experimental if possible, then to unstable after packages have cleared binary NEW. Please find the patch for this NMU attached. If you have any concerns about this patch, please reach out ASAP. Although this package will be uploaded to experimental immediately, there will be a period of several days before we begin uploads to unstable; so if information becomes available that your package should not be included in the transition, there is time for us to amend the planned uploads. -- System Information: Debian Release: trixie/sid APT prefers unstable APT policy: (500, 'unstable'), (1, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 6.5.0-15-generic (SMP w/8 CPU threads; PREEMPT) Kernel taint flags: TAINT_OOT_MODULE Locale: LANG=C, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: unable to detect
diff -Nru htmlcxx-0.87/debian/changelog htmlcxx-0.87/debian/changelog --- htmlcxx-0.87/debian/changelog 2022-10-09 16:27:55.000000000 +0000 +++ htmlcxx-0.87/debian/changelog 2024-02-01 05:57:11.000000000 +0000 @@ -1,3 +1,10 @@ +htmlcxx (0.87-3.1) experimental; urgency=medium + + * Non-maintainer upload. + * Rename libraries for 64-bit time_t transition. + + -- Graham Inggs <gin...@debian.org> Thu, 01 Feb 2024 05:57:11 +0000 + htmlcxx (0.87-3) unstable; urgency=medium [ Frantisek Boranek ] diff -Nru htmlcxx-0.87/debian/control htmlcxx-0.87/debian/control --- htmlcxx-0.87/debian/control 2022-10-09 16:24:10.000000000 +0000 +++ htmlcxx-0.87/debian/control 2024-02-01 05:57:11.000000000 +0000 @@ -13,9 +13,9 @@ Package: libhtmlcxx-dev Section: libdevel Architecture: any -Depends: libcss-parser-pp0v5 (= ${binary:Version}), - libcss-parser0 (= ${binary:Version}), - libhtmlcxx3v5 (= ${binary:Version}), +Depends: libcss-parser-pp0t64 (= ${binary:Version}), + libcss-parser0t64 (= ${binary:Version}), + libhtmlcxx3t64 (= ${binary:Version}), ${misc:Depends}, ${shlibs:Depends} Description: simple HTML/CSS1 parser library for C++ (development) @@ -42,13 +42,15 @@ This package contains files required for developing software that makes use of htmlcxx. -Package: libhtmlcxx3v5 +Package: libhtmlcxx3t64 +Provides: ${t64:Provides} +X-Time64-Compat: libhtmlcxx3v5 Architecture: any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} -Breaks: libhtmlcxx3 (<< 0.85-3.1~) -Replaces: libhtmlcxx3 (<< 0.85-3.1~) +Breaks: libhtmlcxx3v5 (<< ${source:Version}), libhtmlcxx3 (<< 0.85-3.1~) +Replaces: libhtmlcxx3v5, libhtmlcxx3 (<< 0.85-3.1~) Description: simple HTML parser library for C++ htmlcxx is a simple non-validating CSS1 and HTML parser for C++. Although there are several other html parsers available, htmlcxx has some @@ -70,7 +72,11 @@ insert non-existent stuff in your html. Therefore, serializing the DOM tree gives exactly the same bytes contained in the original HTML document. -Package: libcss-parser0 +Package: libcss-parser0t64 +Provides: ${t64:Provides} +X-Time64-Compat: libcss-parser-pp0v5 +Replaces: libcss-parser0 +Breaks: libcss-parser0 (<< ${source:Version}) Architecture: any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} @@ -98,13 +104,15 @@ . This package contains the C runtime library for CSS parsing. -Package: libcss-parser-pp0v5 +Package: libcss-parser-pp0t64 +Provides: ${t64:Provides} +X-Time64-Compat: libcss-parser-pp0v5 Architecture: any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} -Breaks: libcss-parser-pp0 (<< 0.85-3.1~) -Replaces: libcss-parser-pp0 (<< 0.85-3.1~) +Breaks: libcss-parser-pp0v5 (<< ${source:Version}), libcss-parser-pp0 (<< 0.85-3.1~) +Replaces: libcss-parser-pp0v5, libcss-parser-pp0 (<< 0.85-3.1~) Description: simple CSS1 parser library for C++ htmlcxx is a simple non-validating CSS1 and HTML parser for C++. Although there are several other html parsers available, htmlcxx has some diff -Nru htmlcxx-0.87/debian/libcss-parser-pp0t64.install htmlcxx-0.87/debian/libcss-parser-pp0t64.install --- htmlcxx-0.87/debian/libcss-parser-pp0t64.install 1970-01-01 00:00:00.000000000 +0000 +++ htmlcxx-0.87/debian/libcss-parser-pp0t64.install 2020-12-11 08:03:34.000000000 +0000 @@ -0,0 +1,2 @@ +usr/lib/*/libcss_parser_pp.so.* +usr/share/htmlcxx/css diff -Nru htmlcxx-0.87/debian/libcss-parser-pp0t64.lintian-overrides htmlcxx-0.87/debian/libcss-parser-pp0t64.lintian-overrides --- htmlcxx-0.87/debian/libcss-parser-pp0t64.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ htmlcxx-0.87/debian/libcss-parser-pp0t64.lintian-overrides 2024-02-01 05:57:11.000000000 +0000 @@ -0,0 +1,4 @@ +# These are C++ libraries with many template symbols +# We could ship symbols files if the non-API symbols were hidden +no-symbols-control-file usr/lib/x86_64-linux-gnu/libcss_parser_pp.so.0.0.0 +libcss-parser-pp0t64: package-name-doesnt-match-sonames libcss-parser-pp0v5 diff -Nru htmlcxx-0.87/debian/libcss-parser-pp0v5.install htmlcxx-0.87/debian/libcss-parser-pp0v5.install --- htmlcxx-0.87/debian/libcss-parser-pp0v5.install 2020-12-11 08:03:34.000000000 +0000 +++ htmlcxx-0.87/debian/libcss-parser-pp0v5.install 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -usr/lib/*/libcss_parser_pp.so.* -usr/share/htmlcxx/css diff -Nru htmlcxx-0.87/debian/libcss-parser-pp0v5.lintian-overrides htmlcxx-0.87/debian/libcss-parser-pp0v5.lintian-overrides --- htmlcxx-0.87/debian/libcss-parser-pp0v5.lintian-overrides 2020-12-11 13:18:13.000000000 +0000 +++ htmlcxx-0.87/debian/libcss-parser-pp0v5.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -# These are C++ libraries with many template symbols -# We could ship symbols files if the non-API symbols were hidden -no-symbols-control-file usr/lib/x86_64-linux-gnu/libcss_parser_pp.so.0.0.0 diff -Nru htmlcxx-0.87/debian/libcss-parser0.install htmlcxx-0.87/debian/libcss-parser0.install --- htmlcxx-0.87/debian/libcss-parser0.install 2019-05-06 19:22:09.000000000 +0000 +++ htmlcxx-0.87/debian/libcss-parser0.install 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -usr/lib/*/libcss_parser.so.* diff -Nru htmlcxx-0.87/debian/libcss-parser0.symbols htmlcxx-0.87/debian/libcss-parser0.symbols --- htmlcxx-0.87/debian/libcss-parser0.symbols 2020-12-11 13:04:40.000000000 +0000 +++ htmlcxx-0.87/debian/libcss-parser0.symbols 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ -libcss_parser.so.0 libcss-parser0 #MINVER# -* Build-Depends-Package: libhtmlcxx-dev - css_parse@Base 0.83 - end_yylex@Base 0.83 - free_rulesets@Base 0.83 - init_yylex@Base 0.83 - yy_create_buffer@Base 0.83 - yy_delete_buffer@Base 0.83 - yy_flush_buffer@Base 0.83 - yy_init_buffer@Base 0.83 - yy_load_buffer_state@Base 0.83 - yy_scan_buffer@Base 0.83 - yy_scan_bytes@Base 0.83 - yy_scan_string@Base 0.83 - yy_switch_to_buffer@Base 0.83 - yyerror@Base 0.83 - yyin@Base 0.83 - yyleng@Base 0.83 - yylex@Base 0.83 - yyout@Base 0.83 - yyparse@Base 0.83 - yyrestart@Base 0.83 - yytext@Base 0.83 diff -Nru htmlcxx-0.87/debian/libcss-parser0t64.install htmlcxx-0.87/debian/libcss-parser0t64.install --- htmlcxx-0.87/debian/libcss-parser0t64.install 1970-01-01 00:00:00.000000000 +0000 +++ htmlcxx-0.87/debian/libcss-parser0t64.install 2019-05-06 19:22:09.000000000 +0000 @@ -0,0 +1 @@ +usr/lib/*/libcss_parser.so.* diff -Nru htmlcxx-0.87/debian/libcss-parser0t64.lintian-overrides htmlcxx-0.87/debian/libcss-parser0t64.lintian-overrides --- htmlcxx-0.87/debian/libcss-parser0t64.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ htmlcxx-0.87/debian/libcss-parser0t64.lintian-overrides 2024-02-01 05:57:11.000000000 +0000 @@ -0,0 +1 @@ +libcss-parser0t64: package-name-doesnt-match-sonames libcss-parser0 diff -Nru htmlcxx-0.87/debian/libcss-parser0t64.symbols htmlcxx-0.87/debian/libcss-parser0t64.symbols --- htmlcxx-0.87/debian/libcss-parser0t64.symbols 1970-01-01 00:00:00.000000000 +0000 +++ htmlcxx-0.87/debian/libcss-parser0t64.symbols 2024-02-01 05:57:11.000000000 +0000 @@ -0,0 +1,23 @@ +libcss_parser.so.0 libcss-parser0t64 #MINVER# +* Build-Depends-Package: libhtmlcxx-dev + css_parse@Base 0.83 + end_yylex@Base 0.83 + free_rulesets@Base 0.83 + init_yylex@Base 0.83 + yy_create_buffer@Base 0.83 + yy_delete_buffer@Base 0.83 + yy_flush_buffer@Base 0.83 + yy_init_buffer@Base 0.83 + yy_load_buffer_state@Base 0.83 + yy_scan_buffer@Base 0.83 + yy_scan_bytes@Base 0.83 + yy_scan_string@Base 0.83 + yy_switch_to_buffer@Base 0.83 + yyerror@Base 0.83 + yyin@Base 0.83 + yyleng@Base 0.83 + yylex@Base 0.83 + yyout@Base 0.83 + yyparse@Base 0.83 + yyrestart@Base 0.83 + yytext@Base 0.83 diff -Nru htmlcxx-0.87/debian/libhtmlcxx3t64.install htmlcxx-0.87/debian/libhtmlcxx3t64.install --- htmlcxx-0.87/debian/libhtmlcxx3t64.install 1970-01-01 00:00:00.000000000 +0000 +++ htmlcxx-0.87/debian/libhtmlcxx3t64.install 2019-05-06 19:22:09.000000000 +0000 @@ -0,0 +1 @@ +usr/lib/*/libhtmlcxx*.so.* diff -Nru htmlcxx-0.87/debian/libhtmlcxx3t64.lintian-overrides htmlcxx-0.87/debian/libhtmlcxx3t64.lintian-overrides --- htmlcxx-0.87/debian/libhtmlcxx3t64.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ htmlcxx-0.87/debian/libhtmlcxx3t64.lintian-overrides 2024-02-01 05:57:11.000000000 +0000 @@ -0,0 +1,4 @@ +# These are C++ libraries with many template symbols +# We could ship symbols files if the non-API symbols were hidden +no-symbols-control-file usr/lib/x86_64-linux-gnu/libhtmlcxx.so.3.1.0 +libhtmlcxx3t64: package-name-doesnt-match-sonames libhtmlcxx3v5 diff -Nru htmlcxx-0.87/debian/libhtmlcxx3v5.install htmlcxx-0.87/debian/libhtmlcxx3v5.install --- htmlcxx-0.87/debian/libhtmlcxx3v5.install 2019-05-06 19:22:09.000000000 +0000 +++ htmlcxx-0.87/debian/libhtmlcxx3v5.install 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -usr/lib/*/libhtmlcxx*.so.* diff -Nru htmlcxx-0.87/debian/libhtmlcxx3v5.lintian-overrides htmlcxx-0.87/debian/libhtmlcxx3v5.lintian-overrides --- htmlcxx-0.87/debian/libhtmlcxx3v5.lintian-overrides 2020-12-11 13:17:52.000000000 +0000 +++ htmlcxx-0.87/debian/libhtmlcxx3v5.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -# These are C++ libraries with many template symbols -# We could ship symbols files if the non-API symbols were hidden -no-symbols-control-file usr/lib/x86_64-linux-gnu/libhtmlcxx.so.3.1.0