Spec URL: http://guidograzioli.fedorapeople.org/packages/lwjgl/lwjgl.spec SRPM URL: http://guidograzioli.fedorapeople.org/packages/lwjgl/lwjgl-2.7.1-1.fc16.src.rpm Description: The Lightweight Java Game Library (LWJGL) is a solution aimed directly at professional and amateur Java programmers alike to enable commercial quality games to be written in Java. LWJGL provides developers access to high performance crossplatform libraries such as OpenGL (Open Graphics Library) and OpenAL (Open Audio Library) allowing for state of the art 3D games and 3D sound. Additionally LWJGL provides access to controllers such as Gamepads, Steering wheel and Joysticks. All in a simple and straight forward API. LWJGL is not meant to make writing games particularly easy; it is primarily an enabling technology which allows developers to get at resources that are simply otherwise unavailable or poorly implemented on the existing Java platform. We anticipate that the LWJGL will, through evolution and extension, become the foundation for more complete game libraries and "game engines" as they have popularly become known, and hide some of the new evils we have had to expose in the APIs.
I'll review this.
Package Review ============== Key: - = N/A x = Check ! = Problem ? = Not evaluated === REQUIRED ITEMS === [!] Rpmlint output: lwjgl.src: W: spelling-error %description -l en_US crossplatform -> cross platform, cross-platform, crosspatch The value of this tag appears to be misspelled. Please double-check. lwjgl.src: W: invalid-url Source0: http://downloads.sourceforge.net/lwjgl/lwjgl-source-2.7.1.zip HTTP Error 404: Not Found The value should be a valid, public HTTP, HTTPS, or FTP URL. [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]. [!] Package successfully compiles and builds into binary rpms. [X] Buildroot definition is not present [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: BSD [-] 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. [?] Sources used to build the package matches the upstream source, as provided in the spec URL. MD5SUM this package : MD5SUM upstream package: But recursive diff of untarred source shows no results. [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 or must require other packages for directories it uses. [X] Package does not contain duplicates in %files. [X] File sections do not contain %defattr(-,root,root,-) unless changed with good reason [X] Permissions on files are set properly. [X] Package does NOT have a %clean section which contains rm -rf %{buildroot} (or $RPM_BUILD_ROOT). (not needed anymore) [X] Package consistently uses macros (no %{buildroot} and $RPM_BUILD_ROOT mixing) [X] Package contains code, or permissable content. [-] 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 [X] Javadocs are placed in %{_javadocdir}/%{name} (no -%{version} symlinks) [X] Packages have proper BuildRequires/Requires on jpackage-utils [X] Javadoc subpackages have Require: jpackage-utils [-] Package uses %global not %define [X] 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. [X] Jar files are installed to %{_javadir}/%{name}.jar (see [6] for details) [-] If package contains pom.xml files install it (including depmaps) even when building with ant [X] pom files has correct add_maven_depmap === Maven === [X] 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 "-Dmaven.local.depmap.file=*" explain why it's needed in a comment [X] Package DOES NOT use %update_maven_depmap in %post/%postun [X] Packages DOES NOT have Requires(post) and Requires(postun) on jpackage-utils for %update_maven_depmap macro === Other suggestions === [X] If possible use upstream build method (maven/ant/javac) [X] Avoid having BuildRequires on exact NVR unless necessary [X] Package has BuildArch: noarch (if possible) [!] Latest version is packaged. [!] Reviewer should test that the package builds in mock. Tested on: === Issues === 1. Package does not build on rawhide as it does not resolve the jar for the maven depmap correctly. 2. Please use standard American English form of cross-platform. 3. This is currently not the most recent version of lwjgl. Please resubmit with 2.8.3 if possible.
Thanks for reviewing; I have currently no enough time to update this package to the latest version, so I just updated the specfile to build successfully on current rawhide (and fixed source url and the typo in package description). Fix was very easy because what changed was the target directory for jni files, starting with F16. Spec URL: http://guidograzioli.fedorapeople.org/packages/lwjgl/lwjgl.spec SRPM URL: http://guidograzioli.fedorapeople.org/packages/lwjgl/lwjgl-2.7.1-2.fc16.src.rpm
All src.rpm/tarball URLs in this ticket give 404 Not Found. A working one is: http://guidograzioli.fedorapeople.org/packages/lwjgl/lwjgl-2.7.1-2.fc18.src.rpm > %package util > Summary: Javadocs for %{name} > Group: Documentation > > %description util > This package provides additional java utility classes for %{name}. Wrong Group tag for those contents. > %package javadoc > Summary: Javadocs for %{name} > Group: Documentation > Requires: jpackage-utils What in this generated HTML documentation package requires jpackage-utils?
Thanks, and sorry for the broken links. >> %package util >> Summary: Javadocs for %{name} >> Group: Documentation >> >> %description util >> This package provides additional java utility classes for %{name}. > > Wrong Group tag for those contents. Good find, fixed both Group and Summary, and also improved a bit on description. >> %package javadoc >> Summary: Javadocs for %{name} >> Group: Documentation >> Requires: jpackage-utils > > What in this generated HTML documentation package requires jpackage-utils? This is a requirement that has always been in Java guidelines (fragment above was copy&pasted directly from ant template[1]). Not sure but I think main reason is that jpackage-utils owns the /usr/share/javadoc directory. Spec URL: http://guidograzioli.fedorapeople.org/packages/lwjgl/lwjgl.spec SRPM URL: http://guidograzioli.fedorapeople.org/packages/lwjgl/lwjgl-2.7.1-3.fc18.src.rpm [1] https://fedoraproject.org/wiki/Packaging:Java#ant_2
> I think main reason is that jpackage-utils owns the /usr/share/javadoc > directory. Okay, then this package may own /usr/share/javadoc instead, following https://fedoraproject.org/wiki/Packaging:Guidelines#The_directory_is_owned_by_a_package_which_is_not_required_for_your_package_to_function and provided that it uses the same file attributes for the directory entry than the jpackage-utils package. > https://fedoraproject.org/wiki/Packaging:Java#ant_2 That example should add some comments, and it could be updated for the directory ownership, too.
Closing, for now. This could be reopened if someone finds the time to package latest upstream.