Discussion:
Howto package a eclipse-RCP application for Debian?
(too old to reply)
Niklaus Giger
2010-02-15 23:40:02 UTC
Permalink
Hi

Since almost 10 years I use Debian on my home machines and enjoyed it very
much. Getting tired of being forced to use propiertary OS and programs I will
try to be an independent consultant and developer.

I would like to bring (at least a subset) of a Eclipse RCP application for
general practioners (www.elexis.ch) into Debian, which is listed at
http://debian-med.alioth.debian.org/tasks/practice as "No know packages
available"

The program is under the Eclipse 1.0 license and available via SVN.

It's dependencies are listed here:
https://elexis.svn.sourceforge.net/svnroot/elexis/trunk/elexis-developer-
resources/doc/developer.textile

I am at the moment digesting all the info at mentors.debian.org, the debian
policy and willing to invest quite a few hours to get it into Debian.

Can anyone point me to package which has similar characteristics? Is
http://mentors.debian.net/cgi-bin/sponsor-pkglist?action=details;package=solr
a good starting point?

Should I use git-svn to get the source code from the repository?

As it needs Eclipse 3.5 I am looking forward for the moment when the announces
packages will arrive in unstable. Or shall I install manually the Ubuntu ones?

Any hint welcome.

Best regards

Niklaus

--
Niklaus Giger
Wieshoschet 6
CH-8753 Mollis
+41 (0)55 612 20 54 P
+41 (0)55 618 64 68 G
--
To UNSUBSCRIBE, email to debian-java-***@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact ***@lists.debian.org
Archive: http://lists.debian.org/***@member.fsf.org
Niels Thykier
2010-02-16 07:40:01 UTC
Permalink
Post by Niklaus Giger
Hi
Hi,

As far as I know we do not have a lot of experience packing eclipse
plugins/rcps. Anyhow, here is what I know...
Post by Niklaus Giger
Since almost 10 years I use Debian on my home machines and enjoyed it very
much. Getting tired of being forced to use propiertary OS and programs I will
try to be an independent consultant and developer.
I would like to bring (at least a subset) of a Eclipse RCP application for
general practioners (www.elexis.ch) into Debian, which is listed at
http://debian-med.alioth.debian.org/tasks/practice as "No know packages
available"
The program is under the Eclipse 1.0 license and available via SVN.
https://elexis.svn.sourceforge.net/svnroot/elexis/trunk/elexis-developer-
resources/doc/developer.textile
Sweet, by the way, you can see its direct dependencies in the manifest:

https://elexis.svn.sourceforge.net/svnroot/elexis/trunk/elexis-developer-resources/META-INF/MANIFEST.MF

(look for Require-Bundle and Import-Package - the sum of these
determines what the bundle depends on [1])

ch.elexis;bundle-version="2.1.0",
ch.rgw.utility;bundle-version="2.0.0",
org.eclipse.ui,
org.eclipse.core.runtime

Which is relevant depending on how/if you decide split this into smaller
binary packages.

If it relies on OSGi metadata (e.g. Require-Bundle/Import-Package in the
Manifest) to find database adapters, you will probably need to patch the
adapter-jars in Debian. This has been one of the most time-consuming
tasks with getting eclipse done - hardly any of eclipse's dependencies
had OSGi metadata.
Post by Niklaus Giger
I am at the moment digesting all the info at mentors.debian.org, the debian
policy and willing to invest quite a few hours to get it into Debian.
I am afraid that we do not have any documents on building eclipse
packages at this time.
Post by Niklaus Giger
Can anyone point me to package which has similar characteristics? Is
http://mentors.debian.net/cgi-bin/sponsor-pkglist?action=details;package=solr
a good starting point?
I suppose you could have a look at eclipse-emf[2], which will probably
be the first external plugin we will have ready. We are using eclipse's
"dropins" (which should make eclipse update its metadata on start up
time for newly installed plugins). I can also recommend checking out
Fedora; they are a bit further than us on this (most of eclipse-emf was
done by copying them). On a related note: guess how we prepared eclipse...

(The answer is: cherry-picked copy-paste)
Post by Niklaus Giger
Should I use git-svn to get the source code from the repository?
Personally we fetched eclipse-emf via this script from Fedora[3], which
uses the cvs tag; I am not sure it works for this plugin, anyhow
fetching the sources directly from a VCS repository is definitely accepted.

Sadly it does not look like upstream releases source packages, nor tags
releases. I would recommend getting in touch with upstream and ask
him/her to do either (preferably both) - though getting an svn tag on a
release would be more than enough, so if upstream cannot be bothered to
do both, I would go for getting tags (also they do not require too much
from upstream).

(whether you use git-svn or svn is really up to you)
Post by Niklaus Giger
As it needs Eclipse 3.5 I am looking forward for the moment when the announces
packages will arrive in unstable. Or shall I install manually the Ubuntu ones?
We look forward to being able to announce its arrival to unstable as
well. Currently its two last dependencies are in NEW[4]. After that
eclipse will go into NEW itself. I do not expect it in unstable any
sooner than in two weeks (unless the ftp-masters goes on a
"flushing-spree" like they did last summer)

While you should be able to use the Ubuntu debs, be advised that the
script we use in eclipse-emf is not available in these debs. You have to
build eclipse yourself from our repository[5] at this time to get them.
Post by Niklaus Giger
Any hint welcome.
Best regards
Niklaus
--
Niklaus Giger
Wieshoschet 6
CH-8753 Mollis
+41 (0)55 612 20 54 P
+41 (0)55 618 64 68 G
Feel free to write back with any question you may have,
~Niels


[1] If I recall correctly; Require-Bundle also imports the packages from
the bundle you are requiring.

[2] http://git.debian.org/?p=pkg-java/eclipse-emf.git

[3]
http://cvs.fedoraproject.org/viewvc/rpms/eclipse-emf/devel/get-emf.sh?revision=1.5&view=co

[4] http://ftp-master.debian.org/new.html
jetty5 and libjasper-java.

[5] http://git.debian.org/?p=pkg-java/eclipse.git
Egon Willighagen
2010-02-16 07:50:01 UTC
Permalink
Dear Niels,
Post by Niels Thykier
Post by Niklaus Giger
https://elexis.svn.sourceforge.net/svnroot/elexis/trunk/elexis-developer-
resources/doc/developer.textile
https://elexis.svn.sourceforge.net/svnroot/elexis/trunk/elexis-developer-resources/META-INF/MANIFEST.MF
Interesting thread... I am a long time Debian user (now mostly
indirectly via Ubuntu) and contributed small patches here and there in
the past... I have unfortunately little time for packaging nowadays,
as my Open Source work (CDK.sf.net, Bioclipse.net mostly) is eating up
all my time.

Now, Bioclipse is an RCP application too, so this thread has my strong
interest, as at least I like to learn what would need to be done to
get Bioclipse packaged...

<snip>
Post by Niels Thykier
If it relies on OSGi metadata (e.g. Require-Bundle/Import-Package in the
Manifest) to find database adapters, you will probably need to patch the
adapter-jars in Debian.
Where can I find information on what exactly defines a 'database
adapter' (you're not referring to e.g. the MySQL driver, are you?),
and a adapter-jar?
Post by Niels Thykier
This has been one of the most time-consuming
tasks with getting eclipse done - hardly any of eclipse's dependencies
had OSGi metadata.
So, metadata must be injected into the third party libs too? So, for
the elixis example, into the ch.rgw.utility jar too?

Thanx,

Egon
--
Post-doc @ Uppsala University
Proteochemometrics / Bioclipse Group of Prof. Jarl Wikberg
Homepage: http://egonw.github.com/
Blog: http://chem-bla-ics.blogspot.com/
PubList: http://www.citeulike.org/user/egonw/tag/papers
--
To UNSUBSCRIBE, email to debian-java-***@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact ***@lists.debian.org
Archive: http://lists.debian.org/***@mail.gmail.com
Niels Thykier
2010-02-16 10:50:02 UTC
Permalink
Post by Egon Willighagen
Dear Niels,
Hey,

(I have re-arranged the message a bit)
Post by Egon Willighagen
Post by Niels Thykier
If it relies on OSGi metadata (e.g. Require-Bundle/Import-Package in the
Manifest) to find database adapters, you will probably need to patch the
adapter-jars in Debian.
Where can I find information on what exactly defines a 'database
adapter' (you're not referring to e.g. the MySQL driver, are you?),
and a adapter-jar?
I am not sure at all what upstream means (particularly because I cannot
remember whether the sql implementations are referred to as "drivers" or
"adapters").
Post by Egon Willighagen
Post by Niels Thykier
This has been one of the most time-consuming
tasks with getting eclipse done - hardly any of eclipse's dependencies
had OSGi metadata.
So, metadata must be injected into the third party libs too? So, for
the elixis example, into the ch.rgw.utility jar too?
Short answer: yes (assuming it does not have it already or the plugin
magically finds it through other means - the latter is rare and tends to
involve hard-coding)

Long answer: for every "Require-Bundle" you need a "Bundle-SymbolicName"
that matches (exactly) and for every "Import-Package" you must have the
appropriate "Export-Package". Anything short of that and eclipse will
refuse to load the plugin due to "unresolved dependencies".

On a related note: "jar umf <man> <jar>" is all you need to inject OSGi
metadata into a jar - which means that a debian jar can be updated
without having to patch upstream's build system (e.g. for projects with
auto-generated manifests).
Post by Egon Willighagen
[...]
Interesting thread... I am a long time Debian user (now mostly
indirectly via Ubuntu) and contributed small patches here and there in
the past... I have unfortunately little time for packaging nowadays,
as my Open Source work (CDK.sf.net, Bioclipse.net mostly) is eating up
all my time.
Now, Bioclipse is an RCP application too, so this thread has my strong
interest, as at least I like to learn what would need to be done to
get Bioclipse packaged...
<snip>
We would need to package all of its dependencies, so a list of
bioclipse's dependencies would be nice. Bonus if you go further and
generate a dependency tree.

If it depends on "non-eclipse plugins", these need to be checked for
OSGi metadata. If the given dependency is already packaged, the metadata
can be added with a trivial patch - otherwise, consider filing an RFP on
it and note that you need the metadata (preferably including the
metadata needed).

Also, for packed "non-eclipse plugins", making a map between the jar
name used in the eclipse environment and the name Debian uses for
installing is also appreciated. See [1] for an example.

Help us find/generate the source tarballs for bioeclipse and its
dependencies (this may include teaching upstream how to use "tags" in
their VCS).
Post by Egon Willighagen
Thanx,
Egon
~Niels

[1] The mapping used for eclipse - left hand-side is the eclipse name
(using wildcard expansion) and the right hand side is the Debian jar.

http://git.debian.org/?p=pkg-java/eclipse.git;a=blob;f=system-jars.csv
Egon Willighagen
2010-02-16 11:20:01 UTC
Permalink
Post by Niels Thykier
We would need to package all of its dependencies, so a list of
bioclipse's dependencies would be nice. Bonus if you go further and
generate a dependency tree.
OK, filed as wishlist report:

http://pele.farmbio.uu.se/cgi-bin/bugzilla/show_bug.cgi?id=1871

Egon
--
Post-doc @ Uppsala University
Proteochemometrics / Bioclipse Group of Prof. Jarl Wikberg
Homepage: http://egonw.github.com/
Blog: http://chem-bla-ics.blogspot.com/
PubList: http://www.citeulike.org/user/egonw/tag/papers
--
To UNSUBSCRIBE, email to debian-java-***@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact ***@lists.debian.org
Archive: http://lists.debian.org/***@mail.gmail.com
Egon Willighagen
2011-02-13 13:30:02 UTC
Permalink
Hi all,

On Tue, Feb 16, 2010 at 11:13 AM, Egon Willighagen
Post by Egon Willighagen
Post by Niels Thykier
We would need to package all of its dependencies, so a list of
bioclipse's dependencies would be nice. Bonus if you go further and
generate a dependency tree.
http://pele.farmbio.uu.se/cgi-bin/bugzilla/show_bug.cgi?id=1871
Arvid (one of the Bioclipse developers) has set up Hudson to autobuild
Bioclipse from Git... it has the Buckminster .rmap and .cquery files
with all the dependencies...

The stuff is split up between a target platform:

http://pele.farmbio.uu.se/hudson/job/target_platform/

And the core Bioclipse:

http://pele.farmbio.uu.se/hudson/job/Bioclipse.core/

So, the list of dependencies is define all bundles not net.bioclipse.* here:

http://pele.farmbio.uu.se/hudson/job/Bioclipse.core/lastSuccessfulBuild/artifact/buckminster.output/net.bioclipse.core_site_1.0.0-eclipse.feature/site.p2/plugins/

Grtz,

Egon
--
Dr E.L. Willighagen
Postdoctoral Researcher
Institutet för miljömedicin
Karolinska Institutet
Homepage: http://egonw.github.com/
LinkedIn: http://se.linkedin.com/in/egonw
Blog: http://chem-bla-ics.blogspot.com/
PubList: http://www.citeulike.org/user/egonw/tag/papers
--
To UNSUBSCRIBE, email to debian-java-***@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact ***@lists.debian.org
Archive: http://lists.debian.org/AANLkTinSLvgvtc+K0Oqdk-***@mail.gmail.com
Niklaus Giger
2010-02-16 19:50:02 UTC
Permalink
Hi

Thanks to Egon and Niels for their helpful comments. My picture is now much
clearer.

I think upstreams will agree on making tags as Gerry Weirich always helped me
a lot and was always answered my (stupid) questions.
Post by Egon Willighagen
Dear Niels,
Post by Niklaus Giger
Post by Niklaus Giger
https://elexis.svn.sourceforge.net/svnroot/elexis/trunk/elexis-developer
- resources/doc/developer.textile
https://elexis.svn.sourceforge.net/svnroot/elexis/trunk/elexis-developer-
resources/META-INF/MANIFEST.MF
Interesting thread... I am a long time Debian user (now mostly
indirectly via Ubuntu) and contributed small patches here and there in
the past... I have unfortunately little time for packaging nowadays,
as my Open Source work (CDK.sf.net, Bioclipse.net mostly) is eating up
all my time.
Now, Bioclipse is an RCP application too, so this thread has my strong
interest, as at least I like to learn what would need to be done to
get Bioclipse packaged...
<snip>
Post by Niklaus Giger
If it relies on OSGi metadata (e.g. Require-Bundle/Import-Package in the
Manifest) to find database adapters, you will probably need to patch the
adapter-jars in Debian.
Where can I find information on what exactly defines a 'database
adapter' (you're not referring to e.g. the MySQL driver, are you?),
and a adapter-jar?
Yes. elexis supports various DB engines. See the following plugins in the SVN
https://elexis.svn.sourceforge.net/svnroot/elexis/trunk/mysql-adapter/
https://elexis.svn.sourceforge.net/svnroot/elexis/trunk/hsql-adapter/
https://elexis.svn.sourceforge.net/svnroot/elexis/trunk/postgresql-adapter/
The following adapter is outdated (takes a long time to shutdown and was only
used for a Demo DB)
https://elexis.svn.sourceforge.net/svnroot/elexis/trunk/h2-adapter/
Post by Egon Willighagen
Post by Niklaus Giger
This has been one of the most time-consuming
tasks with getting eclipse done - hardly any of eclipse's dependencies
had OSGi metadata.
So, metadata must be injected into the third party libs too? So, for
the elixis example, into the ch.rgw.utility jar too?
This jar has this name as it predates elexis and can be found under
https://elexis.svn.sourceforge.net/svnroot/elexis/trunk/elexis-utilities/

As elexis consists of over 60 plug-ins (+ some proprietary ones I am not
interested in packaging) I have no intention (at least at the moment) to turn
them into as much packages for Debian. I think I will aggregate them to about
5 to 10 packages, e.g.
elexis-core
elexis-doc (user & developper documentation)
elexis-labor (plugins for getting data from instruments into elexis)
elexis-extra
elexis-all-free (all free plugins for elexis)

+ evtl. some which will need other tools to be packaged, eg. the
the oowrapper3-noa4e would need to pack
http://ubion.ion.ag/loesungen/003officeintegrationeditor/releases

or elexis-TestUI would need http://www.eclipse.org/swtbot/

Best regards

Niklaus
--
To UNSUBSCRIBE, email to debian-java-***@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact ***@lists.debian.org
Archive: http://lists.debian.org/***@member.fsf.org
Andreas Tille
2010-02-16 21:30:03 UTC
Permalink
Hi Niklaus,

thanks for your intend to work on Elexis packages. I really like this
but I admit I can not give any technical help. You might decide whether
you want to do the packaging inside the Debian Med team (following
Debian Med policy [1]) or the Debian Java team[2]. The idea is to
maintain the packaging stuff in a group accessible VCS. I can not give
a reasonable recommendation for which team to decide - at least you are
welcome in the Debian Med team even if we probably will not be able to
give remarkable technical help. Just register for the ALioth project
you might decide for. If you have any question about group maintenance
do not hesitate to ask.

Kind regards

Andreas.

PS: The same is perfectly valid for Egons intend to package Bioclipse.

[1] http://debian-med.alioth.debian.org/docs/policy.html
[2] http://wiki.debian.org/Java#Developers-JavapackagingworkinDebian
--
http://fam-tille.de
--
To UNSUBSCRIBE, email to debian-java-***@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact ***@lists.debian.org
Archive: http://lists.debian.org/***@an3as.eu
Loading...