Bug 989265

Summary: Review Request: dtdparser - A Java DTD Parser
Product: [Fedora] Fedora Reporter: Gerard Ryan <fedora>
Component: Package ReviewAssignee: gil cattaneo <puntogil>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: notting, package-review, puntogil
Target Milestone: ---Flags: puntogil: fedora-review+
gwync: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: dtdparser-1.21-10.fc19 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-08-10 03:58:23 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 989106, 989266    

Description Gerard Ryan 2013-07-28 22:15:13 UTC
Spec URL: http://galileo.fedorapeople.org/dtdparser/dtdparser.spec
SRPM URL: http://galileo.fedorapeople.org/dtdparser/dtdparser-1.21-9.fc19.src.rpm
Description:
DTD parsers for Java seem to be pretty scarce. That's probably because
DTD isn't valid XML. At some point, if/when XML Schema becomes widely
accepted, no one will need DTD parsers anymore. Until then, you can
use this library to parse a DTD.
Fedora Account System Username: galileo

This was a dead package that I need to bring back as an indirect dependency for JBoss Tools (smooks requires it, which is a dependency of jboss-wise-core, which eclipse-jbosstools 4.1.0 will need).

Repo at https://github.com/grdryn/dtdparser-rpm might help reviewer to see what has changed.

Scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=5669879

Comment 1 gil cattaneo 2013-07-29 07:48:12 UTC
source url is wrong
see http://osdir.com/ml/java-jdom-general/2012-02/msg00001.html
source archive is available here
http://www.hoplahup.net/tmp/dtdparser-1.21.zip
regards

Comment 2 gil cattaneo 2013-07-29 07:55:43 UTC
Package Review
==============

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
[ ] = Manual review needed


Issues:
=======
- Package do not use a name that already exist
  Note: A package already exist with this name, please check
  https://admin.fedoraproject.org/pkgdb/acls/name/dtdparser
  See: https://fedoraproject.org/wiki/Packaging/NamingGuidelines#Conflicting_Package_Names
- Javadoc subpackages should not have Requires: jpackage-utils
  Note: jpackage-utils requires are automatically generated by the buildsystem
  See: https://fedoraproject.org/wiki/Packaging:Java
- Bundled jar/class files should be removed before build
  Note: Jar files in source (see attachment)
  See: http://fedoraproject.org/wiki/Packaging:Java#Pre-built_JAR_files_.2F_Other_bundled_software'


===== 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]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[-]: Package contains desktop file if it is a GUI application.
[-]: Development files must be in a -devel package
[x]: Package requires other packages for directories it uses.
[x]: Package uses nothing in %doc for runtime.
[x]: Package is not known to require ExcludeArch.
[x]: Fully versioned dependency in subpackages, if present.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in dtdparser-
     javadoc
[x]: Package complies to the Packaging Guidelines
[x]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "Unknown or generated". 32 files have unknown license.
[!]: License file installed when any subpackage combination is installed.
[x]: Package consistently uses macro is (instead of hard-coded directory
     names).
[x]: If the package is under multiple licenses, the licensing breakdown must
     be documented in the spec.
[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.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[x]: Large documentation must go in a -doc subpackage.
     Note: Documentation size is 40960 bytes in 3 files.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Each %files section contains %defattr if rpm < 4.4
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[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 use %makeinstall only when make install' ' DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[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.
[x]: Packages must not store files under /srv, /opt or /usr/local
[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).

Java:
[x]: Packages have proper BuildRequires/Requires on jpackage-utils
[x]: Fully versioned dependency in subpackages, if present.
[x]: Javadoc documentation files are generated and included in -javadoc
     subpackage
[x]: Javadocs are placed in %{_javadocdir}/%{name} (no -%{version} symlink)

Maven:
[x]: Pom files have correct Maven mapping
     Note: Some add_maven_depmap calls found. Please check if they are correct
     or update to latest guidelines
[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
[x]: Packages DOES NOT have Requires(post) and Requires(postun) on jpackage-
     utils for %update_maven_depmap macro
[x]: Package DOES NOT use %update_maven_depmap in %post/%postun
[x]: Packages use %{_mavenpomdir} instead of %{_datadir}/maven2/poms

===== SHOULD items =====

Generic:
[!]: Sources can be downloaded from URI in Source: tag
     Note: Could not download Source0
[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.
[x]: Final provides and requires are sane (see attachments).
[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: Patches link to upstream bugs/comments/lists or are otherwise justified.
[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.
[x]: %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.
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: SourceX tarball generation or download is documented.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define.

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.
[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: dtdparser-1.21-9.fc20.noarch.rpm
          dtdparser-javadoc-1.21-9.fc20.noarch.rpm
dtdparser.noarch: W: spelling-error %description -l en_US parsers -> parser, parses, parers
dtdparser.noarch: W: invalid-url URL: http://wutka.com/dtdparser.html HTTP Error 404: Not Found
dtdparser.noarch: E: incorrect-fsf-address /usr/share/doc/dtdparser/LICENSE
dtdparser-javadoc.noarch: W: invalid-url URL: http://wutka.com/dtdparser.html HTTP Error 404: Not Found
dtdparser-javadoc.noarch: E: zero-length /usr/share/javadoc/dtdparser/package-list
dtdparser-javadoc.noarch: E: incorrect-fsf-address /usr/share/doc/dtdparser-javadoc/LICENSE
2 packages and 0 specfiles checked; 3 errors, 3 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint dtdparser dtdparser-javadoc
dtdparser.noarch: W: spelling-error %description -l en_US parsers -> parser, parses, parers
dtdparser.noarch: W: invalid-url URL: http://wutka.com/dtdparser.html HTTP Error 404: Not Found
dtdparser.noarch: E: incorrect-fsf-address /usr/share/doc/dtdparser/LICENSE
dtdparser-javadoc.noarch: W: invalid-url URL: http://wutka.com/dtdparser.html HTTP Error 404: Not Found
dtdparser-javadoc.noarch: E: zero-length /usr/share/javadoc/dtdparser/package-list
dtdparser-javadoc.noarch: E: incorrect-fsf-address /usr/share/doc/dtdparser-javadoc/LICENSE
2 packages and 0 specfiles checked; 3 errors, 3 warnings.
# echo 'rpmlint-done:'



Jar and class files in source
-----------------------------
./dtdparser-1.21/dtdparser121.jar


Requires
--------
dtdparser (rpmlib, GLIBC filtered):
    java
    jpackage-utils

dtdparser-javadoc (rpmlib, GLIBC filtered):
    jpackage-utils



Provides
--------
dtdparser:
    dtdparser
    mvn(com.wutka:dtdparser)

dtdparser-javadoc:
    dtdparser-javadoc



Source checksums
----------------
http://repo1.maven.org/maven2/com/wutka/dtdparser/1.21/dtdparser-1.21.pom :
  CHECKSUM(SHA256) this package     : 256884ba966f61b5b115f174e2621f2f8565cfedc4f742b98924565933bba29e
  CHECKSUM(SHA256) upstream package : 256884ba966f61b5b115f174e2621f2f8565cfedc4f742b98924565933bba29e


Generated by fedora-review 0.4.1 (b2e211f) last change: 2013-04-29
Buildroot used: fedora-rawhide-i386
Command line :/usr/bin/fedora-review -b 989265 -m fedora-rawhide-i386

Comment 3 gil cattaneo 2013-07-29 08:02:47 UTC
Issues:
please install also ASL_LICENSE
please fix incorrect-fsf-addres 
with
sed -i "s,59 Temple Place,51 Franklin Street,;s,Suite 330,Fifth Floor,;s,02111-1307,02110-1301," LICENSE
or patch
remove jpackage-utils references fron javadoc subpackage

please fix zero-length /usr/share/javadoc/dtdparser/package-list

somethings wrong happen here
find -name \*.jar -o -name \*.class -delete
- Bundled jar/class files should be removed before build
  Note: Jar files in source (see attachment)
  See: http://fedoraproject.org/wiki/Packaging:Java#Pre-built_JAR_files_.2F_Other_bundled_software'

if you want can fix these problems also at import time
regards

Comment 4 gil cattaneo 2013-07-29 08:08:02 UTC
found source code also here
http://sourceforge.net/projects/dtdparser/files/dtdparser/1.21/dtdparser-1.21.tgz
regards

Comment 5 Gerard Ryan 2013-07-29 15:32:19 UTC
Thanks for the review gil! All issues found have been fixed: https://github.com/grdryn/dtdparser-rpm/commit/7970922a731f320e296aa62fc25fad507c85866f

(In reply to gil cattaneo from comment #4)
> found source code also here
> http://sourceforge.net/projects/dtdparser/files/dtdparser/1.21/dtdparser-1.
> 21.tgz
> regards

Thanks, using that one now.

(In reply to gil cattaneo from comment #3)
> Issues:
> please install also ASL_LICENSE

Done.

> please fix incorrect-fsf-addres 
> with
> sed -i "s,59 Temple Place,51 Franklin Street,;s,Suite 330,Fifth
> Floor,;s,02111-1307,02110-1301," LICENSE

Done.

> remove jpackage-utils references fron javadoc subpackage

Done.

> please fix zero-length /usr/share/javadoc/dtdparser/package-list

Done.

> somethings wrong happen here
> find -name \*.jar -o -name \*.class -delete
> - Bundled jar/class files should be removed before build
>   Note: Jar files in source (see attachment)
>   See:
> http://fedoraproject.org/wiki/Packaging:Java#Pre-built_JAR_files_.
> 2F_Other_bundled_software'

Done -- was missing the first -delete.

(In reply to gil cattaneo from comment #2)
> Issues:
> =======
> - Package do not use a name that already exist
>   Note: A package already exist with this name, please check
>   https://admin.fedoraproject.org/pkgdb/acls/name/dtdparser
>   See:
> https://fedoraproject.org/wiki/Packaging/
> NamingGuidelines#Conflicting_Package_Names

As mentioned in comment #1, this was a retired package that I'm bringing back, hence the existing record.

Thanks again! :)

Comment 6 Gerard Ryan 2013-07-29 15:39:44 UTC
New Package SCM Request
=======================
Package Name: dtdparser
Short Description: A Java DTD Parser
Owners: galileo
Branches: f19
InitialCC:

Comment 7 Gwyn Ciesla 2013-07-29 16:17:47 UTC
Unretired, please take ownership in pkgdb, file a trac with rel-eng to
unblock in koji, and file a Package Change Request for the f19 branch.

Comment 8 Gerard Ryan 2013-07-29 19:55:32 UTC
(In reply to Jon Ciesla from comment #7)
> Unretired, please take ownership in pkgdb, file a trac with rel-eng to
> unblock in koji, and file a Package Change Request for the f19 branch.

Thanks a lot Jon. I've opened a trac to get it unblocked in koji here: https://fedorahosted.org/rel-eng/ticket/5696

Can you tell me where/how do I file a Package Change Request? Is that something I do with rel-eng also, or is it here on BZ, or somewhere else?

Comment 9 gil cattaneo 2013-07-29 20:34:20 UTC
i hope i can be of help
see here https://bugzilla.redhat.com/show_bug.cgi?id=805487
regards

Comment 10 Gerard Ryan 2013-07-29 22:24:33 UTC
Package Change Request
======================
Package Name: dtdparser
New Branches: f19
Owners: galileo
InitialCC: java-sig

Thanks Gil! :)

Comment 11 Gwyn Ciesla 2013-07-30 12:07:31 UTC
Git done (by process-git-requests).

Comment 12 Fedora Update System 2013-07-30 17:49:14 UTC
dtdparser-1.21-10.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/dtdparser-1.21-10.fc19

Comment 13 Fedora Update System 2013-08-02 03:50:59 UTC
dtdparser-1.21-10.fc19 has been pushed to the Fedora 19 testing repository.

Comment 14 Fedora Update System 2013-08-10 03:58:23 UTC
dtdparser-1.21-10.fc19 has been pushed to the Fedora 19 stable repository.

Comment 15 Fedora Update System 2013-08-10 12:35:22 UTC
dtdparser-1.21-10.fc19 has been pushed to the Fedora 19 stable repository.