[Dev] RFC: [java] repo, or similar

Luke T.Shumaker lukeshu at sbcglobal.net
Wed Sep 26 20:20:31 GMT 2012


I've got a big'ol messy [java] folder sitting in my copy of abslibre
just waiting to be pushed.

A while ago we had a discussion about the proliferation of repos, and
decided that it should mostly be based on packaging standards.  I
believe that a [java] and [java-ugly] repo with their own standards
would be of benefit.

These would have different standards from our other repos
---------------------------------------------------------

[java] and [java-ugly]
 * PKGBUILDs can rely on features from latest git version of
  `makepkg`. I would package this.

[java]
 * Binaries and non-free code may be downloaded, as long as it is
   immediatly `rm`ed.
 * MAY NOT depend on packages from [java-ugly]

[java-ugly]
 * Like other repos, must be built from source, HOWEVER, they may make
   use of precompiled (.jar) binaries that are bundled with the source
   distribution, as long as it is still free software.
 * Non-free code may be downloaded, as long as it is immediatly
   `rm`ed. 
 * MAY depend on packages from [java]

Why these policies would benefit Parabola
-----------------------------------------

As a rule of thumb, if there is a Java-related package in [core],
[extra] or [community] that doesn't have an entry in the "libre" bug
tracker, it is because none of us have reviewed that package yet.

See, Arch's policy towards java packages can be summed up as

  These don't meet our normal policies, but Java is hard to
  package, so fuck it.
    - paraphrased from https://wiki.archlinux.org/index.php/Java_Package_Guidelines

However for libre-related reasons, we don't have this same
relaxation.

However, the Arch devs do have a point--on Monday I litterally spend
12 hours packaging JNA in a way that is consistent with the [java]
repo rules, as defined above.  And it's still not good enough to go
into [libre]. (Downloads numerous .jar files, mostly free but
also the non-free `clover.jar`. However, the first thing `build()`
does is `find . -name '*.jar' -delete`)

We need a fast-track to get better packages into our repos, without
sacrificing the quality of [libre].  For this reason, I firmly
recomend the creation of [java].

I spent another few hours packaging 'arduino' in a way that is
consistent with [java] as defined above.  However, it would have been
*vastly* easier to package it for [java-ugly], and that still would
have been a *huge* improvement over arduino from AUR, which just
downloads a precompiled binaries from arduino.cc.

Those examples are less dramatic because they are packages from AUR,
but the packages in [core], [extra] and [community] are about on the
same level; see 'apache-ant' and 'maven'/'maven-libre'. Even
[libre]/maven-libre doesn't meet the policies for [libre] (and an
entry for it exists in the bugtracker), but we let it through because
maven(-libre) is a crucial part of building Java packages, and is such a huge
improvement over Arch's maven.

Happy Hacking!
~ Luke Shumaker



More information about the Dev mailing list