Re: scala-tools-sbinary_0.4.2+2.11.M5-1_amd64.changes REJECTED

2017-10-04 Thread Thorsten Alteholz

Hi Andreas,

On Wed, 4 Oct 2017, Andreas Tille wrote:


I was asking on IRC #debian-ftp how we can deal with the current
deadlock and lamby suggested to ping you again.  We are just waiting
for advise what to do next.  If re-uploading as it was is a sensible
thing to do please let us know.  If not, what exactly do you expect
us to do?


as long as all sources are available in the upload, I think the "buildable 
from source"-requirement can be loosened for bootstrapping the package.
If I remember correctly, the missing sources and the incomplete 
debian/copyright have been the only reasons for the rejection (except 
somebody else objects now).



On Tue, Sep 05, 2017 at 09:19:44AM +0200, Frederic Bonnard wrote:

If binary jars for compilation are a problem, what should be done when
for example you have a font file (with DFSG compatible license) that is
used for generating image files at build time and those generated images
will be included in the binary package. Should that source package be
refused because the project didn't include the source of the font file
(which can come from another project) ? (that could be a font file or
any image without the source but with a DFSG license still)


Generally speaking, if you can not build each part of a binary package 
from source, this package can not be in main. Somehow you have to create 
that font file, afterwards you create the images and put them into the 
binary package. This doesn't sound much different from compiled sources!?


  Thorsten



Re: Freeplane needs rebuild

2017-10-04 Thread Felix Natter
hello Debian-java,

Felix Natter  writes:
>> I tested freeplane-1.6.6-1 on a sid VM and a testing laptop, and found
>> that the OSGi plugins aren't loaded.
>>
>> This is fixed if I rebuild exactly the version with tag debian/1.6.6-1,
>> also on the testing system.
>>
>> I don't know what caused this, but shall I trigger a rebuild?
>> I think the best way is to fix a small error like #875322 (drop
>> dependency on jython, which is no longer needed in batik-1.9-3)?
>
> Could someone please sponsor a trivial 1.6.6-2 upload?
>
>   https://anonscm.debian.org/cgit/pkg-java/freeplane.git
>
> I only removed a build dep and updated standards-version.
> I hope that this will remediate the problem on Debian (OSGi plugins not
> started) and Ubuntu (LP: 1720670, missing MANIFESTS).

I found out that the issue is the parallel build introduced in debhelper
level 10. I can reproduce the broken package (now with the exact same
problem as on Ubuntu artful, phew!) with --jobs=8.

Could someone please sponsor the trivial freeplane-1.6.6-3 upload?

https://anonscm.debian.org/cgit/pkg-java/freeplane.git

freeplane (1.6.6-3) unstable; urgency=medium

  * Fix broken build on buildds by disabling parallel build

 -- Felix Natter   Wed, 04 Oct 2017 21:14:57 +0200

Many Thanks!
-- 
Felix Natter
debian/rules!



Re: scala-tools-sbinary_0.4.2+2.11.M5-1_amd64.changes REJECTED

2017-10-04 Thread Andreas Tille
Hi Thorsten,

I was asking on IRC #debian-ftp how we can deal with the current
deadlock and lamby suggested to ping you again.  We are just waiting
for advise what to do next.  If re-uploading as it was is a sensible
thing to do please let us know.  If not, what exactly do you expect
us to do?

Kind regards

 Andreas.

On Tue, Sep 05, 2017 at 09:19:44AM +0200, Frederic Bonnard wrote:
> Forwarding to the correct debian-java mailing list..
> 
> ---
> 
> Hi Thorsten,
> 
> thanks for working on that and everybody that answered to help this
> topic to progress. I've been off my computer last week.
> 
> > your package seems to consist mostly of jar files without the corresponding 
> > sources. So I am afraid I have to reject it.
> 
> That's right, there are several jars that are part of the embedded sbt
> binary distribution that is used to only build the current sbt.
> All started here :
> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=639910#118
> 
> There Mehdi Dogguy explained we can bootstrap sbt this way as long as we
> do not ship those binary jars in the Debian binary package. It seems
> this process has been followed for other softwares.
> 
> That looked ok for me since the spirit of Debian is there : the
> different components to upload are DFSG compliant : the sources of sbt
> are there (2) and licenses of all files are DFSG compliant (10) (other
> DFSG points are ok too; no mention of specific distribution point or
> restriction, classical licenses).
> 
> The only thing is that in main the set of components that I've pushed
> may Depends on each other for runtime, but a simultaneous push in main
> of those should in theory be ok (2.2.1 : None of the packages in the
> main archive area require software outside of that area to function.)
> 
> If binary jars for compilation are a problem, what should be done when
> for example you have a font file (with DFSG compatible license) that is
> used for generating image files at build time and those generated images
> will be included in the binary package. Should that source package be
> refused because the project didn't include the source of the font file
> (which can come from another project) ? (that could be a font file or
> any image without the source but with a DFSG license still)
> 
> Sorry to play the devil's advocate and being irritating, I'm not that
> kind :), just willing to understand.
> So, am I missing some clear and strict policy point or is that a
> question of interpretation.
> 
> F.
> 
> > 
> >   Thorsten
> > 
> > 
> > 
> > ===
> > 
> > Please feel free to respond to this email if you don't understand why
> > your files were rejected, or if you upload new files which address our
> > concerns.
> > 





-- 
http://fam-tille.de



Re: Review of fairsim, libjtransforms-java and libjlargearray-java

2017-10-04 Thread Markus Koschany
Am 04.10.2017 um 17:42 schrieb Carnë Draug:
> On 3 October 2017 at 18:12, Markus Koschany  wrote:
>> Am 03.10.2017 um 17:30 schrieb Carnë Draug:
>>> On 2 October 2017 at 00:21, Markus Koschany  wrote:
 [...]
 You don't have to add the classpath to the library. The Lintian check
 that warned about this issue has recently been removed.
>>>
>>> Without the classpath, then users of the jar files need to figure out
>>> the dependencies themselves which does not work.  As someone that
>>> routinely uses java libraries via Python and Octave, I find it
>>> essential.
>>
>> It really depends on the build system. Since this is a Maven project
>> dependencies are declared in pom.xml files. What you are referring to is
>> Debian's way of installing jar files into /usr/share/java. This is meant
>> for build systems like Ant where you can easily add a symlink to your
>> package and reference the versionless jar file. That's fine if you want
>> to support this use case but it is not essential to get another package
>> working and it might even introduce unwanted side effects like [1].
> 
> I don't understand why the build system used by a project should
> affect the end user of said project.
> 
> I am also not referring to the Debian's way of installing jar files
> into /usr/share/java. 

[...]

Those libraries are Maven projects and they are intended to be used as
dependencies for other Maven projects by upstream. I can't find any hint
of support for other build systems in the original tarballs. What you
are doing is adding support for other use cases by installing the jar
files into /usr/share/java. That's absolutely fine and the historical
way how Java projects were initially packaged for Debian. For a pure
Maven project adding the Class-Path attribute to the manifest file would
be unnecessary because the files in /usr/share/java are not used by Maven.

> 
 If you do it and
 use jh_classpath or the *.classpath file then you must specify the
 absolute path to the libraries otherwise they won't be found.
>>>
>>> Not true.  The path can be relative to the directory of the jar file
>>> that contains the manifest file.
>>
>> Let me rephrase this. It is possible but bad practice. Don't assume that
>> your jar file is always in the same directory as your dependencies. The
>> only way to ensure that is to use an absolute path.
>>
> 
> Why is that bad practice?

Can you guarantee that your relative path is always unambiguous even if
you copy the jar file into another project or install the jar file into
a completely different directory? I have been working for the past five
years in this team and I can tell you a lot of things can go wrong when
it comes to class loading. It really helps if all packages behave
identical hence you will find many, many packages in our team that use
absolute paths when exporting the CLASSPATH variable or when modifying
the Class-Path attribute.

[...]
>>
>> I can reproduce your issue. This is related to upstream's unusual choice
>> of options in the pom.xml file. First of all I'm not sure why he won't
>> simply stick to the default Maven directory layout (src/main/...).
> 
> Because he doesn't use or like maven.  It's there only so that other
> people can make use of it but he uses the Makefile for himself.

That is not an excuse for writing bad pom files.

>  I can
> also understand why one would find the default maven directory layout
> too deep.

Actually the coherent and logical structure of Maven projects is one of
Maven's biggest strengths.

> 
>> This
>> would solve your problem immediately. The issue here is that he uses
>> ./ which tells Maven to look into the
>> root of your build directory and then it detects the patched class in
>> the ~/.pc directory and the original class under org and fails.
>>
>> I would try to fix the build system (the pom.xml) but I don't have a
>> patch at hand at the moment. Perhaps someone else on the list knows a
>> better solution.
>>
> 
> I have tried to change the build system already but I can't figure out
> the right maven magic to make it look only inside ".org" either.  I
> think it may have to do with how debian-maven-helper is used.  Note
> how I had to manually remove a java file from the source tree in
> `rules` [2] even though `pom.xml` should clearly exclude it [3].

This is not an issue with maven-debian-helper because it simply invokes
Maven which rightfully complains about duplicated classes. The pom.xml
and the directory layout should be changed.

Markus



signature.asc
Description: OpenPGP digital signature


Re: Review of fairsim, libjtransforms-java and libjlargearray-java

2017-10-04 Thread Carnë Draug
On 3 October 2017 at 18:12, Markus Koschany  wrote:
> Am 03.10.2017 um 17:30 schrieb Carnë Draug:
>> On 2 October 2017 at 00:21, Markus Koschany  wrote:
>>> [...]
>>> You don't have to add the classpath to the library. The Lintian check
>>> that warned about this issue has recently been removed.
>>
>> Without the classpath, then users of the jar files need to figure out
>> the dependencies themselves which does not work.  As someone that
>> routinely uses java libraries via Python and Octave, I find it
>> essential.
>
> It really depends on the build system. Since this is a Maven project
> dependencies are declared in pom.xml files. What you are referring to is
> Debian's way of installing jar files into /usr/share/java. This is meant
> for build systems like Ant where you can easily add a symlink to your
> package and reference the versionless jar file. That's fine if you want
> to support this use case but it is not essential to get another package
> working and it might even introduce unwanted side effects like [1].

I don't understand why the build system used by a project should
affect the end user of said project.

I am also not referring to the Debian's way of installing jar files
into /usr/share/java.  I am saying that users of library X in Debian
should not need to figure out which are the dependencies of library X
and add it to the java classpath themselves.  For example, to make use
of libfairsim in Python without having the classpath defined in the
manifest file, a user will have to add the JlargeArrays, JTransforms,
and commons-math3 jar files to the classpath.  As if that was not bad
enough, the user will need to figure out himself this list of
dependencies.

This is not limited to use java libraries in Python.  It also happens
in Octave.  And it is also an issue in ImageJ which is a Java
application where plugins are the jar files in its plugins directory.
That's simply not usable.

Maybe Class-Path is not an ideal solution but is there an alternative
to it?

>>> If you do it and
>>> use jh_classpath or the *.classpath file then you must specify the
>>> absolute path to the libraries otherwise they won't be found.
>>
>> Not true.  The path can be relative to the directory of the jar file
>> that contains the manifest file.
>
> Let me rephrase this. It is possible but bad practice. Don't assume that
> your jar file is always in the same directory as your dependencies. The
> only way to ensure that is to use an absolute path.
>

Why is that bad practice?

Is that in case another package uses a symlink to the jar file and
uses it instead?  My experience is that even when there's symlinks
involved, the Class-Path will be relative to directory of the real
file.  Even if the other packages make symlinks to the jar, it will
still find the dependencies.

Or is that to cover the case the user copies the file and uses it
somewhere else?

>>> I also suggest to remove the --has-package-version flag from the *.poms
>>> files. There was a recent change in maven-debian-helper that
>>> automatically adds a versioned dependency to reverse-dependencies if one
>>> of their build-dependencies uses this flag. In my opinion in most cases
>>> this is too strict and not what you probably wanted.
>>>
>>> Regarding your failing patch I'm not sure. It doesn't sound like it is
>>> Java specific. You can send me your patch and I can take a look though.
>>>
>>
>> Here is the patch [1].  When I build with this patch, quilt will make
>> a copy of the original org.fairsim.fiji.FairSim_ImageJplugin package
>> in `.pc/set-git-build-id.patch/org/fairsim/fiji/FairSim_ImageJplugin.java`
>> This causes a duplicate class error because both the original and copy
>> are found.
>
> I can reproduce your issue. This is related to upstream's unusual choice
> of options in the pom.xml file. First of all I'm not sure why he won't
> simply stick to the default Maven directory layout (src/main/...).

Because he doesn't use or like maven.  It's there only so that other
people can make use of it but he uses the Makefile for himself.  I can
also understand why one would find the default maven directory layout
too deep.

> This
> would solve your problem immediately. The issue here is that he uses
> ./ which tells Maven to look into the
> root of your build directory and then it detects the patched class in
> the ~/.pc directory and the original class under org and fails.
>
> I would try to fix the build system (the pom.xml) but I don't have a
> patch at hand at the moment. Perhaps someone else on the list knows a
> better solution.
>

I have tried to change the build system already but I can't figure out
the right maven magic to make it look only inside ".org" either.  I
think it may have to do with how debian-maven-helper is used.  Note
how I had to manually remove a java file from the source tree in
`rules` [2] even though `pom.xml` should clearly exclude it [3].

Carnë

[2] https://github.com/carandraug/debian-fairsim/blob/master/debian/rul