Bug 1795470
Summary: | Review Request: antlr4-project - Parser generator (ANother Tool for Language Recognition) | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Jerry James <loganjerry> |
Component: | Package Review | Assignee: | Fabio Valentini <decathorpe> |
Status: | CLOSED NEXTRELEASE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | rawhide | CC: | decathorpe, package-review |
Target Milestone: | --- | Flags: | decathorpe:
fedora-review+
|
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | If docs needed, set a value | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2020-02-07 20:56:49 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | 1795467, 1795469 | ||
Bug Blocks: |
Description
Jerry James
2020-01-28 04:09:43 UTC
This is a replacement for the existing antlr4 package. Since RPM does not currently allow a noarch main package with arch-specific subpackages, one of the arch-specific subpackages must play the role of main package. I have been in contact with the maintainers of the antlr4 package and they approve of this change. Taking this. Will start the review once the dependencies are in fedora. A suggestion regarding the SRPM name: You *could* make the main package "empty" and call it "antlr4-runtimes" or "antlr4-project", and have a noarch "antlr4" subpackage for the Java stuff. That would work around both the awkward name and the RPM restrictions. But that's just an idea. Thanks for the suggestion, Fabio. I hadn't considered that. I'll try to work up a spec that does that and see if it is significantly more or less awkward than the current spec file. I went with antlr4-project, since it contains both antlr4 and the various runtimes. New URLs: Spec URL: https://jjames.fedorapeople.org/antlr4-project/antlr4-project.spec SRPM URL: https://jjames.fedorapeople.org/antlr4-project/antlr4-project-4.8-1.fc32.src.rpm RPMLINTRC URL: https://jjames.fedorapeople.org/antlr4-project/antlr4-project.rpmlintrc I suspect releng is rather busy with the mass rebuild right now, so we may have to wait a bit for the treelayout package to be revived. Yeah, this looks a bit cleaner now. Small first suggestion: If you use the %{expand:} trick for the description, you'll have to put "%description (-n foo) %_desc" on the same line, otherwise you introduce a leading newline at the beginning of the resulting description text. I'm now building the dependencies locally and doing the review manually. Wow, with all that language support, it's a pretty gnarly package ... :D Two questions: - Why not use the "standard method" of installing go "packages" (with the go macros)? - Did you consider requiring java-1.8.0-openjdk-aarch32 (don't depend on my spelling this correctly) on %ifarch %{arm}? It should speed up package builds significantly, and possibly also fix the test suite timeout issue. Here's an example of how it works: https://src.fedoraproject.org/rpms/jna/blob/master/f/jna.spec#_52 Otherwise: - License correct and permissible (3-Clause-BSD), and looks like the LICENSE.txt file is installed for every subpackage combination (please check). - Latest version is packaged. - BuildRequires look correct and are even sorted alphabetically :) - Patches are commented, but no reference to upstream issues or something like that (adding that would be great) - Package builds successfully when dependencies are present. - Built packages install successfully when dependencies are present. I'd just still like to see a successful koji scratch build (which means waiting for the dependencies to be imported into rawhide). Not because I don't trust local builds, but because we still need to check whether "noarch" subpackages are actually built identically on the different architectures. (In reply to Fabio Valentini from comment #5) > Small first suggestion: If you use the %{expand:} trick for the description, > you'll have to put "%description (-n foo) %_desc" on the same line, > otherwise you introduce a leading newline at the beginning of the resulting > description text. Good catch. Fixed. (In reply to Fabio Valentini from comment #6) > Wow, with all that language support, it's a pretty gnarly package ... :D It sure is, and I even punted on the JavaScript runtime. > - Why not use the "standard method" of installing go "packages" (with the go > macros)? I can't use %gometa, because that adds an incorrect ExclusiveArch tag (hence the bare BR on go-rpm-macros). I can use %goname to generate the package name, but go-rpm-macros alone does not seem to be enough to get that macro. What do I need to BR for it? And after that I'm lost. If you know how to integrate more of the go macros into the spec, I am happy to take your input. And speaking of macros that can't be used, it turns out that %mvn_install cannot be used, because it uses %{name} everywhere, and I need "antlr4", not "antlr4-project", to be what it uses. I've manually expanded the macro for that reason. > - Did you consider requiring java-1.8.0-openjdk-aarch32 (don't depend on my > spelling this correctly) on %ifarch %{arm}? I did not know about that. Thanks for the tip. > - License correct and permissible (3-Clause-BSD), and looks like the > LICENSE.txt file is installed for every subpackage combination (please > check). I have checked and double checked this, so I'm pretty confident it is right. > - BuildRequires look correct and are even sorted alphabetically :) I like to do that because it makes it easy for my slow human brain to decide if something is in the BuildRequires already. :-) > - Patches are commented, but no reference to upstream issues or something > like that (adding that would be great) Added. > I'd just still like to see a successful koji scratch build (which means > waiting for the dependencies to be imported into rawhide). > Not because I don't trust local builds, but because we still need to check > whether "noarch" subpackages are actually built identically on the different > architectures. I understand and agree. New URLs: Spec URL: https://jjames.fedorapeople.org/antlr4-cpp-runtime/antlr4-cpp-runtime.spec SRPM URL: https://jjames.fedorapeople.org/antlr4-cpp-runtime/antlr4-cpp-runtime-4.8-2.fc32.src.rpm RPMLINTRC URL: https://jjames.fedorapeople.org/antlr4-cpp-runtime/antlr4-cpp-runtime.rpmlintrc (In reply to Jerry James from comment #7) > I can't use %gometa, because that adds an incorrect ExclusiveArch tag (hence > the bare BR on go-rpm-macros). I can use %goname to generate the package > name, but go-rpm-macros alone does not seem to be enough to get that macro. > What do I need to BR for it? And after that I'm lost. If you know how to > integrate more of the go macros into the spec, I am happy to take your input. > > And speaking of macros that can't be used, it turns out that %mvn_install > cannot be used, because it uses %{name} everywhere, and I need "antlr4", not > "antlr4-project", to be what it uses. I've manually expanded the macro for > that reason. That's enough of a reason for me. I think %gometa also sets up some other variables that are probably needed by goinstall, and as you said, it sets an incompatible value for ExclusiveArch, so I'm fine with the current approach. > > - Did you consider requiring java-1.8.0-openjdk-aarch32 (don't depend on my > > spelling this correctly) on %ifarch %{arm}? > > I did not know about that. Thanks for the tip. Let's see if it helps once the mass rebuild is over and the dependencies are in koji :-) > > - License correct and permissible (3-Clause-BSD), and looks like the > > LICENSE.txt file is installed for every subpackage combination (please > > check). > > I have checked and double checked this, so I'm pretty confident it is right. Great! > > - BuildRequires look correct and are even sorted alphabetically :) > > I like to do that because it makes it easy for my slow human brain to decide > if something is in the BuildRequires already. :-) Yeah, I do the same. > > - Patches are commented, but no reference to upstream issues or something > > like that (adding that would be great) > > Added. Thanks! > > I'd just still like to see a successful koji scratch build (which means > > waiting for the dependencies to be imported into rawhide). > > Not because I don't trust local builds, but because we still need to check > > whether "noarch" subpackages are actually built identically on the different > > architectures. > > I understand and agree. New URLs: I mean, it's not blocking the review, but if it causes build failures you'll have to fix it either way, before or after the import. > Spec URL: > https://jjames.fedorapeople.org/antlr4-cpp-runtime/antlr4-cpp-runtime.spec > SRPM URL: > https://jjames.fedorapeople.org/antlr4-cpp-runtime/antlr4-cpp-runtime-4.8-2. > fc32.src.rpm > RPMLINTRC URL: > https://jjames.fedorapeople.org/antlr4-cpp-runtime/antlr4-cpp-runtime. > rpmlintrc Those links return 404s for me. Oops. Try these URLs instead: Spec URL: https://jjames.fedorapeople.org/antlr4-project/antlr4-project.spec SRPM URL: https://jjames.fedorapeople.org/antlr4-project/antlr4-project-4.8-1.fc32.src.rpm RPMLINTRC URL: https://jjames.fedorapeople.org/antlr4-project/antlr4-project.rpmlintrc And since all of the prerequisites are now in Rawhide, we can do a scratch build: https://koji.fedoraproject.org/koji/taskinfo?taskID=41401310 Spec URL: https://jjames.fedorapeople.org/antlr4-project/antlr4-project.spec SRPM URL: https://jjames.fedorapeople.org/antlr4-project/antlr4-project-4.8-2.fc32.src.rpm (Note: -2.fc32 instead of -1.fc32) Running fedora-review now. One final issue: - Package must not depend on deprecated() packages. Note: maven-project is deprecated, you must not depend on it. Two final comments: - Double check that the upgrade path from the old antlr4 package is working. I think the names of the produced binary RPMs are the same, so everything should be good (but please verify). - Make sure to include the trailing slash for the egg-info directory in the python3 subpackage's %files list. Otherwise, looks good. A koji scratch build on rawhide worked as well. → If possible, remove the dependency on maven-project. If that's not possible, we can let the deprecated dependency slide since this is a renamed and not a new package. You could try either removing the dependency, or replacing it with maven-parent, which is (I think) what superseded it with recent versions. Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed ===== MUST items ===== C/C++: [x]: Package does not contain kernel modules. [x]: Package contains no static executables. [x]: Development (unversioned) .so files in -devel subpackage, if present. Note: This is expected for swift libraries. [x]: If your application is a C or C++ application you must list a BuildRequires against gcc, gcc-c++ or clang. [x]: Header files in -devel subpackage, if present. [x]: ldconfig not called in %post and %postun for Fedora 28 and later. [x]: Package does not contain any libtool archives (.la) [x]: Rpath absent or only used for internal libs. 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. [x]: License file installed when any subpackage combination is installed. [x]: Package does not own files or directories owned by other packages. Note: Expected co-ownership of common go paths. [x]: %build honors applicable compiler flags or justifies otherwise. [x]: Package contains no bundled libraries without FPC exception. [x]: Changelog in prescribed format. [x]: Sources contain only permissible code or content. [-]: Package contains desktop file if it is a GUI application. [x]: Development files must be in a -devel package [x]: Package uses nothing in %doc for runtime. [x]: Package consistently uses macros (instead of hard-coded directory names). [x]: Package is named according to the Package Naming Guidelines. [x]: Package does not generate any conflict. [x]: Package obeys FHS, except libexecdir and /usr/target. [?]: If the package is a rename of another package, proper Obsoletes and Provides are present. [x]: Requires correct, justified where necessary. [x]: Spec file is legible and written in American English. [-]: Package contains systemd file(s) if in need. [x]: Useful -debuginfo package or justification otherwise. [-]: 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. [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 must own all directories that it creates. [x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT [x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. [x]: Macros in Summary, %description expandable at SRPM build time. [x]: Dist tag is present. [x]: Package does not contain duplicates in %files. [x]: Permissions on files are set properly. [x]: Package use %makeinstall only when make install DESTDIR=... doesn't work. [x]: Package is named using only allowed ASCII characters. [x]: Package does not use a name that already exists. [x]: Package is not relocatable. [x]: Sources used to build the package match the upstream source, as provided in the spec URL. [x]: Spec file name must match the spec package %{name}, in the format %{name}.spec. [x]: File names are valid UTF-8. [x]: Packages must not store files under /srv, /opt or /usr/local Java: [x]: Bundled jar/class files should be removed before build 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]: Packages MUST NOT have dependencies (either build-time or runtime) on packages named with the unversioned python- prefix unless no properly versioned package exists. Dependencies on Python packages instead MUST use names beginning with python2- or python3- as appropriate. [x]: Python packages must not contain %{pythonX_site(lib|arch)}/* in %files [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). [x]: Fully versioned dependency in subpackages if applicable. [?]: Package functions as described. [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [x]: Patches link to upstream bugs/comments/lists or are otherwise justified. [-]: Sources are verified with gpgverify first in %prep if upstream publishes signatures. [-]: 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. ===== EXTRA items ===== Generic: [x]: Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). [x]: Large data in /usr/share should live in a noarch subpackage if package is arched. [x]: Spec file according to URL is the same as in SRPM. Rpmlint ------- Checking: antlr4-runtime-test-annotations-4.8-2.fc32.noarch.rpm antlr4-runtime-test-annotation-processors-4.8-2.fc32.noarch.rpm antlr4-runtime-4.8-2.fc32.noarch.rpm antlr4-4.8-2.fc32.noarch.rpm antlr4-maven-plugin-4.8-2.fc32.noarch.rpm antlr4-javadoc-4.8-2.fc32.noarch.rpm antlr4-doc-4.8-2.fc32.noarch.rpm antlr4-cpp-runtime-4.8-2.fc32.x86_64.rpm antlr4-cpp-runtime-devel-4.8-2.fc32.x86_64.rpm golang-antlr4-runtime-devel-4.8-2.fc32.noarch.rpm mono-antlr4-runtime-4.8-2.fc32.noarch.rpm python3-antlr4-runtime-4.8-2.fc32.noarch.rpm swift-antlr4-runtime-4.8-2.fc32.x86_64.rpm antlr4-project-debugsource-4.8-2.fc32.x86_64.rpm antlr4-project-4.8-2.fc32.src.rpm antlr4-runtime-test-annotations.noarch: W: spelling-error %description -l en_US parsers -> parser, parses, parers antlr4-runtime-test-annotations.noarch: W: no-documentation antlr4-runtime-test-annotation-processors.noarch: W: spelling-error %description -l en_US parsers -> parser, parses, parers antlr4-runtime-test-annotation-processors.noarch: W: no-documentation antlr4-runtime.noarch: W: spelling-error %description -l en_US parsers -> parser, parses, parers antlr4.noarch: W: no-manual-page-for-binary antlr4 antlr4-maven-plugin.noarch: W: spelling-error %description -l en_US parsers -> parser, parses, parers antlr4-maven-plugin.noarch: W: no-documentation antlr4-cpp-runtime.x86_64: W: spelling-error %description -l en_US parsers -> parser, parses, parers antlr4-cpp-runtime-devel.x86_64: W: spelling-error Summary(en_US) parsers -> parser, parses, parers antlr4-cpp-runtime-devel.x86_64: W: spelling-error %description -l en_US parsers -> parser, parses, parers golang-antlr4-runtime-devel.noarch: W: spelling-error %description -l en_US parsers -> parser, parses, parers golang-antlr4-runtime-devel.noarch: W: no-documentation golang-antlr4-runtime-devel.noarch: W: hidden-file-or-dir /usr/share/gocode/src/github.com/antlr/antlr4/runtime/Go/antlr/.goipath mono-antlr4-runtime.noarch: W: spelling-error %description -l en_US parsers -> parser, parses, parers mono-antlr4-runtime.noarch: W: only-non-binary-in-usr-lib python3-antlr4-runtime.noarch: W: spelling-error %description -l en_US parsers -> parser, parses, parers python3-antlr4-runtime.noarch: W: no-manual-page-for-binary pygrun swift-antlr4-runtime.x86_64: W: spelling-error %description -l en_US parsers -> parser, parses, parers swift-antlr4-runtime.x86_64: W: no-documentation antlr4-project.src:10: E: hardcoded-library-path in %{_prefix}/lib/swift/linux antlr4-project.src:299: E: hardcoded-library-path in %{_prefix}/lib 15 packages and 0 specfiles checked; 2 errors, 20 warnings. Rpmlint (installed packages) ---------------------------- antlr4-javadoc.noarch: W: invalid-url URL: http://www.antlr.org/ <urlopen error [Errno -2] Name or service not known> swift-antlr4-runtime.x86_64: W: spelling-error %description -l en_US parsers -> parser, parses, parers swift-antlr4-runtime.x86_64: W: invalid-url URL: http://www.antlr.org/ <urlopen error [Errno -2] Name or service not known> swift-antlr4-runtime.x86_64: W: no-documentation antlr4-project-debugsource.x86_64: W: invalid-url URL: http://www.antlr.org/ <urlopen error [Errno -2] Name or service not known> mono-antlr4-runtime.noarch: W: spelling-error %description -l en_US parsers -> parser, parses, parers mono-antlr4-runtime.noarch: W: invalid-url URL: http://www.antlr.org/ <urlopen error [Errno -2] Name or service not known> mono-antlr4-runtime.noarch: W: only-non-binary-in-usr-lib antlr4-runtime.noarch: W: spelling-error %description -l en_US parsers -> parser, parses, parers antlr4-runtime.noarch: W: invalid-url URL: http://www.antlr.org/ <urlopen error [Errno -2] Name or service not known> antlr4-maven-plugin.noarch: W: spelling-error %description -l en_US parsers -> parser, parses, parers antlr4-maven-plugin.noarch: W: invalid-url URL: http://www.antlr.org/ <urlopen error [Errno -2] Name or service not known> antlr4-maven-plugin.noarch: W: no-documentation antlr4-runtime-test-annotations.noarch: W: spelling-error %description -l en_US parsers -> parser, parses, parers antlr4-runtime-test-annotations.noarch: W: invalid-url URL: http://www.antlr.org/ <urlopen error [Errno -2] Name or service not known> antlr4-runtime-test-annotations.noarch: W: no-documentation antlr4.noarch: W: invalid-url URL: http://www.antlr.org/ <urlopen error [Errno -2] Name or service not known> antlr4.noarch: W: no-manual-page-for-binary antlr4 antlr4-cpp-runtime-devel.x86_64: W: spelling-error Summary(en_US) parsers -> parser, parses, parers antlr4-cpp-runtime-devel.x86_64: W: spelling-error %description -l en_US parsers -> parser, parses, parers antlr4-cpp-runtime-devel.x86_64: W: invalid-url URL: http://www.antlr.org/ <urlopen error [Errno -2] Name or service not known> antlr4-runtime-test-annotation-processors.noarch: W: spelling-error %description -l en_US parsers -> parser, parses, parers antlr4-runtime-test-annotation-processors.noarch: W: invalid-url URL: http://www.antlr.org/ <urlopen error [Errno -2] Name or service not known> antlr4-runtime-test-annotation-processors.noarch: W: no-documentation antlr4-cpp-runtime.x86_64: W: spelling-error %description -l en_US parsers -> parser, parses, parers antlr4-cpp-runtime.x86_64: W: invalid-url URL: http://www.antlr.org/ <urlopen error [Errno -2] Name or service not known> antlr4-doc.noarch: W: invalid-url URL: http://www.antlr.org/ <urlopen error [Errno -2] Name or service not known> python3-antlr4-runtime.noarch: W: spelling-error %description -l en_US parsers -> parser, parses, parers python3-antlr4-runtime.noarch: W: invalid-url URL: http://www.antlr.org/ <urlopen error [Errno -2] Name or service not known> python3-antlr4-runtime.noarch: W: no-manual-page-for-binary pygrun golang-antlr4-runtime-devel.noarch: W: spelling-error %description -l en_US parsers -> parser, parses, parers golang-antlr4-runtime-devel.noarch: W: invalid-url URL: http://www.antlr.org/ <urlopen error [Errno -2] Name or service not known> golang-antlr4-runtime-devel.noarch: W: no-documentation golang-antlr4-runtime-devel.noarch: W: hidden-file-or-dir /usr/share/gocode/src/github.com/antlr/antlr4/runtime/Go/antlr/.goipath 14 packages and 0 specfiles checked; 0 errors, 34 warnings. Unversioned so-files -------------------- swift-antlr4-runtime: /usr/lib/swift/linux/libAntlr4.so Source checksums ---------------- https://github.com/antlr/antlr4/archive/4.8/antlr4-4.8.tar.gz : CHECKSUM(SHA256) this package : 992d52444b81ed75e52ea62f9f38ecb7652d5ce2a2130af143912b3042a6d77e CHECKSUM(SHA256) upstream package : 992d52444b81ed75e52ea62f9f38ecb7652d5ce2a2130af143912b3042a6d77e Requires -------- antlr4-runtime-test-annotations (rpmlib, GLIBC filtered): java-headless javapackages-filesystem antlr4-runtime-test-annotation-processors (rpmlib, GLIBC filtered): antlr4-runtime-test-annotations java-headless javapackages-filesystem mvn(com.sun:tools) mvn(org.antlr:antlr4-runtime-test-annotations) antlr4-runtime (rpmlib, GLIBC filtered): java-headless javapackages-filesystem antlr4 (rpmlib, GLIBC filtered): /usr/bin/bash antlr4-runtime java-headless javapackages-filesystem mvn(com.ibm.icu:icu4j) mvn(com.sun:tools) mvn(javax.json:javax.json-api) mvn(org.abego.treelayout:org.abego.treelayout.core) mvn(org.antlr:ST4) mvn(org.antlr:antlr-runtime) mvn(org.antlr:antlr4-runtime) mvn(org.glassfish:javax.json) antlr4-maven-plugin (rpmlib, GLIBC filtered): antlr4 java-headless javapackages-filesystem mvn(org.antlr:antlr4) mvn(org.apache.maven:maven-plugin-api) mvn(org.apache.maven:maven-project) mvn(org.codehaus.plexus:plexus-compiler-api) mvn(org.sonatype.plexus:plexus-build-api) antlr4-javadoc (rpmlib, GLIBC filtered): javapackages-filesystem antlr4-doc (rpmlib, GLIBC filtered): antlr4-cpp-runtime (rpmlib, GLIBC filtered): ld-linux-x86-64.so.2()(64bit) libc.so.6()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgcc_s.so.1(GCC_3.4)(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.11)(64bit) libstdc++.so.6(CXXABI_1.3.3)(64bit) libstdc++.so.6(CXXABI_1.3.5)(64bit) libstdc++.so.6(CXXABI_1.3.7)(64bit) rtld(GNU_HASH) antlr4-cpp-runtime-devel (rpmlib, GLIBC filtered): antlr4-cpp-runtime(x86-64) libantlr4-runtime.so.4.8()(64bit) golang-antlr4-runtime-devel (rpmlib, GLIBC filtered): go-filesystem mono-antlr4-runtime (rpmlib, GLIBC filtered): mono(System) mono(System.Core) mono(mscorlib) python3-antlr4-runtime (rpmlib, GLIBC filtered): /usr/bin/python3 python(abi) swift-antlr4-runtime (rpmlib, GLIBC filtered): libBlocksRuntime.so()(64bit) libFoundation.so()(64bit) libc.so.6()(64bit) libdispatch.so()(64bit) libdl.so.2()(64bit) libgcc_s.so.1()(64bit) libm.so.6()(64bit) libpthread.so.0()(64bit) libstdc++.so.6()(64bit) libswiftCore.so()(64bit) libswiftDispatch.so()(64bit) libswiftGlibc.so()(64bit) libutil.so.1()(64bit) rtld(GNU_HASH) antlr4-project-debugsource (rpmlib, GLIBC filtered): Provides -------- antlr4-runtime-test-annotations: antlr4-runtime-test-annotations mvn(org.antlr:antlr4-runtime-test-annotations) mvn(org.antlr:antlr4-runtime-test-annotations:pom:) antlr4-runtime-test-annotation-processors: antlr4-runtime-test-annotation-processors mvn(org.antlr:antlr4-runtime-test-annotation-processors) mvn(org.antlr:antlr4-runtime-test-annotation-processors:pom:) antlr4-runtime: antlr4-runtime mvn(org.antlr:antlr4-master:pom:) mvn(org.antlr:antlr4-runtime) mvn(org.antlr:antlr4-runtime:pom:) osgi(org.antlr.antlr4-runtime) antlr4: antlr4 mvn(org.antlr:antlr4) mvn(org.antlr:antlr4:pom:) antlr4-maven-plugin: antlr4-maven-plugin mvn(org.antlr:antlr4-maven-plugin) mvn(org.antlr:antlr4-maven-plugin:pom:) antlr4-javadoc: antlr4-javadoc antlr4-doc: antlr4-doc antlr4-cpp-runtime: antlr4-cpp-runtime antlr4-cpp-runtime(x86-64) libantlr4-runtime.so.4.8()(64bit) antlr4-cpp-runtime-devel: antlr4-cpp-runtime-devel antlr4-cpp-runtime-devel(x86-64) golang-antlr4-runtime-devel: golang(github.com/antlr/antlr4/runtime/Go/antlr) golang-antlr4-runtime-devel golang-ipath(github.com/antlr/antlr4/runtime/Go/antlr) mono-antlr4-runtime: mono(Antlr4.Runtime.Standard) mono-antlr4-runtime python3-antlr4-runtime: antlr4-python3-runtime python3-antlr4-runtime python3.8dist(antlr4-python3-runtime) python3dist(antlr4-python3-runtime) swift-antlr4-runtime: libAntlr4.so()(64bit) swift-antlr4-runtime swift-antlr4-runtime(x86-64) antlr4-project-debugsource: antlr4-project-debugsource antlr4-project-debugsource(x86-64) Generated by fedora-review 0.7.4 (54fa030) last change: 2019-12-07 Command line :/usr/bin/fedora-review -m fedora-rawhide-x86_64 -o --enablerepo local -b 1795470 Buildroot used: fedora-rawhide-x86_64 Active plugins: C/C++, Generic, Python, Shell-api, Java Disabled plugins: R, Perl, PHP, fonts, Ocaml, Haskell, SugarActivity Disabled flags: EPEL6, EPEL7, DISTTAG, BATCH, EXARCH (In reply to Fabio Valentini from comment #11) > One final issue: > > - Package must not depend on deprecated() packages. > Note: maven-project is deprecated, you must not depend on it. Okay. However, maven-parent is not the replacement for it, but (in this case at least) maven-core.jar from maven-lib is. This works: %pom_change_dep org.apache.maven:maven-project:2.2.1 org.apache.maven:maven-core:3.6.1 antlr4-maven-plugin > Two final comments: > > - Double check that the upgrade path from the old antlr4 package is working. > I think the names of the produced binary RPMs are the same, so everything > should be good (but please verify). That's easy to do because antlr4 is needed to build itself. It wants its own maven plugin, so the previous version of antlr4 is always pulled into the build root when building a new version. Then just install the newly built RPMs into the build root, and there's your update scenario. I have done this and it works. I have also verified that version 4.8 can bootstrap itself by building it a second time after adding the first build run's RPMs into my local repository. > - Make sure to include the trailing slash for the egg-info directory in the > python3 subpackage's %files list. Added. I also added man pages for the antlr4 and pygrun binaries, produced with help2man. New URLs: Spec URL: https://jjames.fedorapeople.org/antlr4-project/antlr4-project.spec SRPM URL: https://jjames.fedorapeople.org/antlr4-project/antlr4-project-4.8-3.fc32.src.rpm RPMLINTRC URL: https://jjames.fedorapeople.org/antlr4-project/antlr4-project.rpmlintrc Looks good now. Thanks! Package approved. Do the review swaps still apply? :) Sure. What do you need reviewed? I have a few simple rust packages (99% autogenerated) pending. Only changes from the generated .spec files are 1) installing license file(s) with %license, and 2) fixing Summary to be not too long. I don't care which one (or two): https://bugzilla.redhat.com/show_bug.cgi?id=1795197 https://bugzilla.redhat.com/show_bug.cgi?id=1795200 https://bugzilla.redhat.com/show_bug.cgi?id=1795204 https://bugzilla.redhat.com/show_bug.cgi?id=1795209 https://bugzilla.redhat.com/show_bug.cgi?id=1795210 https://bugzilla.redhat.com/show_bug.cgi?id=1796840 Thanks! (fedscm-admin): The Pagure repository was created at https://src.fedoraproject.org/rpms/antlr4-project Built in Rawhide. |