Spec URL: https://raphgro.fedorapeople.org/review/java/jlibrtp/jlibrtp.spec SRPM URL: https://raphgro.fedorapeople.org/review/java/jlibrtp/jlibrtp-0.2.2-1.20141122svn252.fc20.src.rpm Description: Java library for the Real-Time Transport Protocol (RTP) Fedora Account System Username: raphgro
Hi, I am doing Unofficial Review.Following are my review details: Package Review ============== ===== MUST items ===== Generic: [OK]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. Note: Using prebuilt packages http://koji.fedoraproject.org/koji/taskinfo?taskID=8276403 [OK]: Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [OK]: 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. [BAD]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "LGPL (v2.1 or later)", "Unknown or generated". 6 files have unknown license. Unknown or generated -------------------- jlibrtp-0.2.2svn252/demo/org/jlibrtp/demo/SoundReceiverDemo.java jlibrtp-0.2.2svn252/demo/org/jlibrtp/demo/SoundSenderDemo.java jlibrtp-0.2.2svn252/test/org/jlibrtp/test/TestRTPSession.java jlibrtp-0.2.2svn252/test/org/jlibrtp/test/protocols/rtp/TestRTPURLMultiSender.java jlibrtp-0.2.2svn252/test/org/jlibrtp/test/protocols/rtp/TestRTPURLReceiver.java jlibrtp-0.2.2svn252/test/org/jlibrtp/test/protocols/rtp/TestRTPURLSender.java [OK]: All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. Note: Using prebuilt rpms. [OK]: Changelog in prescribed format. [OK]: Sources contain only permissible code or content. [N/A]: Package contains desktop file if it is a GUI application. [N/A]: Development files must be in a -devel package [OK]: Package uses nothing in %doc for runtime. [OK]: Package is named according to the Package Naming Guidelines. [OK]: Package does not generate any conflict. [N/A]: If the package is a rename of another package, proper Obsoletes and Provides are present. [N/A]: Requires correct, justified where necessary. [OK]: Spec file is legible and written in American English. [OK]: Package contains systemd file(s) if in need. [OK]: Package is not known to require an ExcludeArch tag. [N/A ]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. [OK]: Packages must not store files under /srv, /opt or /usr/local Note: Cannot unpack rpms (using --prebuilt?) [OK]: Package complies to the Packaging Guidelines [OK]: Package installs properly. [OK]: Rpmlint is run on all rpms the build produces. Note: There are rpmlint messages Rpmlint ------- Checking: jlibrtp-0.2.2-1.20141122svn252.fc21.src.rpm jlibrtp.src:13: W: macro-in-comment %{name} jlibrtp.src:13: W: macro-in-comment %{rev} jlibrtp.src: W: invalid-url Source0: jlibrtp-0.2.2svn252.tar.xz 1 packages and 0 specfiles checked; 0 errors, 3 warnings. [OK]: Package requires other packages for directories it uses. [OK]: Package must own all directories that it creates. [OK]: Package does not own files or directories owned by other packages. [OK]: Package uses either %{buildroot} or $RPM_BUILD_ROOT [OK]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. [OK]: Macros in Summary, %description expandable at SRPM build time. [OK]: Package does not contain duplicates in %files. [OK]: Permissions on files are set properly. [OK]: Package use %makeinstall only when make install' ' DESTDIR=... doesn't work. [OK]: Package is named using only allowed ASCII characters. [OK]: Package do not use a name that already exist [OK]: Package is not relocatable. [OK]: Sources used to build the package match the upstream source, as provided in the spec URL. [OK]: Spec file name must match the spec package %{name}, in the format %{name}.spec. [OK]: File names are valid UTF-8. ===== SHOULD items ===== Generic: [BAD]: Reviewer should test that the package builds in mock. [OK]: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. [OK]: Package functions as described. [N/A]: Description and summary sections in the package spec file contains translations for supported Non-English languages, if available. [OK]: Package should compile and build into binary rpms on all supported architectures. [OK]: %check is present and all tests pass. [OK]: Packager, Vendor, PreReq, Copyright tags should not be in spec file [OK]: Buildroot is not present [OK]: Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) [OK]: Dist tag is present (not strictly required in GL). [OK]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [OK]: Fully versioned dependency in subpackages if applicable. [OK]: SourceX is a working URL. [OK]: Spec use %global instead of %define unless justified.
Release #2. Spec URL: https://raphgro.fedorapeople.org/review/java/jlibrtp/jlibrtp.spec SRPM URL: https://raphgro.fedorapeople.org/review/java/jlibrtp/jlibrtp-0.2.2-2.20141206svn255.fc20.src.rpm koji/mock rawhide: http://koji.fedoraproject.org/koji/taskinfo?taskID=8319614
Requested an official release from upstream. https://sf.net/p/jlibrtp/bugs/8/
Spec URL: https://raphgro.fedorapeople.org/review/java/jlibrtp/jlibrtp.spec SRPM URL: https://raphgro.fedorapeople.org/review/java/jlibrtp/jlibrtp-0.2.3-0.1.20141215svn258.fc21.src.rpm rawhide scratch: http://koji.fedoraproject.org/koji/taskinfo?taskID=9134151 * Tue Mar 03 2015 Raphael Groner <projects.rg (AT) smart.ms> - 0.2.3-0.1.20141215svn258 - rebase as a pre-release - merge suggestions for javapackages-local from puntogil - remove dos2unix - rev 258 The license issue should be fixed in the new export from upstream. Thanks for your improvements and the review! It would be nice if you can do also the formal review approval.
No reviewer since weeks. :(
Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed Issues: ======= - You're using %mvn_artifact and %mvn_install therefore, you should use %files -f .mfiles instead of specifying the JAR and metadata by hand. The same for javadoc -- just %files javadoc -f .mfiles-javadoc Only the license needs to be specified manually - According to new guidelines, licenses should be preferrably marked by %license macro, not %doc - Requires on java is automatically generated, it needn't be specified manually - The test and demo directories are empty, don't package them ===== MUST items ===== Generic: [x]: Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [x]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "LGPL (v2.1 or later)". Detailed output of licensecheck in /home/msimacek/reviews/1167076-jlibrtp/licensecheck.txt [x]: License file installed when any subpackage combination is installed. [!]: Package requires other packages for directories it uses. Note: No known owner of /usr/share/java/jlibrtp Caused by not using .mfiles [!]: Package must own all directories that it creates. Note: Directories without known owners: /usr/share/java/jlibrtp Caused by not using .mfiles [x]: Package contains no bundled libraries without FPC exception. [x]: Changelog in prescribed format. [x]: Sources contain only permissible code or content. [x]: Package contains desktop file if it is a GUI application. [x]: Development files must be in a -devel package [x]: Package uses nothing in %doc for runtime. [x]: Package consistently uses macros (instead of hard-coded directory names). [x]: Package is named according to the Package Naming Guidelines. [x]: Package does not generate any conflict. [x]: Package obeys FHS, except libexecdir and /usr/target. [x]: If the package is a rename of another package, proper Obsoletes and Provides are present. [?]: Requires correct, justified where necessary. [x]: Spec file is legible and written in American English. [x]: Package contains systemd file(s) if in need. [x]: Package is not known to require an ExcludeArch tag. Note: Test run failed [x]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Test run failed [x]: Packages must not store files under /srv, /opt or /usr/local Note: Test run failed [x]: Package complies to the Packaging Guidelines [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [x]: Package installs properly. [x]: Rpmlint is run on all rpms the build produces. Note: There are rpmlint messages (see attachment). [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]: Package does not own files or directories owned by other packages. [x]: All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. [x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT [x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. [x]: Macros in Summary, %description expandable at SRPM build time. [x]: Permissions on files are set properly. [x]: Package use %makeinstall only when make install' ' DESTDIR=... doesn't work. [x]: Package is named using only allowed ASCII characters. [x]: Package do not use a name that already exist [x]: Package is not relocatable. [x]: Sources used to build the package match the upstream source, as provided in the spec URL. [x]: Spec file name must match the spec package %{name}, in the format %{name}.spec. [x]: File names are valid UTF-8. Java: [x]: Bundled jar/class files should be removed before build Note: Test run failed [x]: Javadoc documentation files are generated and included in -javadoc subpackage [x]: Javadoc subpackages should not have Requires: jpackage-utils [x]: Javadocs are placed in %{_javadocdir}/%{name} (no -%{version} symlink) Maven: [x]: If package contains pom.xml files install it (including depmaps) even when building with ant [x]: Old add_to_maven_depmap macro is not being used ===== SHOULD items ===== Generic: [x]: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. [?]: Final provides and requires are sane (see attachments). [x]: Fully versioned dependency in subpackages if applicable. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in jlibrtp- javadoc [?]: Package functions as described. [?]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [x]: SourceX tarball generation or download is documented. Note: Package contains tarball without URL, check comments [x]: Description and summary sections in the package spec file contains translations for supported Non-English languages, if available. [x]: Package should compile and build into binary rpms on all supported architectures. [-]: %check is present and all tests pass. [x]: Packages should try to preserve timestamps of original installed files. [x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file [x]: Reviewer should test that the package builds in mock. [x]: Buildroot is not present [x]: Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) [x]: Dist tag is present (not strictly required in GL). [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: SourceX is a working URL. [x]: Spec use %global instead of %define unless justified. Java: [x]: Package uses upstream build method (ant/maven/etc.) [x]: Packages are noarch unless they use JNI ===== EXTRA items ===== Generic: [x]: Large data in /usr/share should live in a noarch subpackage if package is arched. Note: Test run failed [x]: Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). [x]: Spec file according to URL is the same as in SRPM. Rpmlint ------- Checking: jlibrtp-0.2.3-0.1.20141215svn258.fc23.noarch.rpm jlibrtp-javadoc-0.2.3-0.1.20141215svn258.fc23.noarch.rpm jlibrtp-0.2.3-0.1.20141215svn258.fc23.src.rpm jlibrtp-javadoc.noarch: W: spelling-error Summary(en_US) Javadocs -> Java docs, Java-docs, Avocados jlibrtp.src:15: W: macro-in-comment %{name} jlibrtp.src:15: W: macro-in-comment %{rev} jlibrtp.src: W: invalid-url Source0: jlibrtp-20141215svn258.tar.xz 3 packages and 0 specfiles checked; 0 errors, 4 warnings. Rpmlint (installed packages) ---------------------------- Cannot parse rpmlint output: Requires -------- jlibrtp-javadoc (rpmlib, GLIBC filtered): jpackage-utils jlibrtp (rpmlib, GLIBC filtered): java java-headless jdom jpackage-utils Provides -------- jlibrtp-javadoc: jlibrtp-javadoc jlibrtp: jlibrtp mvn(org.jlibrtp:jlibrtp) Generated by fedora-review 0.5.2 (63c24cb) last change: 2014-07-14 Command line :/usr/bin/fedora-review -b 1167076 Buildroot used: fedora-rawhide-x86_64 Active plugins: Generic, Shell-api, Java Disabled plugins: C/C++, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP, Ruby Disabled flags: EXARCH, EPEL5, BATCH, DISTTAG
Release #0.2. SRPM: https://raphgro.fedorapeople.org/review/java/jlibrtp/jlibrtp-0.2.3-0.2.20141215svn258.fc21.src.rpm SPEC: https://raphgro.fedorapeople.org/review/java/jlibrtp/jlibrtp.spec rawhide scratch: http://koji.fedoraproject.org/koji/taskinfo?taskID=9381139 Thanks for the review!
> - You're using %mvn_artifact and %mvn_install therefore, you should use > %files -f .mfiles > instead of specifying the JAR and metadata by hand. I probably wasn't very clear. You shouldn't specify path to metadata manually, that's what .mfiles are for. .mfiles are filelists generated by our tooling (%mvn_install in this case) that contain the entries for directories and files that were installed by it. The -f option tells rpmbuild to read the entries from that file. You only need to explicitly list files that you manually installed into the buildroot. So your files section for the main package should look like this: %files -f .mfiles %license src/org/%{name}/LICENSE.txt Nothing else is needed. The chmod in %install section is also unnecessary as .mfiles contain correct ownership specification. The reason why I insist on this is that when you install things using automatic tools, but then enumerate the installed files by hand, it may easily go out of sync and your package would break when we change our tooling. This has already happened for a lot of packages after we changed the way how we represent Maven metadata. > - Requires on java is automatically generated, it needn't be specified > manually Still applies. "java" is virtual provides that pulls in complete JRE. In Fedora there is a stripped down version of JRE called java-headless, that doesn't contain graphical stuff and is intended to be used on servers. Libraries and packages that don't need graphics/sound support shouldn't require "java", but "java-headless" When using %mvn_install the requires on java-headless are generated automatically, so just remove "java" from Requires. > - The test and demo directories are empty, don't package them Still applies, there's no need to pollute the system with empty directories. (And if they were non-empty, tests shouldn't be installed anyway)
Release #0.3 SRPM: https://raphgro.fedorapeople.org/review/java/jlibrtp/jlibrtp-0.2.3-0.3.20141215svn258.fc21.src.rpm SPEC: https://raphgro.fedorapeople.org/review/java/jlibrtp/jlibrtp.spec rawhide scratch: http://koji.fedoraproject.org/koji/taskinfo?taskID=9384225 Thanks for the review!
The %files section is now ok, but you ignored the part about the java Requires. If you don't understand why do I want that or you disagree, just ask here or on IRC. So the items left: - Remove requires on java - Remove the chmod (it's unnecessary and generally you shouldn't touch maven-metadata manually unless there is a real reason) - Remove Requires: %{name}%{?_isa} = %{version}-%{release} in the javadoc subpackage. Javadoc subpackages shouldn't require main package, it's a documentation package that is usable without the main package.
* Thu Apr 02 2015 Raphael Groner <> - 0.2.3-0.4.20141215svn258 - remove reviewed redundants R: java, chmod, javadoc - skip distribution of demo and test subfolders SRPM: https://raphgro.fedorapeople.org/review/java/jlibrtp/jlibrtp-0.2.3-0.4.20141215svn258.fc21.src.rpm SPEC: https://raphgro.fedorapeople.org/review/java/jlibrtp/jlibrtp.spec rawhide scratch: http://koji.fedoraproject.org/koji/taskinfo?taskID=9399425 Sorry for the confusion about those missed review points, I must have fallen asleep... Thanks a lot for your patience!
Looks ok now. APPROVED
New Package SCM Request ======================= Package Name: jlibrtp Short Description: Java library for the Real-Time Transport Protocol (RTP) Upstream URL: http://sf.net/projects/jlibrtp Owners: raphgro Branches: el7 f21 f22 InitialCC:
Build fails for EPEL7 … http://koji.fedoraproject.org/koji/taskinfo?taskID=9406168
Git done (by process-git-requests).
jlibrtp-0.2.3-0.4.20141215svn258.fc22 has been submitted as an update for Fedora 22. https://admin.fedoraproject.org/updates/jlibrtp-0.2.3-0.4.20141215svn258.fc22
jlibrtp-0.2.3-0.4.20141215svn258.fc21 has been submitted as an update for Fedora 21. https://admin.fedoraproject.org/updates/jlibrtp-0.2.3-0.4.20141215svn258.fc21
rabbitmq-java-client-3.5.1-1.fc21 has been submitted as an update for Fedora 21. https://admin.fedoraproject.org/updates/rabbitmq-java-client-3.5.1-1.fc21
jlibrtp-0.2.3-0.4.20141215svn258.fc22 has been pushed to the Fedora 22 testing repository.
jlibrtp-0.2.3-0.4.20141215svn258.fc22 has been pushed to the Fedora 22 stable repository.
Removing alias to allow general search for bugs.