Bug#719094: generates broken Class-Path in MANIFEST.MF

2013-08-08 Thread Daniel Pocock
Package: javahelper
Version: 0.43
Severity: important

I've tried listing my classpath JARs in both debian/manifest and in
debian/rules (export CLASSPATH)

Either way, the generated MANIFEST.MF is broken, because of the line
wrapping issue, e.g. I have


Class-Path: /usr/share/java/jar1.jar /usr/share/java/jar2.jar /usr/shar
 e/java/jar3.jar


Notice how it is automatically wrapped at approximately 70 characters? 
jh_manifest needs to generate an indented line for each JAR, e.g.

Class-Path: /usr/share/java/jar1.jar
 /usr/share/java/jar2.jar
 /usr/share/java/jar3.jar

As a work-around, I was able to insert spaces in the debian/manifest
file to make it wrap where I want it to, making it one very long line
with lots of spaces between each classpath entry

__
This is the maintainer address of Debian's Java team
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-maintainers. 
Please use
debian-j...@lists.debian.org for discussions and questions.


Bug#719094: generates broken Class-Path in MANIFEST.MF

2013-08-08 Thread Emmanuel Bourg
Manifest files support wrapped values, see:

http://docs.oracle.com/javase/1.3/docs/guide/jar/jar.html#Notes%20on%20Manifest%20and%20Signature%20Files

No line may be longer than 72 bytes (not characters), in its
UTF8-encoded form. If a value would make the initial line longer than
this, it should be continued on extra lines (each starting with a single
SPACE).

__
This is the maintainer address of Debian's Java team
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-maintainers. 
Please use
debian-j...@lists.debian.org for discussions and questions.


Bug#719094: generates broken Class-Path in MANIFEST.MF

2013-08-08 Thread Daniel Pocock
On 08/08/13 15:08, Emmanuel Bourg wrote:
 Manifest files support wrapped values, see:

 http://docs.oracle.com/javase/1.3/docs/guide/jar/jar.html#Notes%20on%20Manifest%20and%20Signature%20Files

 No line may be longer than 72 bytes (not characters), in its
 UTF8-encoded form. If a value would make the initial line longer than
 this, it should be continued on extra lines (each starting with a single
 SPACE).



I tried doing that in debian/manifest, but it still didn't work, they
were just joined together again

Can you give an example of how debian/manifest should be written?

__
This is the maintainer address of Debian's Java team
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-maintainers. 
Please use
debian-j...@lists.debian.org for discussions and questions.


Bug#719094: generates broken Class-Path in MANIFEST.MF

2013-08-08 Thread Niels Thykier
On 2013-08-08 15:15, Daniel Pocock wrote:
 On 08/08/13 15:08, Emmanuel Bourg wrote:
 Manifest files support wrapped values, see:

 http://docs.oracle.com/javase/1.3/docs/guide/jar/jar.html#Notes%20on%20Manifest%20and%20Signature%20Files

 No line may be longer than 72 bytes (not characters), in its
 UTF8-encoded form. If a value would make the initial line longer than
 this, it should be continued on extra lines (each starting with a single
 SPACE).

 
 
 I tried doing that in debian/manifest, but it still didn't work, they
 were just joined together again
 
 Can you give an example of how debian/manifest should be written?
 
 [...]

jh_manifest will wrap the lines unconditionally.  But that is not the
issue.  The class path entry generated:


Class-Path: /usr/share/java/jar1.jar /usr/share/java/jar2.jar /usr/shar
 e/java/jar3.jar


is perfectly legal and to my knowledge correct (which I believe was the
point Emmanuel was trying to make).  The above will unwrap to (the eqv. of):

Class-Path: /usr/share/java/jar1.jar /usr/share/java/jar2.jar
 /usr/share/java/jar3.jar

~Niels

__
This is the maintainer address of Debian's Java team
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-maintainers. 
Please use
debian-j...@lists.debian.org for discussions and questions.


Bug#719094: generates broken Class-Path in MANIFEST.MF

2013-08-08 Thread Daniel Pocock
On 08/08/13 15:47, Niels Thykier wrote:
 On 2013-08-08 15:15, Daniel Pocock wrote:
 On 08/08/13 15:08, Emmanuel Bourg wrote:
 Manifest files support wrapped values, see:

 http://docs.oracle.com/javase/1.3/docs/guide/jar/jar.html#Notes%20on%20Manifest%20and%20Signature%20Files

 No line may be longer than 72 bytes (not characters), in its
 UTF8-encoded form. If a value would make the initial line longer than
 this, it should be continued on extra lines (each starting with a single
 SPACE).


 I tried doing that in debian/manifest, but it still didn't work, they
 were just joined together again

 Can you give an example of how debian/manifest should be written?

 [...]
 jh_manifest will wrap the lines unconditionally.  But that is not the
 issue.  The class path entry generated:

 
 Class-Path: /usr/share/java/jar1.jar /usr/share/java/jar2.jar /usr/shar
  e/java/jar3.jar
 

 is perfectly legal and to my knowledge correct (which I believe was the
 point Emmanuel was trying to make).  The above will unwrap to (the eqv. of):

 Class-Path: /usr/share/java/jar1.jar /usr/share/java/jar2.jar
  /usr/share/java/jar3.jar

Just to clarify: you are suggesting that I should manually break the
lines in debian/manifest at 72 characters and then the JVM will
concatenate them back together again at runtime?

__
This is the maintainer address of Debian's Java team
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-maintainers. 
Please use
debian-j...@lists.debian.org for discussions and questions.


Bug#719094: generates broken Class-Path in MANIFEST.MF

2013-08-08 Thread Niels Thykier
On 2013-08-08 15:49, Daniel Pocock wrote:
 [...]
 
 Just to clarify: you are suggesting that I should manually break the
 lines in debian/manifest at 72 characters

No, jh_manifest will do that for you - whether you like it or not.

 and then the JVM will concatenate them back together again at runtime?
 
 

Yes, just like a RFC822 parser will concatenate


Field: a...b
 c


into a...bc.

~Niels

__
This is the maintainer address of Debian's Java team
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-maintainers. 
Please use
debian-j...@lists.debian.org for discussions and questions.


Bug#719094: generates broken Class-Path in MANIFEST.MF

2013-08-08 Thread Daniel Pocock
On 08/08/13 15:59, Niels Thykier wrote:
 On 2013-08-08 15:49, Daniel Pocock wrote:
 [...]

 Just to clarify: you are suggesting that I should manually break the
 lines in debian/manifest at 72 characters
 No, jh_manifest will do that for you - whether you like it or not.

 and then the JVM will concatenate them back together again at runtime?


 Yes, just like a RFC822 parser will concatenate

 
 Field: a...b
  c
 

 into a...bc.


I found that the generated Class-Path line would not work. 
ClassNotFound exceptions

After I do the hack (inserting spaces) the JAR works

It's a new package - when I upload, I'll send you the VCS link and you
can tell me if I'm doing something stupid or if it is really a bug.

Regards,

Daniel

__
This is the maintainer address of Debian's Java team
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-maintainers. 
Please use
debian-j...@lists.debian.org for discussions and questions.


Bug#719094: generates broken Class-Path in MANIFEST.MF

2013-08-08 Thread Daniel Pocock
On 08/08/13 16:43, Emmanuel Bourg wrote:
 If you just want to set the classpath I suggest using jh_classpath
 instead. The debian/package.classpath file contains one line per jar and
 you don't have to care about the length of the lines:

 usr/share/java/foo.jar jar1.jar jar2.jar jar3.jar


Here is the package:
   http://git.debian.org/?p=collab-maint/avis.git;a=summary

It is currently in the NEW queue

Could you have a look and tell me if I've used javahelper correctly or
even try to build it the way you propose?

__
This is the maintainer address of Debian's Java team
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-maintainers. 
Please use
debian-j...@lists.debian.org for discussions and questions.


Bug#719094: generates broken Class-Path in MANIFEST.MF

2013-08-08 Thread Emmanuel Bourg
If you just want to set the classpath I suggest using jh_classpath
instead. The debian/package.classpath file contains one line per jar and
you don't have to care about the length of the lines:

usr/share/java/foo.jar jar1.jar jar2.jar jar3.jar

__
This is the maintainer address of Debian's Java team
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-maintainers. 
Please use
debian-j...@lists.debian.org for discussions and questions.