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

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: