Bug 1215762
Summary: | Review Request: py4j - Dynamically access in Python programs to arbitrary Java objects (for Python 2 and 3) | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Raphael Groner <projects.rg> | ||||||||
Component: | Package Review | Assignee: | gil cattaneo <puntogil> | ||||||||
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||||
Severity: | medium | Docs Contact: | |||||||||
Priority: | medium | ||||||||||
Version: | rawhide | CC: | package-review, projects.rg, puntogil | ||||||||
Target Milestone: | --- | Keywords: | Reopened | ||||||||
Target Release: | --- | Flags: | puntogil:
fedora-review+
gwync: fedora-cvs+ |
||||||||
Hardware: | All | ||||||||||
OS: | Linux | ||||||||||
Whiteboard: | |||||||||||
Fixed In Version: | py4j-0.9-0.4.pre.20150503gitd9a950d.el7 | Doc Type: | Bug Fix | ||||||||
Doc Text: | Story Points: | --- | |||||||||
Clone Of: | Environment: | ||||||||||
Last Closed: | 2016-01-17 18:51:56 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: | |||||||||||
Attachments: |
|
Description
Raphael Groner
2015-04-27 16:41:46 UTC
Jar should be landed in _javadir should be install pom.xml file and generate the maven metadata Please, remove the %clean section Please, remove Requires: %{name} = %{version}-%{release} from java sub-package. Is alredy required by the main package Build fails: [junit] java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing %global junit_path '%{_javadir}/junit.jar %{_javadir}/hamcrest.jar' is wrong hamcrest provided %{_javadir}/hamcrest/all.jar %{_javadir}/hamcrest/core.jar %{_javadir}/hamcrest/generator.jar %{_javadir}/hamcrest/library.jar %{_javadir}/hamcrest/integration.jar %{_javadir}/hamcrest/text.jar why dont use maven? Other ISSUES: bundle java libraries: Please, remove py4j-9a8ab938b4024af8f0455edb54f80fdb5195968b/py4j-java/junit-4.10.jar Wrong license file installed in java sub-package %files java %license %{name}-java/junit-license.txt should be used py4j-9a8ab938b4024af8f0455edb54f80fdb5195968b/py4j-java/LICENSE.txt could be installed also these files with %doc macro py4j-9a8ab938b4024af8f0455edb54f80fdb5195968b/py4j-java/changelog.txt py4j-9a8ab938b4024af8f0455edb54f80fdb5195968b/py4j-java/README.txt Please, remove also this files py4j-9a8ab938b4024af8f0455edb54f80fdb5195968b/current-release/py4j0.8.2.jar py4j-9a8ab938b4024af8f0455edb54f80fdb5195968b/current-release/py4j0.8.jar py4j-9a8ab938b4024af8f0455edb54f80fdb5195968b/current-release/py4j0.9pre.jar py4j-9a8ab938b4024af8f0455edb54f80fdb5195968b/current-release/py4j-0.8.1.jar py4j-9a8ab938b4024af8f0455edb54f80fdb5195968b/current-release/py4j-0.8.1.tar.gz py4j-9a8ab938b4024af8f0455edb54f80fdb5195968b/current-release/py4j-0.8.1.zip py4j-9a8ab938b4024af8f0455edb54f80fdb5195968b/current-release/py4j-0.8.2.tar.gz py4j-9a8ab938b4024af8f0455edb54f80fdb5195968b/current-release/py4j-0.8.2.tar.gz.asc py4j-9a8ab938b4024af8f0455edb54f80fdb5195968b/current-release/py4j-0.8.2.zip py4j-9a8ab938b4024af8f0455edb54f80fdb5195968b/current-release/py4j-0.8.2.zip.asc py4j-9a8ab938b4024af8f0455edb54f80fdb5195968b/current-release/py4j-0.8.tar.gz py4j-9a8ab938b4024af8f0455edb54f80fdb5195968b/current-release/py4j-0.8.tar.gz.asc py4j-9a8ab938b4024af8f0455edb54f80fdb5195968b/current-release/py4j-0.8.zip py4j-9a8ab938b4024af8f0455edb54f80fdb5195968b/current-release/py4j-0.8.zip.asc py4j-9a8ab938b4024af8f0455edb54f80fdb5195968b/current-release/py4j-0.9pre.tar.gz py4j-9a8ab938b4024af8f0455edb54f80fdb5195968b/current-release/py4j-0.9pre.zip py4j-9a8ab938b4024af8f0455edb54f80fdb5195968b/py4j-python/src/py4j/java_gateway.py Should be patched, for use unversioned JAR (also for the _javadir location) Updated SPEC and SRPM, the links are the same (comment #0). rawhide scratch (Java 8, Python3): http://koji.fedoraproject.org/koji/taskinfo?taskID=9583772 ==> error: can't copy 'py4j-java/py4j.jar': doesn't exist or not a regular file seems that you duplicate the use of the patch0 %if 0%{?fedora} >= 22 %patch0 %endif rm -r current-release net.sf.* %{name}-java/*.jar %patch0 -p0 (In reply to gil cattaneo from comment #10) > seems that you duplicate the use of the patch0 fixed Please remove: BuildRequires: ant-javadoc %mvn_file net.sf.%{name}:%{name}:%{version} %{name}-java/%{name} add BuildRequires: sonatype-oss-parent Please remove also this SED sed -i "s|version>.*<|version><|" %{name}-java/pom.xml i dont know why you would use a pre-release, but you should change also the Version field with 0.9pre or better: Version: 0.9 Release: 0.1.pre.%{date}git%(c=%{commit}; echo ${c:0:7})%{?dist} * ddd mmm dd yyyy xxx xxx <xxx@xx> - 0.9-0.1.pre.20141101git9a8ab93 fixed comments 12, 13, 14 > i dont know why you would use a pre-release The last official release is too old, so I choose to package latest git. SPEC https://raphgro.fedorapeople.org/review/py/py4j/py4j.spec SRPM https://raphgro.fedorapeople.org/review/py/py4j/py4j-0.9-0.1.pre.20141101git9a8ab93.fc21.src.rpm Build fail if use sed -i "s|'.*'|''|g" %{name}-python/src/%{name}/version.py -Dversion='' and this ant option is useless -Djunit.path=%{junit_path} Please can use this source url? https://github.com/bartdag/py4j/archive/9a8ab938b4024af8f0455edb54f80fdb5195968b/py4j-9a8ab938b4024af8f0455edb54f80fdb5195968b.tar.gz Please, use the spec file i sent to you yesterday as reference Created attachment 1019828 [details] proposed spec file Task info: http://koji.fedoraproject.org/koji/taskinfo?taskID=9589314 Updated uploads to the links from comment #16. - Added a devel subpackage with Makefile from python-web and python-sphinx as an additional dependency. error: can't copy 'py4j-java/py4j.jar': doesn't exist or not a regular file Sorry, I do not know how to fix this. Tried with py4j.jar and py4j0.9pre.jar as the file name, also with py4j-java/*.jar path. (In reply to Raphael Groner from comment #21) > Updated uploads to the links from comment #16. > > - Added a devel subpackage with Makefile from python-web and python-sphinx > as an additional dependency. > > error: can't copy 'py4j-java/py4j.jar': doesn't exist or not a regular file > > Sorry, I do not know how to fix this. Tried with py4j.jar and py4j0.9pre.jar > as the file name, also with py4j-java/*.jar path. have tried with the proposal spec file? otherwise build fails Please, remove devel sub-package Done some fixes and added html generation with python-sphinx to doc subpackage. SPEC https://raphgro.fedorapeople.org/review/py/py4j/py4j.spec SRPM https://raphgro.fedorapeople.org/review/py/py4j/py4j-0.9-0.1.pre.20141101git9a8ab93.fc21.src.rpm Thanks a lot for your help! Please, add reference for the correct src rpm build still fails with py4j-0.9-0.1.pre.20141101git9a8ab93.fc21.src.rpm Task info: http://koji.fedoraproject.org/koji/taskinfo?taskID=9611792 + rm -rf py4j-9a8ab938b4024af8f0455edb54f80fdb5195968b + /usr/bin/gzip -dc /builddir/build/SOURCES/py4j-9a8ab938b4024af8f0455edb54f80fdb5195968b.tar.gz + /usr/bin/tar -xf - + STATUS=0 + '[' 0 -ne 0 ']' + cd py4j-9a8ab938b4024af8f0455edb54f80fdb5195968b + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . Patch #0 (py4j-0.8.3-add-hamcrest-in-classpath.patch): + echo 'Patch #0 (py4j-0.8.3-add-hamcrest-in-classpath.patch):' + /usr/bin/cat /builddir/build/SOURCES/py4j-0.8.3-add-hamcrest-in-classpath.patch + /usr/bin/patch -p0 --fuzz=0 patching file py4j-java/build.xml + rm -r current-release net.sf.py4j net.sf.py4j.defaultserver net.sf.py4j.defaultserver.feature net.sf.py4j.example net.sf.py4j.feature net.sf.py4j.site py4j-java/junit-4.10.jar Patch #0 (py4j-0.8.3-add-hamcrest-in-classpath.patch): + echo 'Patch #0 (py4j-0.8.3-add-hamcrest-in-classpath.patch):' + /usr/bin/cat /builddir/build/SOURCES/py4j-0.8.3-add-hamcrest-in-classpath.patch + /usr/bin/patch -p0 --fuzz=0 patching file py4j-java/build.xml Reversed (or previously applied) patch detected! Assume -R? [n] Apply anyway? [n] Skipping patch. 1 out of 1 hunk ignored -- saving rejects to file py4j-java/build.xml.rej RPM build errors: error: Bad exit status from /var/tmp/rpm-tmp.HSnHuu (%prep) Bad exit status from /var/tmp/rpm-tmp.HSnHuu (%prep) Child return code was: 1 EXCEPTION: Command failed. See logs for output. # bash --login -c /usr/bin/rpmbuild -bb --target x86_64 --nodeps /builddir/build/SPECS/py4j.spec Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/mockbuild/trace_decorator.py", line 84, in trace result = func(*args, **kw) File "/usr/lib/python2.7/site-packages/mockbuild/util.py", line 504, in do raise exception.Error("Command failed. See logs for output.\n # %s" % (command,), child.returncode) Error: Command failed. See logs for output. # bash --login -c /usr/bin/rpmbuild -bb --target x86_64 --nodeps /builddir/build/SPECS/py4j.spec LEAVE do --> EXCEPTION RAISED And another thing, please, increase the Release number when make changes in the spec file Sorry, I moved my builder to fc22. SPEC https://raphgro.fedorapeople.org/review/py/py4j/py4j.spec SRPM https://raphgro.fedorapeople.org/review/py/py4j/py4j-0.9-0.2.pre.20141101git9a8ab93.fc22.src.rpm test builds: https://copr.fedoraproject.org/coprs/raphgro/playground/build/89535/ Thanks a lot for your help! Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed Issues: ======= - POM files have correct Maven mapping Note: Old style Maven package found, no add_maven_depmap calls found but POM files present See: https://fedoraproject.org/wiki/Packaging:Java#add_maven_depmap_macro IGNORE already done - Maven packages should use new style packaging Note: If possible update your package to latest guidelines See: https://fedoraproject.org/wiki/Packaging:Java#Apache_Maven IGNORE already done - 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. Note: Cannot find LICENSE.txt in rpm(s) See: http://fedoraproject.org/wiki/Packaging/LicensingGuidelines#License_Text IGNORE already done ===== MUST items ===== Generic: [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. Note: Using prebuilt packages [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: "BSD (3 clause)", "Unknown or generated". 50 files have unknown license. Detailed output of licensecheck in /home/gil/1215762-py4j/review- py4j/licensecheck.txt py4j-9a8ab938b4024af8f0455edb54f80fdb5195968b/py4j-java/src/py4j/commands/ExceptionCommand.java py4j-9a8ab938b4024af8f0455edb54f80fdb5195968b/py4j-python/setup.py py4j-9a8ab938b4024af8f0455edb54f80fdb5195968b/py4j-python/src/py4j/compat.py py4j-9a8ab938b4024af8f0455edb54f80fdb5195968b/py4j-python/src/py4j/finalizer.py py4j-9a8ab938b4024af8f0455edb54f80fdb5195968b/py4j-python/src/py4j/java_collections.py py4j-9a8ab938b4024af8f0455edb54f80fdb5195968b/py4j-python/src/py4j/java_gateway.py py4j-9a8ab938b4024af8f0455edb54f80fdb5195968b/py4j-python/src/py4j/protocol.py py4j-9a8ab938b4024af8f0455edb54f80fdb5195968b/py4j-python/src/py4j/version.py [x]: License file installed when any subpackage combination is installed. [x]: Package requires other packages for directories it uses. Note: No known owner of /usr/lib/python3.4/site-packages, /usr/share/licenses, /usr/share/maven-metadata, /usr/lib/python3.4 [x]: Package must own all directories that it creates. Note: Directories without known owners: /usr/lib/python3.4/site-packages, /usr/share/licenses, /usr/share/maven-metadata, /usr/lib/python3.4 [x]: All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. Note: Using prebuilt rpms. [?]: Package contains no bundled libraries without FPC exception. py4j-9a8ab938b4024af8f0455edb54f80fdb5195968b/py4j-java/src/py4j/Base64.java [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. [x]: Requires correct, justified where necessary. [x]: Spec file is legible and written in American English. [-]: Package contains systemd file(s) if in need. [-]: Package is not known to require an ExcludeArch tag. [x]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 30720 bytes in 6 files. [x]: Package complies to the Packaging Guidelines [x]: Package installs properly. [x]: Rpmlint is run on all rpms the build produces. Note: There are rpmlint messages (see attachment). [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 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 Java: [x]: Bundled jar/class files should be removed before build [x]: Packages have proper BuildRequires/Requires on jpackage-utils Note: Maven packages do not need to (Build)Require jpackage-utils. It is pulled in by maven-local [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: [!]: 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 Python: [x]: Python eggs must not download any dependencies during the build process. [x]: A package which is used by another package via an egg interface should provide egg info. [?]: Package meets the Packaging Guidelines::Python [x]: Package contains BR: python2-devel or python3-devel [x]: Binary eggs must be removed in %prep ===== SHOULD items ===== Generic: [!]: Reviewer should test that the package builds in mock. [!]: Uses parallel make %{?_smp_mflags} macro. [-]: 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). [-]: Fully versioned dependency in subpackages if applicable. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in python3-py4j , py4j-java , py4j-javadoc , py4j-doc [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]: Sources can be downloaded from URI in Source: tag [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: [x]: Package uses upstream build method (ant/maven/etc.) [x]: Packages are noarch unless they use JNI ===== EXTRA items ===== Generic: [!]: Spec file according to URL is the same as in SRPM. Note: Spec file as given by url is not the same as in SRPM (see attached diff). See: (this test has no URL) [x]: Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). Rpmlint ------- Checking: py4j-0.9-0.1.pre.20141101git9a8ab93.fc23.noarch.rpm python3-py4j-0.9-0.1.pre.20141101git9a8ab93.fc23.noarch.rpm py4j-java-0.9-0.1.pre.20141101git9a8ab93.fc23.noarch.rpm py4j-javadoc-0.9-0.1.pre.20141101git9a8ab93.fc23.noarch.rpm py4j-doc-0.9-0.1.pre.20141101git9a8ab93.fc23.noarch.rpm py4j-0.9-0.1.pre.20141101git9a8ab93.fc23.src.rpm py4j.noarch: W: name-repeated-in-summary C Py4J py4j.noarch: W: invalid-url URL: https://py4j.sf.net <urlopen error [Errno 111] Connection refused> python3-py4j.noarch: W: invalid-url URL: https://py4j.sf.net <urlopen error [Errno 111] Connection refused> py4j-java.noarch: W: invalid-url URL: https://py4j.sf.net <urlopen error [Errno 111] Connection refused> py4j-java.noarch: W: dangling-relative-symlink /usr/share/py4j/*.jar %{javadir}/py4j/*.jar py4j-javadoc.noarch: W: invalid-url URL: https://py4j.sf.net <urlopen error [Errno 111] Connection refused> py4j-doc.noarch: W: invalid-url URL: https://py4j.sf.net <urlopen error [Errno 111] Connection refused> py4j-doc.noarch: W: hidden-file-or-dir /usr/share/doc/py4j-doc/html/.buildinfo py4j-doc.noarch: W: wrong-file-end-of-line-encoding /usr/share/doc/py4j-doc/html/_static/jquery.js py4j.src: W: name-repeated-in-summary C Py4J py4j.src: W: invalid-url URL: https://py4j.sf.net <urlopen error [Errno 111] Connection refused> 6 packages and 0 specfiles checked; 0 errors, 11 warnings. Rpmlint (installed packages) ---------------------------- Cannot parse rpmlint output: Diff spec file in url and in SRPM --------------------------------- --- /home/gil/1215762-py4j/py4j.spec 2015-04-30 23:39:00.000000000 +0200 +++ /home/gil/1215762-py4j/review-py4j/srpm-unpacked/py4j.spec 2015-04-30 23:33:32.000000000 +0200 @@ -1,4 +1,6 @@ %global commit 9a8ab938b4024af8f0455edb54f80fdb5195968b %global date 20141101 +# this is a pre-release of upstream +%global pre pre # python3 for Fedora only (not available at EPEL) @@ -9,5 +11,5 @@ Name: py4j Version: 0.9 -Release: 0.1.pre.%{date}git%(c=%{commit}; echo ${c:0:7})%{?dist} +Release: 0.1.%{pre}.%{date}git%(c=%{commit}; echo ${c:0:7})%{?dist} Summary: Py4J enables Python programs to dynamically access arbitrary Java objects Requires -------- py4j-java (rpmlib, GLIBC filtered): java-headless jpackage-utils py4j-doc (rpmlib, GLIBC filtered): py4j (rpmlib, GLIBC filtered): py4j-java python(abi) python-sphinx python3-py4j (rpmlib, GLIBC filtered): py4j-java python(abi) python3 py4j-javadoc (rpmlib, GLIBC filtered): jpackage-utils Provides -------- py4j-java: mvn(net.sf.py4j:py4j) mvn(net.sf.py4j:py4j:pom:) py4j-java py4j-doc: py4j-doc py4j: py4j python3-py4j: python3-py4j py4j-javadoc: py4j-javadoc Source checksums ---------------- https://github.com/bartdag/py4j/archive/9a8ab938b4024af8f0455edb54f80fdb5195968b/9a8ab938b4024af8f0455edb54f80fdb5195968b.tar.gz#/py4j-9a8ab938b4024af8f0455edb54f80fdb5195968b.tar.gz : CHECKSUM(SHA256) this package : 863e23cbfc2e2d3d51c2ef76d39d6555f07612c39e8bc49a5675ed458d331f72 CHECKSUM(SHA256) upstream package : 863e23cbfc2e2d3d51c2ef76d39d6555f07612c39e8bc49a5675ed458d331f72 Generated by fedora-review 0.5.2 (63c24cb) last change: 2014-07-14 Command line :/usr/bin/fedora-review -vpn py4j -m fedora-rawhide-i386 Buildroot used: fedora-rawhide-i386 Active plugins: Python, Shell-api, Generic, Java Disabled plugins: C/C++, SugarActivity, fonts, Haskell, Ocaml, Perl, R, PHP, Ruby Disabled flags: EXARCH, EPEL5, BATCH, DISTTAG ISSUES: [?]: Package contains no bundled libraries without FPC exception. py4j-9a8ab938b4024af8f0455edb54f80fdb5195968b/py4j-java/src/py4j/Base64.java [!]: Uses parallel make %{?_smp_mflags} macro. py4j-doc.noarch: W: hidden-file-or-dir /usr/share/doc/py4j-doc/html/.buildinfo Please, remove py4j-java.noarch: W: dangling-relative-symlink /usr/share/py4j/*.jar %{javadir}/py4j/*.jar Please, use %mvn_artifact %{name}-java/pom.xml %{name}-java/%{name}.jar ... ln -sf %{javadir}/%{name}/%{name}.jar %{buildroot}%{_datadir}/%{name} Please, remove all bundled JS libraries /usr/share/doc/py4j-doc/html/_static/doctools.js /usr/share/doc/py4j-doc/html/_static/jquery.js /usr/share/doc/py4j-doc/html/_static/searchtools.js /usr/share/doc/py4j-doc/html/_static/underscore.js /usr/share/doc/py4j-doc/html/_static/websupport.js /usr/share/doc/py4j-doc/html/searchindex.js py4j-doc.noarch: W: wrong-file-end-of-line-encoding /usr/share/doc/py4j-doc/html/_static/jquery.js Please remove these files, used only for generate documentation /usr/share/doc/py4j-doc/Makefile /usr/share/doc/py4j-doc/about.rst /usr/share/doc/py4j-doc/advanced_topics.rst /usr/share/doc/py4j-doc/changelog.rst /usr/share/doc/py4j-doc/contents.rst /usr/share/doc/py4j-doc/download.rst /usr/share/doc/py4j-doc/faq.rst /usr/share/doc/py4j-doc/getting_started.rst /usr/share/doc/py4j-doc/images/class_structure.dia /usr/share/doc/py4j-doc/images/logic.dia /usr/share/doc/py4j-doc/images/logic.png /usr/share/doc/py4j-doc/index.rst /usr/share/doc/py4j-doc/install.rst /usr/share/doc/py4j-doc/py4j_finalizer.rst /usr/share/doc/py4j-doc/py4j_java.rst /usr/share/doc/py4j-doc/py4j_java_collections.rst /usr/share/doc/py4j-doc/py4j_java_gateway.rst /usr/share/doc/py4j-doc/py4j_java_protocol.rst /usr/share/doc/py4j-doc/py4j_python.rst /usr/share/doc/py4j-doc/release_process.txt /usr/share/doc/py4j-doc/themes/py4jdoc/basic_layout.html /usr/share/doc/py4j-doc/themes/py4jdoc/layout.html /usr/share/doc/py4j-doc/themes/py4jdoc/static/contents.png /usr/share/doc/py4j-doc/themes/py4jdoc/static/navigation.png /usr/share/doc/py4j-doc/themes/py4jdoc/static/py4jdoc.css /usr/share/doc/py4j-doc/themes/py4jdoc/theme.conf Diff spec file in url and in SRPM (see above) Forgotten invalid-url URL: https://py4j.sf.net <urlopen error [Errno 111] Connection refused> Please, use http://py4j.sourceforge.net/ Spec URL: https://raphgro.fedorapeople.org/review/py/py4j/py4j.spec SRPM URL: https://raphgro.fedorapeople.org/review/py/py4j/py4j-0.9-0.2.pre.20141101git9a8ab93.fc22.src.rpm Description: Dynamically access in Python programs to arbitrary Java objects Fedora Account System Username: raphgro rawhide scratch (Java 8 and Python 2+3): http://koji.fedoraproject.org/koji/taskinfo?taskID=9671013 epel7 scratch (Java 7 and Python 2 only): http://koji.fedoraproject.org/koji/taskinfo?taskID=9671042 Note: There was a lot of activity at upstream in the last few days. So I'm going to provide a new snapshot for just another 0.3 release. But there's a bug with sphinx now. -- (In reply to gil cattaneo from comment #30) > Forgotten > invalid-url URL: https://py4j.sf.net <urlopen error [Errno 111] Connection > refused> > Please, use http://py4j.sourceforge.net/ Fixed. Replaced https with http - it does not seem to like ssl with the short sf domain. (In reply to gil cattaneo from comment #29) > ISSUES: > > [?]: Package contains no bundled libraries without FPC exception. > py4j-9a8ab938b4024af8f0455edb54f80fdb5195968b/py4j-java/src/py4j/Base64.java This file is obviously taken from MiGBase64 that's licensed with BSD and can be found as the original project separately at sourceforge, see also inside the source file header with an included BSD statement. There are some forks also at GitHub. But I fail to find any Fedora package. Not sure if we have to care. Maybe use base64coder or java-base64 as a replacement? http://migbase64.cvs.sourceforge.net/viewvc/migbase64/migbase64/src/util/Base64.java?view=markup http://sourceforge.net/projects/migbase64/ > [!]: Uses parallel make %{?_smp_mflags} macro. What to do here exactly? Should I patch the setup.py internal logic that builds the CPython stuff? > py4j-doc.noarch: W: hidden-file-or-dir > /usr/share/doc/py4j-doc/html/.buildinfo > Please, remove > > py4j-java.noarch: W: dangling-relative-symlink /usr/share/py4j/*.jar > %{javadir}/py4j/*.jar > Please, use > %mvn_artifact %{name}-java/pom.xml %{name}-java/%{name}.jar > ... > ln -sf %{javadir}/%{name}/%{name}.jar %{buildroot}%{_datadir}/%{name} > > Please, remove all bundled JS libraries ... > py4j-doc.noarch: W: wrong-file-end-of-line-encoding ... > Please remove these files, used only for generate documentation ... All fixed. > Diff spec file in url and in SRPM (see above) Not clear to me what that means? (In reply to gil cattaneo from comment #28) [ ]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "BSD (3 clause)", "Unknown or generated". 50 files have unknown license. Detailed output of licensecheck in /home/gil/1215762-py4j/review- py4j/licensecheck.txt ==> I guess all of those files can be considered to be BSD cause it's the main upstream license for the whole project. py4j-9a8ab938b4024af8f0455edb54f80fdb5195968b/py4j-java/src/py4j/commands/ExceptionCommand.java ==> Not sure why not licensed inside. Have to invest. py4j-9a8ab938b4024af8f0455edb54f80fdb5195968b/py4j-python/setup.py ==> This is configuration for setuptools. py4j-9a8ab938b4024af8f0455edb54f80fdb5195968b/py4j-python/src/py4j/compat.py py4j-9a8ab938b4024af8f0455edb54f80fdb5195968b/py4j-python/src/py4j/finalizer.py py4j-9a8ab938b4024af8f0455edb54f80fdb5195968b/py4j-python/src/py4j/java_collections.py ==> Not sure why not licensed inside. Have to invest. py4j-9a8ab938b4024af8f0455edb54f80fdb5195968b/py4j-python/src/py4j/java_gateway.py py4j-9a8ab938b4024af8f0455edb54f80fdb5195968b/py4j-python/src/py4j/protocol.py ==> Not sure why not licensed inside. Have to invest. py4j-9a8ab938b4024af8f0455edb54f80fdb5195968b/py4j-python/src/py4j/version.py ==> Very short file that is patched to nearly emptiness in spec file. ... > py4j.src: W: name-repeated-in-summary C Py4J Fixed. (In reply to Raphael Groner from comment #31) > (In reply to gil cattaneo from comment #29) > > ISSUES: > > > > [?]: Package contains no bundled libraries without FPC exception. > > py4j-9a8ab938b4024af8f0455edb54f80fdb5195968b/py4j-java/src/py4j/Base64.java > > This file is obviously taken from MiGBase64 that's licensed with BSD and can > be found as the original project separately at sourceforge, see also inside > the source file header with an included BSD statement. There are some forks > also at GitHub. But I fail to find any Fedora package. Not sure if we have > to care. Maybe use base64coder or java-base64 as a replacement? > http://migbase64.cvs.sourceforge.net/viewvc/migbase64/migbase64/src/util/ > Base64.java?view=markup > http://sourceforge.net/projects/migbase64/ i not sure if py4j work adding migbase64 symlink in %{_datadir}/py4j/ you can try to request an FPC exception for use Base64.java documenting if there were no changes compared to the original file e.g. https://fedorahosted.org/fpc/ticket/516 > > [!]: Uses parallel make %{?_smp_mflags} macro. > > What to do here exactly? Should I patch the setup.py internal logic that > builds the CPython stuff? should be added in the phase of the build of the documentation pushd %{name}-web make %{?_smp_mflags} html ... ... > > Diff spec file in url and in SRPM (see above) > > Not clear to me what that means? please, increase the Release number when make changes in the spec file Open an FPC exception for bundle Base64.java https://fedorahosted.org/fpc/attachment/ticket/537/ sorry wrong FPC link https://fedorahosted.org/fpc/ticket/537 Created attachment 1029020 [details] remove Migbase64 Base64 using Java 8 java.util.Base64 Task info: http://koji.fedoraproject.org/koji/taskinfo?taskID=9832222 Created attachment 1029021 [details]
remove Migbase64 Base64 using Java 8 java.util.Base64
As commented also in the FPC ticket: Hmm, I do not think any more that bundling of MiGBase64 is a good idea. We should remove that file and patch the source to use the Java 8 (as now default in F21 and further) embedded logic with java.util.Base64 that also seems to have better performance. If there's no Java 8, it is possible to use the javax.xml.bind.DatatypeConverter? class from Java 6 upwards. For Java 7 and general backwards compatibility (as default in Fedora 20, EPEL7), we can switch to either java-base64 or base64coder, both are packaged in Fedora. As Base64 is a standard codec, that should not mean any problem to use another library, and as the complete py4j project is licensed as BSD, there are no issues with patching the source. More information about bad MiGBase64 vs. good Java 8 can be found here: http://java-performance.info/base64-encoding-and-decoding-performance/ SPEC: https://raphgro.fedorapeople.org/review/py/py4j/py4j.spec SRPM: https://raphgro.fedorapeople.org/review/py/py4j/py4j-0.9-0.4.pre.20150503gitd9a950d.fc22.src.rpm rawhide (java 8): http://koji.fedoraproject.org/koji/taskinfo?taskID=9837897 epel7 (java 7): http://koji.fedoraproject.org/koji/taskinfo?taskID=9837909 Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed ===== 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: "BSD (3 clause)", "Unknown or generated". 53 files have unknown license. Detailed output of licensecheck in /home/gil/1215762-py4j/licensecheck.txt [x]: License file installed when any subpackage combination is installed. [?]: Package requires other packages for directories it uses. Note: No known owner of /usr/lib/python3.4/site-packages, /usr/share/licenses, /usr/share/maven-metadata, /usr/lib/python3.4 [x]: Package must own all directories that it creates. Note: Directories without known owners: /usr/lib/python3.4/site- packages, /usr/share/licenses, /usr/share/maven-metadata, /usr/lib/python3.4 [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 [-]: 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. [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]: Package is not known to require an ExcludeArch tag. [x]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 30720 bytes in 6 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 %license. [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]: Dist tag is present. [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 does not use a name that already exists. [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 Java: [x]: Bundled jar/class files should be removed before build [x]: Packages have proper BuildRequires/Requires on jpackage-utils Note: Maven packages do not need to (Build)Require jpackage-utils. It is pulled in by maven-local [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]: If package contains pom.xml files install it (including metadata) even when building with ant [x]: POM files have correct Maven mapping [x]: Maven packages should use new style packaging [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 .mfiles file list instead of %{_datadir}/maven2/poms Python: [x]: Python eggs must not download any dependencies during the build process. [x]: A package which is used by another package via an egg interface should provide egg info. [x]: Package meets the Packaging Guidelines::Python [x]: Package contains BR: python2-devel or python3-devel [x]: Binary eggs must be removed in %prep ===== 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. [x]: Final provides and requires are sane (see attachments). [-]: Fully versioned dependency in subpackages if applicable. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in python3-py4j , py4j-java , py4j-javadoc , py4j-doc [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]: 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]: 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: [x]: Package uses upstream build method (ant/maven/etc.) [x]: Packages are noarch unless they use JNI ===== 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: py4j-0.9-0.4.pre.20150503gitd9a950d.fc23.noarch.rpm python3-py4j-0.9-0.4.pre.20150503gitd9a950d.fc23.noarch.rpm py4j-java-0.9-0.4.pre.20150503gitd9a950d.fc23.noarch.rpm py4j-javadoc-0.9-0.4.pre.20150503gitd9a950d.fc23.noarch.rpm py4j-doc-0.9-0.4.pre.20150503gitd9a950d.fc23.noarch.rpm py4j-0.9-0.4.pre.20150503gitd9a950d.fc23.src.rpm py4j-doc.noarch: W: hidden-file-or-dir /usr/share/doc/py4j-doc/html/.doctrees py4j-doc.noarch: W: hidden-file-or-dir /usr/share/doc/py4j-doc/html/.doctrees 6 packages and 0 specfiles checked; 0 errors, 2 warnings. Rpmlint (installed packages) ---------------------------- py4j-doc.noarch: W: hidden-file-or-dir /usr/share/doc/py4j-doc/html/.doctrees py4j-doc.noarch: W: hidden-file-or-dir /usr/share/doc/py4j-doc/html/.doctrees 5 packages and 0 specfiles checked; 0 errors, 2 warnings. Requires -------- py4j-java (rpmlib, GLIBC filtered): java-headless jpackage-utils py4j-doc (rpmlib, GLIBC filtered): py4j (rpmlib, GLIBC filtered): py4j-java python(abi) python3-py4j (rpmlib, GLIBC filtered): py4j-java python(abi) python3 py4j-javadoc (rpmlib, GLIBC filtered): jpackage-utils Provides -------- py4j-java: mvn(net.sf.py4j:py4j) mvn(net.sf.py4j:py4j:pom:) py4j-java py4j-doc: py4j-doc py4j: py4j python3-py4j: python3-py4j py4j-javadoc: py4j-javadoc Source checksums ---------------- http://github.com/bartdag/py4j/archive/d9a950dd80ab3e6426ef0cd254f933109dddd9e5/d9a950dd80ab3e6426ef0cd254f933109dddd9e5.tar.gz#/py4j-d9a950dd80ab3e6426ef0cd254f933109dddd9e5.tar.gz : CHECKSUM(SHA256) this package : 2f198028f1a28e9fd622765b97a7f71eefa11b9d4d9693992a59e41a6b1f31de CHECKSUM(SHA256) upstream package : 2f198028f1a28e9fd622765b97a7f71eefa11b9d4d9693992a59e41a6b1f31de Generated by fedora-review 0.5.3 (bcf15e3) last change: 2015-05-04 Command line :/usr/bin/fedora-review -b 1215762 --plugins Java -m fedora-rawhide-i386 Buildroot used: fedora-rawhide-i386 Active plugins: Python, Shell-api, Generic, Java Disabled plugins: C/C++, SugarActivity, fonts, Haskell, Ocaml, Perl, R, PHP, Ruby Disabled flags: EXARCH, DISTTAG, EPEL5, BATCH, EPEL6 Please, remove py4j-doc.noarch: W: hidden-file-or-dir /usr/share/doc/py4j-doc/html/.doctrees (In reply to gil cattaneo from comment #40) > Please, remove > py4j-doc.noarch: W: hidden-file-or-dir /usr/share/doc/py4j-doc/html/.doctrees done. Thank you a lot for your long patience to get this review done with heavy amount of work!! New Package SCM Request ======================= Package Name: py4j Short Description: Dynamically access in Python programs to arbitrary Java objects Upstream URL: http://py4j.sourceforge.net/ Owners: raphgro Branches: f22 epel7 InitialCC: Git done (by process-git-requests). py4j-0.9-0.4.pre.20150503gitd9a950d.fc22 has been submitted as an update for Fedora 22. https://admin.fedoraproject.org/updates/py4j-0.9-0.4.pre.20150503gitd9a950d.fc22 py4j-0.9-0.4.pre.20150503gitd9a950d.el7 has been submitted as an update for Fedora EPEL 7. https://admin.fedoraproject.org/updates/py4j-0.9-0.4.pre.20150503gitd9a950d.el7 py4j-0.9-0.4.pre.20150503gitd9a950d.el7 has been pushed to the Fedora EPEL 7 testing repository. py4j-0.9-0.4.pre.20150503gitd9a950d.fc22 has been pushed to the Fedora 22 stable repository. py4j-0.9-0.4.pre.20150503gitd9a950d.el7 has been pushed to the Fedora EPEL 7 stable repository. py4j-0.9-1.fc22 has been submitted as an update to Fedora 22. https://bodhi.fedoraproject.org/updates/FEDORA-2015-235dc619b9 py4j-0.9-1.fc23 has been submitted as an update to Fedora 23. https://bodhi.fedoraproject.org/updates/FEDORA-2015-24c3f833ea py4j-0.9-1.el7 has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2015-9ae36e9e80 py4j-0.9-1.fc22 has been pushed to the Fedora 22 testing repository. If problems still persist, please make note of it in this bug report. If you want to test the update, you can install it with $ su -c 'dnf --enablerepo=updates-testing update py4j' You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2015-235dc619b9 py4j-0.9-1.fc23 has been pushed to the Fedora 23 testing repository. If problems still persist, please make note of it in this bug report. If you want to test the update, you can install it with $ su -c 'dnf --enablerepo=updates-testing update py4j' You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2015-24c3f833ea py4j-0.9-1.el7 has been pushed to the Fedora EPEL 7 testing repository. If problems still persist, please make note of it in this bug report. If you want to test the update, you can install it with $ su -c 'yum --enablerepo=epel-testing update py4j' You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2015-9ae36e9e80 py4j-0.9-1.fc23 has been pushed to the Fedora 23 stable repository. If problems still persist, please make note of it in this bug report. py4j-0.9.1-1.el7 has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-cf6348e0b5 py4j-0.9.1-1.el7 has been pushed to the Fedora EPEL 7 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-cf6348e0b5 py4j-0.9-1.fc22 has been pushed to the Fedora 22 stable repository. If problems still persist, please make note of it in this bug report. py4j-0.9.1-1.el7 has been pushed to the Fedora EPEL 7 stable repository. If problems still persist, please make note of it in this bug report. |