Bug#900008: kid3 FTCBFS: multiple reasons
Could you please check if the cross build failure still exists with version 3.6.1? I implemented a workaround for the GetPrerequistes bug in response to bug report https://sourceforge.net/p/kid3/bugs/173/, so this should be fixed. Urs
Bug#807896: kid3 does not substitute slashes when building filename
String replacements are not performed by default. If you want them to be executed automatically, go to "Settings/Configure Kid3.../Files" and make sure that "Format while editing" is checked. If this checkbox is not checked, you can perform the string replacements using the menu "Tools/Apply Filename Format". The same options exist for tags, its "Format while editing" checkbox can be found in "Settings/Configure Kid3.../Tags/Tag 1 and Tag 2" and the manual menu function is "Tools/Apply Tag Format".
Bug#791348: qtcreator: ClangCodeModel plugin missing
Dear Maintainer, To add the clang code model, you just have to add LLVM_INSTALL_DIR=/usr after USE_SYSTEM_BOTAN=1 in debian/rules, and probably libclang-dev to the Build-Depends in debian/control. Regards, Urs
Bug#680916: kid3: Performer tag silently replaced with an Arranger one
Do you think that this is something which could be improved or closing as wontfix? This cannot be fixed as both the Arranger and the Performer are mapped to IPLS for ID3v2.3.0. But having a Performer field being read back as an Arranger field looks like a bug, so I will add information about the mapping of the unified frame names to the real frames to the documentation (Kid3 handbook) for the next release. Regards, Urs -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#680915: kid3: Pipes cause tag corruption
For the Debian maintainers: Please reassign this bug to libid3-3.8.3c2a. Unfortunately, id3lib is not actively maintained, but I will try to fix the bug there and send a patch for id3lib. Here is a patch for id3lib, it has to be applied after debian/patches/30-fix-utf16.patch because it modifies the same file. It just inserts a BOM before each string of a string list, so that a valid string list is written. --- diff -ru id3lib-3.8.3.orig/src/io_helpers.cpp id3lib-3.8.3/src/io_helpers.cpp --- id3lib-3.8.3.orig/src/io_helpers.cpp2012-08-26 19:52:21.523825799 +0200 +++ id3lib-3.8.3/src/io_helpers.cpp 2012-08-26 19:53:02.060028394 +0200 @@ -373,10 +373,17 @@ //} // Right code unsigned char *pdata = (unsigned char *) data.c_str(); +unicode_t lastCh = BOM; for (size_t i = 0; i size; i += 2) { unicode_t ch = (pdata[i] 8) | pdata[i+1]; + if (lastCh == 0 ch != BOM) + { +// Last character was NULL, so start next string with BOM. +writer.writeChars((const unsigned char*) BOM, 2); + } writer.writeChars((const unsigned char*) ch, 2); + lastCh = ch; } // End patch } --- Regards, Urs diff -ru id3lib-3.8.3.orig/src/io_helpers.cpp id3lib-3.8.3/src/io_helpers.cpp --- id3lib-3.8.3.orig/src/io_helpers.cpp 2012-08-26 19:52:21.523825799 +0200 +++ id3lib-3.8.3/src/io_helpers.cpp 2012-08-26 19:53:02.060028394 +0200 @@ -373,10 +373,17 @@ //} // Right code unsigned char *pdata = (unsigned char *) data.c_str(); +unicode_t lastCh = BOM; for (size_t i = 0; i size; i += 2) { unicode_t ch = (pdata[i] 8) | pdata[i+1]; + if (lastCh == 0 ch != BOM) + { +// Last character was NULL, so start next string with BOM. +writer.writeChars((const unsigned char*) BOM, 2); + } writer.writeChars((const unsigned char*) ch, 2); + lastCh = ch; } // End patch }
Bug#680915: kid3: Pipes cause tag corruption
This is a bug in id3lib. As can be seen in the Kid3 source code: mp3file.cpp:465 // This will not work with buggy id3lib. A BOM 0xfffe is written before // the first string, but not before the subsequent strings. Prepending a // BOM or changing the byte order does not help when id3lib rewrites // this field when another frame is changed. So you cannot use // string lists with Unicode encoding. Kid3 uses the pipe character to separate strings in string lists. The IPLS frame contains a string list with alternating involvement, involvee strings, see http://www.id3.org/id3v2.3.0#sec4.4. So in this example, Vocal|Artist Name is a string list with involvement Vocal and involvee Artist Name and more could follow. Unfortunately, id3lib does not correctly encode string lists when UTF16 is used as encoding. You have the following possible workarounds: - When using string lists, do not use UTF16 encoding. You can set ISO-8859-1 as text encoding for ID3v2 in the Kid3 settings. Kid3 will automatically use UTF16 when a field contains non-ASCII characters. This will let you correctly encode those involved people lists if they contain only ASCII characters. - You can use ID3v2.4.0, where these problems do not exist. However, not all devices support ID3v2.4.0. For the Debian maintainers: Please reassign this bug to libid3-3.8.3c2a. Unfortunately, id3lib is not actively maintained, but I will try to fix the bug there and send a patch for id3lib. Regards, Urs -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#680916: kid3: Performer tag silently replaced with an Arranger one
Kid3 supports lots of different tag formats. All these formats have different fields, not all fields are present in all formats. Kid3 tries to unify the common field types between all supported formats, the unified fields are the standard fields from Title to Genre and additional fields from Album Artist to Website. Besides these unified fields, a lot of other format specific fields are supported, for ID3v2.3.0 from AENC to WXXX. Now there is the problem that not all of the unified fields can be unambiguously mapped to the fields of all formats. Here we have the Performer and Arranger fields. For ID3v2.4.0, Arranger is mapped to TIPL Involved people list and Performer is mapped to TMCL Musician credits list. TMCL The 'Musician credits list' is intended as a mapping between instruments and the musician that played it. Every odd field is an instrument and every even is an artist or a comma delimited list of artists. TIPL The 'Involved people list' is very similar to the musician credits list, but maps between functions, like producer, and names. However, in ID3v2.3.0, there is no such thing as TMCL, only IPLS (Involved people list), so both musicians and other involved people like the producer have to use the IPLS field. That's why Kid3 maps both Performer and Arranger to IPLS, and when the file is read back, there are two IPLS frames which are displayed as Arranger. So this is not a bug in Kid3, only a thing where ID3v2.3.0 is not as expressive as ID3v2.4.0. You can use ID3v2.4.0 if this is really a problem. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#648904: Kid3 doesn't handle UTF-8 properly with ID3v2 tags despite configuration
The encoding of ID3v2 tags is stored separately in every frame, so you cannot just switch one option to change them all. The encoding set in Settings, Configure Kid3, Tags tab, ID3v2 section, Text encoding is the encoding used for newly created frames. Normally, you do not have to change this from ISO-8859-1 because Kid3 will automatically choose the correct encoding (UTF-16 for ID3v2.3 and UTF-8 for ID3v2.4) if a frame contains non-ASCII characters. To view and change the encoding of a frame, select it and click the Edit button. You can set the encoding with the combo box at the top. Note that ID3v2.3 does not support UTF-8, so you should use UTF-16. For ID3v2.4, UTF-8 is a good choice. You can see in the Edit dialog that id3v2 does not write the tags correctly, it always sets the encoding to ISO-8859-1, so Kid3 displays Bonne journée correctly. If you enter Bonne journée in Kid3, it will automatically set the encoding to UTF16. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#555018: FTBFS with binutils-gold
This should be fixed in version 1.3. For version 1.2, you could apply the patches http://sourceforge.net/tracker/?func=detailaid=2843313group_id=70849atid=529223 and http://sourceforge.net/tracker/?func=detailaid=2843311group_id=70849atid=529223. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#465675: kid3: Changing interface language to a nonexistant translation switches some messages to German
Because Kid3 is an extra KDE program, its translations are included in the package, and not in the KDE language packs. So if you have Kid3 installed, you have also the German translation installed. I suppose that the fallback was set to German, which would be an explanation for the German interface elements. Another question is why Polish was selectable. The next version of Kid3 will have a Polish translation, but in 0.10 there is no Polish translation and thus this option should not be offered. The system will look through all translation directories for a kid3.mo translation file, so you can check what's going on by starting Kid3 like this: strace -e trace=file /usr/bin/kid3 Then go to Switch application language and look at the trace output. I have access(/usr/share/locale/pl/LC_MESSAGES/kid3.mo, R_OK) = 0 but you should not have a Polish kid3.mo on your system. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#447699: kid3: Allow configuration of default charset for new tags
I have implemented a configuration option for the default charset. If you would like to test it, you have to get the lastest code from subversion. The next release should come soon, but there is still a lot of testing and documentation to do. Regards, Urs -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#432953: kid3: kid3 not allowing creation of new export/import formats
Hi Paulo, I believe I found what seems to be the bug: if one of the fields, either from the import or the export dialog, is not filled, kid3 doesn't store the new format. Unfortunately, you're right. Kid3 stores the new format but it does not accept it the next time it is started because the empty fields are stripped from the end of the string list. This is a feature of KDE (KConfigBase), the Qt version uses the more or less compatible QSettings, which does not strip empty strings. Because I am doing most of the development with the Qt only version, I did not detect this bug. Sorry, a patch is available at http://sourceforge.net/tracker/index.php?func=detailaid=1753949group_id=70849atid=529223 Regards, Urs
Bug#432953: kid3: kid3 not allowing creation of new export/import formats
The following description of how to edit custom export/import formats was tested with the original kid3_0.9-0feisty_i386.deb from http://kid3.sourceforge.net (because I do not run lenny), but it should work with lenny too: - Start Kid3, open a directory with audio files in it. - File/Export, Custom Format - Now type into the three line edits the following lines and type Enter at the end of each line, so that Kid3 will update the preview: \\documentclass{article}\n\\begin{document}\n\\begin{enumerate}\n \\item %s\n \\end{enumerate}\n\\end{document} In the preview, you can now see a LaTeX file, now click Save Settings, and then export it, e.g. using To File or To Clipboard. - Close, File/Quit. If you start Kid3 again, your Custom format is still there. Now look into ~/.kde/share/config/kid3rc: (..) ExportFormatHeaders=,,#EXTM3U,[playlist],htmln headn title%a - %l/titlen /headn bodyn h1%a - %l/h1n dln,kovern titlen text![CDATA[%a ]]/textn text![CDATA[%l]]/textn /titlen content,documentclass{article}nbegin{document}nbegin{enumerate}n ExportFormatIdx=6 ExportFormatNames=CSV unquoted,CSV quoted,Extended M3U,Extended PLS,HTML,Kover XML,Custom Format ExportFormatTracks=%tt%st%at%lt%yt%gt%ct%d.00,%tt%st%at%lt%yt%gt%ct%d.00,#EXTINF:%D\\,%a - %sn%p,File%T=%pnTitle%T=%a - %snLength%T=%D, dta href=%u%t. %s/a/dt, text![CDATA[%t. %s]]/text,item %sn ExportFormatTrailers=,,,NumberOfEntries=%nnVersion=2, /dln /bodyn/html, /contentn/kover,end{enumerate}nend{document} (..) These are simple string lists. If you want to add an additional format called LaTeX while not touching the Custom format, use this: ExportFormatHeaders=,,#EXTM3U,[playlist],htmln headn title%a - %l/titlen /headn bodyn h1%a - %l/h1n dln,kovern titlen text![CDATA[%a ]]/textn text![CDATA[%l]]/textn /titlen content,,documentclass{article}nbegin{document}nbegin{enumerate}n ExportFormatIdx=0 ExportFormatNames=CSV unquoted,CSV quoted,Extended M3U,Extended PLS,HTML,Kover XML,Custom Format,LaTeX ExportFormatTracks=%tt%st%at%lt%yt%gt%ct%d.00,%tt%st%at%lt%yt%gt%ct%d.00,#EXTINF:%D\\,%a - %sn%p,File%T=%pnTitle%T=%a - %snLength%T=%D, dta href=%u%t. %s/a/dt, text![CDATA[%t. %s]]/text,,item %sn ExportFormatTrailers=,,,NumberOfEntries=%nnVersion=2, /dln /bodyn/html, /contentn/kover,,end{enumerate}nend{document} You just have to add another entry in all four entries (ExportFormatHeaders, ExportFormatNames, ExportFormatTracks, ExportFormatTrailers) after a comma. There are a lot of backslashes, this seems to be how KDE serializes backslashes. In Kid3, you need two backslashes for one in the output, a single backslash for special charactes like \n. KDE seems to quadruplicate all those backslashes. For the Import, it is the same: - File/Import, Custom Format - Leave the first line edit empty, in the second type (to import from the LaTeX file created before): \\item\s+%s(\S[^\r\n]*\S)\s* - Click Save Settings - Cancel, File/Quit. Now look into ~/.kde/share/config/kid3rc: (..) ImportFormatHeaders=,,%a(S[^rn/]*S)s*/s*%l(S[^rn]*S)[rn]+s*tracks:s+d+.*year:s*%y(d+)?.*genre:s*%g(S[^rn]*S)?[rn],[^]+%a([^s][^rn/]*S)s*/s*%l(S[^rn]*[^s])[^]+[rn]+s*tracks:s+d+.*year:s*%y(d+)?.*genre:s*%g(S[^rn]*S)?[^]+[rn] ImportFormatIdx=7 ImportFormatNames=CSV unquoted,CSV quoted,freedb HTML text,freedb HTML source,Title,Track Title,Track Title Time,Custom Format ImportFormatTracks=%t(d+)t%s([^rnt]*)t%a([^rnt]*)t%l([^rnt]*)t%y(d+)t%g([^rnt]*)t%c([^rnt]*)t(?:d+:)?%d(d+:d+),?%t(d+)?t?%s([^rnt]*)?t?%a([^rnt]*)?t?%l([^rnt]*)?t?%y(d+)?t?%g([^rnt]*)?t?%c([^rnt]*)?t?(?:d+:)?%d(d+:d+),[rn]%t(d+)[.s]+%d(d+:d+)s+%s(S[^rn]*S),td[^]*s*%t(d+)./tdtd[^]*s*%d(d+:d+)/tdtd[^]*(?:[^]+)?%s([^rn]+),s*%s(S[^rn]*S)s*,s*%t(d+)[.s]+%s(S[^rn]*S)s*,s*%t(d+)[.s]+%s(S[^rn]*S)s+%d(d+:d+)s*,items+%s(S[^rn]*S)s* (..) The ExportFormatIdx and ImportFormatIdx do not set the number of entries, just the index of the
Bug#428872: kid3: Recursively Open Subdirectories
Kid3 0.9 (released one day before your report) has a hierarchical file tree, which lets you edit files from multiple subdirectories. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#423468: kid3: Add more columns to MusicBrainz results dialog
Hi Felipe, I agree that it would be helpful to see the filenames in the MusicBrainz fingerprint dialog. Instead of adding a new column to the table, I decided to show the name of the current file in the status bar of the dialog. This should help in the situation you described. You can get the latest code from Subversion and find out if this is sufficient for you. Urs -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#370390: libtunepimp3: Crash in TRM lookup
Package: libtunepimp3 Version: 0.4.2-3 Severity: normal Tags: patch Note: I run Debian stable, but built libtunepimp3 on a Ubuntu dapper system as this comes closer to Debian testing than Debian stable. libtunepimp3 is not part of dapper (it still uses libtunepimp2), I needed it to port my project Kid3 to the new libtunepimp. Bug reproduction: Start tp_tagger (from packet libtunepimp-bin), add some MP3 or Ogg files and notice that the lookup process is stuck at TRM Lookup. If you start tp_tagger from gdb, the lookup thread is reported to crash with a segmentation fault in LookupTRM::lookup(), the location can be found out using a libtunepimp.so.3.0.0 with debugging information not stripped, it is line 170. Analysis: lib/lookuptools.cpp: At line 163, buffer temp is used as a buffer with 256 bytes. However, there is no buffer temp with 256 bytes in the innermost scope. The buffer temp used is defined in line 56 and has only 100 bytes. Thus when more than 100 bytes result data are read, temp is overflown and the thread can crash (if it does may depend on compiler optimization, linkage, ..., in my system it does). Patch: The following patch provides a sufficiently sized temp buffer. It also fixes some other buffer length violations (one byte more is used than available). ** begin of patch ** diff -ru libtunepimp-0.4.2.orig/lib/lookuptools.cpp libtunepimp-0.4.2/lib/lookuptools.cpp --- libtunepimp-0.4.2.orig/lib/lookuptools.cpp 2006-01-28 21:35:42.0 +0100 +++ libtunepimp-0.4.2/lib/lookuptools.cpp 2006-06-04 20:09:51.0 +0200 @@ -51,7 +51,7 @@ musicbrainz_t o; char *args[7]; intret, trackNum; -char error[255], data[255], trackURI[256], +char error[256], data[256], trackURI[256], artistURI[256], albumURI[256]; char temp[100], duration[100], status[100]; @@ -159,6 +159,7 @@ // Select the first release date if (mb_Select1(o, MBS_SelectReleaseDate, j)) { +char temp[256]; // Pull back the release date and release country if (mb_GetResultData(o, MBE_ReleaseGetDate, temp, 256)) { @@ -211,7 +212,7 @@ musicbrainz_t o; char *args[3]; intret; -char error[255], data[255]; +char error[256], data[256]; // - // NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE @@ -299,7 +300,7 @@ { musicbrainz_t o; intret; -char error[255]; +char error[256]; if (user.empty() || passwd.empty()) { ** end of patch ** And now for something completely different: It would be better to check for taglib 1.4 than 1.4.0 in configure, or taglib with version 1.4 will not be used. The following patch should solve this: ** begin of patch ** diff -ru libtunepimp-0.4.2.orig/configure libtunepimp-0.4.2/configure --- libtunepimp-0.4.2.orig/configure2006-06-04 23:47:52.0 +0200 +++ libtunepimp-0.4.2/configure 2006-06-02 19:30:24.0 +0200 @@ -19556,9 +19556,9 @@ echo *** Or see http://developer.kde.org/~wheeler/taglib.html; else TAGLIB_VERSION=`$TAGLIB_CONFIG --version` -echo $as_me:$LINENO: checking for taglib = 1.4.0 5 -echo $ECHO_N checking for taglib = 1.4.0... $ECHO_C 6 -VERSION_CHECK=`expr $TAGLIB_VERSION \\= 1.4.0` +echo $as_me:$LINENO: checking for taglib = 1.4 5 +echo $ECHO_N checking for taglib = 1.4... $ECHO_C 6 +VERSION_CHECK=`expr $TAGLIB_VERSION \\= 1.4` if test $VERSION_CHECK = 1 ; then echo $as_me:$LINENO: result: yes 5 echo ${ECHO_T}yes 6 diff -ru libtunepimp-0.4.2.orig/configure.in libtunepimp-0.4.2/configure.in --- libtunepimp-0.4.2.orig/configure.in 2006-06-04 23:47:52.0 +0200 +++ libtunepimp-0.4.2/configure.in 2006-06-04 23:45:25.0 +0200 @@ -77,7 +77,7 @@ AC_CHECK_HEADERS(iconv.h) dnl Check for TagLib 1.4 -AC_CHECK_TAGLIB(1.4.0, +AC_CHECK_TAGLIB(1.4, [TP_PLUGINS=$TP_PLUGINS mpc wma AC_DEFINE(HAVE_TAGLIB,1,[TagLib Support])], [AC_MSG_RESULT([no]) ** end of patch ** -- System Information: Debian Release: testing/unstable APT prefers dapper-updates APT policy: (500, 'dapper-updates'), (500, 'dapper-security'), (500, 'dapper') Architecture: i386 (i686) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.15-23-686 Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Versions of packages libtunepimp3 depends on: ii libc6 2.3.6-0ubuntu20 GNU C Library: Shared libraries an ii libgcc1 1:4.0.3-1ubuntu5 GCC support library ii libmusicbrainz4c2a 2.1.2-2ubuntu3 Second generation incarnation of t ii libstdc++6
Bug#339066: kid3: Old Ogg file is not removed when filename and tags are changed
Package: kid3 Version: 0.6-0 Severity: normal Tags: patch *** Please type your report below this line e** Bug reproduction: Change both the filename and the tags of an Ogg file, then save the file. There should only be a file with the new name and the new tags, but the old file still exists. Workaround: The old file is not removed when both the filename and the tags are changed. To work around this, change only the tags, then save the file, then change only the filename, then save the file again. Patch: --- kid3/oggfile.cpp.orig 2005-10-13 17:54:34.0 +0200 +++ kid3/oggfile.cpp2005-11-14 19:28:30.0 +0100 @@ -208,6 +208,7 @@ if (new_filename == filename) { QDir(dirname).remove(tempFilename); } else { + QDir(dirname).remove(filename); *renamed = true; } } else if (new_filename != filename) { -- System Information: Debian Release: 3.1 Architecture: i386 (i686) Kernel: Linux 2.6.8-2-686 Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ISO-8859-1) Versions of packages kid3 depends on: ii kdelibs4 4:3.3.2-6.3 KDE core libraries ii libart-2.0-2 2.3.17-1 Library of functions for 2D graphi ii libc6 2.3.2.ds1-22 GNU C Library: Shared libraries an ii libfam0c1022.7.0-6 client library to control the FAM ii libflac++4 1.1.1-5 Free Lossless Audio Codec - C++ ru ii libflac6 1.1.1-5 Free Lossless Audio Codec - runtim ii libgcc11:3.4.3-13GCC support library ii libice64.3.0.dfsg.1-14sarge1 Inter-Client Exchange library ii libid3-3.8.3 3.8.3-4.1 Library for manipulating ID3v1 and ii libidn11 0.5.13-1.0GNU libidn library, implementation ii libmad00.15.1b-1.1 MPEG audio decoder library ii libmusicbrainz42.1.1-3 Second generation incarnation of t ii libogg01.1.2-1 Ogg Bitstream Library ii libpng12-0 1.2.8rel-1PNG library - runtime ii libqt3c102-mt 3:3.3.4-3 Qt GUI Library (Threaded runtime v ii libsm6 4.3.0.dfsg.1-14sarge1 X Window System Session Management ii libstdc++5 1:3.3.5-13The GNU Standard C++ Library v3 ii libtunepimp2 0.3.0-3 MusicBrainz tagging library and si ii libvorbis0a1.1.0-1 The Vorbis General Audio Compressi ii libvorbisfile3 1.1.0-1 The Vorbis General Audio Compressi ii libx11-6 4.3.0.dfsg.1-14sarge1 X Window System protocol client li ii libxext6 4.3.0.dfsg.1-14sarge1 X Window System miscellaneous exte ii libxrender10.8.3-7 X Rendering Extension client libra ii xlibs 4.3.0.dfsg.1-14sarge1 X Keyboard Extension (XKB) configu ii zlib1g 1:1.2.2-4.sarge.2 compression library - runtime -- no debconf information -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#320077: kid3: Moving tag from ID3v2 to ID3v1 discards tag contents
Hi Daniel, [Aim] An mp3 file contains only an ID3v2 tag whose content should be moved to a newly created ID3v1 tag and the ID3v2 tag should be deleted. [Reproduce] 1. Fill the ID3v1 tag with information by clicking von ID3v2 / from ID3v2 2. Click the Entfernen (remove/delete) button on the right side of the ID3v2 tag 3. Save the directory contents (Save / Strg-s) [Expection] Now the ID3v2 tag should be gone and an ID3v1 tag should have been created which contains some of the copied information. [Reality] The ID3v2 tag has been deleted (OK), the ID3v1 tag has disappeared (bug!) and the tag information cannot be recovered. I just discovered your bug report. Thanks a lot, I could reproduce it. This seems to be a bug in the id3lib. When updating a tag (V1 or V2) and then stripping the other tag, the updated tag is stripped too. I fixed it by first stripping any empty tags (V1 or V2) and then updating non-empty tags (V1 or V2), see the following patch. This will be fixed in the next release. Regards, Urs --- kid3/kid3/mp3file.cpp.ba1 2005-09-09 20:07:34.0 +0200 +++ kid3/kid3/mp3file.cpp 2005-09-09 20:19:35.695272520 +0200 @@ -349,25 +349,28 @@ return FALSE; } - if (tagV1 (force || changedV1)) { - // There seems to be a bug in id3lib: The V1 genre is not - // removed. So we check here and strip the whole header - // if there are no frames. - if (tagV1-NumFrames() == 0) { - tagV1-Strip(ID3TT_ID3V1); - } else { - tagV1-Update(ID3TT_ID3V1); - } + // There seems to be a bug in id3lib: The V1 genre is not + // removed. So we check here and strip the whole header + // if there are no frames. + if (tagV1 (force || changedV1) (tagV1-NumFrames() == 0)) { + tagV1-Strip(ID3TT_ID3V1); changedV1 = FALSE; } - if (tagV2 (force || changedV2)) { - // Even after removing all frames, HasV2Tag() still returns true, - // so we strip the whole header. - if (tagV2-NumFrames() == 0) { - tagV2-Strip(ID3TT_ID3V2); - } else { - tagV2-Update(ID3TT_ID3V2); - } + // Even after removing all frames, HasV2Tag() still returns true, + // so we strip the whole header. + if (tagV2 (force || changedV2) (tagV2-NumFrames() == 0)) { + tagV2-Strip(ID3TT_ID3V2); + changedV2 = FALSE; + } + // There seems to be a bug in id3lib: If I update an ID3v1 and then + // strip the ID3v2 the ID3v1 is removed too and vice versa, so I + // first make any stripping and then the updating. + if (tagV1 (force || changedV1) (tagV1-NumFrames() 0)) { + tagV1-Update(ID3TT_ID3V1); + changedV1 = FALSE; + } + if (tagV2 (force || changedV2) (tagV2-NumFrames() 0)) { + tagV2-Update(ID3TT_ID3V2); changedV2 = FALSE; } if (new_filename != filename) {
Bug#311559: Bug#311865: kernel-image-2.4.27-2-686: module ip_conntrack fails to load
Hi, I am unable to reproduce your problem. On both kernel-image-2.4.27-2-686 2.4.27-10 and kernel-image-2.4.8-2-686 2.4.8-16 I am able to successfully modprobe (not insmod!) ip_conntrack. On 2.4.27-10 I see grep ipfrag_flush /proc/ksyms c01dfdf0 ipfrag_flush_R290ad055 And on kernel-image-2.4.8-2-686 grep ipfrag_flush /proc/kallsyms c023ccb0 T ipfrag_flush c023ccb0 U ipfrag_flush[ip_conntrack] For reference, the md5 sum of the image files are fcbebdc8a6ca001448bd7687f22c5111 /boot/vmlinuz-2.4.27-2-686 9cbb21574407fd163b9007afc87ef2f4 /boot/vmlinuz-2.6.8-2-686 -- Horms Hi, I finally found the source of my problems - not the kernel, but some fault of mine. I originally had a separate ext2 /boot partition, but after some fschk/repair sessions, I decided to get rid of it and put the boot stuff directly into the /boot directory of my root reiserfs partition. So I copied the contents of the /boot partition to the directory and adapted the entries in /boot/grub/menu.lst. However, I was not aware of those Debian-specific automagic options like groot. After the kernel upgrade, the installation routine updated the /boot/grub/menu.lst, but the root entries were set back to my old /boot partition (groot still pointed to it). The old boot partition was still fully functional, i.e. it contained the old kernel, so the system now happily booted the old kernel from the it, the modules and System.map were taken from the new kernel (/lib and /boot directories in the root partition) and the symbol ipfrag_flush which appeared in the new kernel could not be found. Sorry for the inconvenience I caused and thanks a lot for your work on that great release. Urs ___ Gesendet von Yahoo! Mail - Jetzt mit 1GB Speicher kostenlos - Hier anmelden: http://mail.yahoo.de -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#311865: kernel-image-2.4.27-2-686: module ip_conntrack fails to load
Package: kernel-image-2.4.27-2-686 Version: 2.4.27-10 Severity: important After upgrading to kernel 2.4.17-10 the module ip_conntrack could not be loaded. insmod /lib/modules/2.4.27-2-686/kernel/net/ipv4/netfilter/ip_conntrack.o /lib/modules/2.4.27-2-686/kernel/net/ipv4/netfilter/ip_conntrack.o: /lib/modules/2.4.27-2-686/kernel/net/ipv4/netfilter/ip_conntrack.o: unresolved symbol ipfrag_flush_R290ad055 ipfrag_flush can be found in System.map-2.4.27-2-686, but not in /proc/ksyms grep ipfrag_flush /boot/System.map-2.4.27-2-686 c01dfdf0 T ipfrag_flush c0255214 R __kstrtab_ipfrag_flush c025aa40 R __ksymtab_ipfrag_flush This caused the firewall to stop working. I reported the same bug for kernel-image-2.6.8-2-686 2.6.8-16: Bug#311559 Also for the 2.6.8 kernel the ip_conntrack module cannot be loaded because the symbol ipfrag_flash seems to be unknown. In the kernel source the symbol is exported. It can be found in the System.map, but not in /proc/kallsyms. I recompiled the 2.6.8 kernel image, the bug remained. I then compiled with CONFIG_KALLSYMS_EXTRA_PASS=y, but that did not help either. -- System Information: Debian Release: 3.1 APT prefers testing APT policy: (500, 'testing') Architecture: i386 (i686) Kernel: Linux 2.4.27-2-686 Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ISO-8859-1) Versions of packages kernel-image-2.4.27-2-686 depends on: ii coreutils [fileutils] 5.2.1-2The GNU core utilities ii initrd-tools 0.1.81.1 tools to create initrd image for p ii modutils 2.4.26-1.2 Linux module utilities -- no debconf information ___ Gesendet von Yahoo! Mail - Jetzt mit 1GB Speicher kostenlos - Hier anmelden: http://mail.yahoo.de -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#311559: kernel-image-2.6.8-2-686: module ip_conntrack fails to load
Package: kernel-image-2.6.8-2-686 Version: 2.6.8-16 Severity: important After upgrading from kernel 2.6.8-13 to 2.6.8-16 the module ip_conntrack could not be loaded. ip_conntrack: Unknown symbol ipfrag_flush also unknown symbols: ip_conntrack_untracked, ip_conntrack_get, need_ip_conntrack This caused the firewall to stop working, so I had to downgrade to 2.6.8-13 again. -- System Information: Debian Release: 3.1 APT prefers testing APT policy: (500, 'testing') Architecture: i386 (i686) Kernel: Linux 2.6.8-2-686 Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ISO-8859-1) Versions of packages kernel-image-2.6.8-2-686 depends on: ii coreutils [fileutils] 5.2.1-2The GNU core utilities ii initrd-tools 0.1.81.1 tools to create initrd image for p ii module-init-tools 3.2-pre1-2 tools for managing Linux kernel mo -- no debconf information ___ Gesendet von Yahoo! Mail - Jetzt mit 1GB Speicher kostenlos - Hier anmelden: http://mail.yahoo.de -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]