Bug 226548 - Merge Review: xalan-j2
Merge Review: xalan-j2
Status: CLOSED NEXTRELEASE
Product: Fedora
Classification: Fedora
Component: xalan-j2 (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Michael Simacek
Fedora Package Reviews List
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2007-01-31 16:18 EST by Nobody's working on this, feel free to take it
Modified: 2015-02-12 08:03 EST (History)
8 users (show)

See Also:
Fixed In Version: 2.7.1-25
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2015-02-12 08:03:35 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Nobody's working on this, feel free to take it 2007-01-31 16:18:04 EST
Fedora Merge Review: xalan-j2

http://cvs.fedora.redhat.com/viewcvs/devel/xalan-j2/
Initial Owner: vivekl@redhat.com
Comment 1 Stanislav Ochotnicky 2011-03-31 03:00:47 EDT
I'll do merge review, akurtakov will do the fixing
Comment 2 Stanislav Ochotnicky 2011-03-31 03:50:21 EDT
Package Review
==============

Key:
- = N/A
x = Check
! = Problem
? = Not evaluated

=== REQUIRED ITEMS ===
[!]  Rpmlint output:
xalan-j2.noarch: W: spelling-error %description -l en_US servlet -> servile, serviette, servility
xalan-j2.noarch: W: non-standard-group Text Processing/Markup/XML
xalan-j2.noarch: W: wrong-file-end-of-line-encoding /usr/share/doc/xalan-j2-2.7.1/NOTICE.txt
xalan-j2.noarch: W: wrong-file-end-of-line-encoding /usr/share/doc/xalan-j2-2.7.1/LICENSE.txt
xalan-j2.noarch: W: dangling-symlink /usr/share/java/jaxp_transform_impl.jar /etc/alternatives
xalan-j2.noarch: W: wrong-file-end-of-line-encoding /usr/share/doc/xalan-j2-2.7.1/KEYS
xalan-j2.noarch: W: class-path-in-manifest /usr/share/java/xalan-j2.jar
xalan-j2-demo.noarch: W: non-standard-group Text Processing/Markup/XML
xalan-j2-demo.noarch: W: no-documentation
xalan-j2-demo.noarch: E: non-executable-script /usr/share/xalan-j2/samples/extensions/sql/runXalan.sh 0644L /bin/sh
xalan-j2-demo.noarch: E: wrong-script-end-of-line-encoding /usr/share/xalan-j2/samples/extensions/sql/runXalan.sh
xalan-j2-demo.noarch: E: non-executable-script /usr/share/xalan-j2/samples/extensions/sql/runDerby.sh 0644L /bin/sh
xalan-j2-demo.noarch: E: wrong-script-end-of-line-encoding /usr/share/xalan-j2/samples/extensions/sql/runDerby.sh
xalan-j2-demo.noarch: E: non-executable-script /usr/share/xalan-j2/samples/extensions/sql/runExtConnection.sh 0644L /bin/sh
xalan-j2-demo.noarch: E: wrong-script-end-of-line-encoding /usr/share/xalan-j2/samples/extensions/sql/runExtConnection.sh
xalan-j2-javadoc.noarch: W: non-standard-group Development/Documentation
xalan-j2-manual.noarch: W: non-standard-group Text Processing/Markup/XML
xalan-j2-manual.noarch: W: wrong-file-end-of-line-encoding /usr/share/doc/xalan-j2-manual-2.7.1/xsltc/README.xsltc
xalan-j2-manual.noarch: W: wrong-file-end-of-line-encoding /usr/share/doc/xalan-j2-manual-2.7.1/xsltc/README.xslt
xalan-j2-manual.noarch: W: wrong-file-end-of-line-encoding /usr/share/doc/xalan-j2-manual-2.7.1/resources/script.js
xalan-j2-manual.noarch: W: wrong-file-end-of-line-encoding /usr/share/doc/xalan-j2-manual-2.7.1/xsltc/resources/script.js
xalan-j2-manual.noarch: W: dangling-symlink /usr/share/doc/xalan-j2-manual-2.7.1/apidocs /usr/share/javadoc/xalan-j2
xalan-j2-xsltc.noarch: W: spelling-error %description -l en_US stylesheets -> style sheets, style-sheets, stylishness
xalan-j2-xsltc.noarch: W: spelling-error %description -l en_US translets -> trans lets, trans-lets, translates
xalan-j2-xsltc.noarch: W: non-standard-group Text Processing/Markup/XML
xalan-j2-xsltc.noarch: W: no-documentation
xalan-j2-xsltc.noarch: W: class-path-in-manifest /usr/share/java/xsltc.jar
5 packages and 0 specfiles checked; 6 errors, 21 warnings.

You know what to do :-) Except maybe those examples...if they run fine in-place perhaps they could be made +x, otherwise just leave them -x

[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].
[x]  Package successfully compiles and builds into binary rpms.
[!]  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].
[!]  License field in the package spec file matches the actual license.
License type: ASL 1.1 and ASL 2.0 and W3C

If I understand LICENSE.txt correctly, parts of xalan are generic BSD license (JLex, CUP)

[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.
[!]  All independent sub-packages have license of their own
xsltc, manual and javadoc subpackages don't have LICENSE.txt and don't require base package
[x]  Spec file is legible and written in American English.
[x]  Sources used to build the package matches the upstream source, as provided in the spec URL.
MD5SUM this package    : fc805051f0fe505c7a4b1b5c8db9b9e3
[!]  All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines[5].
Missing zip BR
[x]  Package must own all directories that it creates.
[x]  Package requires other packages for directories it uses.
xsltc subpackage doesn't require jpackage utils, but its other deps should pull it in so no problem

[x]  Package does not contain duplicates in %files.
[x]  Permissions on files are set properly.
[!]  Package does NOT have a %clean section which contains rm -rf %{buildroot} (or $RPM_BUILD_ROOT). (not needed anymore)
Remove clean and rm -rf
[x]  Package consistently uses macros (no %{buildroot} and $RPM_BUILD_ROOT mixing)
[x]  Package contains code, or permissable content.
[x]  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
[x]  Package uses %global not %define
[-]  If package uses tarball from VCS include comment how to re-create that tarball (svn export URL, git clone URL, ...)
[!]  If source tarball includes bundled jar/class files these need to be removed prior to building
These lines are a problem:
# FIXME who knows where the sources are? xalan-j1 ?
mv tools/xalan2jdoc.jar.no tools/xalan2jdoc.jar
mv tools/xalan2jtaglet.jar.no tools/xalan2jtaglet.jar

Build of xalan-j2 uses binary files that we don't have sources for. If you can't find sources I guess we could ask for an exception  (we need these files just to build, they are not installed).

[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
[-]  pom files has correct add_to_maven_depmap call which resolves to the pom file (use "JPP." and "JPP-" correctly)

Perhaps maven support could be added?

=== Maven ===
[-]  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 "-Dmaven2.jpp.depmap.file=*" explain why it's needed in a comment
[-]  Package uses %update_maven_depmap in %post/%postun
[-]  Packages 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)
[x]  Latest version is packaged.
[!]  Reviewer should test that the package builds in mock. (missing zip in BR)
Tested on: fedora-rawhide-x86_64


=== Issues ===
1. rpmlint problems (groups, EOLs, classpaths-in-manifests etc)
2. buildroot, clean section and rm -rf buildroot
3. license review and inclusion in sub-packages
4. zip BR
5. use of bundled libs for building
6. unused patches
7. stale commented snippets
8. I'd prefer if jars in %prep were -delete(ed) instead of moved
Comment 3 Cole Robinson 2015-02-11 15:39:29 EST
Mass reassigning all merge reviews to their component. For more details, see this FESCO ticket:

  https://fedorahosted.org/fesco/ticket/1269

If you don't know what merge reviews are about, please see:

  https://fedoraproject.org/wiki/Merge_Reviews

How to handle this bug is left to the discretion of the package maintainer.
Comment 4 Mikolaj Izdebski 2015-02-11 15:42:58 EST
Michael, could you please review this package?
Comment 5 Michael Simacek 2015-02-12 05:30:41 EST
Package Review
==============

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


Issues:
=======
- Bundled jars used for generating documentation
- Wrong end-of-line encodings

===== 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:
     "Apache (v2.0)", "Unknown or generated", "*No copyright* Apache (v2.0)".
     26 files have unknown license. Detailed output of licensecheck in
     /home/msimacek/pkgs/xalan-j2/review-xalan-j2/licensecheck.txt
[x]: License file installed when any subpackage combination is installed.
[x]: If the package is under multiple licenses, the licensing breakdown must
     be documented in the spec.
[!]: 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.
[-]: 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.
[x]: 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]: Package requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[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]: Package does not contain duplicates in %files.
[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 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:
[!]: 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]: 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 DO 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:
[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]: Fully versioned dependency in subpackages if applicable.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in
     xalan-j2-xsltc , xalan-j2-manual , xalan-j2-javadoc , xalan-j2-demo
[?]: Package functions as described.
[-]: 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.
[-]: %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]: Sources can be downloaded from URI in Source: tag
[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:
[ ]: 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: xalan-j2-2.7.1-24.fc22.noarch.rpm
          xalan-j2-xsltc-2.7.1-24.fc22.noarch.rpm
          xalan-j2-manual-2.7.1-24.fc22.noarch.rpm
          xalan-j2-javadoc-2.7.1-24.fc22.noarch.rpm
          xalan-j2-demo-2.7.1-24.fc22.noarch.rpm
          xalan-j2-2.7.1-24.fc22.src.rpm
xalan-j2.noarch: W: spelling-error %description -l en_US servlet -> settler
xalan-j2.noarch: W: dangling-symlink /usr/share/java/jaxp_transform_impl.jar /etc/alternatives
xalan-j2-xsltc.noarch: W: spelling-error %description -l en_US stylesheets -> style sheets, style-sheets, dustsheets
xalan-j2-xsltc.noarch: W: spelling-error %description -l en_US translets -> trans lets, trans-lets, translates
xalan-j2-xsltc.noarch: W: no-documentation
xalan-j2-manual.noarch: W: wrong-file-end-of-line-encoding /usr/share/doc/xalan-j2-manual/xsltc/README.xslt
xalan-j2-manual.noarch: W: wrong-file-end-of-line-encoding /usr/share/doc/xalan-j2-manual/xsltc/resources/script.js
xalan-j2-manual.noarch: W: wrong-file-end-of-line-encoding /usr/share/doc/xalan-j2-manual/xsltc/README.xsltc
xalan-j2-manual.noarch: W: dangling-symlink /usr/share/doc/xalan-j2-manual/apidocs /usr/share/javadoc/xalan-j2
xalan-j2-manual.noarch: W: wrong-file-end-of-line-encoding /usr/share/doc/xalan-j2-manual/resources/script.js
xalan-j2-demo.noarch: W: no-documentation
xalan-j2-demo.noarch: E: non-executable-script /usr/share/xalan-j2/samples/extensions/sql/runXalan.sh 0644L /bin/sh
xalan-j2-demo.noarch: E: wrong-script-end-of-line-encoding /usr/share/xalan-j2/samples/extensions/sql/runXalan.sh
xalan-j2-demo.noarch: E: non-executable-script /usr/share/xalan-j2/samples/extensions/sql/runDerby.sh 0644L /bin/sh
xalan-j2-demo.noarch: E: wrong-script-end-of-line-encoding /usr/share/xalan-j2/samples/extensions/sql/runDerby.sh
xalan-j2-demo.noarch: E: non-executable-script /usr/share/xalan-j2/samples/extensions/sql/runExtConnection.sh 0644L /bin/sh
xalan-j2-demo.noarch: E: wrong-script-end-of-line-encoding /usr/share/xalan-j2/samples/extensions/sql/runExtConnection.sh
xalan-j2.src: W: spelling-error %description -l en_US servlet -> settler
xalan-j2.src:57: W: unversioned-explicit-provides jaxp_transform_impl
6 packages and 0 specfiles checked; 6 errors, 13 warnings.




Rpmlint (installed packages)
----------------------------
Cannot parse rpmlint output:


Requires
--------
xalan-j2-xsltc (rpmlib, GLIBC filtered):
    bcel
    java-headless
    java_cup
    jpackage-utils
    regexp
    xerces-j2

xalan-j2-manual (rpmlib, GLIBC filtered):

xalan-j2 (rpmlib, GLIBC filtered):
    /bin/sh
    chkconfig
    java-headless
    jpackage-utils
    osgi(org.apache.xerces)
    xerces-j2

xalan-j2-demo (rpmlib, GLIBC filtered):
    tomcat-servlet-3.0-api
    xalan-j2

xalan-j2-javadoc (rpmlib, GLIBC filtered):
    jpackage-utils



Provides
--------
xalan-j2-xsltc:
    mvn(xalan:xsltc)
    mvn(xalan:xsltc:pom:)
    xalan-j2-xsltc

xalan-j2-manual:
    xalan-j2-manual

xalan-j2:
    jaxp_transform_impl
    mvn(xalan:serializer)
    mvn(xalan:serializer:pom:)
    mvn(xalan:xalan)
    mvn(xalan:xalan:pom:)
    osgi(org.apache.xalan)
    osgi(org.apache.xml.serializer)
    xalan-j2

xalan-j2-demo:
    xalan-j2-demo

xalan-j2-javadoc:
    xalan-j2-javadoc



Source checksums
----------------
http://repo1.maven.org/maven2/xalan/xalan/2.7.1/xalan-2.7.1.pom :
  CHECKSUM(SHA256) this package     : db8e8871eb084530273bae07e2f7caa4af370f8cf16c2a598087ae3c3ac55429
  CHECKSUM(SHA256) upstream package : db8e8871eb084530273bae07e2f7caa4af370f8cf16c2a598087ae3c3ac55429
http://repo1.maven.org/maven2/xalan/serializer/2.7.1/serializer-2.7.1.pom :
  CHECKSUM(SHA256) this package     : b0f3c4bcf2604c903eb45eac9fb0c4de50f3895059cec4c6ac88eae15613f081
  CHECKSUM(SHA256) upstream package : b0f3c4bcf2604c903eb45eac9fb0c4de50f3895059cec4c6ac88eae15613f081
http://archive.apache.org/dist/xml/xalan-j/xalan-j_2_7_1-src.tar.gz :
  CHECKSUM(SHA256) this package     : fa52aa629bb882335d45d67401d270c3f21b5131aaea005ac0d4590f2ce8b043
  CHECKSUM(SHA256) upstream package : fa52aa629bb882335d45d67401d270c3f21b5131aaea005ac0d4590f2ce8b043
Using local file /home/msimacek/pkgs/xalan-j2/xalan-j2-serializer-MANIFEST.MF as upstream
file:///home/msimacek/pkgs/xalan-j2/xalan-j2-serializer-MANIFEST.MF :
  CHECKSUM(SHA256) this package     : d475357c30699ef5909bf406f26f0d050ced72b0b0b534213795c8170de64c2a
  CHECKSUM(SHA256) upstream package : d475357c30699ef5909bf406f26f0d050ced72b0b0b534213795c8170de64c2a
Using local file /home/msimacek/pkgs/xalan-j2/xsltc-2.7.1.pom as upstream
file:///home/msimacek/pkgs/xalan-j2/xsltc-2.7.1.pom :
  CHECKSUM(SHA256) this package     : a16b1be93e52bd200e9cd88fb31823084531098e1676297e73a07b6d4740568b
  CHECKSUM(SHA256) upstream package : a16b1be93e52bd200e9cd88fb31823084531098e1676297e73a07b6d4740568b
Using local file /home/msimacek/pkgs/xalan-j2/xalan-j2-MANIFEST.MF as upstream
file:///home/msimacek/pkgs/xalan-j2/xalan-j2-MANIFEST.MF :
  CHECKSUM(SHA256) this package     : bdc9ca6aaa60b63f2357ab34de4d4c39a7f847b5502e146e21f440c1bdb7782f
  CHECKSUM(SHA256) upstream package : bdc9ca6aaa60b63f2357ab34de4d4c39a7f847b5502e146e21f440c1bdb7782f


Generated by fedora-review 0.5.2 (63c24cb) last change: 2014-07-14
Command line :/usr/bin/fedora-review -n xalan-j2
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



I'll fix those issues myself as the package's comaintainer.

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