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

Re: Building maven packages



On 2016-12-30 00:11 +0100, Markus Koschany wrote:
> On 29.12.2016 02:29, Wookey wrote:

> Don't try to hard to make mh_make happy because it can only give you a
> rudimentary skeleton debian directory. (For "easy" packages it works
> much better but more complicated projects won't work as expected). We
> usually use existing packages, which are quite similar, as templates.

OK, but to do it without mh_make requires me to get a much better
understanding of the files it produces:
maven.cleanIgnoreRules
maven.ignoreRules
maven.publishedRules
maven.rules

And maven-debian-helper doesn't have a README or any manpages. Where
are the docs that explain which mh_ commands use which of those files
and exactly what the lines mean, what the fields are and so on? I can
stab about in the dark but this stuff works much better if one reads
the docs and has at least some idea what one is doing, IME.

Do I not get a control and rules file because I'm getting errors and
mh_make is not getting to the end? (Yes, I copied some from another
maven java package, but they may well be wrong)

> > I also got the complaint that it can't find:
> > backport-util-concurrent 
> > 
> > Do I care about that? Do I need to package that too? <sinking feeling emoji>
> 
> Welcome to Java hell ^-^

yeah - see my next message in the thread with some more detail on that.

> > Also how does this 'debian' version thing work? Is that like saying
> > 'generic/current' version? And we do that to deal with all these
> > packages asking for a specific version when they really don't actually
> > care (probably). So should I prefer to set the versions for all this
> > stuff to 'debian' as that's likely to stay working for longer?
> 
> Java is version centric, that means you have to declare that your
> software project works exactly with a specified version and if you try
> an older or newer one you are basically on your own. :/ As you know in
> Debian we try to package only one version of software project X and thus
> we need to use a generic "debian" version (and patch packages that don't
> work with it).
> 
> The debian tools (maven-debian-helper) always rewrite the version to
> "debian" by default. You don't have to change anything here. 

But mh_make asks me if I want to set the vers to 'debian' everywhere,
or not. And the default isn't always 'use debian', although it usually
is.  

> There are a few libraries which are known to horribly break
> things. Here we use a substitution rule like 1.x for versions
> ranging from 1.0 to 1.99 etc, instead of using the generic
> "debian" version because we know that version 2.x will break the
> package.

OK. That makes sense. But I'm not sure that it explains the issue I had
with libbcel simply not being found, even when it was present. 
 
> I guess it would be easier if you gave me some link to your package and
> I try to figure out why it fails for you at the moment. Please also
> describe what you want to achieve, so that I get the bigger picture and
> if you're lucky I might be able to explain why it didn't work as expected.

What I am trying to achieve is package the current (2 years ago)
caveconverter release. Which has led me to down this tree:

caveconverter   
 (java-diff-utils ITP#845471|libdiffutils-java ITP#696165) 
 jscience       ITP#812562
  geoapi        ITP#812563
  javolution    ITP#833024   
   maven-native ITP#700679
    backport-util-concurrent   

I have lots of versions of my package, one 1.0-alpha-2 and two goes at
1.0-alpha-8. All three have slightly different issues. 

tarball here: http://wookware.org/files/java-maven-mess.tar.gz

Wookey
-- 
Principal hats:  Linaro, Debian, Wookware, ARM
http://wookware.org/

Attachment: signature.asc
Description: Digital signature


Reply to: