Bug#533775: libjaudiotagger-java: org.jaudiotagger.tag.reference.ISOCountry$Country miscompiled due to charset issues

Max Bowsher maxb at f2s.com
Sat Jun 20 12:19:47 UTC 2009


Package: libjaudiotagger-java
Version: 1.0.9-1
Severity: normal
Tags: patch

The class org.jaudiotagger.tag.reference.ISOCountry$Country contains
several enum values whose name contains non-ASCII characters. In the
current .deb in the archive, these have been miscompiled - for example:

'åLAND_ISLANDS' -> 'eLAND_ISLANDS'
'CôTE_D_IVOIRE' -> 'CtTE_D_IVOIRE'

If I rebuild the package locally on an uptodate squeeze system set to a
UTF-8 locale, the values are still miscompiled, though differently -
there, the non-ASCII characters are simple elided entirely.

The silent miscompilation is, I believe, a bug in GCJ, since in Ubuntu,
which uses OpenJDK, the package FTBFS.

The cause is that the encoding of the Java source is not declared in
debian/build.xml. It *is* declared in the upstream build.xml which is
not used in the debian build.

Accordingly, the "patch" is as follows:

  Add the attribute encoding="cp1252" to the <javac/> tag in
  debian/build.xml, as is present in the <javac/> tags in the upstream
  build.xml.





More information about the pkg-java-maintainers mailing list