Re: Next take in Debian packaging for Mauve
Hi Aaron,
On Wed, Apr 29, 2015 at 11:41:53PM +1000, Aaron Darling wrote:
> Hi Andreas, it's really exciting to hear that you're taking another stab
> at this. More below.
Great to hear this. While this is the usual response of upstream
developers it is not always the case. Thanks also for responding that
quickly.
> > The oldest package in Debian is libgenome version 1.3.1 which resides
> > inside Debian since 25 Jun 2008 when it could be downloaded from the
> > formerly used website[2]. This site does not exist any more but the
> > source code is available from sourceforge[3]. I have no idea whether
> > there are some important changes in trunk. In any case it would be
> > helpful to do some release (of any of your relevant libraries and tools)
> > to be downloadable from the Files section of the SourceForge page.
>
> ok, there have been a few small changes. some minor bugfixes but nothing
> major but i'd be happy to put a new release up -- it's overdue.
Cool. It would be really appreciated it you ping this mailing list
about new releases and we try to respond with a package upload in a
short time frame.
> > Recently I have added libmuscle (version 3.7) and libmems (version 1.6)
> > to the Debian pool. I have created a tarball from the latest trunk.
> > Also here a proper versioned release would be really helpful. The
> > rationale is that there is a Debian tool that checks websites for
> > regular expressions whether new versions might have shown up. This tool
> > can be easily pointed to the Files section of SourceForge but it does
> > not work properly on SVN commit IDs.
>
> ok, can do this too.
Thanks. That's very helpful.
> > After some patches[5] I was able to fully delete the build_support/ dir
> > in the source dir. Debian contains the needed tools to build Mauve
> > successfully - so I was able to get rid of it.
>
> ok, i'll try to look at the changes in the coming days and confirm
> nothing obvious has broken.
:-)
> > Now to the JAR files in the ext/ directory. I noticed that you are
> > providing BioJava 1.9.2-SNAPSHOT in three different JAR files:
> > bytecode-1.9.2-SNAPSHOT.jar, core-1.9.2-SNAPSHOT.jar and
> > gui-1.9.2-SNAPSHOT.jar. Debian contains BioJava in only one JAR file
> > and this was used to build the package. The possibly weak part is that
> > Debian has stalled on version 1.7.1 of the BioJava 1.x series. I know
> > that BioJava 3.x is not fully compatible with the 1.x series but I
> > wonder
> >
> > a) Is 1.9.2 really required or is 1.7.1 fine as well for Mauve?
> > b) Do you intend to convert Mauve to BioJaba 3.x?
> >
> > Depending from your answer the BioJava dependency might need some work
> > from our side.
>
> well, the issue is even more complicated because I've patched the
> biojava 1.9.2 code to fix an incompatibility with parsing GenBank format
> files produced by the prokka software. So without that patch this
> functionality will break. I am not sure if the patch can be applied to
> 1.7.1. There is also a potential GUI issue regarding the responsiveness
> of tooltips over annotation tracks in 1.7.1.
I admit that I have basically zero knowledge of Java and need to rely
on the expertise of other members of the Debian community. Considering
Oliviers mail about BioJava 4 at least my gut feeling says it might be
sensible to use the latest supported upstream version and thus porting
Mauve to BioJava 4 would something I'd consider. But take this idea
with a grain of salt from an admittedly poorly educated person in the
Java field.
I do not understand Steffen's hint about patching prokka. I know that
accoding to our web sentinel we prokka is in preparation to be
packaged[n1] but patching it for the moment would not have helped. The
remark leads to the conclusion that prokka belongs to the preconditions
for Mauve. Is this correct?
> > For ext/jebl-0.4.jar I'm a bit unsure. Debian contains a package of
> > jebl2[6]. I have no idea how to test whether this works as well as
> > jebl-0.4. Any hint how to confirm this?
>
> this is also a package that supports a feature that's still in
> development and not enabled in production. It will take me some time to
> investigate API changes between jebl and jebl2, so I'd suggest leaving
> it out for now.
OK, removed from packaging stuff.
> > I have created a new Debian package of zeus-jscl. It is in the NEW
> > queue and this info page has all its metainformation[7]. It seems that
> > the JAR you added to the Mauve download was using a different (probably
> > older) zeus-jscl. Thanks to the great Debian community I've git help to
> > create a patch against Mauve which adapts the code to the new zeus-jscl
> > interface. I would recommend checking out the patch from here[8] and
> > take it over to the Mauve code.
>
> ok, thanks!
You are welcome. :-)
> > Moreover I noticed that ext/jsc.jar does not seem to be used in Mauve
> > at all. Am I right here? This would be really important since if I
> > check the download page[9] it says:
> >
> > Free for non-commercial use. Free educational use is permitted on
> > courses where students pay no fees and there are fewer than 40 students.
> > Otherwise email Licensing JSC for commercial use.
> >
> > This would be regarded non-free by Debian and if Mauve would depend from
> > this JAR it would not be able to distribute Mauve from main Debian. But
> > I think it is fine to simply delete it. Can you please confirm this?
> >
>
> Delete! I'll do this in my repository too. I think there was intention
> to use it that never ended up happening.
Thats very fortunate since it would have been a potential killer if it
would be of some importance.
> > My last take is the currently remaining ext/goose.jar. I'm not fully
> > sure where I can take the source for this JAR from. Somehow it looks
> > like Cereopsis by Dan Tenenbaum but I would like to get your
> > confirmation for this first before I'll spent my time into creating a
> > package from this project. In any case this would be required to follow
> > the Debian policy that we do not allow binary code. So the way is to
> > create an appropriate JAR from the source code, create a package from it
> > and use this instead of ext/goose.jar (in the same manner as I did for
> > zeus-jscl).
>
> This is from the gaggle project:
> http://gaggle.systemsbiology.net/docs/geese/sample/
> yet another feature that's not in production, should be ok to remove.
OK, I have deleted it from the packaging in a patch that also removed
the file src/org/gel/mauve/gaggle/SampleGoose.java which was referencing
the *.jar.
> > So far for the JARs. Moreover we would like to run the test suite not
> > only to be sure that my JAR replacements were successful. Debian in
> > general tries to run any available build time test and has in addition a
> > test framework which runs automatically from time to time. Since I have
> > seen a test/ directory I wonder how I could trigger the provided tests.
> >
> > Last but not least I have a problem with your name choice. In Debian we
> > just have a package named mauve which is a free test suite for the Java
> > Class libraries name[11]. While there is no strong reason to rename the
> > binary we are using as wrapper to start Mauve.jar[12] the package name
> > has to be changed. (If I remember correctly we discussed this name
> > choice back in 2008 - to laze to seek.) In general I do not think that
> > it is a good idea to have the same name twice in the Free Software name
> > space.
>
> well, this genome alignment software was first released to the world in
> 2003 and development began in 2001, but setting aside the issue of who
> came first I think it would be fine to call the package mauve-aligner or
> something like that. I am less enthusiastic about renaming the `Mauve`
> wrapper script simply to avoid naming conflicts with someone else's
> software because that would involve some substantial revision to the
> documentation and possibly breaking dependent tools.
Hmmm, I think mauve-aligner would be a bad choice if we leave the
package containing mauveAligner and progressiveMauve with mauvealigner.
The dash as only distinction in the package name sounds a bit weak.
What about
mauvealigner-gui ?
As I said its possible to leave the name "mauve" for the wrapper -
possibly also "Mauve" with upper case (please confirm that you prefer
the upper case version).
> > In any case I would like to discuss the package name where users might
> > be able to find Mauve - you might like to point Debian users to this
> > package for the simplicity of maintenance and so I'm interested in your
> > opinion about the following names:
> >
> > g-mauve
> > genome-mauve
> > ? (do you have some better suggestion)
>
> i think mauve-aligner would be more natural.
If you really stick to this would you suggest a different name for the
package carrying the command line applications? May be
"progressivemauve" aus package name might be a better choice?
> > Thanks a lot for taking the time to read this longish mail. Any hints
> > and recommendations regarding the packaging are highly appreciated.
>
> No problem! thanks for taking the time to write such a carefully
> considered message!!! I *really* appreciate the effort you are making.
> the availability of bio-related debian packages has completely changed
> the attitude that biologists i work with take toward linux. you have
> taken (most of) the fear out of it. it's wonderful.
Thanks for the compliment. However, we would be nothing without you as
(cooperative) upstream developers.
Kind regards
Andreas.
> > [1] https://lists.debian.org/debian-med/2008/03/msg00099.html
> > [2] http://asap.ahabs.wisc.edu/software/software-development-libraries/libgenome.html
> > [3] http://sourceforge.net/p/mauve/code/HEAD/tree/libGenome/trunk/
> > [4] https://ftp-master.debian.org/new/mauvealigner_1.2.0+4713-1.html
> > [5] https://anonscm.debian.org/cgit/debian-med/mauve.git/tree/debian/patches/build_xml.patch
> > [6] https://github.com/rambaut/jebl2
> > [7] https://ftp-master.debian.org/new/libzeus-jscl-java_1.72-1.html
> > [8] https://anonscm.debian.org/cgit/debian-med/mauve.git/tree/debian/patches/use_JConsole_of_zeus-jscl_properly.patch
> > [9] http://www.jsc.nildram.co.uk/downloads/download.html
> > [10] https://github.com/dtenenbaum/Cereopsis
> > [11] http://sourceware.org/mauve/
> > [12] https://anonscm.debian.org/cgit/debian-med/mauve.git/tree/debian/bin/mauve
[n1] http://blends.debian.org/med/tasks/bio#prokka
--
http://fam-tille.de
Reply to: