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'
- 0.1.12+dfsg-10 (sid)
- 0.1.12+dfsg-8 (forky)
- 0.1.12+dfsg-7 (trixie, bookworm)
