[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Question regarding OpenMRS packaging - JAR dependencies in source?



Dear All:

Please pardon my disturbance on your list.

We (Andreas Tille and I, as part of the debian-med packaging team)
have submitted the following package for OpenMRS to the FTP masters:
http://ftp-master.debian.org/new/openmrs_1.6.1-1.html

It is based on OpenMRS 1.6.1, which can be found:
http://svn.openmrs.org/openmrs/tags/1.6.1/

Specifically, we have received the following comment from FTP masters:
On Tue, Nov 9, 2010 at 3:32 PM, Luca Falavigna <ftpmaster@debian.org> wrote:
> Hi,
>
> There are a lot of .jar files which contain .class binary objects.
> Are correspondant source files shipped in upstream tarball?
> Is there a way to recreate those .jar files at build time?
>
> Cheers,
> Luca

My reply is below. It seems this is referencing this directory:
http://svn.openmrs.org/openmrs/tags/1.6.1/lib/
which has quite a few JAR artifacts.

As per my response below, I have found one example, referenced by the
Java Packaging team as a "good example
of up to date projects" is:
http://packages.debian.org/testing/misc/weirdx
(see http://wiki.debian.org/Java/ExamplePackages for reference)

You will note that, if you browse the "source tarball":
http://ftp.de.debian.org/debian/pool/main/w/weirdx/weirdx_1.0.32.orig.tar.gz
there is a jar file with similar binary artifacts (misc/weirdx.jar).

I was wondering if you had any input on Luca's question?

Thank you

Yours
Misha

---------- Forwarded message ----------
From: Misha Koshelev <misha680@gmail.com>
Date: Tue, Nov 9, 2010 at 5:01 PM
Subject: Re: Comments regarding openmrs_1.6.1-1_amd64.changes
To: Luca Falavigna <ftpmaster@debian.org>
Cc: Debian Med Packaging Team
<debian-med-packaging@lists.alioth.debian.org>, tille@debian.org,
Debian FTP Masters <ftpmaster@ftp-master.debian.org>


Dear Luca et al,

Thank you very much for your well thought out comment regarding the
JAR files. You are correct, the JAR files do indeed include .class
files, which are indeed binary artifacts.

In fact, let me preface this by saying that the problem with Java
packages built with the ant tool:
http://ant.apache.org/
is that they include their binary (library) dependencies in their
"source tarballs." Yes, I realize the irony in this, but that is the
problem with that tool.

In fact, OpenMRS trunk has switch to Maven - a tool whose exact
purpose is to resolve dependencies at build time. This works quite
well on the trunk version but, as you can guess, seems to be a
nightmare for Debian packaging especially, as, to my understanding,
the Debian build servers must be able to function with the source
completely offline.

Additionally, I have done some work in this direction (_not_ what is
posted as Maven is not yet used for a stable version of OpenMRS).
Please see:
http://lists.debian.org/debian-java/2010/10/msg00017.html
In short:
"I am the author of Maven builder, so I hope I can help here.

First, the tools are still under development, they are usable for
simple libraries and Maven plugins, but not quite yet for big
projects."

You will also note that existing Debian Java packages actually seem to
include such "binary" components in their source packages as well.

One example, referenced by the Java Packaging team as a "good example
of up to date projects" is:
http://packages.debian.org/testing/misc/weirdx
(see http://wiki.debian.org/Java/ExamplePackages for reference)

You will note that, if you browse the "source tarball":
http://ftp.de.debian.org/debian/pool/main/w/weirdx/weirdx_1.0.32.orig.tar.gz
there is a jar file with similar binary artifacts (misc/weirdx.jar).

In this case, actually, its existence seems quite strange, as the
weirdx.jar file here appears to actually contain classes which are
also present in source form. I am not 100% clear on the reason for its
inclusion at all.

In any case, I will email the Debian Java packaging team to see if
they have any suggestions.

Thank you very much

Yours
Misha

On Tue, Nov 9, 2010 at 3:32 PM, Luca Falavigna <ftpmaster@debian.org> wrote:
> Hi,
>
> There are a lot of .jar files which contain .class binary objects.
> Are correspondant source files shipped in upstream tarball?
> Is there a way to recreate those .jar files at build time?
>
> Cheers,
> Luca
>
>
>


Reply to: