Debian Patches

Status for id3v2/0.1.12+dfsg-10

Patch Description Author Forwarded Bugs Origin Last update
01_Makefile.patch this patch modifies the makefile to: - Install the binary in /usr instead of /opt/local.
- Not strip the binary.
diff -Naur id3v2-0.1.12.orig//Makefile id3v2-0.1.12/Makefile
Martin Stjernholm <mast@lysator.liu.se> not-needed 2011-05-01
02_manpage.patch remove invalid lines from man page and document "--" This patch removes some invalid lines from the man page and adds some
information about the "--" end-of-options separator.
diff -Naur a/id3v2.1 b/id3v2.1
no debian
03_spelling.patch fix some minor spelling mistakesdiff -Naur id3v2-0.1.11.orig/frametable.h id3v2-0.1.11/frametable.h no
04_error-if-convert-fails.patch print an error message when tag conversion failsdiff -Naur id3v2-0.1.11.orig/convert.cpp id3v2-0.1.11/convert.cpp Jacob Anawalt <jlanawalt@gmail.com> no debian https://bugs.debian.org/538165
05_untagged-file-in-multiple-files.patch complain about missing tags also with multiple file arguments Make id3v2 report missing tags even when called with several files at
once (e.g. id3v2 -l *.mp3).
diff -Naur id3v2-0.1.12.orig//list.cpp id3v2-0.1.12//list.cpp
Stefan Ott <stefan@ott.net> no debian
06_rfc822.patch implement the -R option (RFC822-compliant output) Implement -R (to some extent), mostly by not showing ID3v1 data; the
rest of the output is already RFC822 compliant.
diff -Naur id3v2-0.1.12.orig//list.cpp id3v2-0.1.12//list.cpp
Stefan Ott <stefan@ott.net> no debian
07_charset-conv.patch Fix charset issues with id3v2 tags. id3v2 doesn't do charset conversion according to the current locale, so trying
to use UTF-8 in tag fields causes the resulting tag to contain UTF-8 but
without the proper encoding type. This causes other programs to display tag
contents as gibberish. This patch fixes the program so that proper conversion
is made, and anything outside of iso-8859-1 will be encoded as UTF-16,
properly marked.
Martin Stjernholm <mast@lysator.liu.se> yes debian 2013-02-05
08_fix-compiler-warnings.patch fix compiler warnings Address the warnings emitted by GCC when building id3v2:
- id3v2.cpp, convert.cpp: remove three "set but not used" local
variables while keeping the calls that have side effects.
- list.cpp: id3lib's ID3_Tag::ConstIterator is an abstract base class
with a non-virtual destructor, which makes GCC warn about deleting
through the base pointer. As delete is the only API to release the
iterator and is safe in practice, the warning is silenced locally.
Martin A. Godisch <godisch@debian.org> no 2026-06-16
09_exit-code-on-error.patch exit with a non-zero status when a file operand fails main() returned 0 unconditionally, so a per-file failure (the file does not
exist, cannot be opened, or its permissions cannot be restored) was reported
only on stderr while the process still exited successfully. Shell scripts
testing $? therefore ran past such failures (Debian bug #784064).
.
A local status variable is now set on every error path and returned at the
end. In addition, a failing stat() no longer aborts the whole run with break:
like the fopen() path just below it, it now continues with the remaining file
operands, matching the customary Unix behaviour of processing every operand
and reporting overall failure via the exit status.
.
The same omission affected the read/modify operations selected by -l/-R
(list), -d/-s/-D (strip), -r (remove frame) and -C (convert), which all
called exit(0) unconditionally. ListTag(), DeleteTag(), ConvertTag() and
DeleteFrame() now return a status (1 when an operand cannot be processed)
which main() passes to exit(), so every entry point reports failure
consistently while still processing the remaining operands.
Martin A. Godisch <godisch@debian.org> no debian 2026-06-19
10_escape-colons-in-split-frames.patch allow escaped colons in comment, lyrics and other split frames The comment (-c/COMM), unsynchronized-lyrics (USLT), user-defined-text (TXXX)
and terms-of-use (USER) options take a ':'-separated argument, but a literal
colon could not be embedded: the parser split unconditionally on every ':',
truncating the value at the first one and misinterpreting the remainder as the
next component. Embedding a colon (e.g. in "From: ripped cd") was therefore
impossible and the syntax was undocumented (Debian bugs #390781 and #681847).
.
A small helper, split_escaped(), now splits such arguments on unescaped colons
only and removes the escaping backslash from each "\:" so a literal colon can
appear in any component. It works on a private copy of the argument instead
of modifying argv[] in place, and the existing charset conversion of the
description/text fields (SetID3EncText) is preserved. The id3v2(1) manual
page now documents the colon-separated syntax and the "\:" escape.
.
Based on the patch submitted by John Jetmore, reworked by the maintainer to
share a single split_escaped() helper across the comment, lyrics, user-text
and terms-of-use frames and to preserve the charset conversion.
Martin A. Godisch <godisch@debian.org> no debian other, https://bugs.debian.org/681847 2026-06-19
11_skip-non-mpeg-files.patch do not write ID3v2 tags to non-MPEG files id3v2 wrote an ID3v2 tag to whatever file it was given. As the tag is
prepended to the file, doing so to a non-MPEG container (e.g. an MP4 video)
lands the tag in front of the container header and corrupts the file
(Debian bug #446427, cloned from #445694).
.
Before tagging, the leading bytes of the file are now checked against a
conservative blocklist of well-known non-audio container signatures (ISO
Media/MP4, Ogg, RIFF, FLAC, Matroska/WebM, ASF). A matching file is skipped
with a diagnostic and a non-zero exit status. The list intentionally only
rejects formats that are known not to be MPEG audio; a genuine MP3, which
starts with either an "ID3" tag or an MPEG frame sync, is never affected, so
no existing tagging workflow regresses.
Martin A. Godisch <godisch@debian.org> no debian 2026-06-19
12_manpage-document-standard-and-encoding.patch document the ID3 version and text encoding used The manual page did not state which ID3 standard id3v2 writes nor how text
given on the command line is encoded in the tag (Debian bug #849558). A
STANDARDS section now records that id3lib writes ID3 v2.3.0 (and v1.1) and
does not support v2.4, and an ENCODING section describes the locale-based
input interpretation and the ISO-8859-1/UTF-16 storage of text fields.
Martin A. Godisch <godisch@debian.org> not-needed debian 2026-06-19
13_manpage-reference-mid3v2.patch point to mid3v2 as an actively maintained alternative Add mid3v2(1) to the SEE ALSO section and a short note recommending it for
ID3 v2.4 support and as an actively maintained alternative, as id3lib is no
longer maintained (Debian bug #849559).
Martin A. Godisch <godisch@debian.org> not-needed debian 2026-06-19
14_txxx-keep-distinct-descriptions.patch keep TXXX frames with distinct descriptions A tag may contain several TXXX (user-defined text) frames as long as each one
has a unique description. id3v2 located an existing TXXX frame with
ID3_Tag::Find(), which returns the first one regardless of description, and
removed it unconditionally before adding the new frame. Setting a second
TXXX with a different description therefore destroyed the first one (Debian
bug #271311).
.
The USERTEXT case now mirrors the logic already used for COMMENT/USLT frames:
the argument is parsed first, then only existing TXXX frames whose description
matches the new one are removed, leaving frames with other descriptions
intact.
Martin A. Godisch <godisch@debian.org> no debian 2026-06-19
15_picture-cover-tagging.patch add cover-art tagging via a new -p/--picture option id3v2 could not write an attached picture (APIC): the --APIC long option
existed but the corresponding case only printed the fields of the freshly
created, empty frame instead of loading an image (Debian bug #782767).
.
A new -p/--picture option (and the now-functional --APIC) loads the given
file as the front cover. The MIME type is detected from the file's leading
bytes, supporting JPEG, PNG and GIF, which avoids depending on libmagic as
the originally submitted patch did; cover art is in practice always one of
these formats. A file that cannot be opened or is not a supported image is
reported and yields a non-zero exit status.
.
Based on the patch submitted by Laurence Richert, reworked by the maintainer
to detect the MIME type from the file contents instead of depending on
libmagic.
Martin A. Godisch <godisch@debian.org> no debian other, https://bugs.debian.org/782767 2026-06-19
16_listing-newlines.patch terminate POPM and ENCR/GRID listing lines with a newline When listing a tag (-l and -R), the popularimeter (POPM) case printed its
fields without a trailing newline, so the following frame ran into the same
line (Debian bug #848425). The encryption/grouping registration case
(ENCR/GRID) had the same omission. Both now end the line with std::endl,
like every other case in the listing switch.
Martin A. Godisch <godisch@debian.org> no debian 2026-06-19

All known versions for source package 'id3v2'

Links