Bug 1324020

Summary: Review Request: cassandra - OpenSource database Apache Cassandra
Product: [Fedora] Fedora Reporter: Tomas Repik <trepik>
Component: Package ReviewAssignee: gil cattaneo <puntogil>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: 25CC: greg, jvanek, ngompa13, package-review, puntogil, torsava, trepik
Target Milestone: ---Flags: puntogil: fedora-review+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-12-08 10:00:54 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
source files are without license headers none

Description Tomas Repik 2016-04-05 11:03:22 UTC
Spec URL: https://trepik.fedorapeople.org/cassandra/v0/cassandra.spec
SRPM URL: https://trepik.fedorapeople.org/cassandra/v0/cassandra-3.4-0.fc23.src.rpm
Description: For now this bug is used as a tracker for all things, that need to be done for packaging cassandra. the spec file and srpm are just a working copies.
Fedora Account System Username: trepik

Comment 1 gil cattaneo 2016-05-29 10:17:15 UTC
Add packaging progress and referencies in https://fedoraproject.org/wiki/SIGs/bigdata/packaging#Packages_we.27re_working_on
regards

Comment 2 Tomas Repik 2016-06-08 13:27:46 UTC
Spec URL: https://trepik.fedorapeople.org/cassandra/v1/cassandra.spec
SRPM URL: https://trepik.fedorapeople.org/cassandra/v1/cassandra-3.5-0.fc23.src.rpm

Getting closer but still not final...

Comment 3 Sascha Spreitzer (Red Hat) 2016-06-21 15:22:09 UTC
Review state NEEDINFO

Comment 4 Tomas Repik 2016-06-21 15:37:13 UTC
As does the Whiteboard say, the package is still not ready for review. It should be though, approximately at the end of June.

Comment 5 Tomas Repik 2016-09-09 06:17:48 UTC
Spec URL: https://trepik.fedorapeople.org/cassandra/v2/cassandra.spec
SRPM URL: https://trepik.fedorapeople.org/cassandra/v2/cassandra-3.5-1.fc23.src.rpm

All right, finaly I have the package ready for review.

Comment 6 Tomas Repik 2016-09-09 06:18:42 UTC
Here is a scratch build:
http://koji.fedoraproject.org/koji/taskinfo?taskID=15543966

Comment 7 gil cattaneo 2016-09-09 07:08:42 UTC
Please, remove "Requires:	jpackage-utils" is useless

Comment 8 gil cattaneo 2016-09-09 08:05:07 UTC
Package Review
==============

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


Issues:
=======
- 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
  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'
- If the package provides multiple JAR file, files SHOULD be installed in a %{name} subdirectory
  %{_javadir}/%{name}-stress.jar
  https://fedoraproject.org/wiki/Packaging:Java#Installation_directory
- JAR files MUST NOT include class-path entry inside META-INF/MANIFEST.MF
  cassandra.i686: W: class-path-in-manifest /usr/lib/java/cassandra/cassandra-all.jar
  https://fedoraproject.org/wiki/Packaging:Java#No_class-path_in_MANIFEST.MF
  
[!]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses
     found: "Apache (v2.0)", "Apache (v2.0) BSD (3 clause)", "Unknown or
     generated", "*No copyright* Apache (v2.0)". 135 files have unknown
     license. Detailed output of licensecheck in
     /home/gil/1324020-cassandra/licensecheck.txt

[!]: License file installed when any subpackage combination is installed.
 Missing NOTICE.txt file in javadoc subpackage

[!]: Package contains no bundled libraries without FPC exception.
 cassandra-3.5/src/java/org/apache/cassandra/utils/vint/VIntCoding.java This file is part of protocol-buffer project
 Please, add Provides:   bundled(protobuf) =  "protobuf version"

[!]: Package contains BR: python2-devel or python3-devel

[!]: Latest version is packaged.
  Available cassandra-3.7

[!]: %check is present and all tests pass.

[!]: Packages are noarch unless they use JNI
     Note: cassandra subpackage is not noarch. Please verify manually
 cassandra-javadoc-3.5-1.fc26.i686.rpm
 cassandra-parent-3.5-1.fc26.i686.rpm
 cassandra-stress-3.5-1.fc26.i686.rpm

===== MUST items =====

C/C++:
[-]: Development (unversioned) .so files in -devel subpackage, if present.
     Note: Unversioned so-files in private %_libdir subdirectory (see
     attachment). Verify they are not in ld path.

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)", "Apache (v2.0) BSD (3 clause)", "Unknown or
     generated", "*No copyright* Apache (v2.0)". 135 files have unknown
     license. Detailed output of licensecheck in
     /home/gil/1324020-cassandra/licensecheck.txt
[!]: License file installed when any subpackage combination is installed.
[x]: Package must own all directories that it creates.
     Note: Directories without known owners: /usr/share/java,
     /usr/lib/systemd/system, /etc/logrotate.d, /usr/lib/systemd
[x]: %build honors applicable compiler flags or justifies otherwise.
[!]: 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.
[x]: Package contains systemd file(s) if in need.
[x]: Useful -debuginfo package or justification otherwise.
[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 419840 bytes in 4 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 requires other packages for directories it uses.
[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]: %config files are marked noreplace or the reason is justified.
[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]: No %config files under /usr.
[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]: 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.
[?]: Package meets the Packaging Guidelines::Python
[!]: 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
     cassandra-parent , cassandra-thrift , cassandra-clientutil ,
     cassandra-stress , cassandra-javadoc , cassandra-debuginfo
[x]: 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]: 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]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Sources can be downloaded from URI in Source: tag
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

Java:
[!]: Packages are noarch unless they use JNI
     Note: cassandra subpackage is not noarch. Please verify manually
[x]: Package uses upstream build method (ant/maven/etc.)



===== EXTRA items =====

Generic:
[!]: Large data in /usr/share should live in a noarch subpackage if package
     is arched.
     Note: Arch-ed rpms have a total of 103700480 bytes in /usr/share
     cassandra-javadoc-3.5-1.fc26.i686.rpm:100454400
     See:
     http://fedoraproject.org/wiki/Packaging:ReviewGuidelines#Package_Review_Guidelines
[x]: Rpmlint is run on debuginfo package(s).
     Note: No rpmlint messages.
[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: cassandra-3.5-1.fc26.i686.rpm
          cassandra-parent-3.5-1.fc26.i686.rpm
          cassandra-thrift-3.5-1.fc26.i686.rpm
          cassandra-clientutil-3.5-1.fc26.i686.rpm
          cassandra-stress-3.5-1.fc26.i686.rpm
          cassandra-javadoc-3.5-1.fc26.i686.rpm
          cassandra-debuginfo-3.5-1.fc26.i686.rpm
          cassandra-3.5-1.fc26.src.rpm
cassandra.i686: W: name-repeated-in-summary C Cassandra
cassandra.i686: W: spelling-error %description -l en_US repartition -> re partition, re-partition, reparation
cassandra.i686: E: no-binary
cassandra.i686: W: non-standard-uid /var/log/cassandra cassandra
cassandra.i686: E: non-standard-dir-perm /var/log/cassandra 750
cassandra.i686: E: executable-marked-as-config-file /etc/cassandra-env.sh
cassandra.i686: E: script-without-shebang /etc/cassandra-env.sh
cassandra.i686: W: non-standard-uid /var/lib/cassandra cassandra
cassandra.i686: E: script-without-shebang /usr/bin/cassandra.in.sh
cassandra.i686: W: no-manual-page-for-binary cassandra
cassandra.i686: W: no-manual-page-for-binary cassandra.in.sh
cassandra.i686: W: class-path-in-manifest /usr/lib/java/cassandra/cassandra-all.jar
cassandra-parent.i686: W: no-documentation
cassandra-thrift.i686: W: no-documentation
cassandra-clientutil.i686: W: no-manual-page-for-binary sstablemetadata
cassandra-clientutil.i686: W: no-manual-page-for-binary sstableofflinerelevel
cassandra-clientutil.i686: W: no-manual-page-for-binary nodetool
cassandra-clientutil.i686: W: no-manual-page-for-binary sstablescrub
cassandra-clientutil.i686: W: no-manual-page-for-binary sstableupgrade
cassandra-clientutil.i686: W: no-manual-page-for-binary sstablerepairedset
cassandra-clientutil.i686: W: no-manual-page-for-binary sstableexpiredblockers
cassandra-clientutil.i686: W: no-manual-page-for-binary sstableloader
cassandra-clientutil.i686: W: no-manual-page-for-binary sstableverify
cassandra-clientutil.i686: W: no-manual-page-for-binary sstablelevelreset
cassandra-clientutil.i686: W: no-manual-page-for-binary sstabledump
cassandra-clientutil.i686: W: no-manual-page-for-binary sstablesplit
cassandra-clientutil.i686: W: no-manual-page-for-binary sstableutil
cassandra-clientutil.i686: W: no-manual-page-for-binary cqlsh
cassandra-stress.i686: W: spelling-error %description -l en_US benchmarking -> bench marking, bench-marking, benchmark
cassandra-stress.i686: W: no-documentation
cassandra-stress.i686: E: script-without-shebang /usr/bin/cassandra.in.sh
cassandra-stress.i686: W: no-manual-page-for-binary cassandra-stressd
cassandra-stress.i686: W: no-manual-page-for-binary cassandra.in.sh
cassandra-stress.i686: W: no-manual-page-for-binary cassandra-stress
cassandra.src: W: name-repeated-in-summary C Cassandra
cassandra.src: W: spelling-error %description -l en_US repartition -> re partition, re-partition, reparation
cassandra.src:322: W: macro-in-comment %jpackage_script
cassandra.src:372: W: macro-in-comment %dir
cassandra.src:373: W: macro-in-comment %dir
cassandra.src:380: W: macro-in-comment %config
cassandra.src:381: W: macro-in-comment %config
cassandra.src:382: W: macro-in-comment %config
cassandra.src:386: W: macro-in-comment %config
cassandra.src:13: W: mixed-use-of-spaces-and-tabs (spaces: line 5, tab: line 13)
8 packages and 0 specfiles checked; 6 errors, 38 warnings.




Rpmlint (debuginfo)
-------------------
Checking: cassandra-debuginfo-3.5-1.fc26.i686.rpm
1 packages and 0 specfiles checked; 0 errors, 0 warnings.





Rpmlint (installed packages)
----------------------------
cassandra-thrift.i686: W: no-documentation
cassandra-clientutil.i686: W: no-manual-page-for-binary sstabledump
cassandra-clientutil.i686: W: no-manual-page-for-binary sstablemetadata
cassandra-clientutil.i686: W: no-manual-page-for-binary sstableupgrade
cassandra-clientutil.i686: W: no-manual-page-for-binary sstableexpiredblockers
cassandra-clientutil.i686: W: no-manual-page-for-binary cqlsh
cassandra-clientutil.i686: W: no-manual-page-for-binary sstableofflinerelevel
cassandra-clientutil.i686: W: no-manual-page-for-binary sstableverify
cassandra-clientutil.i686: W: no-manual-page-for-binary sstablerepairedset
cassandra-clientutil.i686: W: no-manual-page-for-binary sstableutil
cassandra-clientutil.i686: W: no-manual-page-for-binary sstableloader
cassandra-clientutil.i686: W: no-manual-page-for-binary sstablesplit
cassandra-clientutil.i686: W: no-manual-page-for-binary sstablescrub
cassandra-clientutil.i686: W: no-manual-page-for-binary sstablelevelreset
cassandra-clientutil.i686: W: no-manual-page-for-binary nodetool
cassandra-parent.i686: W: no-documentation
cassandra.i686: W: name-repeated-in-summary C Cassandra
cassandra.i686: W: spelling-error %description -l en_US repartition -> re partition, re-partition, reparation
cassandra.i686: E: no-binary
cassandra.i686: E: script-without-shebang /usr/bin/cassandra.in.sh
cassandra.i686: W: non-standard-uid /var/log/cassandra cassandra
cassandra.i686: E: non-standard-dir-perm /var/log/cassandra 750
cassandra.i686: W: non-standard-uid /var/lib/cassandra cassandra
cassandra.i686: E: executable-marked-as-config-file /etc/cassandra-env.sh
cassandra.i686: E: script-without-shebang /etc/cassandra-env.sh
cassandra.i686: W: no-manual-page-for-binary cassandra
cassandra.i686: W: no-manual-page-for-binary cassandra.in.sh
cassandra.i686: W: class-path-in-manifest /usr/lib/java/cassandra/cassandra-all.jar
cassandra-stress.i686: W: spelling-error %description -l en_US benchmarking -> bench marking, bench-marking, benchmark
cassandra-stress.i686: W: no-documentation
cassandra-stress.i686: E: script-without-shebang /usr/bin/cassandra.in.sh
cassandra-stress.i686: W: no-manual-page-for-binary cassandra.in.sh
cassandra-stress.i686: W: no-manual-page-for-binary cassandra-stressd
cassandra-stress.i686: W: no-manual-page-for-binary cassandra-stress
7 packages and 0 specfiles checked; 6 errors, 28 warnings.



Requires
--------
cassandra-debuginfo (rpmlib, GLIBC filtered):

cassandra-thrift (rpmlib, GLIBC filtered):
    cassandra
    java-headless
    javapackages-tools
    mvn(com.carrotsearch:hppc)
    mvn(com.googlecode.concurrent-trees:concurrent-trees)
    mvn(de.jflex:jflex)
    mvn(net.mintern:primitive)
    mvn(org.apache.commons:commons-lang3)
    mvn(org.apache.thrift:libthrift)
    mvn(org.slf4j:jcl-over-slf4j)
    mvn(org.slf4j:log4j-over-slf4j)
    mvn(org.slf4j:slf4j-api)
    mvn(org.tartarus:snowball)

cassandra-clientutil (rpmlib, GLIBC filtered):
    /bin/sh
    /usr/bin/python
    cassandra
    java-headless
    javapackages-tools
    libc.so.6
    libpthread.so.0
    libpython2.7.so.1.0
    mvn(com.google.guava:guava)
    python(abi)
    python-cassandra-driver
    rtld(GNU_HASH)

cassandra-parent (rpmlib, GLIBC filtered):
    java-headless
    javapackages-tools

cassandra (rpmlib, GLIBC filtered):
    /bin/sh
    config(cassandra)
    java-headless
    javapackages-tools
    jpackage-utils
    mvn(ch.qos.logback:logback-classic)
    mvn(ch.qos.logback:logback-core)
    mvn(com.addthis.metrics:reporter-config3)
    mvn(com.clearspring.analytics:stream)
    mvn(com.github.jbellis:jamm)
    mvn(com.github.stephenc.high-scale-lib:high-scale-lib)
    mvn(com.google.guava:guava)
    mvn(com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru)
    mvn(com.googlecode.json-simple:json-simple)
    mvn(com.ning:compress-lzf)
    mvn(com.thinkaurelius.thrift:thrift-server)
    mvn(commons-cli:commons-cli)
    mvn(commons-codec:commons-codec)
    mvn(io.dropwizard.metrics:metrics-core)
    mvn(io.netty:netty-all)
    mvn(joda-time:joda-time)
    mvn(net.java.dev.jna:jna)
    mvn(net.jpountz.lz4:lz4)
    mvn(org.antlr:antlr)
    mvn(org.antlr:antlr-runtime)
    mvn(org.apache.cassandra:cassandra-thrift)
    mvn(org.apache.commons:commons-lang3)
    mvn(org.apache.commons:commons-math3)
    mvn(org.apache.thrift:libthrift)
    mvn(org.caffinitas.ohc:ohc-core)
    mvn(org.codehaus.jackson:jackson-core-asl)
    mvn(org.codehaus.jackson:jackson-mapper-asl)
    mvn(org.eclipse.jdt.core.compiler:ecj)
    mvn(org.fusesource:sigar)
    mvn(org.mindrot:jbcrypt)
    mvn(org.slf4j:jcl-over-slf4j)
    mvn(org.slf4j:log4j-over-slf4j)
    mvn(org.slf4j:slf4j-api)
    mvn(org.xerial.snappy:snappy-java)
    mvn(org.yaml:snakeyaml)
    shadow-utils

cassandra-javadoc (rpmlib, GLIBC filtered):
    javapackages-tools

cassandra-stress (rpmlib, GLIBC filtered):
    /bin/sh
    cassandra



Provides
--------
cassandra-debuginfo:
    cassandra-debuginfo
    cassandra-debuginfo(x86-32)

cassandra-thrift:
    cassandra-thrift
    cassandra-thrift(x86-32)
    mvn(org.apache.cassandra:cassandra-thrift)
    mvn(org.apache.cassandra:cassandra-thrift:pom:)

cassandra-clientutil:
    cassandra-clientutil
    cassandra-clientutil(x86-32)
    mvn(org.apache.cassandra:cassandra-clientutil)
    mvn(org.apache.cassandra:cassandra-clientutil:pom:)
    python2.7dist(cassandra-pylib)
    python2dist(cassandra-pylib)

cassandra-parent:
    cassandra-parent
    cassandra-parent(x86-32)
    mvn(org.apache.cassandra:cassandra-parent:pom:)

cassandra:
    cassandra
    cassandra(x86-32)
    config(cassandra)
    mvn(org.apache.cassandra:cassandra-all)
    mvn(org.apache.cassandra:cassandra-all:pom:)

cassandra-javadoc:
    cassandra-javadoc
    cassandra-javadoc(x86-32)

cassandra-stress:
    cassandra-stress
    cassandra-stress(x86-32)



Unversioned so-files
--------------------
cassandra-clientutil: /usr/lib/python2.7/site-packages/cqlshlib/copyutil.so

Source checksums
----------------
https://github.com/apache/cassandra/archive/cassandra-3.5.tar.gz :
  CHECKSUM(SHA256) this package     : efab1bb8b8e91973730617d460386e0a449e6d74dd38d6beab6e60f8ab4d26cc
  CHECKSUM(SHA256) upstream package : efab1bb8b8e91973730617d460386e0a449e6d74dd38d6beab6e60f8ab4d26cc
http://central.maven.org/maven2/org/apache/cassandra/cassandra-clientutil/3.5/cassandra-clientutil-3.5.pom :
  CHECKSUM(SHA256) this package     : 39e3a6dd3f18b63302117167a7b29bad21a5af7a7f89b8e83c5080d5091787b3
  CHECKSUM(SHA256) upstream package : 39e3a6dd3f18b63302117167a7b29bad21a5af7a7f89b8e83c5080d5091787b3
http://central.maven.org/maven2/org/apache/cassandra/cassandra-parent/3.5/cassandra-parent-3.5.pom :
  CHECKSUM(SHA256) this package     : 78324eae096f2cabed0f1f7865531593fdab51f9e6eda02b902bad664404b61d
  CHECKSUM(SHA256) upstream package : 78324eae096f2cabed0f1f7865531593fdab51f9e6eda02b902bad664404b61d
http://central.maven.org/maven2/org/apache/cassandra/cassandra-all/3.5/cassandra-all-3.5.pom :
  CHECKSUM(SHA256) this package     : afeecdcc8f6e6da51cb474ee58d62f1ad14d38d9878900ba0e67502f8e204bd0
  CHECKSUM(SHA256) upstream package : afeecdcc8f6e6da51cb474ee58d62f1ad14d38d9878900ba0e67502f8e204bd0
http://central.maven.org/maven2/org/apache/cassandra/cassandra-thrift/3.5/cassandra-thrift-3.5.pom :
  CHECKSUM(SHA256) this package     : 9beff09fb9ecba107cf26c63eeb16c6c335778828a2f5bddaee62b7ad40a8217
  CHECKSUM(SHA256) upstream package : 9beff09fb9ecba107cf26c63eeb16c6c335778828a2f5bddaee62b7ad40a8217


Jar and class files in source
-----------------------------
./cassandra-3.5/airline-0.6.jar
./cassandra-3.5/byteman-bmunit-3.0.3.jar
./cassandra-3.5/jsr305-2.0.2.jar
./cassandra-3.5/compile-command-annotations-1.2.0.jar
./cassandra-3.5/jmh-core-1.1.1.jar
./cassandra-3.5/cassandra-driver-core-3.0.0.jar
./cassandra-3.5/lib/logback-classic-1.1.3.jar
./cassandra-3.5/lib/hppc-0.5.4.jar
./cassandra-3.5/lib/commons-lang3-3.1.jar
./cassandra-3.5/lib/slf4j-api-1.7.7.jar
./cassandra-3.5/lib/junit-4.6.jar
./cassandra-3.5/lib/jbcrypt-0.3m.jar
./cassandra-3.5/lib/commons-codec-1.2.jar
./cassandra-3.5/lib/stream-2.5.2.jar
./cassandra-3.5/lib/jna-4.0.0.jar
./cassandra-3.5/lib/snowball-0.jar
./cassandra-3.5/lib/asm-5.0.4.jar
./cassandra-3.5/lib/libthrift-0.9.2.jar
./cassandra-3.5/lib/snakeyaml-1.11.jar
./cassandra-3.5/lib/ant-1.9.4.jar
./cassandra-3.5/lib/reporter-config3-3.0.0.jar
./cassandra-3.5/lib/antlr-runtime-3.5.2.jar
./cassandra-3.5/lib/reporter-config-base-3.0.0.jar
./cassandra-3.5/lib/metrics-core-3.0.1.jar
./cassandra-3.5/lib/primitive-1.0.jar
./cassandra-3.5/lib/jamm-0.3.0.jar
./cassandra-3.5/lib/ST4-4.0.8.jar
./cassandra-3.5/lib/concurrent-trees-2.5.0.jar
./cassandra-3.5/lib/jackson-core-asl-1.9.2.jar
./cassandra-3.5/lib/commons-math3-3.2.jar
./cassandra-3.5/lib/lz4-1.3.0.jar
./cassandra-3.5/lib/ohc-core-0.4.2.jar
./cassandra-3.5/lib/high-scale-lib-1.0.6.jar
./cassandra-3.5/lib/concurrentlinkedhashmap-lru-1.4.jar
./cassandra-3.5/lib/jflex-1.6.0.jar
./cassandra-3.5/lib/thrift-server-0.3.8.jar
./cassandra-3.5/lib/commons-cli-1.1.jar
./cassandra-3.5/lib/apache-commons-io-2.4.jar
./cassandra-3.5/lib/guava-18.0.jar
./cassandra-3.5/lib/logback-core-1.1.3.jar
./cassandra-3.5/lib/snappy-java-1.1.1.7.jar
./cassandra-3.5/lib/ant-junit-1.9.4.jar
./cassandra-3.5/lib/javax.inject.jar
./cassandra-3.5/lib/java_cup-0.11b.jar
./cassandra-3.5/lib/joda-time-2.4.jar
./cassandra-3.5/lib/json-simple-1.1.jar
./cassandra-3.5/lib/antlr-3.5.2.jar
./cassandra-3.5/lib/netty-all-4.0.23.Final.jar
./cassandra-3.5/lib/sigar-1.6.4.jar
./cassandra-3.5/lib/jackson-mapper-asl-1.9.2.jar
./cassandra-3.5/lib/metrics-logback-3.0.1.jar
./cassandra-3.5/lib/hamcrest-1.3.jar
./cassandra-3.5/lib/ecj-4.4.2.jar
./cassandra-3.5/lib/compress-lzf-0.8.4.jar
./cassandra-3.5/commons-collections-3.2.1.jar


Generated by fedora-review 0.6.1 (f03e4e7) last change: 2016-05-02
Command line :/usr/bin/fedora-review -b 1324020 --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

Comment 9 gil cattaneo 2016-09-09 08:12:38 UTC
Created attachment 1199298 [details]
source files are without license headers

Please, report the problem to upstream
https://fedoraproject.org/wiki/Packaging:LicensingGuidelines?rd=Packaging/LicensingGuidelines#License_Clarification

Comment 10 gil cattaneo 2016-09-09 08:20:42 UTC
Other issues:
in file cassandra-env.sh is set "JVM_OPTS="$JVM_OPTS -Djava.library.path=/usr/lib64/sigar""

Comment 11 Tomas Repik 2016-09-09 12:25:25 UTC
(In reply to gil cattaneo from comment #8)
> Issues:
> =======
> - Packages have proper BuildRequires/Requires on jpackage-utils
DONE
> - Bundled jar/class files should be removed before build
Jar files are firstly removed and then replaced only with simlinks to respective jar files allready installed in the system
> - If the package provides multiple JAR file, files SHOULD be installed in a
> %{name} subdirectory
DONE
> - JAR files MUST NOT include class-path entry inside META-INF/MANIFEST.MF
Any advice how to remove the entry?
> [!]: License field in the package spec file matches the actual license.
ignore for now
> [!]: License file installed when any subpackage combination is installed.
DONE
> [!]: Package contains no bundled libraries without FPC exception.
>  cassandra-3.5/src/java/org/apache/cassandra/utils/vint/VIntCoding.java This
> file is part of protocol-buffer project
>  Please, add Provides:   bundled(protobuf) =  "protobuf version"
I don't think it is necessary, yes there is a protobuf header, but also there is a comment saying VIntCoding.java: "Borrows idea from [1]" There is no scource file called VIntCoding.java in protobuf sources [2]
> [!]: Package contains BR: python2-devel or python3-devel
Moved to clientutil subpackage
> [!]: Latest version is packaged.
obviously I know there is a newer version, if that is really necessary I'm gonna do the 3.7 version but new versions are released pretty often
> [!]: %check is present and all tests pass.
I don't think there is anything to check
> [!]: Packages are noarch unless they use JNI
DONE
> Rpmlint
ignored for now

[1] https://developers.google.com/protocol-buffers/docs/encoding#varints
[2] https://github.com/google/protobuf

Comment 12 Tomas Repik 2016-09-09 12:32:50 UTC
(In reply to gil cattaneo from comment #10)
> Other issues:
> in file cassandra-env.sh is set "JVM_OPTS="$JVM_OPTS
> -Djava.library.path=/usr/lib64/sigar""

What is wrong with this?

Comment 13 gil cattaneo 2016-09-09 12:36:35 UTC
(In reply to Tomas Repik from comment #11)
> (In reply to gil cattaneo from comment #8)
> > Issues:
> > =======
> > - Packages have proper BuildRequires/Requires on jpackage-utils
> DONE
> > - Bundled jar/class files should be removed before build
> Jar files are firstly removed and then replaced only with simlinks to
> respective jar files allready installed in the system
> > - If the package provides multiple JAR file, files SHOULD be installed in a
> > %{name} subdirectory
> DONE
> > - JAR files MUST NOT include class-path entry inside META-INF/MANIFEST.MF
> Any advice how to remove the entry?

sed -i '/Class-Path/d' build.xml

remove this line:"<attribute name="Class-Path"
value="${ant.project.name}-clientutil-${version}.jar ${ant.project.name}-thrift-${version}.jar" />"

> > [!]: License field in the package spec file matches the actual license.
> ignore for now
> > [!]: License file installed when any subpackage combination is installed.
> DONE
> > [!]: Package contains no bundled libraries without FPC exception.
> >  cassandra-3.5/src/java/org/apache/cassandra/utils/vint/VIntCoding.java This
> > file is part of protocol-buffer project
> >  Please, add Provides:   bundled(protobuf) =  "protobuf version"
> I don't think it is necessary, yes there is a protobuf header, but also
> there is a comment saying VIntCoding.java: "Borrows idea from [1]" There is
> no scource file called VIntCoding.java in protobuf sources [2]

> > [!]: Package contains BR: python2-devel or python3-devel
> Moved to clientutil subpackage
> > [!]: Latest version is packaged.
> obviously I know there is a newer version, if that is really necessary I'm
> gonna do the 3.7 version but new versions are released pretty often
> > [!]: %check is present and all tests pass.
> I don't think there is anything to check
> > [!]: Packages are noarch unless they use JNI
> DONE
> > Rpmlint
> ignored for now
> 
> [1] https://developers.google.com/protocol-buffers/docs/encoding#varints
> [2] https://github.com/google/protobuf


  (In reply to Tomas Repik from comment #12)
> (In reply to gil cattaneo from comment #10)
> > Other issues:
> > in file cassandra-env.sh is set "JVM_OPTS="$JVM_OPTS
> > -Djava.library.path=/usr/lib64/sigar""
> 
> What is wrong with this?
on 32 bit arches /usr/lib64/sigar is not available

waiting the new spec and src rpm, thanks for your work

waiting the new spec and src rpm, thanks for your work

Comment 15 gil cattaneo 2016-09-13 14:29:25 UTC
(In reply to Tomas Repik from comment #14)

> Fixed the issues discussed above.

> > [!]: Package contains BR: python2-devel or python3-devel
> Moved to clientutil subpackage
Still not available. can you revert?
see this template https://fedoraproject.org/wiki/Packaging:Python#Example_common_spec_file

> > [!]: License field in the package spec file matches the actual license.
> ignore for now
Why?


> > [!]: Latest version is packaged.
> obviously I know there is a newer version, if that is really necessary I'm
> gonna do the 3.7 version but new versions are released pretty often
As you want
> > [!]: %check is present and all tests pass.
> I don't think there is anything to check
sorry, there are no test suite to run?
> > [!]: Packages are noarch unless they use JNI
> DONE
also %package parent is noarch
> > Rpmlint
> ignored for now
Why?

Comment 16 gil cattaneo 2016-09-13 14:32:19 UTC
and please, remove all unnecessary comments. especially those who have "%". to reduce problems with rpmlint

Comment 17 Tomas Repik 2016-09-14 07:49:39 UTC
(In reply to gil cattaneo from comment #15)
> [!]: Package contains BR: python2-devel or python3-devel
> Still not available. can you revert?
> see this template
> https://fedoraproject.org/wiki/Packaging:Python#Example_common_spec_file
Can you be more specific about what you don't like about it? Even from the link you gave I don't see anything wrong.
> [!]: License field in the package spec file matches the actual license.
I checked the attachement about licenses but I think the license headers are present and sane as well.
> [!]: Latest version is packaged.
I'm gonna update to the version 3.7 in very near future.
> [!]: %check is present and all tests pass.
Now I remembered ahy i skipped the tests, I got these errors and, so far was unable to solve those.
* Error1 Caused by: org.apache.cassandra.exceptions.ConfigurationException: Unable to check disk space available to build/test/cassandra/commitlog:21. Perhaps the Cassandra user does not have the necessary permissions
* Error2 Caused by: java.io.IOException: Mount point not found
I can provide full log if you'd like.
> [!]: Packages are noarch unless they use JNI
> also %package parent is noarch
DONE
(In reply to gil cattaneo from comment #15)
> remove all unnecessary comments
Yes I'm gonna do that, but as the last step before building for rawhide.

Comment 18 gil cattaneo 2016-09-14 21:43:30 UTC
(In reply to Tomas Repik from comment #17)
> (In reply to gil cattaneo from comment #15)
> > [!]: Package contains BR: python2-devel or python3-devel
> > https://fedoraproject.org/wiki/Packaging:Python#Example_common_spec_file
> Can you be more specific about what you don't like about it? Even from the
> link you gave I don't see anything wrong.

Missing "python_provide" and:
%check
%{__pythonX} setup.py test
or add a comment, in the spec file, why do not run test suite

> > [!]: License field in the package spec file matches the actual license.
> I checked the attachement about licenses but I think the license headers are
> present and sane as well.
> > [!]: Latest version is packaged.
> I'm gonna update to the version 3.7 in very near future.
OK
> > [!]: %check is present and all tests pass.
> Now I remembered ahy i skipped the tests, I got these errors and, so far was
> unable to solve those.
> * Error1 Caused by: org.apache.cassandra.exceptions.ConfigurationException:
> Unable to check disk space available to build/test/cassandra/commitlog:21.
> Perhaps the Cassandra user does not have the necessary permissions
> * Error2 Caused by: java.io.IOException: Mount point not found
> I can provide full log if you'd like.

have you contacted upstream for report the problem?

Comment 19 Tomas Repik 2016-09-15 06:40:31 UTC
(In reply to gil cattaneo from comment #18)
> [!]: Package contains BR: python2-devel or python3-devel
> Missing "python_provide" and:
> %check
> %{__pythonX} setup.py test
> or add a comment, in the spec file, why do not run test suite
added  "python_provide" and the %check section as well
> [!]: %check is present and all tests pass.
> have you contacted upstream for report the problem?
I'm gonna update the package to 3.7 and see if the tests fail again. If yes I'm gonna ask upstream.

Comment 20 Tomas Repik 2016-09-27 11:08:13 UTC
So far not much progress:
* submitted an issue about failing tests on cassandra's jira [1]

* new version 3.7 has a new dependency (caffeine [2]) which is not in rawhide, and won't be for a while, so for now I would use the 3.5, which is fine

Is there anything else I should resolve for the review?

[1] https://issues.apache.org/jira/browse/CASSANDRA-12708
[2] https://github.com/ben-manes/caffeine

Comment 21 gil cattaneo 2016-09-27 12:43:52 UTC
(In reply to Tomas Repik from comment #20)
> So far not much progress:
> * submitted an issue about failing tests on cassandra's jira [1]
> 
> * new version 3.7 has a new dependency (caffeine [2]) which is not in
> rawhide, and won't be for a while, so for now I would use the 3.5, which is
> fine

i know caffeine is "not friendly" (read crap) with packager. but this will not be the possibility of keeping the package, at length, in Fedora

> Is there anything else I should resolve for the review?

> [!]: Package contains BR: python2-devel or python3-devel

Default Python interpreter for Fedora (in rawhide) should be python3
For me should better split clientutil package in:
- clientutil only the binaries/scripts files
- python2-cqlshlib and/or python3-cqlshlib

as in https://fedoraproject.org/wiki/Packaging:Python#Example_common_spec_file
http://python-rpm-porting.readthedocs.io/en/latest/modules.html#ported-rpm-spec-file

> [!]: Packages are noarch unless they use JNI
%package parent

Comment 22 Tomas Repik 2016-10-03 13:47:04 UTC
Spec URL: https://trepik.fedorapeople.org/cassandra/v4/cassandra.spec
SRPM URL: https://trepik.fedorapeople.org/cassandra/v4/cassandra-3.5-1.fc23.src.rpm

(In reply to gil cattaneo from comment #21)
> i know caffeine is "not friendly" (read crap) with packager. but this will
> not be the possibility of keeping the package, at length, in Fedora
So you think it's ineviteble to package caffeine? What if we removed caffeine 
from cassandra so it's not dependent? Is that not possible? I can help with doing either.

> Default Python interpreter for Fedora (in rawhide) should be python3
> For me should better split clientutil package in:
> - clientutil only the binaries/scripts files
> - python2-cqlshlib and/or python3-cqlshlib
DONE (only python2 because of usage in SCLs)

> [!]: Packages are noarch unless they use JNI
> %package parent
DONE

Tests still don't work...

Comment 23 gil cattaneo 2016-10-03 18:11:54 UTC
(In reply to Tomas Repik from comment #22)

> 
> (In reply to gil cattaneo from comment #21)
> > i know caffeine is "not friendly" (read crap) with packager. but this will
> > not be the possibility of keeping the package, at length, in Fedora
> So you think it's ineviteble to package caffeine? What if we removed
> caffeine 
> from cassandra so it's not dependent? Is that not possible? I can help with
> doing either.

caffeine replace com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru 
(see https://github.com/ben-manes/concurrentlinkedhashmap/issues/48),
you could try to remove it but could produce other issues.

> > Default Python interpreter for Fedora (in rawhide) should be python3
> > For me should better split clientutil package in:
> > - clientutil only the binaries/scripts files
> > - python2-cqlshlib and/or python3-cqlshlib
> DONE (only python2 because of usage in SCLs)
I do not understand ...

> > [!]: Packages are noarch unless they use JNI
> > %package parent
> DONE
> 
> Tests still don't work...
All test suite? or few tests?

Please, cleanup spec file

Comment 24 Tomas Repik 2016-10-05 12:31:36 UTC
(In reply to gil cattaneo from comment #23)
> caffeine replace
> com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru 
> (see https://github.com/ben-manes/concurrentlinkedhashmap/issues/48),
> you could try to remove it but could produce other issues.

All right I'll with with somebody to package caffeine and it's dependencies into  fedora.

> Default Python interpreter for Fedora (in rawhide) should be python3
> I do not understand ...

I didn't remember why we choose python2, but after some research I know now. Cassandra itself uses python 2.7 and its code (cqlshlib) is not python3 compatible [1].

> All test suite? or few tests?

Almost all of the tests.

> Please, cleanup spec file

DONE (will post new spec file with some other changes that might come)

Also there has been a new release od cassandra 3.9 recently, I'll focus on that one.

[1] https://paste.fedoraproject.org/444041/69193147/raw/

Comment 25 gil cattaneo 2016-10-05 15:29:40 UTC
(In reply to Tomas Repik from comment #24)
> (In reply to gil cattaneo from comment #23)
> > caffeine replace
> > com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru 
> > (see https://github.com/ben-manes/concurrentlinkedhashmap/issues/48),
> > you could try to remove it but could produce other issues.
> 
> All right I'll with with somebody to package caffeine and it's dependencies
> into  fedora.

i have begun this @ https://gil.fedorapeople.org/caffeine/
but there are some unavailable deps:
com.typesafe:config:1.3.0 https://bugzilla.redhat.com/show_bug.cgi?id=1249965
com.squareup:javapoet:?
net.openhft:koloboke-api-jdk8,koloboke-impl-jdk8:0.6.7

Dependencies with issues:
com.github.brianfrankcooper.ycsb:core:0.10.0 (use apache htrace-core4.1.0-incubating ; this package was retired)
com.typesafe.akka:akka-actor_2.10:2.3.15 (this package was retired)

Dependencies changes:
javax.cache:cache-api:1.0.0 (NON free, use org.apache.geronimo.specs:geronimo-jcache_1.0_spec)

> > Default Python interpreter for Fedora (in rawhide) should be python3
> > I do not understand ...
> 
> I didn't remember why we choose python2, but after some research I know now.
> Cassandra itself uses python 2.7 and its code (cqlshlib) is not python3
> compatible [1].

OK. Please, add a comment in the spec file

> > All test suite? or few tests?
> 
> Almost all of the tests.


> Also there has been a new release od cassandra 3.9 recently, I'll focus on
> that one.
> 
> [1] https://paste.fedoraproject.org/444041/69193147/raw/

Comment 26 Tomas Repik 2016-11-21 13:49:53 UTC
We managed to package caffeine, the last missing dependency.

Comment 27 Tomas Repik 2016-12-01 10:24:45 UTC
Tramtadamtamtamtamtaaaa!

Spec URL: https://trepik.fedorapeople.org/cassandra/v5/cassandra.spec
SRPM URL: https://trepik.fedorapeople.org/cassandra/v5/cassandra-3.9-1.fc24.src.rpm
Koji Scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=16692989

- all of the dependencies finally in fedora
- changed the method of linking the dependencies to the lib folder (build-jar-repository)
- SCLized - added some SCL macros to be able to build it as a SCL 
- net.mintern:primitive - removed as it's gonna be removed in later cassandra release

I feel that it's gonna be in fedora very soon!

Comment 28 gil cattaneo 2016-12-01 16:25:50 UTC
A question:
...
install -p -D -m 755 build/tools/lib/%{pkg_name}-stress.jar %{buildroot}%{_javadir}/%{pkg_name}-stress.jar
...
%attr(755, root, root) %{_javadir}/%{pkg_name}-stress.jar

why?
should be

install -p -D -m 644 build/tools/lib/%{pkg_name}-stress.jar %{buildroot}%{_javadir}/%{pkg_name}-stress.jar
%{_javadir}/%{pkg_name}-stress.jar

can you use this instruction to install the artifact:

%mvn_package org.apache.cassandra:%{pkg_name}-stress stress
%mvn_artifact org.apache.cassandra:%{pkg_name}-stress:%{version} build/tools/lib/%{pkg_name}-stress.jar

%files stress  -f .mfiles-stress
%license LICENSE.txt NOTICE.txt
%attr(755, root, root) %{_bindir}/%{pkg_name}-stress
%attr(755, root, root) %{_bindir}/%{pkg_name}-stressd
%attr(755, root, root) %{_bindir}/%{pkg_name}.in.sh

Comment 29 gil cattaneo 2016-12-01 16:28:15 UTC
(In reply to gil cattaneo from comment #28)
> A question:
> ...
> install -p -D -m 755 build/tools/lib/%{pkg_name}-stress.jar
> %{buildroot}%{_javadir}/%{pkg_name}-stress.jar
> ...
> %attr(755, root, root) %{_javadir}/%{pkg_name}-stress.jar
> 
> why?

should be

install -p -D -m 644 build/tools/lib/%{pkg_name}-stress.jar
%{buildroot}%{_javadir}/%{pkg_name}/%{pkg_name}-stress.jar

%{_javadir}/%{pkg_name}/%{pkg_name}-stress.jar

Comment 30 gil cattaneo 2016-12-01 17:17:56 UTC
Package Review
==============

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


Issues:
=======
- 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 =====

C/C++:
[x]: Development (unversioned) .so files in -devel subpackage, if present.
     Note: Unversioned so-files in private %_libdir subdirectory (see
     attachment). Verify they are not in ld path.

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)", "Apache (v2.0) BSD (3 clause)", "Unknown or
     generated", "*No copyright* Apache (v2.0)". 74 files have unknown
     license. Detailed output of licensecheck in
     /home/gil/1324020-cassandra/licensecheck.txt
    
 Apache (v2.0) BSD (3 clause) cassandra-3.9/src/java/org/apache/cassandra/utils/vint/VIntCoding.java
    
[!]: License file installed when any subpackage combination is installed.
 Missing NOTICE.txt in javadoc sub package

 The following source files are without license headers:
  cassandra-3.9/doc/source/_static/extra.css

  cassandra-3.9/src/java/org/apache/cassandra/db/commitlog/IntervalSet.java
  cassandra-3.9/src/java/org/apache/cassandra/utils/IntegerInterval.java
  
  cassandra-3.9/test/unit/org/apache/cassandra/db/commitlog/CommitLogCQLTest.java
  cassandra-3.9/test/unit/org/apache/cassandra/utils/IntegerIntervalsTest.java

  cassandra-3.9/tools/stress/src/org/apache/cassandra/stress/WorkManager.java
  cassandra-3.9/tools/stress/src/org/apache/cassandra/stress/util/TimingIntervals.java

 Please, contact upstream and ask to confirm the licensing of code and/or content/s, and add license headers
 https://fedoraproject.org/wiki/Packaging:LicensingGuidelines?rd=Packaging/LicensingGuidelines#License_Clarification

[x]: Package must own all directories that it creates.
     Note: Directories without known owners: /usr/share/java,
     /usr/lib/systemd/system, /etc/logrotate.d, /usr/lib/systemd
[x]: %build honors applicable compiler flags or justifies otherwise.

[?]: Package contains no bundled libraries without FPC exception.
 cassandra-3.9/src/java/org/apache/cassandra/utils/vint/VIntCoding.java

[x]: Changelog in prescribed format.
[?]: 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.
 Please, remove: %{?scl:Requires: %scl_require rh-maven33}
[x]: Spec file is legible and written in American English.
[x]: Package contains systemd file(s) if in need.
[x]: Useful -debuginfo package or justification otherwise.
[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 440320 bytes in 4 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 requires other packages for directories it uses.
[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]: %config files are marked noreplace or the reason is justified.
[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]: No %config files under /usr.
[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]: 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
     cassandra-parent , cassandra-thrift , cassandra-clientutil ,
     cassandra-python2-cqlshlib , cassandra-stress , cassandra-javadoc ,
     cassandra-debuginfo
[x]: Package functions as described.
[x]: 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.
[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.
[?]: Packages should try to preserve timestamps of original installed
     files.
[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]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Sources can be downloaded from URI in Source: tag
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

Java:
[!]: Packages are noarch unless they use JNI
     Note: cassandra subpackage is not noarch. Please verify manually

[x]: Package uses upstream build method (ant/maven/etc.)

===== EXTRA items =====

Generic:
[!]: Large data in /usr/share should live in a noarch subpackage if package
     is arched.
     Note: Arch-ed rpms have a total of 107315200 bytes in /usr/share
     cassandra-javadoc-3.9-1.fc26.i686.rpm:103987200
     See:
     http://fedoraproject.org/wiki/Packaging:ReviewGuidelines#Package_Review_Guidelines
[x]: Rpmlint is run on debuginfo package(s).
     Note: No rpmlint messages.
[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: cassandra-3.9-1.fc26.i686.rpm
          cassandra-parent-3.9-1.fc26.i686.rpm
          cassandra-thrift-3.9-1.fc26.i686.rpm
          cassandra-clientutil-3.9-1.fc26.i686.rpm
          cassandra-python2-cqlshlib-3.9-1.fc26.i686.rpm
          cassandra-stress-3.9-1.fc26.i686.rpm
          cassandra-javadoc-3.9-1.fc26.i686.rpm
          cassandra-debuginfo-3.9-1.fc26.i686.rpm
          cassandra-3.9-1.fc26.src.rpm
cassandra.i686: W: name-repeated-in-summary C Cassandra
cassandra.i686: W: spelling-error %description -l en_US repartition -> re partition, re-partition, reparation
cassandra.i686: E: no-binary
cassandra.i686: E: executable-marked-as-config-file /etc/cassandra-env.sh
cassandra.i686: E: script-without-shebang /etc/cassandra-env.sh
cassandra.i686: E: script-without-shebang /usr/bin/cassandra.in.sh
cassandra.i686: W: non-standard-uid /var/log/cassandra cassandra
cassandra.i686: E: non-standard-dir-perm /var/log/cassandra 750
cassandra.i686: W: non-standard-uid /var/lib/cassandra cassandra
cassandra.i686: W: no-manual-page-for-binary cassandra.in.sh
cassandra.i686: W: no-manual-page-for-binary cassandra
cassandra-parent.i686: W: no-documentation
cassandra-thrift.i686: W: no-documentation
cassandra-clientutil.i686: W: no-documentation
cassandra-clientutil.i686: W: no-manual-page-for-binary sstableutil
cassandra-clientutil.i686: W: no-manual-page-for-binary nodetool
cassandra-clientutil.i686: W: no-manual-page-for-binary sstableupgrade
cassandra-clientutil.i686: W: no-manual-page-for-binary sstablelevelreset
cassandra-clientutil.i686: W: no-manual-page-for-binary sstableexpiredblockers
cassandra-clientutil.i686: W: no-manual-page-for-binary sstablesplit
cassandra-clientutil.i686: W: no-manual-page-for-binary sstablerepairedset
cassandra-clientutil.i686: W: no-manual-page-for-binary sstablemetadata
cassandra-clientutil.i686: W: no-manual-page-for-binary sstableloader
cassandra-clientutil.i686: W: no-manual-page-for-binary sstabledump
cassandra-clientutil.i686: W: no-manual-page-for-binary sstableverify
cassandra-clientutil.i686: W: no-manual-page-for-binary sstablescrub
cassandra-clientutil.i686: W: no-manual-page-for-binary sstableofflinerelevel
cassandra-python2-cqlshlib.i686: W: spelling-error Summary(en_US) Commandline -> Command line, Command-line, Commandment
cassandra-python2-cqlshlib.i686: W: spelling-error %description -l en_US Commandline -> Command line, Command-line, Commandment
cassandra-python2-cqlshlib.i686: W: no-manual-page-for-binary cqlsh
cassandra-stress.i686: W: spelling-error %description -l en_US benchmarking -> bench marking, bench-marking, benchmark
cassandra-stress.i686: W: no-documentation
cassandra-stress.i686: E: script-without-shebang /usr/bin/cassandra.in.sh
cassandra-stress.i686: W: no-manual-page-for-binary cassandra-stressd
cassandra-stress.i686: W: no-manual-page-for-binary cassandra.in.sh
cassandra-stress.i686: W: no-manual-page-for-binary cassandra-stress
cassandra.src: W: name-repeated-in-summary C Cassandra
cassandra.src: W: spelling-error %description -l en_US repartition -> re partition, re-partition, reparation
cassandra.src:145: W: unversioned-explicit-provides cqlsh
cassandra.src:308: W: mixed-use-of-spaces-and-tabs (spaces: line 308, tab: line 8)
9 packages and 0 specfiles checked; 6 errors, 34 warnings.




Rpmlint (debuginfo)
-------------------
Checking: cassandra-debuginfo-3.9-1.fc26.i686.rpm
1 packages and 0 specfiles checked; 0 errors, 0 warnings.





Rpmlint (installed packages)
----------------------------
cassandra-python2-cqlshlib.i686: W: spelling-error Summary(en_US) Commandline -> Command line, Command-line, Commandment
cassandra-python2-cqlshlib.i686: W: spelling-error %description -l en_US Commandline -> Command line, Command-line, Commandment
cassandra-python2-cqlshlib.i686: W: no-manual-page-for-binary cqlsh
cassandra-thrift.i686: W: no-documentation
cassandra-clientutil.i686: W: no-documentation
cassandra-clientutil.i686: W: no-manual-page-for-binary sstableofflinerelevel
cassandra-clientutil.i686: W: no-manual-page-for-binary sstableloader
cassandra-clientutil.i686: W: no-manual-page-for-binary sstableupgrade
cassandra-clientutil.i686: W: no-manual-page-for-binary sstableexpiredblockers
cassandra-clientutil.i686: W: no-manual-page-for-binary sstablescrub
cassandra-clientutil.i686: W: no-manual-page-for-binary sstableverify
cassandra-clientutil.i686: W: no-manual-page-for-binary sstableutil
cassandra-clientutil.i686: W: no-manual-page-for-binary sstablerepairedset
cassandra-clientutil.i686: W: no-manual-page-for-binary sstablelevelreset
cassandra-clientutil.i686: W: no-manual-page-for-binary sstablesplit
cassandra-clientutil.i686: W: no-manual-page-for-binary nodetool
cassandra-clientutil.i686: W: no-manual-page-for-binary sstablemetadata
cassandra-clientutil.i686: W: no-manual-page-for-binary sstabledump
cassandra-parent.i686: W: no-documentation
cassandra.i686: W: name-repeated-in-summary C Cassandra
cassandra.i686: W: spelling-error %description -l en_US repartition -> re partition, re-partition, reparation
cassandra.i686: E: no-binary
cassandra.i686: E: executable-marked-as-config-file /etc/cassandra-env.sh
cassandra.i686: E: script-without-shebang /etc/cassandra-env.sh
cassandra.i686: W: non-standard-uid /var/lib/cassandra cassandra
cassandra.i686: W: non-standard-uid /var/log/cassandra cassandra
cassandra.i686: E: non-standard-dir-perm /var/log/cassandra 750
cassandra.i686: E: script-without-shebang /usr/bin/cassandra.in.sh
cassandra.i686: W: no-manual-page-for-binary cassandra.in.sh
cassandra.i686: W: no-manual-page-for-binary cassandra
cassandra-stress.i686: W: spelling-error %description -l en_US benchmarking -> bench marking, bench-marking, benchmark
cassandra-stress.i686: W: no-documentation
cassandra-stress.i686: E: script-without-shebang /usr/bin/cassandra.in.sh
cassandra-stress.i686: W: no-manual-page-for-binary cassandra.in.sh
cassandra-stress.i686: W: no-manual-page-for-binary cassandra-stress
cassandra-stress.i686: W: no-manual-page-for-binary cassandra-stressd
8 packages and 0 specfiles checked; 6 errors, 30 warnings.



Requires
--------
cassandra-debuginfo (rpmlib, GLIBC filtered):

cassandra-python2-cqlshlib (rpmlib, GLIBC filtered):
    /usr/bin/python
    cassandra
    libc.so.6
    libpthread.so.0
    libpython2.7.so.1.0
    python(abi)
    python-cassandra-driver
    rtld(GNU_HASH)

cassandra-thrift (rpmlib, GLIBC filtered):
    cassandra
    java-headless
    javapackages-tools
    mvn(com.carrotsearch:hppc)
    mvn(com.googlecode.concurrent-trees:concurrent-trees)
    mvn(de.jflex:jflex)
    mvn(org.apache.commons:commons-lang3)
    mvn(org.apache.thrift:libthrift)
    mvn(org.slf4j:jcl-over-slf4j)
    mvn(org.slf4j:log4j-over-slf4j)
    mvn(org.slf4j:slf4j-api)
    mvn(org.tartarus:snowball)

cassandra-clientutil (rpmlib, GLIBC filtered):
    /bin/sh
    cassandra
    java-headless
    javapackages-tools
    mvn(com.google.guava:guava)
    python-cassandra-driver

cassandra-parent (rpmlib, GLIBC filtered):
    java-headless
    javapackages-tools

cassandra (rpmlib, GLIBC filtered):
    /bin/sh
    config(cassandra)
    java-headless
    javapackages-tools
    mvn(ch.qos.logback:logback-classic)
    mvn(ch.qos.logback:logback-core)
    mvn(com.addthis.metrics:reporter-config3)
    mvn(com.clearspring.analytics:stream)
    mvn(com.github.ben-manes.caffeine:caffeine)
    mvn(com.github.jbellis:jamm)
    mvn(com.github.stephenc.high-scale-lib:high-scale-lib)
    mvn(com.google.guava:guava)
    mvn(com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru)
    mvn(com.googlecode.json-simple:json-simple)
    mvn(com.ning:compress-lzf)
    mvn(com.thinkaurelius.thrift:thrift-server)
    mvn(commons-cli:commons-cli)
    mvn(commons-codec:commons-codec)
    mvn(io.dropwizard.metrics:metrics-core)
    mvn(io.dropwizard.metrics:metrics-jvm)
    mvn(io.netty:netty-all)
    mvn(joda-time:joda-time)
    mvn(net.java.dev.jna:jna)
    mvn(net.jpountz.lz4:lz4)
    mvn(org.antlr:antlr)
    mvn(org.antlr:antlr-runtime)
    mvn(org.apache.cassandra:cassandra-thrift)
    mvn(org.apache.commons:commons-lang3)
    mvn(org.apache.commons:commons-math3)
    mvn(org.apache.thrift:libthrift)
    mvn(org.caffinitas.ohc:ohc-core)
    mvn(org.codehaus.jackson:jackson-core-asl)
    mvn(org.codehaus.jackson:jackson-mapper-asl)
    mvn(org.eclipse.jdt.core.compiler:ecj)
    mvn(org.fusesource:sigar)
    mvn(org.mindrot:jbcrypt)
    mvn(org.slf4j:jcl-over-slf4j)
    mvn(org.slf4j:log4j-over-slf4j)
    mvn(org.slf4j:slf4j-api)
    mvn(org.xerial.snappy:snappy-java)
    mvn(org.yaml:snakeyaml)
    shadow-utils

cassandra-javadoc (rpmlib, GLIBC filtered):
    javapackages-tools

cassandra-stress (rpmlib, GLIBC filtered):
    /bin/sh
    cassandra



Provides
--------
cassandra-debuginfo:
    cassandra-debuginfo
    cassandra-debuginfo(x86-32)

cassandra-python2-cqlshlib:
    cassandra-python2-cqlshlib
    cassandra-python2-cqlshlib(x86-32)
    cqlsh
    python-cqlshlib
    python-cqlshlib(x86-32)
    python2.7dist(cassandra-pylib)
    python2dist(cassandra-pylib)

cassandra-thrift:
    cassandra-thrift
    cassandra-thrift(x86-32)
    mvn(org.apache.cassandra:cassandra-thrift)
    mvn(org.apache.cassandra:cassandra-thrift:pom:)

cassandra-clientutil:
    cassandra-clientutil
    cassandra-clientutil(x86-32)
    mvn(org.apache.cassandra:cassandra-clientutil)
    mvn(org.apache.cassandra:cassandra-clientutil:pom:)

cassandra-parent:
    cassandra-parent
    cassandra-parent(x86-32)
    mvn(org.apache.cassandra:cassandra-parent:pom:)

cassandra:
    cassandra
    cassandra(x86-32)
    config(cassandra)
    mvn(org.apache.cassandra:cassandra-all)
    mvn(org.apache.cassandra:cassandra-all:pom:)

cassandra-javadoc:
    cassandra-javadoc
    cassandra-javadoc(x86-32)

cassandra-stress:
    cassandra-stress
    cassandra-stress(x86-32)



Unversioned so-files
--------------------
cassandra-python2-cqlshlib: /usr/lib/python2.7/site-packages/cqlshlib/copyutil.so

Source checksums
----------------
https://github.com/apache/cassandra/archive/cassandra-3.9.tar.gz :
  CHECKSUM(SHA256) this package     : d9845c1e0f94973d91004c39410c464a24ffc3a3f25a35e6babb5755664cfd49
  CHECKSUM(SHA256) upstream package : d9845c1e0f94973d91004c39410c464a24ffc3a3f25a35e6babb5755664cfd49
http://central.maven.org/maven2/org/apache/cassandra/cassandra-clientutil/3.9/cassandra-clientutil-3.9.pom :
  CHECKSUM(SHA256) this package     : 2dfd2c4be0940d40c9d0ec1bc1ee2bcfd79646229bd204923ed063379714960c
  CHECKSUM(SHA256) upstream package : 2dfd2c4be0940d40c9d0ec1bc1ee2bcfd79646229bd204923ed063379714960c
http://central.maven.org/maven2/org/apache/cassandra/cassandra-parent/3.9/cassandra-parent-3.9.pom :
  CHECKSUM(SHA256) this package     : 65d00a4d73844878ee7ab322b19c561c18200c11d890f71e5b68889592b0becc
  CHECKSUM(SHA256) upstream package : 65d00a4d73844878ee7ab322b19c561c18200c11d890f71e5b68889592b0becc
http://central.maven.org/maven2/org/apache/cassandra/cassandra-all/3.9/cassandra-all-3.9.pom :
  CHECKSUM(SHA256) this package     : 7b77ee414f2fe19bf0b285a7a81f025780170ce9b5b7d1d259fb39319a532f9a
  CHECKSUM(SHA256) upstream package : 7b77ee414f2fe19bf0b285a7a81f025780170ce9b5b7d1d259fb39319a532f9a
http://central.maven.org/maven2/org/apache/cassandra/cassandra-thrift/3.9/cassandra-thrift-3.9.pom :
  CHECKSUM(SHA256) this package     : 53fd0a6c44a978b8829a2a058aa36544cf0f99fecdb926c710191e6218b7ff60
  CHECKSUM(SHA256) upstream package : 53fd0a6c44a978b8829a2a058aa36544cf0f99fecdb926c710191e6218b7ff60


Jar and class files in source
-----------------------------
./cassandra-3.9/lib/[stringtemplate4]ST4.jar
./cassandra-3.9/lib/[jsr-305].jar
./cassandra-3.9/lib/[antlr3].jar


Generated by fedora-review 0.6.1 (f03e4e7) last change: 2016-05-02
Command line :/usr/bin/fedora-review -b 1324020 --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

Comment 31 gil cattaneo 2016-12-01 17:27:27 UTC
Issues:

[!]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses
     found: "Apache (v2.0)", "Apache (v2.0) BSD (3 clause)", "Unknown or
     generated", "*No copyright* Apache (v2.0)". 74 files have unknown
     license. Detailed output of licensecheck in
     /home/gil/1324020-cassandra/licensecheck.txt
    
 Apache (v2.0) BSD (3 clause) cassandra-3.9/src/java/org/apache/cassandra/utils/vint/VIntCoding.java
    
[!]: License file installed when any subpackage combination is installed.
 Missing NOTICE.txt in javadoc sub package

 The following source files are without license headers:
  cassandra-3.9/doc/source/_static/extra.css

  cassandra-3.9/src/java/org/apache/cassandra/db/commitlog/IntervalSet.java
  cassandra-3.9/src/java/org/apache/cassandra/utils/IntegerInterval.java
  
  cassandra-3.9/test/unit/org/apache/cassandra/db/commitlog/CommitLogCQLTest.java
  cassandra-3.9/test/unit/org/apache/cassandra/utils/IntegerIntervalsTest.java

  cassandra-3.9/tools/stress/src/org/apache/cassandra/stress/WorkManager.java
  cassandra-3.9/tools/stress/src/org/apache/cassandra/stress/util/TimingIntervals.java

 Please, contact upstream and ask to confirm the licensing of code and/or content/s, and add license headers
 https://fedoraproject.org/wiki/Packaging:LicensingGuidelines?rd=Packaging/LicensingGuidelines#License_Clarification


> (In reply to gil cattaneo from comment #28)
> > A question:
> > ...
> > install -p -D -m 755 build/tools/lib/%{pkg_name}-stress.jar
> > %{buildroot}%{_javadir}/%{pkg_name}-stress.jar
> > ...
> > %attr(755, root, root) %{_javadir}/%{pkg_name}-stress.jar
> > 
> > why?
> 
> should be
> 
> install -p -D -m 644 build/tools/lib/%{pkg_name}-stress.jar
> %{buildroot}%{_javadir}/%{pkg_name}/%{pkg_name}-stress.jar
> 
> %{_javadir}/%{pkg_name}/%{pkg_name}-stress.jar

https://fedoraproject.org/wiki/Packaging:Java#JAR_file_installation

Not available "macros to handle systemd scriptlet operations"
https://fedoraproject.org/wiki/Packaging:Scriptlets?rd=Packaging:ScriptletSnippets#Systemd

[!]: Requires correct, justified where necessary.
 Please, remove useless: %{?scl:Requires: %scl_require rh-maven33}

[!]: Packages are noarch unless they use JNI
     Note: cassandra subpackage is not noarch. Please verify manually

Comment 32 Tomas Repik 2016-12-05 12:41:44 UTC
Spec URL: https://trepik.fedorapeople.org/cassandra/v6/cassandra.spec
SRPM URL: https://trepik.fedorapeople.org/cassandra/v6/cassandra-3.9-1.fc24.src.rpm
Koji Scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=16756287

- changed the installation of stress sub-package as suggested
- added NOTICE.txt to the javadoc sub-package
- asked upstream to include license headers [1]
- asked upstream to update some cassandra dependencies to fedora versions, providing them patches updating their sources, all of these are mentioned in the spec file
- added systemd macros

[1] https://issues.apache.org/jira/browse/CASSANDRA-12993

Comment 33 gil cattaneo 2016-12-05 13:11:07 UTC
(In reply to gil cattaneo from comment #31)
> Issues:
> 
> [!]: License field in the package spec file matches the actual license.
>      Note: Checking patched sources after %prep for licenses. Licenses
>      found: "Apache (v2.0)", "Apache (v2.0) BSD (3 clause)", "Unknown or
>      generated", "*No copyright* Apache (v2.0)". 74 files have unknown
>      license. Detailed output of licensecheck in
>      /home/gil/1324020-cassandra/licensecheck.txt
>     
>  Apache (v2.0) BSD (3 clause)
> cassandra-3.9/src/java/org/apache/cassandra/utils/vint/VIntCoding.java

License fiels should be: ASL 2.0 and BSD
Please,  add also a comment, e.g.:

# Apache (v2.0) BSD (3 clause):
# ./src/java/org/apache/cassandra/utils/vint/VIntCoding.java 
License:	ASL 2.0 and BSD

> [!]: Requires correct, justified where necessary.
>  Please, remove useless: %{?scl:Requires: %scl_require rh-maven33}

The "Requires" list is automatically generated. This entry, for me is useless.
What is rh-maven33? why maven? why is necessary? Please, to explain in a comment in the spec file.

Comment 34 Tomas Repik 2016-12-07 08:27:39 UTC
(In reply to gil cattaneo from comment #33)
> License fiels should be: ASL 2.0 and BSD
> Please,  add also a comment, e.g.:
DONE
Thanks for helping with this I'm always confused with the licenses
> The "Requires" list is automatically generated. This entry, for me is
> useless.
> What is rh-maven33? why maven? why is necessary? Please, to explain in a
> comment in the spec file.
Removed for now, will be added later if needed

Is there any other issue?

Comment 35 gil cattaneo 2016-12-07 09:07:12 UTC
(In reply to Tomas Repik from comment #34)
> (In reply to gil cattaneo from comment #33)
> > License fiels should be: ASL 2.0 and BSD
> > Please,  add also a comment, e.g.:
> DONE
> Thanks for helping with this I'm always confused with the licenses
> > The "Requires" list is automatically generated. This entry, for me is
> > useless.
> > What is rh-maven33? why maven? why is necessary? Please, to explain in a
> > comment in the spec file.
> Removed for now, will be added later if needed
> 
> Is there any other issue?

For me right now should be fine

Comment 36 gil cattaneo 2016-12-07 09:19:11 UTC
These instrunctions are also useless : "%attr(755, root, root) %{_bindir}/..."
Please, consider removing them

Comment 38 Gwyn Ciesla 2016-12-07 14:37:58 UTC
Package request has been approved: https://admin.fedoraproject.org/pkgdb/package/rpms/cassandra