[fedora-java] New Java guidelines

Jon VanAlten jvanalte at redhat.com
Fri Feb 22 19:43:07 UTC 2013



----- Original Message -----
> From: "Mikolaj Izdebski" <mizdebsk at redhat.com>
> To: "java-devel" <java-devel at lists.fedoraproject.org>
> Sent: Friday, February 22, 2013 2:31:46 AM
> Subject: [fedora-java] New Java guidelines
> 
> Last time the draft[1] of new Java packaging guidelines was
> announced[2]
> a week before Java SIG meeting. I didn't hear about *any* concerns
> until
> the meeting begun.
> 
> Are there any concerns[*] about the new guidelines? If there are any
> problems then it's better to speak up now so we can resolve any
> possible
> issues before the meeting.
> 
> If you care about the guidelines or the future of packaging Maven
> artifacts
> in Fedora then please take your time, read the draft and post any
> thoughts
> on the mailing list.
> 

Hi!

To be fair, in a given week any one contributor could have a lot
of other things on their plate.  I understand that this led to
some bad blood during the meeting, but let's please all put that
behind.

I tried my best to pick apart and find things that could be made
better, here's my thoughts:

--

Under Filenames:
"Alternatively, the file can be installed to the subdirectory
%{_javadir}/%{name}/ under its usual name."

It seems like the guidelines are intended to provide an obvious
mapping from package name to jar file name.  This loophole breaks
the mapping.  I'm not sure why, what problem is this trying to
solve (that isn't solved by a symlink with the usual name)?

--

This next is a bit of nit-pickiness, but if this will become the
guideline for the foreseeable future it should probably be
considered now rather than later:

Under BuildRequires and Requires
"At a minimum, Java packages MUST:
BuildRequires: java-devel [>= specific_version]"

but... under Specfile Template for Apache Maven:
"# BR java-devel only if you need specific version
[BuildRequires: java-devel >= java version]"

This is a conflict, to say at one place that something MUST be,
and then later say it is optional under certain conditions.
Probably the earlier section should make reference to the
exception.

--

In Older packaging techniques:
"If possible, packagers MUST use new techniques described
previously in this document. However, there are situations
where those cannot be applied."

In my understanding of "MUST" there is no exception.  If there
are exceptions, then "SHOULD" is a more appropriate term.  Is
it possible that there are other exceptions than existing
Fedora versions that don't have the macros?  If so, then I
say definitely change this to "SHOULD".  If not, then maybe
this section could be rewritten:

"For Fedora 19 or newer, packagers MUST use new techniques
described previously in this document.  For older Fedora
versions, as long as they are still supported, it is
acceptable to use the techniques described below."

I also think that it would be good to be more specific than
"new techniques".  For those of us participating now, having
seen the growth of maven-local and various macros for this,
and now seeing the new changes with xmvn, it may be clear
what is meant here.  But, for any new packager coming to
Fedora, they won't have this context.  Another possible
rewrite to avoid confusion for such contributors:

"For Fedora 19 or newer, packagers MUST follow the
guidelines above.  However, older Fedora versions may not
support all the techniques given.  For these versions, as
long as they are still supported, it is acceptable and in
some cases necessary to make the exceptions described below."

--

As a final comment, I think that (as was noted elsewhere in
the thread) we do need to sort out issues with Xmvn and the
divisive effective-pom issue before finalizing any changes
to the guidelines.

cheers,
jon


More information about the java-devel mailing list