Bug#574029: jh_manifest utf8 errors

Matthew Johnson mjj29 at debian.org
Tue Apr 27 21:42:42 UTC 2010


On Tue Apr 27 09:57, Picca Frédéric-Emmanuel wrote:
> 
> > I really could do with seeing the manifest from either of your packages - I
> > suspect that there is non-utf8 data in there. Without seeing it though I can't
> > reproduce or suggest a fix. (I'm afraid I can't read winmail.dat)
> 
> sorry for such a late answer.
> 
> Attached the faulty manifest file, the one from ATKWidget-4.0.6.jar.

Hmm, this is very weird, I cannot reproduce this failure either by manually
running jh_manifest, or building the package in a clean chroot (via cowbuilder)
- it builds just fine.

> it seems that this MANIFEST is not in unix format.

That should not be a problem.

> the error is still:
> 
> Traceback (most recent call last):
>   File "/usr/bin/jh_manifest", line 264, in <module>
>     updatejar(j, tempmanifest, args)
>   File "/usr/bin/jh_manifest", line 78, in updatejar
>     manifest = parseManifest(tempdir + "/META-INF/MANIFEST.MF", None, manifest)
>   File "/usr/bin/jh_manifest", line 164, in parseManifest
>     manifest[section][i.strip()] = sec[i].strip().replace('\n ','')
>   File "/usr/lib/pymodules/python2.5/debian/deb822.py", line 179, in __getitem__
>     value = value.decode(self.encoding)
>   File "/usr/lib/python2.5/encodings/utf_8.py", line 16, in decode
>     return codecs.utf_8_decode(input, errors, True)
> UnicodeDecodeError: 'utf8' codec can't decode byte 0xf3 in position 5: unexpected end of data

This is really weird, since none of the manifests I have after building, nor
the one you sent me, contain a byte with the value f3 (according to hexdump).

I have two more questions: what locale are you building in, and could you run
the following command after you get a build failure (either of you):

   for j in `find debian -name *.jar `; 
   do 
      rm -rf META-INF; 
      jar xf $j META-INF/MANIFEST.MF;
      hexdump -C META-INF/MANIFEST.MF | grep -i f3;
   done

For me this returns no results - ie, none of the manifests contain a byte 0xf3.

I know this isn't really helping with getting javahelper working for you.
There's an easy work around though - you're probably not actually using any
jh_manifest features, so you could just add:

override_jh_manifest:
   
to your debian/rules file (assuming dh7) and it will skip running it at all.
This should be fine.

Matt
-- 
Matthew Johnson
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 835 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-java-maintainers/attachments/20100427/fba2fc29/attachment.pgp>


More information about the pkg-java-maintainers mailing list