Bug 1023848
Summary: | Review Request: closure-compiler - JavaScript minifier and checker | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Zbigniew Jędrzejewski-Szmek <zbyszek> |
Component: | Package Review | Assignee: | Dridi Boukelmoune <dridi.boukelmoune> |
Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | rawhide | CC: | dridi.boukelmoune, package-review |
Target Milestone: | --- | Flags: | dridi.boukelmoune:
fedora-review+
gwync: fedora-cvs+ |
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2014-02-05 15:29:47 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: | 1023832, 1024114, 1044580, 1053678 | ||
Bug Blocks: | 725733, 1024589 |
Description
Zbigniew Jędrzejewski-Szmek
2013-10-28 05:27:05 UTC
So, I've now used this to build zlib.js, and it seems to work, yay! Spec URL: http://in.waw.pl/~zbyszek/fedora/closure-compiler.spec SRPM URL: http://in.waw.pl/~zbyszek/fedora/closure-compiler-20131014-2.fc19.src.rpm json dependency has been replaced by android-json-org-java, so only guava >= 15 dependency remains. I hope guava 15 will land soon on rawhide, because I'll review this one. I have a failing build on koji [1] which basically fails the same way when I run locally fedora-review with mock configured with rawhide. The error message is: > /usr/bin/build-jar-repository: Could not find json Java extension for this JVM > /usr/bin/build-jar-repository: Could not find findbugs Java extension for this JVM > /usr/bin/build-jar-repository: error: Some specified jars were not found for this jvm Also I was wondering whether it is normal on rawhide to see fc20 dist tags [3] in dependencies: > DEBUG util.py:266: Getting requirements for closure-compiler-20131014-2.fc21.src > DEBUG util.py:266: --> javapackages-tools-3.4.1-3.fc21.noarch > DEBUG util.py:266: --> 1:java-1.7.0-openjdk-devel-1.7.0.60-2.4.3.1.fc21.x86_64 > DEBUG util.py:266: --> ant-1.9.2-7.fc21.noarch > DEBUG util.py:266: --> maven-ant-tasks-2.1.3-4.fc20.noarch > DEBUG util.py:266: --> jarjar-1.4-6.fc21.noarch > DEBUG util.py:266: --> args4j-2.0.25-1.fc20.noarch > DEBUG util.py:266: --> guava-13.0-6.fc20.noarch > DEBUG util.py:266: --> android-json-org-java-4.3-0.1.r3.1.fc21.noarch > DEBUG util.py:266: --> jsr-305-0-0.16.20130910svn.fc21.noarch > DEBUG util.py:266: --> junit-4.11-7.fc21.noarch > DEBUG util.py:266: --> protobuf-java-2.5.0-5.fc20.x86_64 > DEBUG util.py:266: --> rhino-1.7R4-6.fc21.noarch [1] http://koji.fedoraproject.org/koji/taskinfo?taskID=6258651 [2] http://kojipkgs.fedoraproject.org//work/tasks/8652/6258652/build.log [3] http://kojipkgs.fedoraproject.org//work/tasks/8652/6258652/root.log So, a new version: Spec URL: http://in.waw.pl/~zbyszek/fedora/closure-compiler.spec SRPM URL: http://in.waw.pl/~zbyszek/fedora/closure-compiler-20131118-1.fc19.src.rpm Upstream has released a new version, so the package is updated to it. There were bugs in the spec. The worst thing was that tools/maven-ant-tasks.jar was bundled (used during build). Using the system-wide one proved hard, because the build would crash with an obscure (for me) traceback. I read on the net that this is because of incompatibility of maven-ant-tasks with maven3. Maybe. The problem was easy enough to work around by removing one line from build.xml which copies pom to build/, which is later unused anyway. (In reply to Dridi Boukelmoune from comment #4) > I have a failing build on koji [1] which basically fails the same way when I > run locally fedora-review with mock configured with rawhide. > > The error message is: > > /usr/bin/build-jar-repository: Could not find json Java extension for this JVM > > /usr/bin/build-jar-repository: Could not find findbugs Java extension for this JVM > > /usr/bin/build-jar-repository: error: Some specified jars were not found for this jvm This should be fixed. But please note that the build will fail later because newer guava is required. If I'm reading things correctly, http://koji.fedoraproject.org/koji/taskinfo?taskID=6258651 is done with guava 13. > Also I was wondering whether it is normal on rawhide to see fc20 dist tags > [3] in dependencies: > > DEBUG util.py:266: Getting requirements for closure-compiler-20131014-2.fc21.src > > DEBUG util.py:266: --> javapackages-tools-3.4.1-3.fc21.noarch > > DEBUG util.py:266: --> 1:java-1.7.0-openjdk-devel-1.7.0.60-2.4.3.1.fc21.x86_64 > > DEBUG util.py:266: --> ant-1.9.2-7.fc21.noarch > > DEBUG util.py:266: --> maven-ant-tasks-2.1.3-4.fc20.noarch > > DEBUG util.py:266: --> jarjar-1.4-6.fc21.noarch > > DEBUG util.py:266: --> args4j-2.0.25-1.fc20.noarch > > DEBUG util.py:266: --> guava-13.0-6.fc20.noarch > > DEBUG util.py:266: --> android-json-org-java-4.3-0.1.r3.1.fc21.noarch > > DEBUG util.py:266: --> jsr-305-0-0.16.20130910svn.fc21.noarch > > DEBUG util.py:266: --> junit-4.11-7.fc21.noarch > > DEBUG util.py:266: --> protobuf-java-2.5.0-5.fc20.x86_64 > > DEBUG util.py:266: --> rhino-1.7R4-6.fc21.noarch No idea. Package builds correctly for me now, also in mock, if I ensure that guava 15 is installed. Sorry, wrong URL: Spec URL: http://in.waw.pl/~zbyszek/fedora/closure-compiler.spec SRPM URL: http://in.waw.pl/~zbyszek/fedora/closure-compiler-20131118-1.fc20.src.rpm I've run f-r and go this: Issues: ======= - This seems like a Java package, please install fedora-review-plugin-java to get additional checks It's not available in f19, and my packaging laptop is waiting for bug 1046040. I'm currently downloading f20 and I'll run a review again once I have it. Now that bug 1044580 is solved, I have an automated review but I still get the fedora-review-plugin-java issue. From review.txt: > Generated by fedora-review 0.5.1 (bb9bf27) last change: 2013-12-13 > Command line :/usr/bin/fedora-review -b 1023848 > Buildroot used: fedora-rawhide-i386 > 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 $ rpm -qa fedora-review* fedora-review-plugin-java-3.4.1-1.fc20.noarch fedora-review-0.5.1-2.fc20.noarch I've also tried with fedora-review -b 1023848 --plugins Generic,Shell-api,Java,Java.guidelines So I guess I'll review the rest manually and open a bz for fedora-review. Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed Issues: ======= - The javadoc subpackage description seems incomplete (eg. contains "the documentation for" %{summary}) - The licenses looks more like ASL 2.0 and MPL 1.1 see the package com.google.javascript.rhino - There is a new v20140110 release (but I know this review came late) - Patches do not link to upstream bugs/comments/lists but it doesn't really need to do so - Consider running the test suite in %check - Missing explicit Requires for jpackage-utils see https://fedoraproject.org/wiki/Packaging:Java#BuildRequires_and_Requires Maybe guidelines should be updated - Maybe add a synopsis to the man page, you could also use a markup language such as reStructuredText (rst) or markdown (md) for easier writing I can help with that =) - The package should not require junit (only at build time) ===== 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. [!]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "Apache (v2.0)", "MPL (v1.1) GPL (unversioned/unknown version)", "Unknown or generated". 15 files have unknown license. Detailed output of licensecheck in /home/dridi/fedora/_reviews/1023848-closure- compiler/licensecheck.txt [x]: License file installed when any subpackage combination is installed. [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 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. [-]: 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. [-]: Package contains systemd file(s) if in need. [x]: Package is not known to require an ExcludeArch tag. [-]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 20480 bytes in 1 files. [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 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]: 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]: 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 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. [x]: Packages must not store files under /srv, /opt or /usr/local ===== SHOULD items ===== Generic: [-]: 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). [-]: Fully versioned dependency in subpackages if applicable. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in closure- compiler-javadoc [?]: Package functions as described. [!]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [!]: Patches link to upstream bugs/comments/lists or are otherwise justified. [-]: Description and summary sections in the package spec file contains translations for supported Non-English languages, if available. [?]: 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. ===== EXTRA items ===== Generic: [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: closure-compiler-20131118-1.fc21.noarch.rpm closure-compiler-javadoc-20131118-1.fc21.noarch.rpm closure-compiler-20131118-1.fc21.src.rpm closure-compiler.noarch: W: spelling-error Summary(en_US) minifier -> magnifier closure-compiler.src: W: spelling-error Summary(en_US) minifier -> magnifier 3 packages and 0 specfiles checked; 0 errors, 2 warnings. Rpmlint (installed packages) ---------------------------- # rpmlint closure-compiler-javadoc closure-compiler closure-compiler.noarch: W: spelling-error Summary(en_US) minifier -> magnifier 2 packages and 0 specfiles checked; 0 errors, 1 warnings. # echo 'rpmlint-done:' Requires -------- closure-compiler-javadoc (rpmlib, GLIBC filtered): jpackage-utils closure-compiler (rpmlib, GLIBC filtered): /bin/sh android-json-org-java args4j guava java jpackage-utils jsr-305 junit protobuf-java rhino Provides -------- closure-compiler-javadoc: closure-compiler-javadoc closure-compiler: closure-compiler mvn(com.google.javascript:closure-compiler) Source checksums ---------------- http://closure-compiler.googlecode.com/archive/v20131118.zip : CHECKSUM(SHA256) this package : 58452e1aef9825565ca7361aab5db54e3f28690ee97011651161cc69b8b7419c CHECKSUM(SHA256) upstream package : f72cb3b1aa628540576328ca21bfe16a798ec39af90c8c3bcde8ffaeb627bacc However, diff -r shows no differences Jar and class files in source ----------------------------- ./closure-compiler-7f8a374ebc14/lib/junit.jar ./closure-compiler-7f8a374ebc14/lib/findbugs.jar ./closure-compiler-7f8a374ebc14/lib/android-json-org-java.jar ./closure-compiler-7f8a374ebc14/lib/js.jar ./closure-compiler-7f8a374ebc14/lib/guava.jar ./closure-compiler-7f8a374ebc14/lib/args4j.jar ./closure-compiler-7f8a374ebc14/lib/jarjar.jar ./closure-compiler-7f8a374ebc14/lib/protobuf.jar ./closure-compiler-7f8a374ebc14/lib/jsr-305.jar Generated by fedora-review 0.5.1 (bb9bf27) last change: 2013-12-13 Command line :/usr/bin/fedora-review -b 1023848 -P java 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 Thank you for the review. > Issues: > ======= > - The javadoc subpackage description seems incomplete > (eg. contains "the documentation for" %{summary}) I get: Summary : API documentation for closure-compiler Description : This package contains the API documentation for closure-compiler. This is rather brief, but sufficient imho. > - The licenses looks more like ASL 2.0 and MPL 1.1 > see the package com.google.javascript.rhino Changed. > - There is a new v20140110 release (but I know this review came late) Updated. > - Patches do not link to upstream bugs/comments/lists > but it doesn't really need to do so I don't think that upstream will be interested in those patches. Maybe the manpage once it's in final form can be upstreamed. > - Consider running the test suite in %check One test seems to require google-caja for work. When it is removed, there still are failures. I left the necessary commands ifdeffed-out in the spec file (enable with --define '_check 1'). Afaict, those are failures related to some test fixtures, possibly not important. > - Missing explicit Requires for jpackage-utils > see https://fedoraproject.org/wiki/Packaging:Java#BuildRequires_and_Requires Added. > Maybe guidelines should be updated I think the guidelines are OK. > - Maybe add a synopsis to the man page, you could also use a markup language such as reStructuredText (rst) or markdown (md) for easier writing I can help with that =) I converted the manpage to docbook. It could use a bit of tweaking still. Patches welcome :) > - The package should not require junit (only at build time) Removed. I think all issues are fixed (or justified). Spec URL: http://in.waw.pl/~zbyszek/fedora/closure-compiler.spec SRPM URL: http://in.waw.pl/~zbyszek/fedora/closure-compiler-20140110-1.fc20.src.rpm koji: http://koji.fedoraproject.org/koji/taskinfo?taskID=6493214 (In reply to Zbigniew Jędrzejewski-Szmek from comment #10) > Thank you for the review. > > > Issues: > > ======= > > - The javadoc subpackage description seems incomplete > > (eg. contains "the documentation for" %{summary}) > I get: > > Summary : API documentation for closure-compiler > Description : > This package contains the API documentation for closure-compiler. > > This is rather brief, but sufficient imho. Sorry, I looked at the wrong %{summary} at the time. > I think all issues are fixed (or justified). I think so too, approved ! Thanks! New Package SCM Request ======================= Package Name: closure-compiler Short Description: JavaScript minifier and checker Owners: zbyszek Branches: f20 InitialCC: Git done (by process-git-requests). I'll close this now, since building for f20 is impossible until guava 15 is available, which I don't think is going to happen, because maven breaks in f20 when it is installed. |