[Bug 561477] Review Request: jnr-posix - Java Posix layer

bugzilla at redhat.com bugzilla at redhat.com
Fri Nov 19 09:27:47 UTC 2010


Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug.


https://bugzilla.redhat.com/show_bug.cgi?id=561477

--- Comment #5 from Stanislav Ochotnicky <sochotni at redhat.com> 2010-11-19 04:27:45 EST ---
Package Review
==============

Key:
- = N/A
x = Check
! = Problem
? = Not evaluated

=== REQUIRED ITEMS ===
[x]  Rpmlint output:
rpmlint /var/lib/mock/fedora-rawhide-x86_64/result/jnr-posix-*
jnr-posix.noarch: W: uncompressed-zip /usr/share/java/jnr-posix-1.1.4.jar
3 packages and 0 specfiles checked; 0 errors, 1 warnings.

The warning is from new rpmlint. I'll have to contact rpmlint maintainer to add
filter for jars (no reason to compress them).

[x]  Package is named according to the Package Naming Guidelines[1].
[x]  Spec file name must match the base package name, in the format
%{name}.spec.
[x]  Package meets the Packaging Guidelines[2].
[x]  Package successfully compiles and builds into binary rpms.
[!]  Buildroot definition is not present

Buildroot is no longer necessary for supported Fedoras.

[x]  Package is licensed with an open-source compatible license and meets other
legal requirements as defined in the legal section of Packaging
Guidelines[3,4].
[x]  License field in the package spec file matches the actual license.
License type: CPL or GPLv2+ or LGPLv2+
[x]  If (and only if) the source package includes the text of the license(s) in
its own file, then that file, containing the text of the license(s) for the
package is included in %doc.
[x]  All independent sub-packages have license of their own
[x]  Spec file is legible and written in American English.
[x]  Sources used to build the package matches the upstream source, as provided
in the spec URL.
MD5SUM this package    : 318e10a1021b53e8513210adf88ad010
[x]  All build dependencies are listed in BuildRequires, except for any that
are listed in the exceptions section of Packaging Guidelines[5].
[x]  Package must own all directories that it creates.
[x]  Package requires other packages for directories it uses.
[x]  Package does not contain duplicates in %files.
[x]  Permissions on files are set properly.
[!]  Package does NOT have a %clean section which contains rm -rf %{buildroot}
(or $RPM_BUILD_ROOT). (not needed anymore)
%clean section with rm -rf %{buildroot} and rm -rf at the beginning of %install
is not needed anymore on supported Fedoraas

[!]  Package consistently uses macros (no %{buildroot} and $RPM_BUILD_ROOT
mixing)
You mix buildroot macro and RPM_BUILD_ROOT. Pick one

[x]  Package contains code, or permissable content.
[x]  Fully versioned dependency in subpackages, if present.
[-]  Package contains a properly installed %{name}.desktop file if it is a GUI
application.
[x]  Package does not own files or directories owned by other packages.
[x]  Javadoc documentation files are generated and included in -javadoc
subpackage in %{_javadocdir}/%{name} directory
[x]  Packages have proper BuildRequires/Requires on jpackage-utils
[x]  Javadoc subpackages have Require: jpackage-utils
Through main package. There has been some discussion about having javadoc
depend on main package. My opinion is that javadocs should be independent. They
don't really require main package. I'll leave it up to you, but if you decide
to make it independent, make javadoc require jpackage-utils.

[x]  Package uses %global not %define
[-]  If package uses tarball from VCS include comment how to re-create that
tarball (svn export URL, git clone URL, ...)
[x]  If source tarball includes bundled jar/class files these need to be
removed prior to building
[x]  All filenames in rpm packages must be valid UTF-8.
[!]  Jar files are installed to %{_javadir}/%{name}.jar (see [6] for details)

Recent changes in Java packaging guidelines made all %{name}-%{version} things
unwanted. So please install just %{name}.jar (no versioned symlinks). Same goes
for javadoc subdirectory.

[!]  If package contains pom.xml files install it (including depmaps) even when
building with ant
Source tarball contains pom.xml (working) but you don't install this. Please
install it, and call add_to_maven_depmap with appropriate arguments. This will
make this project usable from other maven projects.

=== Maven ===
[-]  Use %{_mavenpomdir} macro for placing pom files instead of
%{_datadir}/maven2/poms
[-]  If package uses "-Dmaven.test.skip=true" explain why it was needed in a
comment
[-]  If package uses custom depmap "-Dmaven2.jpp.depmap.file=*" explain why
it's needed in a comment
[-]  Package uses %update_maven_depmap in %post/%postun
[-]  Packages have Requires(post) and Requires(postun) on jpackage-utils (for
%update_maven_depmap macro)

^^ when you add maven support look at this to guide you

=== Other suggestions ===
[?]  If possible use upstream build method (maven/ant/javac)
Well, I checked and package (with small pom.xml modifications) is buildable
with maven. Since both ways are possible I'd advise to use maven instead of
ant. It's more error prone for the future (and no need to play with
build-jar-repository)

You'll have to patch out wagon dependency and use custom depmap file, since
jnr-constants don't install pom.xml and depmap either. I'll be filing bug for
that in a moment :-)

[!]  Javadocs are placed in %{_javadocdir}/%{name} (no -%{version} symlinks)
[x]  Avoid having BuildRequires on exact NVR unless necessary
[x]  Package has BuildArch: noarch (if possible)
[x]  Latest version is packaged.
[x]  Reviewer should test that the package builds in mock.
Tested on: fedora-rawhide-x86_64


=== Issues ===
1. present buildroot/clean sections
2. mixing of macros
3. (optional) javadoc Require on main package
4. naming of jar file
5. installing pom.xml and add_to_maven_depmap
6. (optional) use maven for building


[1] https://fedoraproject.org/wiki/Packaging:NamingGuidelines
[2] https://fedoraproject.org/wiki/Packaging:Guidelines
[3] https://fedoraproject.org/wiki/Packaging:LicensingGuidelines
[4] https://fedoraproject.org/wiki/Licensing:Main
[5] https://fedoraproject.org/wiki/Packaging/Guidelines#Exceptions_2
[6] https://fedoraproject.org/wiki/Packaging:Java#Filenames

-- 
Configure bugmail: https://bugzilla.redhat.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the package-review mailing list