Among the 23 debian patches available in version 3.8.3-24 of the package, we noticed the following issues:
commit 7a9d29cdf2b5fd9963612f03ac7b35084be7dd3b
Merge: df7b74f 838f862
Author: Martin A. Godisch <godisch@debian.org>
Date: Sat Jun 27 13:17:34 2026 +0200
Merge branch 'autopkgtest-s390x' into debian/latest
commit df7b74fd864a7988026e13765ec24ed479f7d1e7
Author: Martin A. Godisch <godisch@debian.org>
Date: Mon Jun 22 08:17:26 2026 +0200
Add ID3v2.4 read support
* Add ID3v2.4 read support. id3lib shipped the ID3v2.4 enum values and a
spec-info row but never wired them up, so v2.4 tags were silently dropped.
Closes: #309278.
- 73-id3v2_4-parse-frame-sizes.patch: accept ID3v2.4 in ID3_Header::SetSpec
(it was rejected as > ID3V2_LATEST, leaving _info NULL); treat fields
that run to LATEST as valid for v2.4 in ID3_Field::InScope (otherwise all
fields are skipped, leaving text empty and the frame body unconsumed);
read the frame size as a 28-bit synchsafe integer and translate the v2.4
frame flag bits. ID3V2_LATEST stays at 2.3.0, so newly written tags are
unchanged; this only widens what can be read. Re: #449186.
- 74-id3v2_4-register-frames.patch: add the v2.4 text frames (TDEN, TDOR,
TDRC, TDRL, TDTG, TIPL, TMCL, TMOO, TPRO, TSST) to the frame table.
- 75-add-sortorder-frames.patch: add the v2.4 sort-order frames TSOA, TSOP
and TSOT.
- 76-id3v2_4-frame-unsync-datalen.patch: act on the two v2.4-only frame
format flags: reverse per-frame unsynchronisation (via UnsyncedReader)
and skip the data length indicator, consuming the grouping, encryption
and data length fields in the order the spec mandates. Real-world taggers
rarely set them; combining them with frame compression is left to the
v2.3-style path.
* 70-warn-on-unsupported-id3v2-version.patch: now that v2.4 is read, limit
the opt-in notice to genuinely unknown versions (ID3V2_UNKNOWN).
* debian/rules: call aclocal with -I m4 (as required by ACLOCAL_AMFLAGS in
Makefile.am). Without it the bundled ID3_UNICODE macro was dropped, the
ID3_ICONV_FORMAT_* defines were never set and iconv text conversion
silently fell back, so e.g. UTF-8 text was returned empty.
* 77-fix-id3lib-m4-macros.patch: with aclocal -I m4 the bundled macros are
now applied; fix two of them. ID3_CXX_PORTABILITY tested for-loop scoping
by including the long-gone <iostream.h>, so the test always failed to
compile and wrongly defined CXX_HAS_BUGGY_FOR_LOOPS, enabling the
"#define for if(1) for" workaround that triggered -Wdangling-else across
every standard header. Also quote the underquoted ID3_CHECK_ICONV_FORMAT.
* debian/rules: configure with --disable-cxx-warnings. id3lib's own -Wall
block was inert before -24 enabled aclocal -I m4 and only exposes
pre-existing upstream warnings; this restores the warning-free build.
* debian/tests/roundtrip.cpp: add an ID3v2.4 read check (a hand-built v2.4
tag with a >127-byte frame followed by another frame) to guard the new
synchsafe frame-size parsing against regressions.
commit fe46e53659ca78dc027c5368e6315a621ecc6db5
Author: Martin A. Godisch <godisch@debian.org>
Date: Sun Jun 21 05:28:41 2026 +0200
debian/control: Removed Rules-Requires-Root: no