Spec URL: http://mizdebsk.fedorapeople.org/review/antlr4/antlr4.spec SRPM URL: http://mizdebsk.fedorapeople.org/review/antlr4/antlr4-4.5-1.fc23.src.rpm Description: ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured text or binary files. It's widely used to build languages, tools, and frameworks. From a grammar, ANTLR generates a parser that can build and walk parse trees. Fedora Account System Username: mizdebsk
FPC bootstrap bundling exception: https://fedorahosted.org/fpc/ticket/517
Some things first from a manual review of your spec file: > %bcond_without bootstrap What's this for? > # Upstream uses an experimental bulid tool (http://bildtool.org/), So why not package this tool in first place and use it as a dependency? > # Prebuild binaries, used for bootstrapping only I would not suggest to use copr therefore. You should look for a more statically available location to provide those binaries. Further, it is not allowed to ship prebuild binaries in an official Fedora package, at least not without allowed exception. > %prep Use cp -p here to preserve timestamps. > %files You have to include the license file in each subpackage. Alternatively you should require the runtime subpackage for all other packages incl. the main package that you build here from the source tarball. When the above things are fixed, I could do also an official fedora-review.
(In reply to Raphael Groner from comment #2) > Some things first from a manual review of your spec file: > > > %bcond_without bootstrap > > What's this for? This allows the same SRPM to be built either in bootstrap or non-bootstrap mode by passing "--with bootstrap" or "--without bootstrap" to tools like rpmbuild or mock. > > # Upstream uses an experimental bulid tool (http://bildtool.org/), > > So why not package this tool in first place and use it as a dependency? Because this is not necessary and it would be impractical to do so - the build tool downloads dependencies from network so build script would need to be heavily patched anyways. > > # Prebuild binaries, used for bootstrapping only > > I would not suggest to use copr therefore. You should look for a more > statically available location to provide those binaries. Further, it is not > allowed to ship prebuild binaries in an official Fedora package, at least > not without allowed exception. I don't see why copr rpms shouldn't be used. Prebuilt binaries are used only for the initial bootstrap build and will be removed afterwards. There is FPC bootstrap exception for antlr4, see https://fedorahosted.org/fpc/ticket/517 > > %prep > > Use cp -p here to preserve timestamps. Minor issue, but I'll fix that. > > %files > > You have to include the license file in each subpackage. Alternatively you > should require the runtime subpackage for all other packages incl. the main > package that you build here from the source tarball. License files don't need to be installed in antlr4 and antlr4-maven-plugin packages because both of them depend on antlr4-runtime which includes license text. antlr4-javadoc doesn't depend on any other antlr4 subpackage and therefore it installs a separate copy of license text. This is in accordance with https://fedoraproject.org/wiki/Packaging:LicensingGuidelines#Subpackage_Licensing
Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed Issues: ======= - Why the weird source URL? - The prebuilt RPMS on Copr don't match the ones in SRPM (not a problem, just FYI) - antlr4-4.5/runtime/Java/lib - there's a bundled jar, should be removed in prep - Minor detail - double colon in %jpackage_script classpath. It does nothing, but it's confusing to the people who read the specfile ===== MUST items ===== Generic: [x]: Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [x]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "BSD (3 clause)", "Unknown or generated". 40 files have unknown license. Detailed output of licensecheck in /home/msimacek/reviews/1206080-antlr4/licensecheck.txt [x]: License file installed when any subpackage combination is installed. [!]: Package contains no bundled libraries without FPC exception. [x]: Changelog in prescribed format. [x]: Sources contain only permissible code or content. [x]: Package contains desktop file if it is a GUI application. [-]: Development files must be in a -devel package [x]: Package uses nothing in %doc for runtime. [x]: Package consistently uses macros (instead of hard-coded directory names). [x]: Package is named according to the Package Naming Guidelines. [x]: Package does not generate any conflict. [x]: Package obeys FHS, except libexecdir and /usr/target. [x]: If the package is a rename of another package, proper Obsoletes and Provides are present. [x]: Requires correct, justified where necessary. [x]: Spec file is legible and written in American English. [x]: Package contains systemd file(s) if in need. [x]: Package is not known to require an ExcludeArch tag. Note: Test run failed [x]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Test run failed [x]: Packages must not store files under /srv, /opt or /usr/local Note: Test run failed [x]: Package complies to the Packaging Guidelines [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [x]: Package installs properly. [x]: Rpmlint is run on all rpms the build produces. Note: There are rpmlint messages (see attachment). [x]: Package requires other packages for directories it uses. [x]: Package must own all directories that it creates. [x]: Package does not own files or directories owned by other packages. [x]: All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. [x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT [x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. [x]: Macros in Summary, %description expandable at SRPM build time. [x]: Package does not contain duplicates in %files. [x]: Permissions on files are set properly. [x]: Package use %makeinstall only when make install' ' DESTDIR=... doesn't work. [x]: Package is named using only allowed ASCII characters. [x]: Package do not use a name that already exist [x]: Package is not relocatable. [x]: Spec file name must match the spec package %{name}, in the format %{name}.spec. [x]: File names are valid UTF-8. Java: [!]: Bundled jar/class files should be removed before build Note: Test run failed [x]: 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 depmaps) 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 %{_mavenpomdir} instead of %{_datadir}/maven2/poms ===== SHOULD items ===== Generic: [x]: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. [x]: Final provides and requires are sane (see attachments). [x]: Fully versioned dependency in subpackages if applicable. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in antlr4-runtime , antlr4-maven-plugin , antlr4-javadoc [x]: Package functions as described. [x]: Latest version is packaged. [x]: 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. [x]: Package should compile and build into binary rpms on all supported architectures. [x]: %check is present and all tests pass. [!]: Packages should try to preserve timestamps of original installed files. [x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file [x]: Sources can be downloaded from URI in Source: tag [x]: Reviewer should test that the package builds in mock. [x]: Buildroot is not present [x]: Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) [x]: Dist tag is present (not strictly required in GL). [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: SourceX is a working URL. [x]: Spec use %global instead of %define unless justified. Java: [x]: Package uses upstream build method (ant/maven/etc.) [x]: Packages are noarch unless they use JNI ===== EXTRA items ===== Generic: [x]: Large data in /usr/share should live in a noarch subpackage if package is arched. Note: Test run failed [x]: Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). [x]: Spec file according to URL is the same as in SRPM. Rpmlint ------- Checking: antlr4-4.5-1.fc23.noarch.rpm antlr4-runtime-4.5-1.fc23.noarch.rpm antlr4-maven-plugin-4.5-1.fc23.noarch.rpm antlr4-javadoc-4.5-1.fc23.noarch.rpm antlr4-4.5-1.fc23.src.rpm antlr4.noarch: W: no-manual-page-for-binary antlr4 antlr4-runtime.noarch: W: spelling-error %description -l en_US parsers -> parser, parses, parers antlr4-maven-plugin.noarch: W: spelling-error %description -l en_US parsers -> parser, parses, parers antlr4-maven-plugin.noarch: W: no-documentation antlr4.src: W: file-size-mismatch antlr4-maven-plugin-4.5-1.fc23.noarch.rpm = 21000, https://copr-be.cloud.fedoraproject.org/results/mizdebsk/newpkg/fedora-rawhide-x86_64/antlr4-4.5-1.fc23/antlr4-maven-plugin-4.5-1.fc23.noarch.rpm = 21632 antlr4.src: W: file-size-mismatch antlr4-runtime-4.5-1.fc23.noarch.rpm = 320168, https://copr-be.cloud.fedoraproject.org/results/mizdebsk/newpkg/fedora-rawhide-x86_64/antlr4-4.5-1.fc23/antlr4-runtime-4.5-1.fc23.noarch.rpm = 320796 antlr4.src: W: file-size-mismatch antlr4-4.5-1.fc23.noarch.rpm = 558248, https://copr-be.cloud.fedoraproject.org/results/mizdebsk/newpkg/fedora-rawhide-x86_64/antlr4-4.5-1.fc23/antlr4-4.5-1.fc23.noarch.rpm = 558876 5 packages and 0 specfiles checked; 0 errors, 7 warnings. Rpmlint (installed packages) ---------------------------- Cannot parse rpmlint output: Requires -------- antlr4-javadoc (rpmlib, GLIBC filtered): jpackage-utils antlr4-maven-plugin (rpmlib, GLIBC filtered): java-headless jpackage-utils mvn(org.antlr:antlr4) mvn(org.apache.maven:maven-core) mvn(org.apache.maven:maven-plugin-api) mvn(org.codehaus.plexus:plexus-compiler-api) mvn(org.sonatype.plexus:plexus-build-api) antlr4 (rpmlib, GLIBC filtered): /bin/bash java-headless jpackage-utils mvn(org.antlr:ST4) mvn(org.antlr:antlr-runtime) mvn(org.antlr:antlr4-runtime) antlr4-runtime (rpmlib, GLIBC filtered): java-headless jpackage-utils mvn(org.abego.treelayout:org.abego.treelayout.core) Provides -------- antlr4-javadoc: antlr4-javadoc antlr4-maven-plugin: antlr4-maven-plugin mvn(org.antlr:antlr4-maven-plugin) mvn(org.antlr:antlr4-maven-plugin:pom:) antlr4: antlr4 mvn(org.antlr:antlr4) mvn(org.antlr:antlr4:pom:) antlr4-runtime: antlr4-runtime mvn(org.antlr:antlr4-runtime) mvn(org.antlr:antlr4-runtime:pom:) osgi(org.antlr.antlr4-runtime-osgi) Source checksums ---------------- https://github.com/antlr/antlr4/archive/4.5.tar.gz#/antlr4-4.5.tar.gz : CHECKSUM(SHA256) this package : c1f24b710050565233598f610df9a9ec696f6f7c7cf8b7b727f8093374f52ee7 CHECKSUM(SHA256) upstream package : c1f24b710050565233598f610df9a9ec696f6f7c7cf8b7b727f8093374f52ee7 https://copr-be.cloud.fedoraproject.org/results/mizdebsk/newpkg/fedora-rawhide-x86_64/antlr4-4.5-1.fc23/antlr4-runtime-4.5-1.fc23.noarch.rpm : CHECKSUM(SHA256) this package : 1e9a011717859e24c23e2429496940bb24094a394461d76f9acea7f64b02635c CHECKSUM(SHA256) upstream package : cdae1fbc2e23ba22a0582c4a8ba310a8c18e997dbe24b9408005185f1d873a8f https://copr-be.cloud.fedoraproject.org/results/mizdebsk/newpkg/fedora-rawhide-x86_64/antlr4-4.5-1.fc23/antlr4-4.5-1.fc23.noarch.rpm : CHECKSUM(SHA256) this package : f48c93928e8d141293c63d31a29d5a117ad54339230b6a6291db887df0e4bd97 CHECKSUM(SHA256) upstream package : 6bfdc127f56010d86729a4e0107795ea3835041f87ab049541d9dc125eeab128 https://copr-be.cloud.fedoraproject.org/results/mizdebsk/newpkg/fedora-rawhide-x86_64/antlr4-4.5-1.fc23/antlr4-maven-plugin-4.5-1.fc23.noarch.rpm : CHECKSUM(SHA256) this package : 78391806168a51d3de808c8548be95a869347f0fdc1e16b9f498f994ec8d7b13 CHECKSUM(SHA256) upstream package : 330e1896693e2d6d43f649f033eb3a50d4d3ad5d95bca244662afa53b0547039 diff -r also reports differences Generated by fedora-review 0.5.2 (63c24cb) last change: 2014-07-14 Command line :/usr/bin/fedora-review -b 1206080 Buildroot used: fedora-rawhide-x86_64 Active plugins: Generic, Shell-api, Java Disabled plugins: C/C++, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP, Ruby Disabled flags: EXARCH, EPEL5, BATCH, DISTTAG
(In reply to Michael Simacek from comment #4) > - Why the weird source URL? This is a way of forcing different local file name of given source. rpmbuild sees only the part after last "/" character (antlr4-4.5.tar.gz) while upstream web server ignores the part after "#" character. Without that filename would be just "4.5.tar.gz", which is ambiguous. > - The prebuilt RPMS on Copr don't match the ones in SRPM > (not a problem, just FYI) Fixed. > - antlr4-4.5/runtime/Java/lib - there's a bundled jar, should be removed in > prep Fixed. > - Minor detail - double colon in %jpackage_script classpath. > It does nothing, but it's confusing to the people who read the specfile Fixed. > [!]: Package contains no bundled libraries without FPC exception. Bundled binaries used for bootstrapping have FPC exception. Are there any other bundled libraries? Libraries bundled in SRPM but not used during build are allowed. Spec URL: http://mizdebsk.fedorapeople.org/review/antlr4/antlr4.spec SRPM URL: http://mizdebsk.fedorapeople.org/review/antlr4/antlr4-4.5-2.fc23.src.rpm
(In reply to Mikolaj Izdebski from comment #5) > (In reply to Michael Simacek from comment #4) > > - Why the weird source URL? > > This is a way of forcing different local file name of given source. rpmbuild > sees only the part after last "/" character (antlr4-4.5.tar.gz) while > upstream web server ignores the part after "#" character. Without that > filename would be just "4.5.tar.gz", which is ambiguous. > > > - The prebuilt RPMS on Copr don't match the ones in SRPM > > (not a problem, just FYI) > > Fixed. > > > - antlr4-4.5/runtime/Java/lib - there's a bundled jar, should be removed in > > prep > > Fixed. > > > - Minor detail - double colon in %jpackage_script classpath. > > It does nothing, but it's confusing to the people who read the specfile > > Fixed. > > > [!]: Package contains no bundled libraries without FPC exception. > > Bundled binaries used for bootstrapping have FPC exception. Are there any > other bundled libraries? Libraries bundled in SRPM but not used during build > are allowed. No, I meant the bundled jar. > > > Spec URL: http://mizdebsk.fedorapeople.org/review/antlr4/antlr4.spec > SRPM URL: > http://mizdebsk.fedorapeople.org/review/antlr4/antlr4-4.5-2.fc23.src.rpm APPROVED
New Package SCM Request ======================= Package Name: antlr4 Short Description: Java parser generator Owners: mizdebsk msrb msimacek gil Branches: f22 InitialCC: java-sig
Please add the upstream URL field to your SCM request.
New Package SCM Request ======================= Package Name: antlr4 Short Description: Java parser generator Owners: mizdebsk msrb msimacek gil Branches: f22 InitialCC: java-sig Upstream URL: http://www.antlr.org/
Git done (by process-git-requests).
Built for rawhide. Cloning. http://koji.fedoraproject.org/koji/taskinfo?taskID=9380964
*** Bug 1135700 has been marked as a duplicate of this bug. ***
You should not close a review manually. Bodhi can handle that for you when you specify the bug# in the update.
(In reply to Raphael Groner from comment #13) > You should not close a review manually. Bodhi can handle that for you when > you specify the bug# in the update. Bodhi is not involved as this is package is for F23+ only. (Besides that I prefer to close bugs myself, Bodhi is not smart enough to close them properly.)