Spec URL: http://galileo.fedorapeople.org/truezip/7.5.5-1/truezip.spec SRPM URL: http://galileo.fedorapeople.org/truezip/7.5.5-1/truezip-7.5.5-1.fc17.src.rpm Description: TrueVFS is a Java based virtual file system (VFS) which enables client applications to perform CRUD (Create, Read, Update, Delete) operations on archive files as if they were virtual directories, even with nested archive files in multithreaded environments. As a library, TrueVFS provides simple, uniform, transparent, thread-safe, read/write access to archive files as if they were virtual directories in a file system path. As a framework, TrueVFS provides the interfaces and classes to write file system drivers which plug-in to its federated file system space. Fedora Account System Username: galileo
I am willing to take this review after all bugs it depends on are resolved.
I am taking this review.
Spec URL: http://galileo.fedorapeople.org/truezip/7.5.5-2/truezip.spec SRPM URL: http://galileo.fedorapeople.org/truezip/7.5.5-2/truezip-7.5.5-2.fc17.src.rpm (In reply to comment #2) > I am taking this review. Thanks! I've added some extra maven stuff to BR, so this at least builds on koji rawhide: http://koji.fedoraproject.org/koji/taskinfo?taskID=4239198 I'm not sure if the structuring of the subpackages is optimal, and the installation of some of the maven stuff might be off also. Any comments/advice welcome!
First of all I'd recommend you looking at the spec file of jetty. It is a package with many submodules and structure similar to truezip. Things that will need to be fixed: 1) JAR files must be installed into a subdirectory. Quoting from the guidelines: "If the number of provided JAR files exceeds two, you MUST place them into a sub-directory named %{name}." See: http://fedoraproject.org/wiki/Packaging:Java#Installation_directory 2) POM files have incorrect names. It must be JPP.%{name}-${module}.pom instead of JPP-%{name}-${module}.pom (note the dot after JPP part). Quoting from the guidelines: "The name of the file should follow the following convention: JPP[.<subdir name under %{_javadir}>]-jarname.pom, where jarname is the name of the jar without the .jar suffix." See: http://fedoraproject.org/wiki/Java/JPPMavenReadme#POM_file_names 3) %add_maven_depmap calls need -f flag. See jetty package for example. See also: http://fedoraproject.org/wiki/Packaging:Java#depmap_macro 4) Versioned dependencies should have version requirement in form of "= %{version}-%{release}" instead of "= %{version}" Some other suggestions: 5) You don't need to specify "Group: Development/Libraries" all the time -- it's inherited from the previously defined package. 6) I'm not sure about inter-module dependencies, they look quite inconsistent. I'm not saying they are wrong, but you can rethink them. I added two dependency graphs I used. The first is the original one, the second is transitively-reduced (but equivalent) one. http://mizdebsk.fedorapeople.org/truezip.svg http://mizdebsk.fedorapeople.org/truezip-red.svg Once you fix the above problems (at least from 1 to 4) I can proceed with the full review.
Spec URL: http://galileo.fedorapeople.org/truezip/7.5.5-3/truezip.spec SRPM URL: http://galileo.fedorapeople.org/truezip/7.5.5-3/truezip-7.5.5-3.fc17.src.rpm I believe all of the above issues have been attended to, if you run into any more (there's a significant chance), let me know. Thanks again!
Package Review ============== Key: - = N/A x = Pass ! = Fail ? = Not evaluated ==== Generic ==== [!]: MUST Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [x]: MUST Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [x]: MUST %build honors applicable compiler flags or justifies otherwise. [x]: MUST All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. [x]: MUST Buildroot is not present Note: Unless packager wants to package for EPEL5 this is fine [x]: MUST Package contains no bundled libraries. [x]: MUST Changelog in prescribed format. [x]: MUST Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) Note: Clean would be needed if support for EPEL is required [x]: MUST Sources contain only permissible code or content. [x]: MUST Each %files section contains %defattr if rpm < 4.4 Note: Note: defattr macros not found. They would be needed for EPEL5 [x]: MUST Macros in Summary, %description expandable at SRPM build time. [x]: MUST Package requires other packages for directories it uses. [x]: MUST Package uses nothing in %doc for runtime. [x]: MUST Package is not known to require ExcludeArch. [x]: MUST Permissions on files are set properly. [x]: MUST Package does not contain duplicates in %files. [x]: MUST Spec file lacks Packager, Vendor, PreReq tags. [x]: MUST Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. Note: rm -rf would be needed if support for EPEL5 is required [x]: MUST Large documentation files are in a -doc subpackage, if required. [x]: MUST 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]: MUST License field in the package spec file matches the actual license. [x]: MUST License file installed when any subpackage combination is installed. [x]: MUST Package consistently uses macros (instead of hard-coded directory names). [x]: MUST Package is named according to the Package Naming Guidelines. [x]: MUST Package does not generate any conflict. [x]: MUST Package obeys FHS, except libexecdir and /usr/target. [x]: MUST Package must own all directories that it creates. [x]: MUST Package does not own files or directories owned by other packages. [x]: MUST Package installs properly. [x]: MUST Requires correct, justified where necessary. [!]: MUST Rpmlint output is silent. [x]: MUST Sources used to build the package match the upstream source, as provided in the spec URL. [x]: MUST Spec file is legible and written in American English. [x]: MUST Spec file name must match the spec package %{name}, in the format %{name}.spec. [x]: MUST Package contains a SysV-style init script if in need of one. [x]: MUST File names are valid UTF-8. [-]: MUST Useful -debuginfo package or justification otherwise. [x]: SHOULD Reviewer should test that the package builds in mock. [!]: SHOULD If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. [x]: SHOULD Dist tag is present. [x]: SHOULD No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: SHOULD Final provides and requires are sane (rpm -q --provides and rpm -q --requires). [x]: SHOULD Package functions as described. [x]: SHOULD Latest version is packaged. [x]: SHOULD Package does not include license text files separate from upstream. [x]: SHOULD Patches link to upstream bugs/comments/lists or are otherwise justified. [x]: SHOULD SourceX / PatchY prefixed with %{name}. [x]: SHOULD SourceX is a working URL. [x]: SHOULD Description and summary sections in the package spec file contains translations for supported Non-English languages, if available. [?]: SHOULD Package should compile and build into binary rpms on all supported architectures. [-]: SHOULD %check is present and all tests pass. [x]: SHOULD Packages should try to preserve timestamps of original installed files. [x]: SHOULD Spec use %global instead of %define. ==== Java ==== [x]: MUST If source tarball includes bundled jar/class files these need to be removed prior to building [x]: MUST Packages have proper BuildRequires/Requires on jpackage-utils [x]: MUST Fully versioned dependency in subpackages, if present. [x]: MUST Javadoc documentation files are generated and included in -javadoc subpackage [x]: MUST Javadoc subpackages have Requires: jpackage-utils [x]: MUST Javadocs are placed in %{_javadocdir}/%{name} (no -%{version} symlink) [x]: SHOULD Package has BuildArch: noarch (if possible) [x]: SHOULD Package uses upstream build method (ant/maven/etc.) ==== Maven ==== [x]: MUST Pom files have correct add_maven_depmap call [x]: MUST Old add_to_maven_depmap macro is not being used [x]: MUST Packages DOES NOT have Requires(post) and Requires(postun) on jpackage-utils for %update_maven_depmap macro [x]: MUST If package contains pom.xml files install it (including depmaps) even when building with ant [x]: MUST Package DOES NOT use %update_maven_depmap in %post/%postun [x]: MUST Packages use %{_mavenpomdir} instead of %{_datadir}/maven2/poms ==== Rpmlint output ==== rpmlint truezip-7.5.5-3.fc18.noarch.rpm truezip.noarch: W: spelling-error %description -l en_US multithreaded -> multicolored truezip.noarch: W: no-documentation 1 packages and 0 specfiles checked; 0 errors, 2 warnings. rpmlint truezip-driver-parent-7.5.5-3.fc18.noarch.rpm truezip-driver-parent.noarch: W: spelling-error Summary(en_US) pluggable -> plug gable, plug-gable, plugged truezip-driver-parent.noarch: W: spelling-error %description -l en_US pluggable -> plug gable, plug-gable, plugged truezip-driver-parent.noarch: W: no-documentation 1 packages and 0 specfiles checked; 0 errors, 3 warnings. rpmlint truezip-driver-tar-7.5.5-3.fc18.noarch.rpm truezip-driver-tar.noarch: W: spelling-error %description -l en_US lient -> lien, lint, lent truezip-driver-tar.noarch: W: no-documentation 1 packages and 0 specfiles checked; 0 errors, 2 warnings. rpmlint truezip-driver-zip-7.5.5-3.fc18.noarch.rpm truezip-driver-zip.noarch: W: no-documentation 1 packages and 0 specfiles checked; 0 errors, 1 warnings. rpmlint truezip-kernel-7.5.5-3.fc18.noarch.rpm truezip-kernel.noarch: W: spelling-error %description -l en_US unsynchronized -> synchronized, synchronize truezip-kernel.noarch: W: spelling-error %description -l en_US multithreading -> multitasking truezip-kernel.noarch: W: no-documentation 1 packages and 0 specfiles checked; 0 errors, 3 warnings. rpmlint truezip-extension-parent-7.5.5-3.fc18.noarch.rpm truezip-extension-parent.noarch: W: spelling-error Summary(en_US) pluggable -> plug gable, plug-gable, plugged truezip-extension-parent.noarch: W: spelling-error %description -l en_US pluggable -> plug gable, plug-gable, plugged truezip-extension-parent.noarch: W: no-documentation 1 packages and 0 specfiles checked; 0 errors, 3 warnings. rpmlint truezip-extension-jmx-jul-7.5.5-3.fc18.noarch.rpm truezip-extension-jmx-jul.noarch: W: spelling-error %description -l en_US util -> til, until, u til truezip-extension-jmx-jul.noarch: W: no-documentation 1 packages and 0 specfiles checked; 0 errors, 2 warnings. rpmlint truezip-7.5.5-3.fc18.src.rpm truezip.src: W: spelling-error %description -l en_US multithreaded -> multicolored truezip.src: W: invalid-url Source0: truezip-7.5.5.tar.gz 1 packages and 0 specfiles checked; 0 errors, 2 warnings. rpmlint truezip-driver-file-7.5.5-3.fc18.noarch.rpm truezip-driver-file.noarch: W: no-documentation 1 packages and 0 specfiles checked; 0 errors, 1 warnings. rpmlint truezip-javadoc-7.5.5-3.fc18.noarch.rpm truezip-javadoc.noarch: W: spelling-error Summary(en_US) Javadocs -> Java docs, Java-docs, Avocados 1 packages and 0 specfiles checked; 0 errors, 1 warnings. rpmlint truezip-file-7.5.5-3.fc18.noarch.rpm truezip-file.noarch: W: no-documentation 1 packages and 0 specfiles checked; 0 errors, 1 warnings. rpmlint truezip-driver-tzp-7.5.5-3.fc18.noarch.rpm truezip-driver-tzp.noarch: W: spelling-error Summary(en_US) encypted -> encrypted, encysted, tendency truezip-driver-tzp.noarch: W: no-documentation 1 packages and 0 specfiles checked; 0 errors, 2 warnings. rpmlint truezip-path-7.5.5-3.fc18.noarch.rpm truezip-path.noarch: W: no-documentation 1 packages and 0 specfiles checked; 0 errors, 1 warnings. rpmlint truezip-samples-7.5.5-3.fc18.noarch.rpm truezip-samples.noarch: W: spelling-error %description -l en_US runtime -> run time, run-time, rudiment truezip-samples.noarch: W: spelling-error %description -l en_US de -> DE, ed, d truezip-samples.noarch: W: spelling-error %description -l en_US ichtherle -> Richter truezip-samples.noarch: W: spelling-error %description -l en_US fs -> sf, gs, fa truezip-samples.noarch: W: spelling-error %description -l en_US sl -> til, ls, s truezip-samples.noarch: W: spelling-error %description -l en_US FsDriverLocator -> Diversification truezip-samples.noarch: W: no-documentation 1 packages and 0 specfiles checked; 0 errors, 7 warnings. rpmlint truezip-driver-http-7.5.5-3.fc18.noarch.rpm truezip-driver-http.noarch: W: no-documentation 1 packages and 0 specfiles checked; 0 errors, 1 warnings. rpmlint truezip-swing-7.5.5-3.fc18.noarch.rpm truezip-swing.noarch: W: no-documentation 1 packages and 0 specfiles checked; 0 errors, 1 warnings. ======= Issues ======= [!]: MUST Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. This package is licensed under EPL 1.0. The license says: "When the Program is made available in source code form [...] a copy of this Agreement must be included with each copy of the Program". This means that a copy of the EPL license must be included in the SRPM. [!]: MUST Rpmlint output is silent. There are 2 spelling errors (lient -> client, encypted -> encrypted). Please correct them.
> This means that a copy of the EPL license must be included in the SRPM. Done. > There are 2 spelling errors (lient -> client, encypted -> encrypted). > Please correct them. Done. Spec URL: http://galileo.fedorapeople.org/truezip/7.5.5-4/truezip.spec SRPM URL: http://galileo.fedorapeople.org/truezip/7.5.5-4/truezip-7.5.5-4.fc17.src.rpm Thanks!
Everything looks fine now. Tested on Koji: http://koji.fedoraproject.org/koji/taskinfo?taskID=4325184 ************** ** APPROVED ** **************
New Package SCM Request ======================= Package Name: truezip Short Description: Java based VFS for treating archive files as virtual directories Owners: galileo Branches: f17 InitialCC:
Git done (by process-git-requests).
truezip-7.5.5-4.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/truezip-7.5.5-4.fc17
truezip-7.5.5-5.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/truezip-7.5.5-5.fc17
truezip-7.5.5-4.fc17 has been pushed to the Fedora 17 testing repository.
truezip-7.5.5-6.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/truezip-7.5.5-6.fc17
truezip-7.5.5-6.fc17 has been pushed to the Fedora 17 stable repository. If problems still persist, please make note of it in this bug report.