----- Original Message ----- > From: "Mikolaj Izdebski" <mizdebsk@xxxxxxxxxx> > To: "java-devel" <java-devel@xxxxxxxxxxxxxxxxxxxxxxx> > Sent: Friday, February 22, 2013 2:31:46 AM > Subject: 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 -- java-devel mailing list java-devel@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/java-devel