Spec URL: https://gil.fedorapeople.org/cassandra/super-csv.spec SRPM URL: https://gil.fedorapeople.org/cassandra/super-csv-2.4.0-1.fc23.src.rpm Description: The main motivation for Super CSV is to be the foremost, fastest, and most programmer-friendly, free CSV package for Java. Fedora Account System Username: gil Task info: http://koji.fedoraproject.org/koji/taskinfo?taskID=12676305
Take it in answer to #1302053 (thanks). I recommend you extend description from your single line at least copy 4 sentences from https://github.com/super-csv/super-csv Package Review ============== Legend: [+] = Pass, [!] = Fail, [x] = Not applicable, [?] = Not evaluated ===== MUST items ===== Generic: [+]: 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)", "Unknown or generated". 8 files have unknown license. [!]: License file installed when any subpackage combination is installed. F.e. installation of super-csv-benchmark does noot trigger it. [!]: Package requires other packages for directories it uses. Note: No known owner of /usr/share/java/super-csv, /usr/share/maven-poms/super-csv [!]: Package must own all directories that it creates. Note: Directories without known owners: /usr/share/maven-poms/super-csv, /usr/share/java/super-csv [+]: Package contains no bundled libraries without FPC exception. [+]: Changelog in prescribed format. [+]: Sources contain only permissible code or content. [x]: Package contains desktop file if it is a GUI application. [x]: Development files must be in a -devel package [+]: Package uses nothing in %doc for runtime. [+]: Package consistently uses macros (instead of hard-coded directory names). [+]: Package is named according to the Package Naming Guidelines. [+]: Package does not generate any conflict. [+]: Package obeys FHS, except libexecdir and /usr/target. [x]: If the package is a rename of another package, proper Obsoletes and Provides are present. [+]: Requires correct, justified where necessary. [+]: Spec file is legible and written in American English. [x]: Package contains systemd file(s) if in need. [+]: 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 10240 bytes in 1 files. [+]: Package complies to the Packaging Guidelines [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [+]: Package installs properly. [+]: Rpmlint is run on all rpms the build produces. [+]: 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. [+]: Package does not own files or directories owned by other packages. [+]: All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. [+]: Package uses either %{buildroot} or $RPM_BUILD_ROOT [+]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. [+]: Macros in Summary, %description expandable at SRPM build time. [+]: Dist tag is present. [+]: Package does not contain duplicates in %files. [+]: Permissions on files are set properly. [x]: Package use %makeinstall only when make install DESTDIR=... doesn't work. [+]: Package is named using only allowed ASCII characters. [+]: Package does not use a name that already exists. [+]: Package is not relocatable. [+]: Sources used to build the package match the upstream source, as provided in the spec URL. [+]: Spec file name must match the spec package %{name}, in the format %{name}.spec. [+]: File names are valid UTF-8. [+]: Packages must not store files under /srv, /opt or /usr/local Java: [+]: Bundled jar/class files should be removed before build [+]: 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 [+]: Javadoc documentation files are generated and included in -javadoc subpackage [+]: Javadoc subpackages should not have Requires: jpackage-utils [+]: Javadocs are placed in %{_javadocdir}/%{name} (no -%{version} symlink) Maven: [+]: If package contains pom.xml files install it (including metadata) even when building with ant [?]: POM files have correct Maven mapping [?]: Maven packages should use new style packaging [+]: Old add_to_maven_depmap macro is not being used [+]: Packages DO NOT have Requires(post) and Requires(postun) on jpackage-utils for %update_maven_depmap macro [+]: Package DOES NOT use %update_maven_depmap in %post/%postun [+]: Packages use .mfiles file list instead of %{_datadir}/maven2/poms ===== SHOULD items ===== Generic: [+]: Packager, Vendor, PreReq, Copyright tags should not be in spec file [x]: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. [+]: Final provides and requires are sane (see attachments). [!]: Fully versioned dependency in subpackages if applicable. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in super-csv-benchmark, super-csv-dozer, super-csv-java8, super-csv-joda, super-csv-parent, super-csv-javadoc It may be optional, but have sence. I think it have worth place in main package also main directories: /usr/share/java/super-csv, /usr/share/maven-poms/super-csv [?]: Package functions as described. [+]: Latest version is packaged. [+]: Package does not include license text files separate from upstream. [x]: Description and summary sections in the package spec file contains translations for supported Non-English languages, if available. [+]: Package should compile and build into binary rpms on all supported architectures. [!]: %check is present and all tests pass. Package contains tests. Please run it in %check. [+]: Packages should try to preserve timestamps of original installed files. [+]: Sources can be downloaded from URI in Source: tag [+]: Reviewer should test that the package builds in mock. [+]: Buildroot is not present [+]: Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) [+]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [+]: SourceX is a working URL. [+]: Spec use %global instead of %define unless justified. Java: [+]: Package uses upstream build method (ant/maven/etc.) [+]: Packages are noarch unless they use JNI ===== EXTRA items ===== Rpmlint ------- Checking: super-csv-2.4.0-1.fc22.noarch.rpm super-csv-benchmark-2.4.0-1.fc22.noarch.rpm super-csv-dozer-2.4.0-1.fc22.noarch.rpm super-csv-java8-2.4.0-1.fc22.noarch.rpm super-csv-joda-2.4.0-1.fc22.noarch.rpm super-csv-parent-2.4.0-1.fc22.noarch.rpm super-csv-javadoc-2.4.0-1.fc22.noarch.rpm super-csv-2.4.0-1.fc22.src.rpm super-csv-benchmark.noarch: W: no-documentation super-csv-dozer.noarch: W: no-documentation super-csv-java8.noarch: W: no-documentation super-csv-joda.noarch: W: no-documentation super-csv-parent.noarch: W: no-documentation 8 packages and 0 specfiles checked; 0 errors, 5 warnings. Rpmlint (installed packages) ---------------------------- super-csv-java8.noarch: W: no-documentation super-csv-benchmark.noarch: W: no-documentation super-csv-joda.noarch: W: no-documentation super-csv-parent.noarch: W: no-documentation super-csv-dozer.noarch: W: no-documentation 7 packages and 0 specfiles checked; 0 errors, 5 warnings. Requires -------- super-csv-java8 (rpmlib, GLIBC filtered): java-headless jpackage-utils mvn(net.sf.supercsv:super-csv) super-csv-benchmark (rpmlib, GLIBC filtered): java-headless jpackage-utils super-csv-joda (rpmlib, GLIBC filtered): java-headless jpackage-utils mvn(joda-time:joda-time) mvn(net.sf.supercsv:super-csv) super-csv-parent (rpmlib, GLIBC filtered): java-headless jpackage-utils mvn(org.apache.maven.plugins:maven-compiler-plugin) mvn(org.apache.maven.plugins:maven-surefire-plugin) mvn(org.sonatype.oss:oss-parent:pom:) super-csv-dozer (rpmlib, GLIBC filtered): java-headless jpackage-utils mvn(net.sf.dozer:dozer) mvn(net.sf.supercsv:super-csv) mvn(org.slf4j:slf4j-api) super-csv-javadoc (rpmlib, GLIBC filtered): jpackage-utils super-csv (rpmlib, GLIBC filtered): java-headless jpackage-utils Provides -------- super-csv-java8: mvn(net.sf.supercsv:super-csv-java8) mvn(net.sf.supercsv:super-csv-java8:pom:) osgi(net.sf.supercsv.super-csv-java8) super-csv-java8 super-csv-benchmark: mvn(net.sf.supercsv:super-csv-benchmark) mvn(net.sf.supercsv:super-csv-benchmark:pom:) super-csv-benchmark super-csv-joda: mvn(net.sf.supercsv:super-csv-joda) mvn(net.sf.supercsv:super-csv-joda:pom:) osgi(net.sf.supercsv.super-csv-joda) super-csv-joda super-csv-parent: mvn(net.sf.supercsv:super-csv-parent:pom:) super-csv-parent super-csv-dozer: mvn(net.sf.supercsv:super-csv-dozer) mvn(net.sf.supercsv:super-csv-dozer:pom:) osgi(net.sf.supercsv.super-csv-dozer) super-csv-dozer super-csv-javadoc: super-csv-javadoc super-csv: mvn(net.sf.supercsv:super-csv) mvn(net.sf.supercsv:super-csv:pom:) osgi(net.sf.supercsv.super-csv) super-csv Source checksums ---------------- https://github.com/super-csv/super-csv/archive/v2.4.0.tar.gz : CHECKSUM(SHA256) this package : aad082460a66088319d3169bd2ef4a325214761f9d3721cdf994460194ff5a54 CHECKSUM(SHA256) upstream package : aad082460a66088319d3169bd2ef4a325214761f9d3721cdf994460194ff5a54 Generated by fedora-review 0.6.0 (3c5c9d7) last change: 2015-05-20 Command line :/usr/bin/fedora-review -b 1301589 Buildroot used: fedora-22-x86_64 Active plugins: Generic, Shell-api, Java Disabled plugins: C/C++, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP, Ruby Disabled flags: EXARCH, DISTTAG, EPEL5, BATCH, EPEL6
You should use: fedora-review -b 1301589 --plugins Java -m fedora-rawhide-ARCH because prevent those problems: [!]: Package requires other packages for directories it uses. Note: No known owner of /usr/share/java/super-csv, /usr/share/maven-poms/super-csv [!]: Package must own all directories that it creates. Note: Directories without known owners: /usr/share/maven-poms/super-csv, /usr/share/java/super-csv with newer Java tools these directories are already handle (in the generated files.dir file). If i owned this directory would be created only duplicate files in rpm [!]: License file installed when any subpackage combination is installed. F.e. installation of super-csv-benchmark does noot trigger it. [!]: Fully versioned dependency in subpackages if applicable. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in super-csv-benchmark, super-csv-dozer, super-csv-java8, super-csv-joda, super-csv-parent, super-csv-javadoc Not needed to add extras "Requires: ..." (expecially if are noarch). These are handled by our Java tools [!]: %check is present and all tests pass. Package contains tests. Please run it in %check. These a maven build style and %check section is unnecessary
[!]: License file installed when any subpackage combination is installed. F.e. installation of super-csv-benchmark does noot trigger it. Good catch! Fixed Spec URL: https://gil.fedorapeople.org/cassandra/super-csv.spec SRPM URL: https://gil.fedorapeople.org/cassandra/super-csv-2.4.0-2.fc23.src.rpm
For referencies see: https://fedorahosted.org/released/javapackages/doc/ https://fedorahosted.org/released/javapackages/doc/#maven is a bit outdate about directories ownership
(In reply to gil cattaneo from comment #2) > You should use: > fedora-review -b 1301589 --plugins Java -m fedora-rawhide-ARCH > because prevent those problems: Java plugin has been already installed and used: > Active plugins: Generic, Shell-api, Java What concerned to rawhide. Is that package does not intended to be imported in stable fedora branches too?
(In reply to Pavel Alexeev from comment #5) > (In reply to gil cattaneo from comment #2) > > You should use: > > fedora-review -b 1301589 --plugins Java -m fedora-rawhide-ARCH > > because prevent those problems: > > Java plugin has been already installed and used: > > Active plugins: Generic, Shell-api, Java > What concerned to rawhide. Is that package does not intended to be imported > in stable fedora branches too? yes, at most for f23 (and also for this branch is worth what said above)
I have tested on Fedora 23. Directory owning should be addressed here then. > [!]: Fully versioned dependency in subpackages if applicable. > Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in super-csv- > benchmark, super-csv-dozer, super-csv-java8, super-csv-joda, super-csv-parent, > super-csv-javadoc No, it does not happened. Please look at review requires above. And it easy to check, f.e. super-csv-benchmark easy installed without super-csv: $ rpm -qa 'super-csv*' [empty] $ sudo rpm -Uh super-csv-benchmark-2.4.0-1.fc22.noarch.rpm $ rpm -qa 'super-csv*' super-csv-benchmark-2.4.0-1.fc22.noarch > These a maven build style and %check section is unnecessary Yes. It should, not must item: https://fedoraproject.org/wiki/Packaging:Guidelines#Test_Suites But strongly recommended if upstream include tests.
(In reply to Pavel Alexeev from comment #7) > I have tested on Fedora 23. Directory owning should be addressed here then. > > > [!]: Fully versioned dependency in subpackages if applicable. > > Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in super-csv- > > benchmark, super-csv-dozer, super-csv-java8, super-csv-joda, super-csv-parent, > > super-csv-javadoc > > No, it does not happened. Please look at review requires above. > And it easy to check, f.e. super-csv-benchmark easy installed without > super-csv: > $ rpm -qa 'super-csv*' > [empty] > $ sudo rpm -Uh super-csv-benchmark-2.4.0-1.fc22.noarch.rpm > $ rpm -qa 'super-csv*' > super-csv-benchmark-2.4.0-1.fc22.noarch As wrote above "Requires are handled by our Java tools" and i do not see a reason to explicit. "super-csv" JAR is used only as test deps, nothing more And you should rub fedora-review for f23 or major > > These a maven build style and %check section is unnecessary > Yes. It should, not must item: > https://fedoraproject.org/wiki/Packaging:Guidelines#Test_Suites > But strongly recommended if upstream include tests. Test Suite is already running in the build section. You should see the documentation that I mentioned above, it is one of the few exceptions.
Spec URL: https://gil.fedorapeople.org/cassandra/super-csv.spec SRPM URL: https://gil.fedorapeople.org/cassandra/super-csv-2.4.0-3.fc23.src.rpm - Disable benchmark sub module. Produces an empty artifact
(In reply to gil cattaneo from comment #9) > Spec URL: https://gil.fedorapeople.org/cassandra/super-csv.spec > SRPM URL: > https://gil.fedorapeople.org/cassandra/super-csv-2.4.0-3.fc23.src.rpm > > - Disable benchmark sub module. Produces an empty artifact Sorry, not "Produces" but "Provides"
gil's scratch build of super-csv-2.4.0-3.fc23.src.rpm for rawhide completed http://koji.fedoraproject.org/koji/taskinfo?taskID=12774319
Aha! Good. For now only last issue with unowned directories still present.
Created attachment 1120559 [details] files.dir What directories? This is the content of the gilr file.dir generated using fedora-review -b 1301589 --plugins Java -m fedora-23-i386 : super-csv ========= /usr/share/doc/super-csv /usr/share/java/super-csv /usr/share/licenses/super-csv /usr/share/maven-poms/super-csv /usr/share/doc/super-csv/README.md /usr/share/java/super-csv/super-csv.jar /usr/share/licenses/super-csv/LICENSE.txt /usr/share/maven-metadata/super-csv-super-csv.xml /usr/share/maven-poms/super-csv/super-csv.pom super-csv-dozer =============== /usr/share/java/super-csv /usr/share/maven-poms/super-csv /usr/share/java/super-csv/super-csv-dozer.jar /usr/share/maven-metadata/super-csv-super-csv-dozer.xml /usr/share/maven-poms/super-csv/super-csv-dozer.pom super-csv-java8 =============== /usr/share/java/super-csv /usr/share/maven-poms/super-csv /usr/share/java/super-csv/super-csv-java8.jar /usr/share/maven-metadata/super-csv-super-csv-java8.xml /usr/share/maven-poms/super-csv/super-csv-java8.pom super-csv-joda ============== /usr/share/java/super-csv /usr/share/maven-poms/super-csv /usr/share/java/super-csv/super-csv-joda.jar /usr/share/maven-metadata/super-csv-super-csv-joda.xml /usr/share/maven-poms/super-csv/super-csv-joda.pom super-csv-parent ================ /usr/share/licenses/super-csv-parent /usr/share/maven-poms/super-csv /usr/share/licenses/super-csv-parent/LICENSE.txt /usr/share/maven-metadata/super-csv-super-csv-parent.xml /usr/share/maven-poms/super-csv/super-csv-parent.pom super-csv-javadoc ================= /usr/share/javadoc/super-csv
$ rpm -qlp super-csv-2.4.0-3.fc22.noarch.rpm /usr/share/doc/super-csv /usr/share/doc/super-csv/README.md /usr/share/java/super-csv/super-csv.jar /usr/share/licenses/super-csv /usr/share/licenses/super-csv/LICENSE.txt /usr/share/maven-metadata/super-csv-super-csv.xml /usr/share/maven-poms/super-csv/super-csv.pom It contains /usr/share/java/super-csv/super-csv.jar but not /usr/share/java/super-csv/ And noone contain it: $ rpm -qlp super-csv*.noarch.rpm | grep /usr/share/java/super-csv/ /usr/share/java/super-csv/super-csv.jar /usr/share/java/super-csv/super-csv-dozer.jar /usr/share/java/super-csv/super-csv-java8.jar /usr/share/java/super-csv/super-csv-joda.jar
(In reply to Pavel Alexeev from comment #14) > $ rpm -qlp super-csv-2.4.0-3.fc22.noarch.rpm > /usr/share/doc/super-csv > /usr/share/doc/super-csv/README.md > /usr/share/java/super-csv/super-csv.jar > /usr/share/licenses/super-csv > /usr/share/licenses/super-csv/LICENSE.txt > /usr/share/maven-metadata/super-csv-super-csv.xml > /usr/share/maven-poms/super-csv/super-csv.pom > > It contains /usr/share/java/super-csv/super-csv.jar but not > /usr/share/java/super-csv/ > > And noone contain it: > $ rpm -qlp super-csv*.noarch.rpm | grep /usr/share/java/super-csv/ > /usr/share/java/super-csv/super-csv.jar > /usr/share/java/super-csv/super-csv-dozer.jar > /usr/share/java/super-csv/super-csv-java8.jar > /usr/share/java/super-csv/super-csv-joda.jar i thought i had written that the package is only for Fedora> = 23 why you still use F22?
That absolutely same for your build http://koji.fedoraproject.org/koji/taskinfo?taskID=12774319 mentioned in that task early.
rpm -qlp super-csv-2.4.0-3.fc24.noarch.rpm /usr/share/doc/super-csv /usr/share/doc/super-csv/README.md /usr/share/java/super-csv /usr/share/java/super-csv/super-csv.jar /usr/share/licenses/super-csv /usr/share/licenses/super-csv/LICENSE.txt /usr/share/maven-metadata/super-csv-super-csv.xml /usr/share/maven-poms/super-csv /usr/share/maven-poms/super-csv/super-csv.pom rpm -qlp super-csv-2.4.0-3.fc23.noarch.rpm /usr/share/doc/super-csv /usr/share/doc/super-csv/README.md /usr/share/java/super-csv /usr/share/java/super-csv/super-csv.jar /usr/share/licenses/super-csv /usr/share/licenses/super-csv/LICENSE.txt /usr/share/maven-metadata/super-csv-super-csv.xml /usr/share/maven-poms/super-csv /usr/share/maven-poms/super-csv/super-csv.pom You're wrong, I do not seem exactly as you say
Please, if you do not understand leave this bug to some other with with more experience with Java before I lose my patience. thanks anyway
(In reply to Pavel Alexeev from comment #14) > $ rpm -qlp super-csv-2.4.0-3.fc22.noarch.rpm > /usr/share/doc/super-csv > /usr/share/doc/super-csv/README.md > /usr/share/java/super-csv/super-csv.jar > /usr/share/licenses/super-csv > /usr/share/licenses/super-csv/LICENSE.txt > /usr/share/maven-metadata/super-csv-super-csv.xml > /usr/share/maven-poms/super-csv/super-csv.pom > > It contains /usr/share/java/super-csv/super-csv.jar but not > /usr/share/java/super-csv/ > > And noone contain it: > $ rpm -qlp super-csv*.noarch.rpm | grep /usr/share/java/super-csv/ > /usr/share/java/super-csv/super-csv.jar > /usr/share/java/super-csv/super-csv-dozer.jar > /usr/share/java/super-csv/super-csv-java8.jar > /usr/share/java/super-csv/super-csv-joda.jar It looks like you are using F22? When I run it for F23 it works perfectly: [mbooth@thinkpad ~]$ rpm -ql -p super-csv-2.4.0-3.fc23.noarch.rpm /usr/share/doc/super-csv /usr/share/doc/super-csv/README.md /usr/share/java/super-csv /usr/share/java/super-csv/super-csv.jar /usr/share/licenses/super-csv /usr/share/licenses/super-csv/LICENSE.txt /usr/share/maven-metadata/super-csv-super-csv.xml /usr/share/maven-poms/super-csv /usr/share/maven-poms/super-csv/super-csv.pom Don't forget that you can specify different Fedora versions by passing "-m fedora-rawhide-x86_64" or "-m fedora-23-x86_64" to the fedora-review command. You have probably seen this warning when using the fedora-review tool: INFO: WARNING: Probably non-rawhide buildroot used. Rawhide should be used for most package reviews Please try to at least test on rawhide.
hubbitus's scratch build of super-csv-2.4.0-3.fc24.src.rpm for f23 completed http://koji.fedoraproject.org/koji/taskinfo?taskID=12895149
Gil sorry for mistake. I really have few java review experience. But we are close to finish. I use fully updates Fedora 23 box: $ rpm -q fedora-release fedora-release-23-1.noarch strange. $ rpm -qpl https://kojipkgs.fedoraproject.org//work/tasks/4322/12774322/super-csv-2.4.0-3.fc24.noarch.rpm | grep /usr/share/java/super-csv /usr/share/java/super-csv /usr/share/java/super-csv/super-csv.jar $ rpm -qpl https://kojipkgs.fedoraproject.org//work/tasks/5150/12895150/super-csv-2.4.0-3.fc23.noarch.rpm | grep /usr/share/java/super-csv /usr/share/java/super-csv /usr/share/java/super-csv/super-csv.jar give expected output. Again sorry. Package APPROVED.
Package request has been approved: https://admin.fedoraproject.org/pkgdb/package/super-csv
super-csv-2.4.0-3.fc23 has been submitted as an update to Fedora 23. https://bodhi.fedoraproject.org/updates/FEDORA-2016-9f8e000251
super-csv-2.4.0-3.fc23 has been pushed to the Fedora 23 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-2016-9f8e000251
super-csv-2.4.0-3.fc23 has been pushed to the Fedora 23 stable repository. If problems still persist, please make note of it in this bug report.