Bug 836850 - Review Request: truezip - Java based VFS for treating archive files as virtual directories
Summary: Review Request: truezip - Java based VFS for treating archive files as virtua...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Mikolaj Izdebski
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 836698 836849
Blocks: 837726 838756
TreeView+ depends on / blocked
 
Reported: 2012-07-01 23:25 UTC by Gerard Ryan
Modified: 2012-08-03 11:29 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-08-03 11:29:48 UTC
Type: ---
Embargoed:
mizdebsk: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Gerard Ryan 2012-07-01 23:25:56 UTC
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

Comment 1 Mikolaj Izdebski 2012-07-12 13:19:43 UTC
I am willing to take this review after all bugs it depends on are resolved.

Comment 2 Mikolaj Izdebski 2012-07-13 15:07:39 UTC
I am taking this review.

Comment 3 Gerard Ryan 2012-07-13 23:50:26 UTC
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!

Comment 4 Mikolaj Izdebski 2012-07-17 09:29:16 UTC
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.

Comment 5 Gerard Ryan 2012-07-17 18:47:20 UTC
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!

Comment 6 Mikolaj Izdebski 2012-07-23 17:14:06 UTC
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.

Comment 7 Gerard Ryan 2012-07-23 23:09:54 UTC
> 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!

Comment 8 Mikolaj Izdebski 2012-07-24 11:25:05 UTC
Everything looks fine now.
Tested on Koji: http://koji.fedoraproject.org/koji/taskinfo?taskID=4325184

**************
** APPROVED **
**************

Comment 9 Gerard Ryan 2012-07-24 11:36:29 UTC
New Package SCM Request
=======================
Package Name: truezip
Short Description: Java based VFS for treating archive files as virtual directories
Owners: galileo
Branches: f17
InitialCC:

Comment 10 Gwyn Ciesla 2012-07-24 12:04:29 UTC
Git done (by process-git-requests).

Comment 11 Fedora Update System 2012-07-24 15:30:24 UTC
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

Comment 12 Fedora Update System 2012-07-24 22:10:43 UTC
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

Comment 13 Fedora Update System 2012-07-24 23:27:15 UTC
truezip-7.5.5-4.fc17 has been pushed to the Fedora 17 testing repository.

Comment 14 Fedora Update System 2012-07-25 01:21:23 UTC
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

Comment 15 Fedora Update System 2012-08-03 11:29:48 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.