Spec URL: https://github.com/bdperkin/haproxytech/blob/master/SPECS/golang-github-haproxytech-dataplaneapi.spec SRPM URL: https://copr-be.cloud.fedoraproject.org/results/bdperkin/haproxytech/fedora-31-x86_64/01112715-golang-github-haproxytech-dataplaneapi/golang-github-haproxytech-dataplaneapi-1.2.4-2.fc31.src.rpm Description: Data Plane API is a sidecar process that runs next to HAProxy and provides API endpoints for managing HAProxy. It requires HAProxy version 1.9.0 or higher. Fedora Account System Username: bdperkin Note: These are my first packages and I need a sponsor. The packages include: golang-github-gehirninc-crypt, golang-github-haproxytech-models, golang-github-haproxytech-config-parser, golang-github-haproxytech-client-native, and golang-github-haproxytech-dataplaneapi. Successful copr build: https://copr.fedorainfracloud.org/coprs/bdperkin/haproxytech/build/1112715/
Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed Issues: ======= - Package installs properly. Note: Installation errors (see attachment) See: https://docs.fedoraproject.org/en-US/packaging-guidelines/ ===== MUST items ===== Generic: [ ]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. Note: Using prebuilt packages [ ]: 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: There is no build directory. Running licensecheck on vanilla upstream sources. Licenses found: "Unknown or generated". 4 files have unknown license. Detailed output of licensecheck in /home/rohara/copr- build-1112715/review-golang-github-haproxytech- ; dataplaneapi/licensecheck.txt [ ]: License file installed when any subpackage combination is installed. [ ]: Package must own all directories that it creates. Note: Directories without known owners: /etc/logrotate.d [ ]: %build honors applicable compiler flags or justifies otherwise. [ ]: Package contains no bundled libraries without FPC exception. [ ]: Changelog in prescribed format. [ ]: Sources contain only permissible code or content. [ ]: Each %files section contains %defattr if rpm < 4.4 Note: %defattr present but not needed [ ]: Package contains desktop file if it is a GUI application. [ ]: Development files must be in a -devel package [ ]: Package uses nothing in %doc for runtime. [ ]: 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. [ ]: 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. [ ]: Package contains systemd file(s) if in need. [ ]: Useful -debuginfo package or justification otherwise. [ ]: 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 40960 bytes in 4 files. [ ]: Package complies to the Packaging Guidelines [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]: 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 must not depend on deprecated() packages. [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]: systemd_post is invoked in %post, systemd_preun in %preun, and systemd_postun in %postun for Systemd service files. Note: Systemd service file(s) in golang-github-haproxytech- dataplaneapi [x]: File names are valid UTF-8. [x]: Packages must not store files under /srv, /opt or /usr/local ===== SHOULD items ===== Generic: [!]: Reviewer should test that the package builds in mock. [ ]: 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 golang- github-haproxytech-dataplaneapi-devel [ ]: Package functions as described. [ ]: Latest version is packaged. [ ]: Package does not include license text files separate from upstream. [ ]: Sources are verified with gpgverify first in %prep if upstream publishes signatures. Note: gpgverify is not used. [ ]: 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. [ ]: Packages should try to preserve timestamps of original installed files. [ ]: Spec use %global instead of %define unless justified. Note: %define requiring justification: %define gorepo dataplaneapi, %define haproxy_user haproxy, %define haproxy_group %{haproxy_user}, %define haproxy_homedir %{_localstatedir}/lib/haproxy [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. ===== EXTRA items ===== Generic: [!]: Rpmlint is run on all installed packages. Note: Mock build failed See: https://docs.fedoraproject.org/en-US/packaging- guidelines/#_use_rpmlint [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. Installation errors ------------------- INFO: mock.py version 1.4.21 starting (python version = 3.7.5)... Start: init plugins INFO: selinux enabled Finish: init plugins INFO: Signal handler active Start: run Start: chroot init INFO: calling preinit hooks INFO: enabled root cache INFO: enabled dnf cache Start: cleaning dnf metadata Finish: cleaning dnf metadata INFO: enabled HW Info plugin Mock Version: 1.4.21 INFO: Mock Version: 1.4.21 Finish: chroot init INFO: installing package(s): /home/rohara/copr-build-1112715/golang-github-haproxytech-dataplaneapi-debugsource-1.2.4-2.fc32.x86_64.rpm /home/rohara/copr-build-1112715/golang-github-haproxytech-dataplaneapi-1.2.4-2.fc32.x86_64.rpm /home/r\ ohara/copr-build-1112715/golang-github-haproxytech-dataplaneapi-devel-1.2.4-2.fc32.noarch.rpm /home/rohara/copr-build-1112715/golang-github-haproxytech-dataplaneapi-debuginfo-1.2.4-2.fc32.x86_64.rpm ERROR: Command failed: # /usr/bin/dnf --installroot /var/lib/mock/fedora-rawhide-x86_64/root/ --releasever 32 --setopt=deltarpm=False --allowerasing --disableplugin=local --disableplugin=spacewalk install /home/rohara/copr-build-1112715/golang-github-haproxyte\ ch-dataplaneapi-debugsource-1.2.4-2.fc32.x86_64.rpm /home/rohara/copr-build-1112715/golang-github-haproxytech-dataplaneapi-1.2.4-2.fc32.x86_64.rpm /home/rohara/copr-build-1112715/golang-github-haproxytech-dataplaneapi-devel-1.2.4-2.fc32.n\ oarch.rpm /home/rohara/copr-build-1112715/golang-github-haproxytech-dataplaneapi-debuginfo-1.2.4-2.fc32.x86_64.rpm --setopt=tsflags=nocontexts Rpmlint ------- Checking: golang-github-haproxytech-dataplaneapi-1.2.4-2.fc32.x86_64.rpm golang-github-haproxytech-dataplaneapi-devel-1.2.4-2.fc32.noarch.rpm golang-github-haproxytech-dataplaneapi-debuginfo-1.2.4-2.fc32.x86_64.rpm golang-github-haproxytech-dataplaneapi-debugsource-1.2.4-2.fc32.x86_64.rpm golang-github-haproxytech-dataplaneapi-1.2.4-2.fc32.src.rpm golang-github-haproxytech-dataplaneapi.x86_64: E: incoherent-logrotate-file /etc/logrotate.d/dataplaneapi golang-github-haproxytech-dataplaneapi.x86_64: E: missing-dependency-to-logrotate for logrotate script /etc/logrotate.d/dataplaneapi golang-github-haproxytech-dataplaneapi.x86_64: W: no-manual-page-for-binary dataplaneapi golang-github-haproxytech-dataplaneapi-devel.noarch: W: hidden-file-or-dir /usr/share/gocode/src/github.com/haproxytech/dataplaneapi/.goipath golang-github-haproxytech-dataplaneapi-debugsource.x86_64: E: description-line-too-long C This package provides debug sources for package golang-github-haproxytech-dataplaneapi. 5 packages and 0 specfiles checked; 3 errors, 2 warnings. Source checksums ---------------- https://github.com/haproxytech/dataplaneapi/archive/v1.2.4/dataplaneapi-1.2.4.tar.gz : CHECKSUM(SHA256) this package : e1791a5475485cb7520d5102509614d072781fc576481eca128e96607c43e12c CHECKSUM(SHA256) upstream package : e1791a5475485cb7520d5102509614d072781fc576481eca128e96607c43e12c Requires -------- golang-github-haproxytech-dataplaneapi (rpmlib, GLIBC filtered): /bin/sh config(golang-github-haproxytech-dataplaneapi) haproxy libc.so.6()(64bit) libpthread.so.0()(64bit) rtld(GNU_HASH) systemd golang-github-haproxytech-dataplaneapi-devel (rpmlib, GLIBC filtered): go-filesystem golang(github.com/GehirnInc/crypt) golang(github.com/GehirnInc/crypt/md5_crypt) golang(github.com/GehirnInc/crypt/sha256_crypt) golang(github.com/GehirnInc/crypt/sha512_crypt) golang(github.com/docker/go-units) golang(github.com/go-openapi/errors) golang(github.com/go-openapi/loads) golang(github.com/go-openapi/runtime) golang(github.com/go-openapi/runtime/flagext) golang(github.com/go-openapi/runtime/middleware) golang(github.com/go-openapi/runtime/security) golang(github.com/go-openapi/spec) golang(github.com/go-openapi/strfmt) golang(github.com/go-openapi/swag) golang(github.com/go-openapi/validate) golang(github.com/haproxytech/client-native) golang(github.com/haproxytech/client-native/configuration) golang(github.com/haproxytech/client-native/runtime) golang(github.com/haproxytech/config-parser) golang(github.com/haproxytech/config-parser/types) golang(github.com/haproxytech/models) golang(github.com/jessevdk/go-flags) golang(github.com/rs/cors) golang(github.com/shirou/gopsutil/host) golang(github.com/shirou/gopsutil/mem) golang(github.com/sirupsen/logrus) golang(golang.org/x/net/netutil) golang(golang.org/x/sys/unix) golang-github-haproxytech-dataplaneapi-debuginfo (rpmlib, GLIBC filtered): golang-github-haproxytech-dataplaneapi-debugsource (rpmlib, GLIBC filtered): Provides -------- golang-github-haproxytech-dataplaneapi: config(golang-github-haproxytech-dataplaneapi) golang-github-haproxytech-dataplaneapi golang-github-haproxytech-dataplaneapi(x86-64) golang-github-haproxytech-dataplaneapi-devel: golang(github.com/haproxytech/dataplaneapi) golang(github.com/haproxytech/dataplaneapi/adapters) golang(github.com/haproxytech/dataplaneapi/handlers) golang(github.com/haproxytech/dataplaneapi/haproxy) golang(github.com/haproxytech/dataplaneapi/misc) golang(github.com/haproxytech/dataplaneapi/operations) golang(github.com/haproxytech/dataplaneapi/operations/acl) golang(github.com/haproxytech/dataplaneapi/operations/backend) golang(github.com/haproxytech/dataplaneapi/operations/backend_switching_rule) golang(github.com/haproxytech/dataplaneapi/operations/bind) golang(github.com/haproxytech/dataplaneapi/operations/configuration) golang(github.com/haproxytech/dataplaneapi/operations/defaults) golang(github.com/haproxytech/dataplaneapi/operations/discovery) golang(github.com/haproxytech/dataplaneapi/operations/filter) golang(github.com/haproxytech/dataplaneapi/operations/frontend) golang(github.com/haproxytech/dataplaneapi/operations/global) golang(github.com/haproxytech/dataplaneapi/operations/http_request_rule) golang(github.com/haproxytech/dataplaneapi/operations/http_response_rule) golang(github.com/haproxytech/dataplaneapi/operations/information) golang(github.com/haproxytech/dataplaneapi/operations/log_target) golang(github.com/haproxytech/dataplaneapi/operations/reloads) golang(github.com/haproxytech/dataplaneapi/operations/server) golang(github.com/haproxytech/dataplaneapi/operations/server_switching_rule) golang(github.com/haproxytech/dataplaneapi/operations/sites) golang(github.com/haproxytech/dataplaneapi/operations/specification) golang(github.com/haproxytech/dataplaneapi/operations/stats) golang(github.com/haproxytech/dataplaneapi/operations/stick_rule) golang(github.com/haproxytech/dataplaneapi/operations/tcp_request_rule) golang(github.com/haproxytech/dataplaneapi/operations/tcp_response_rule) golang(github.com/haproxytech/dataplaneapi/operations/transactions) golang-github-haproxytech-dataplaneapi-devel golang-ipath(github.com/haproxytech/dataplaneapi) golang-github-haproxytech-dataplaneapi-debuginfo: debuginfo(build-id) golang-github-haproxytech-dataplaneapi-debuginfo golang-github-haproxytech-dataplaneapi-debuginfo(x86-64) golang-github-haproxytech-dataplaneapi-debugsource: golang-github-haproxytech-dataplaneapi-debugsource golang-github-haproxytech-dataplaneapi-debugsource(x86-64) Generated by fedora-review 0.7.3 (44b83c7) last change: 2019-09-18 Command line :/usr/bin/fedora-review --copr-build 1112715 Buildroot used: fedora-rawhide-{{ target_arch }} Active plugins: Shell-api, Generic Disabled plugins: fonts, Perl, Haskell, R, Python, C/C++, SugarActivity, Java, PHP, Ocaml Disabled flags: EPEL6, EPEL7, DISTTAG, BATCH, EXARCH
man page added: https://github.com/bdperkin/haproxytech/commit/bada4ed3bcc363124ef950242159a93a46ad995b
# golang-github-haproxytech-dataplaneapi.x86_64: E: incoherent-logrotate-file /etc/logrotate.d/dataplaneapi # golang-github-haproxytech-dataplaneapi.x86_64: E: missing-dependency-to-logrotate for logrotate script /etc/logrotate.d/dataplaneapi Fixed in: https://github.com/bdperkin/haproxytech/commit/b5d2e8b00b701d49ffaed524ea19ce3c172497d8 # golang-github-haproxytech-dataplaneapi.x86_64: W: no-manual-page-for-binary dataplaneapi Added in: https://github.com/bdperkin/haproxytech/commit/bada4ed3bcc363124ef950242159a93a46ad995b # golang-github-haproxytech-dataplaneapi-devel.noarch: W: hidden-file-or-dir /usr/share/gocode/src/github.com/haproxytech/dataplaneapi/.goipath Nothing to worry about, all go devel packages have this in /usr/share/gocode/src/*/*/*/.goipath # golang-github-haproxytech-dataplaneapi-debugsource.x86_64: E: description-line-too-long C This package provides debug sources for package golang-github-haproxytech-dataplaneapi. I don't have a good idea on how to fix this as the macros just kind of take care of everything under the hood. # Build failure Likely due to missing BuildRequires: golang-github-haproxytech-dataplaneapi.spec:BuildRequires: golang(github.com/GehirnInc/crypt) golang-github-haproxytech-dataplaneapi.spec:BuildRequires: golang(github.com/GehirnInc/crypt/md5_crypt) golang-github-haproxytech-dataplaneapi.spec:BuildRequires: golang(github.com/GehirnInc/crypt/sha256_crypt) golang-github-haproxytech-dataplaneapi.spec:BuildRequires: golang(github.com/GehirnInc/crypt/sha512_crypt) golang-github-haproxytech-dataplaneapi.spec:BuildRequires: golang(github.com/haproxytech/client-native) golang-github-haproxytech-dataplaneapi.spec:BuildRequires: golang(github.com/haproxytech/client-native/configuration) golang-github-haproxytech-dataplaneapi.spec:BuildRequires: golang(github.com/haproxytech/client-native/runtime) golang-github-haproxytech-dataplaneapi.spec:BuildRequires: golang(github.com/haproxytech/config-parser) golang-github-haproxytech-dataplaneapi.spec:BuildRequires: golang(github.com/haproxytech/config-parser/types) golang-github-haproxytech-dataplaneapi.spec:BuildRequires: golang(github.com/haproxytech/models)
========================== golang-github-haproxytech-dataplaneapi-1.2.4-4.fc31.src.rpm ========================== 1 packages and 0 specfiles checked; 0 errors, 0 warnings. ########################## golang-github-haproxytech-dataplaneapi ########################## ========================== golang-github-haproxytech-dataplaneapi-devel ========================== golang-github-haproxytech-dataplaneapi-devel.noarch: W: hidden-file-or-dir /usr/share/gocode/src/github.com/haproxytech/dataplaneapi/.goipath 1 packages and 0 specfiles checked; 0 errors, 1 warnings. ========================== golang-github-haproxytech-dataplaneapi ========================== 1 packages and 0 specfiles checked; 0 errors, 0 warnings. ========================== golang-github-haproxytech-dataplaneapi-debugsource ========================== golang-github-haproxytech-dataplaneapi-debugsource.x86_64: E: description-line-too-long C This package provides debug sources for package golang-github-haproxytech-dataplaneapi. 1 packages and 0 specfiles checked; 1 errors, 0 warnings. ========================== golang-github-haproxytech-dataplaneapi-debuginfo ========================== 1 packages and 0 specfiles checked; 0 errors, 0 warnings. Copr build tested: https://copr.fedorainfracloud.org/coprs/bdperkin/haproxytech/build/1114123/
Spec URL: https://raw.githubusercontent.com/bdperkin/haproxytech/master/SPECS/golang-github-haproxytech-dataplaneapi.spec SRPM URL: https://download.copr.fedorainfracloud.org/results/bdperkin/haproxytech/fedora-31-x86_64/01281736-golang-github-haproxytech-dataplaneapi/golang-github-haproxytech-dataplaneapi-1.2.4-5.fc31.src.rpm Successful copr build: https://download.copr.fedorainfracloud.org/results/bdperkin/haproxytech/fedora-31-x86_64/01281736-golang-github-haproxytech-dataplaneapi/ Changelog: * Mon Mar 02 2020 Brandon Perkins <bperkins> - 1.2.4-5 - Clean changelog * Thu Nov 21 2019 Brandon Perkins <bperkins> - 1.2.4-4 - Suggest logrotate and fix logrotate configuration * Wed Nov 20 2019 Brandon Perkins <bperkins> - 1.2.4-3 - Add man page * Wed Nov 13 2019 Brandon Perkins <bperkins> - 1.2.4-2 - Implement systemd * Wed Nov 13 2019 Brandon Perkins <bperkins> - 1.2.4-1 - Initial package RPM Lint: golang-github-haproxytech-dataplaneapi-debugsource.x86_64: E: description-line-too-long C This package provides debug sources for package golang-github-haproxytech-dataplaneapi. golang-github-haproxytech-dataplaneapi-devel.noarch: W: hidden-file-or-dir /usr/share/gocode/src/github.com/haproxytech/dataplaneapi/.goipath 5 packages and 0 specfiles checked; 1 errors, 1 warnings.
Trying to get ahead of any issues, I went through the fedora-review report for all five packages as they exist now and provided comments where needed: > ===== 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. $ rpm -q --queryformat="%{NAME}: %{LICENSE}\n" RPMS/golang-github-haproxytech-dataplaneapi-1.2.4-5.fc31.x86_64.rpm RPMS/golang-github-haproxytech-dataplaneapi-debuginfo-1.2.4-5.fc31.x86_64.rpm RPMS/golang-github-haproxytech-dataplaneapi-debugsource-1.2.4-5.fc31.x86_64.rpm RPMS/golang-github-haproxytech-dataplaneapi-devel-1.2.4-5.fc31.noarch.rpm SRPMS/golang-github-haproxytech-dataplaneapi-1.2.4-5.fc31.src.rpm golang-github-haproxytech-dataplaneapi: ASL 2.0 golang-github-haproxytech-dataplaneapi-debuginfo: ASL 2.0 golang-github-haproxytech-dataplaneapi-debugsource: ASL 2.0 golang-github-haproxytech-dataplaneapi-devel: ASL 2.0 golang-github-haproxytech-dataplaneapi: ASL 2.0 > [ ]: License field in the package spec file matches the actual license. > Note: There is no build directory. Running licensecheck on vanilla > upstream sources. Licenses found: "Unknown or generated". 4 files have > unknown license. Detailed output of licensecheck in > ~/git/haproxytech/1773720-golang-github-haproxytech- > dataplaneapi/licensecheck.txt Unknown or generated -------------------- ~/git/haproxytech/1773720-golang-github-haproxytech-dataplaneapi/upstream-unpacked/Source0/dataplaneapi-1.2.4.tar.gz $ rpm -qpL RPMS/golang-github-haproxytech-dataplaneapi-*.rpm /usr/share/licenses/golang-github-haproxytech-dataplaneapi/LICENSE /usr/share/licenses/golang-github-haproxytech-dataplaneapi-devel/LICENSE $ tar -tf 1773720-golang-github-haproxytech-dataplaneapi/upstream-unpacked/Source0/dataplaneapi-1.2.4.tar.gz | grep /LICENSE$ dataplaneapi-1.2.4/LICENSE $ tar -xvzf 1773720-golang-github-haproxytech-dataplaneapi/upstream-unpacked/Source0/dataplaneapi-1.2.4.tar.gz dataplaneapi-1.2.4/LICENSE dataplaneapi-1.2.4/LICENSE $ rpm -qp --queryformat="%{NAME}: %{LICENSE}\n" RPMS/golang-github-haproxytech-dataplaneapi-*.rpm golang-github-haproxytech-dataplaneapi: ASL 2.0 golang-github-haproxytech-dataplaneapi-debuginfo: ASL 2.0 golang-github-haproxytech-dataplaneapi-debugsource: ASL 2.0 golang-github-haproxytech-dataplaneapi-devel: ASL 2.0 $ licensecheck dataplaneapi-1.2.4/LICENSE dataplaneapi-1.2.4/LICENSE: *No copyright* Apache License (v2.0) $ grep '^# Upstream license specification: ' 1773720-golang-github-haproxytech-dataplaneapi/srpm-unpacked/golang-github-haproxytech-dataplaneapi.spec # Upstream license specification: Apache-2.0 ~/git/haproxytech/1773720-golang-github-haproxytech-dataplaneapi/upstream-unpacked/Source1/dataplaneapi.service ~/git/haproxytech/1773720-golang-github-haproxytech-dataplaneapi/upstream-unpacked/Source2/dataplaneapi.logrotate ~/git/haproxytech/1773720-golang-github-haproxytech-dataplaneapi/upstream-unpacked/Source3/dataplaneapi.sysconfig Not Applicable for dataplaneapi.service, dataplaneapi.logrotate, and dataplaneapi.sysconfig. > [ ]: License file installed when any subpackage combination is installed. $ rpm -qpL --queryformat="\n%{NAME}: %{LICENSE}\n" RPMS/golang-github-haproxytech-dataplaneapi-*.rpm golang-github-haproxytech-dataplaneapi: ASL 2.0 /usr/share/licenses/golang-github-haproxytech-dataplaneapi/LICENSE golang-github-haproxytech-dataplaneapi-debuginfo: ASL 2.0 golang-github-haproxytech-dataplaneapi-debugsource: ASL 2.0 golang-github-haproxytech-dataplaneapi-devel: ASL 2.0 /usr/share/licenses/golang-github-haproxytech-dataplaneapi-devel/LICENSE $ for r in $(ls RPMS/golang-github-haproxytech-dataplaneapi-*.rpm); do for d in conflicts enhances obsoletes provides recommends requires suggests supplements; do o=$(rpm -qp --${d} ${r} | grep dataplaneapi); if [ "${o}" != "" ]; then echo -e "=== ${r} ${d} ===\n${o}\n"; fi; done; done === RPMS/golang-github-haproxytech-dataplaneapi-1.2.4-5.fc31.x86_64.rpm provides === config(golang-github-haproxytech-dataplaneapi) = 1.2.4-5.fc31 golang-github-haproxytech-dataplaneapi = 1.2.4-5.fc31 golang-github-haproxytech-dataplaneapi(x86-64) = 1.2.4-5.fc31 === RPMS/golang-github-haproxytech-dataplaneapi-1.2.4-5.fc31.x86_64.rpm requires === config(golang-github-haproxytech-dataplaneapi) = 1.2.4-5.fc31 === RPMS/golang-github-haproxytech-dataplaneapi-debuginfo-1.2.4-5.fc31.x86_64.rpm provides === golang-github-haproxytech-dataplaneapi-debuginfo = 1.2.4-5.fc31 golang-github-haproxytech-dataplaneapi-debuginfo(x86-64) = 1.2.4-5.fc31 === RPMS/golang-github-haproxytech-dataplaneapi-debuginfo-1.2.4-5.fc31.x86_64.rpm recommends === golang-github-haproxytech-dataplaneapi-debugsource(x86-64) = 1.2.4-5.fc31 === RPMS/golang-github-haproxytech-dataplaneapi-debugsource-1.2.4-5.fc31.x86_64.rpm provides === golang-github-haproxytech-dataplaneapi-debugsource = 1.2.4-5.fc31 golang-github-haproxytech-dataplaneapi-debugsource(x86-64) = 1.2.4-5.fc31 === RPMS/golang-github-haproxytech-dataplaneapi-devel-1.2.4-5.fc31.noarch.rpm provides === golang(github.com/haproxytech/dataplaneapi) = 1.2.4-5.fc31 golang(github.com/haproxytech/dataplaneapi/adapters) = 1.2.4-5.fc31 golang(github.com/haproxytech/dataplaneapi/handlers) = 1.2.4-5.fc31 golang(github.com/haproxytech/dataplaneapi/haproxy) = 1.2.4-5.fc31 golang(github.com/haproxytech/dataplaneapi/misc) = 1.2.4-5.fc31 golang(github.com/haproxytech/dataplaneapi/operations) = 1.2.4-5.fc31 golang(github.com/haproxytech/dataplaneapi/operations/acl) = 1.2.4-5.fc31 golang(github.com/haproxytech/dataplaneapi/operations/backend) = 1.2.4-5.fc31 golang(github.com/haproxytech/dataplaneapi/operations/backend_switching_rule) = 1.2.4-5.fc31 golang(github.com/haproxytech/dataplaneapi/operations/bind) = 1.2.4-5.fc31 golang(github.com/haproxytech/dataplaneapi/operations/configuration) = 1.2.4-5.fc31 golang(github.com/haproxytech/dataplaneapi/operations/defaults) = 1.2.4-5.fc31 golang(github.com/haproxytech/dataplaneapi/operations/discovery) = 1.2.4-5.fc31 golang(github.com/haproxytech/dataplaneapi/operations/filter) = 1.2.4-5.fc31 golang(github.com/haproxytech/dataplaneapi/operations/frontend) = 1.2.4-5.fc31 golang(github.com/haproxytech/dataplaneapi/operations/global) = 1.2.4-5.fc31 golang(github.com/haproxytech/dataplaneapi/operations/http_request_rule) = 1.2.4-5.fc31 golang(github.com/haproxytech/dataplaneapi/operations/http_response_rule) = 1.2.4-5.fc31 golang(github.com/haproxytech/dataplaneapi/operations/information) = 1.2.4-5.fc31 golang(github.com/haproxytech/dataplaneapi/operations/log_target) = 1.2.4-5.fc31 golang(github.com/haproxytech/dataplaneapi/operations/reloads) = 1.2.4-5.fc31 golang(github.com/haproxytech/dataplaneapi/operations/server) = 1.2.4-5.fc31 golang(github.com/haproxytech/dataplaneapi/operations/server_switching_rule) = 1.2.4-5.fc31 golang(github.com/haproxytech/dataplaneapi/operations/sites) = 1.2.4-5.fc31 golang(github.com/haproxytech/dataplaneapi/operations/specification) = 1.2.4-5.fc31 golang(github.com/haproxytech/dataplaneapi/operations/stats) = 1.2.4-5.fc31 golang(github.com/haproxytech/dataplaneapi/operations/stick_rule) = 1.2.4-5.fc31 golang(github.com/haproxytech/dataplaneapi/operations/tcp_request_rule) = 1.2.4-5.fc31 golang(github.com/haproxytech/dataplaneapi/operations/tcp_response_rule) = 1.2.4-5.fc31 golang(github.com/haproxytech/dataplaneapi/operations/transactions) = 1.2.4-5.fc31 golang-github-haproxytech-dataplaneapi-devel = 1.2.4-5.fc31 golang-ipath(github.com/haproxytech/dataplaneapi) = 1.2.4-5.fc31 > [ ]: Package must own all directories that it creates. > Note: Directories without known owners: /etc/logrotate.d The /etc/logrotate.d directory is owned by the 'logrotate' package: $ rpm -qf /etc/logrotate.d logrotate-3.15.1-1.fc31.x86_64 This issue is properly satisfied by the logrotate 'Suggests' in the RPM: $ grep ^Suggests: SPECS/golang-github-haproxytech-dataplaneapi.spec Suggests: logrotate $ rpm -qp --suggests RPMS/golang-github-haproxytech-dataplaneapi-1.2.4-5.fc31.x86_64.rpm logrotate > [ ]: Package does not own files or directories owned by other packages. > Note: Dirs in package are owned also by: <snip/> This is an issue across all 'golang-github' packages. In reality, the '/usr/share/gocode/src/github.com' directory should only be owned by the 'golang' package itself: $ rpm -qf /usr/share/gocode/src/github.com golang-1.13.6-1.fc31.x86_64 > [ ]: %build honors applicable compiler flags or justifies otherwise. The %build section only compiles code via the %gobuild macro: $ grep -A7 ^%build SPECS/golang-github-haproxytech-dataplaneapi.spec %build for cmd in cmd/* ; do %gobuild -o %{gobuilddir}/sbin/$(basename $cmd) %{goipath}/$cmd done mkdir -p %{gobuilddir}/share/man/man8 help2man -n "%{summary}" -s 8 -o %{gobuilddir}/share/man/man8/%{gorepo}.8 -N --version-string="%{version}" %{gobuilddir}/sbin/%{gorepo} gzip %{gobuilddir}/share/man/man8/%{gorepo}.8 > [ ]: Package contains no bundled libraries without FPC exception. None: $ rpm -qp --provides RPMS/golang-github-haproxytech-dataplaneapi-1.2.4-5.fc31.x86_64.rpm | grep bundled $ rpm -qp --provides RPMS/golang-github-haproxytech-dataplaneapi-debuginfo-1.2.4-5.fc31.x86_64.rpm | grep bundled $ rpm -qp --provides RPMS/golang-github-haproxytech-dataplaneapi-debugsource-1.2.4-5.fc31.x86_64.rpm | grep bundled $ rpm -qp --provides RPMS/golang-github-haproxytech-dataplaneapi-devel-1.2.4-5.fc31.noarch.rpm | grep bundled > [ ]: Changelog in prescribed format. Should all be fixed now. > [ ]: Sources contain only permissible code or content. Yes. > [ ]: Each %files section contains %defattr if rpm < 4.4 > Note: %defattr present but not needed Fixed with 1.2.4-6. > [ ]: Package contains desktop file if it is a GUI application. Not Applicable. > [ ]: Development files must be in a -devel package RPMS/golang-github-haproxytech-dataplaneapi-devel-1.2.4-5.fc31.noarch.rpm > [ ]: Package uses nothing in %doc for runtime. None: golang-github-haproxytech-dataplaneapi: /usr/share/doc/golang-github-haproxytech-dataplaneapi/CONTRIBUTING.md /usr/share/doc/golang-github-haproxytech-dataplaneapi/README.md /usr/share/man/man8/dataplaneapi.8.gz golang-github-haproxytech-dataplaneapi-debuginfo: golang-github-haproxytech-dataplaneapi-debugsource: golang-github-haproxytech-dataplaneapi-devel: /usr/share/doc/golang-github-haproxytech-dataplaneapi-devel/CONTRIBUTING.md /usr/share/doc/golang-github-haproxytech-dataplaneapi-devel/README.md /usr/share/gocode/src/github.com/haproxytech/dataplaneapi/CONTRIBUTING.md /usr/share/gocode/src/github.com/haproxytech/dataplaneapi/README.md > [ ]: Package consistently uses macros (instead of hard-coded directory > names). Yes. > [ ]: Package is named according to the Package Naming Guidelines. Yes. > [ ]: Package does not generate any conflict. None. > [ ]: Package obeys FHS, except libexecdir and /usr/target. Yes. > [ ]: If the package is a rename of another package, proper Obsoletes and > Provides are present. Not Applicable. > [ ]: Requires correct, justified where necessary. Yes: golang-github-haproxytech-dataplaneapi: /bin/sh config(golang-github-haproxytech-dataplaneapi) = 1.2.4-5.fc31 haproxy >= 1.9 libc.so.6()(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.2.5)(64bit) libpthread.so.0(GLIBC_2.3.2)(64bit) rtld(GNU_HASH) systemd golang-github-haproxytech-dataplaneapi-debuginfo: golang-github-haproxytech-dataplaneapi-debugsource: golang-github-haproxytech-dataplaneapi-devel: go-filesystem golang(github.com/GehirnInc/crypt) golang(github.com/GehirnInc/crypt/md5_crypt) golang(github.com/GehirnInc/crypt/sha256_crypt) golang(github.com/GehirnInc/crypt/sha512_crypt) golang(github.com/docker/go-units) golang(github.com/go-openapi/errors) golang(github.com/go-openapi/loads) golang(github.com/go-openapi/runtime) golang(github.com/go-openapi/runtime/flagext) golang(github.com/go-openapi/runtime/middleware) golang(github.com/go-openapi/runtime/security) golang(github.com/go-openapi/spec) golang(github.com/go-openapi/strfmt) golang(github.com/go-openapi/swag) golang(github.com/go-openapi/validate) golang(github.com/haproxytech/client-native) golang(github.com/haproxytech/client-native/configuration) golang(github.com/haproxytech/client-native/runtime) golang(github.com/haproxytech/config-parser) golang(github.com/haproxytech/config-parser/types) golang(github.com/haproxytech/models) golang(github.com/jessevdk/go-flags) golang(github.com/rs/cors) golang(github.com/shirou/gopsutil/host) golang(github.com/shirou/gopsutil/mem) golang(github.com/sirupsen/logrus) golang(golang.org/x/net/netutil) golang(golang.org/x/sys/unix) > [ ]: Spec file is legible and written in American English. Yes. > [ ]: Package contains systemd file(s) if in need. Yes: $ rpm -qpl RPMS/golang-github-haproxytech-dataplaneapi-1.2.4-5.fc31.x86_64.rpm | grep systemd /usr/lib/systemd/system/dataplaneapi.service $ ls SOURCES/dataplaneapi.service SOURCES/dataplaneapi.service $ rpm -qp --requires RPMS/golang-github-haproxytech-dataplaneapi-1.2.4-5.fc31.x86_64.rpm | grep systemd systemd systemd systemd $ grep systemd SPECS/golang-github-haproxytech-dataplaneapi.spec BuildRequires: systemd-units Requires(post): systemd Requires(preun): systemd Requires(postun): systemd %systemd_post %{gorepo}.service %systemd_preun %{gorepo}.service %systemd_postun_with_restart %{gorepo}.service - Implement systemd > [ ]: Useful -debuginfo package or justification otherwise. Yes. > [ ]: Package is not known to require an ExcludeArch tag. ExcludeArch tag not required. > [ ]: Large documentation must go in a -doc subpackage. Large could be size > (~1MB) or number of files. > Note: Documentation size is 40960 bytes in 4 files. Not needed as 40960 bytes is less than 1MB. > [ ]: Package complies to the Packaging Guidelines Yes. > [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 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 must not depend on deprecated() packages. > [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]: systemd_post is invoked in %post, systemd_preun in %preun, and > systemd_postun in %postun for Systemd service files. > Note: Systemd service file(s) in golang-github-haproxytech- > dataplaneapi > [x]: File names are valid UTF-8. > [x]: Packages must not store files under /srv, /opt or /usr/local > > ===== 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. Good. > [ ]: Final provides and requires are sane (see attachments). Good. > [ ]: Fully versioned dependency in subpackages if applicable. > Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in golang- > github-haproxytech-dataplaneapi-devel Not Applicable. > [ ]: Package functions as described. Yes. > [ ]: Latest version is packaged. Yes. > [ ]: Package does not include license text files separate from upstream. No additional license text files. > [ ]: Sources are verified with gpgverify first in %prep if upstream > publishes signatures. > Note: gpgverify is not used. Not available. > [ ]: Description and summary sections in the package spec file contains > translations for supported Non-English languages, if available. Not available. > [ ]: %check is present and all tests pass. Yes: $ grep -B1 -A3 -E "(^%check| check$)" SPECS/golang-github-haproxytech-dataplaneapi.spec %bcond_without check %define gorepo dataplaneapi %define haproxy_user haproxy -- %if %{with check} %check %gocheck %endif > [ ]: Packages should try to preserve timestamps of original installed > files. Good: $ date ; LANG=C.utf8 mock -q -r fedora-rawhide-x86_64 --no-bootstrap-chroot --no-cleanup-after --no-clean --enable-network --chroot -- "ls -ld \$(rpm -qL golang-github-haproxytech-dataplaneapi)" Wed 04 Mar 2020 02:50:25 PM EST -rw-r--r--. 1 root root 10173 Oct 9 09:36 /usr/share/licenses/golang-github-haproxytech-dataplaneapi/LICENSE $ date ; LANG=C.utf8 mock -q -r fedora-rawhide-x86_64 --no-bootstrap-chroot --no-cleanup-after --no-clean --enable-network --chroot -- "ls -ld \$(rpm -qL golang-github-haproxytech-dataplaneapi-debuginfo)" Wed 04 Mar 2020 02:50:27 PM EST dr-xr-xr-x. 18 root root 4096 Mar 3 17:43 . $ date ; LANG=C.utf8 mock -q -r fedora-rawhide-x86_64 --no-bootstrap-chroot --no-cleanup-after --no-clean --enable-network --chroot -- "ls -ld \$(rpm -qL golang-github-haproxytech-dataplaneapi-debugsource)" Wed 04 Mar 2020 02:50:29 PM EST dr-xr-xr-x. 18 root root 4096 Mar 3 17:43 . $ date ; LANG=C.utf8 mock -q -r fedora-rawhide-x86_64 --no-bootstrap-chroot --no-cleanup-after --no-clean --enable-network --chroot -- "ls -ld \$(rpm -qL golang-github-haproxytech-dataplaneapi-devel)" Wed 04 Mar 2020 02:50:30 PM EST -rw-r--r--. 1 root root 10173 Oct 9 09:36 /usr/share/licenses/golang-github-haproxytech-dataplaneapi-devel/LICENSE > [ ]: Spec use %global instead of %define unless justified. > Note: %define requiring justification: %define gorepo dataplaneapi, > %define haproxy_user haproxy, %define haproxy_group %{haproxy_user}, > %define haproxy_homedir %{_localstatedir}/lib/haproxy Fixed with 1.2.4-6. > [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]: Package should compile and build into binary rpms on all supported > architectures. > > ===== EXTRA items ===== > > Generic: > [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]: 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: golang-github-haproxytech-dataplaneapi-1.2.4-5.fc33.x86_64.rpm > golang-github-haproxytech-dataplaneapi-devel-1.2.4-5.fc33.noarch.rpm > golang-github-haproxytech-dataplaneapi-debuginfo-1.2.4-5.fc33.x86_64.rpm > golang-github-haproxytech-dataplaneapi-debugsource-1.2.4-5.fc33.x86_64.rpm > golang-github-haproxytech-dataplaneapi-1.2.4-5.fc33.src.rpm > golang-github-haproxytech-dataplaneapi-devel.noarch: W: hidden-file-or-dir /usr/share/gocode/src/github.com/haproxytech/dataplaneapi/.goipath Expected. > golang-github-haproxytech-dataplaneapi-debugsource.x86_64: E: description-line-too-long C This package provides debug sources for package golang-github-haproxytech-dataplaneapi. Allowed for '-debuginfo' and '-debugsource' sub-packages. > 5 packages and 0 specfiles checked; 1 errors, 1 warnings. > > > > > Rpmlint (debuginfo) > ------------------- > Checking: golang-github-haproxytech-dataplaneapi-debuginfo-1.2.4-5.fc33.x86_64.rpm > 1 packages and 0 specfiles checked; 0 errors, 0 warnings. > > > > > > Rpmlint (installed packages) > ---------------------------- > golang-github-haproxytech-dataplaneapi-debugsource.x86_64: E: description-line-too-long C This package provides debug sources for package golang-github-haproxytech-dataplaneapi. > golang-github-haproxytech-dataplaneapi-debugsource.x86_64: W: invalid-url URL: https://github.com/haproxytech/dataplaneapi <urlopen error [Errno -2] Name or service not known> > golang-github-haproxytech-dataplaneapi.x86_64: W: invalid-url URL: https://github.com/haproxytech/dataplaneapi <urlopen error [Errno -2] Name or service not known> > golang-github-haproxytech-dataplaneapi-debuginfo.x86_64: W: invalid-url URL: https://github.com/haproxytech/dataplaneapi <urlopen error [Errno -2] Name or service not known> > golang-github-haproxytech-dataplaneapi-devel.noarch: W: invalid-url URL: https://github.com/haproxytech/dataplaneapi <urlopen error [Errno -2] Name or service not known> > golang-github-haproxytech-dataplaneapi-devel.noarch: W: hidden-file-or-dir /usr/share/gocode/src/github.com/haproxytech/dataplaneapi/.goipath > 4 packages and 0 specfiles checked; 1 errors, 5 warnings. > $ sudo mkdir -p /var/lib/mock/fedora-rawhide-x86_64/root/root/.config $ echo "addFilter(r\"hidden-file-or-dir /usr/share/gocode/src/github\.com/.*/.*/.goipath$\")" > /tmp/rpmlint.config $ sudo cp /tmp/rpmlint.config /var/lib/mock/fedora-rawhide-x86_64/root/root/.config/rpmlint $ LANG=C.utf8 mock -q -r fedora-rawhide-x86_64 --no-bootstrap-chroot --no-cleanup-after --no-clean --enable-network --chroot -- rpmlint -f /root/.config/rpmlint golang-github-haproxytech-dataplaneapi golang-github-haproxytech-dataplaneapi-debuginfo golang-github-haproxytech-dataplaneapi-debugsource golang-github-haproxytech-dataplaneapi-devel golang-github-haproxytech-dataplaneapi-debugsource.x86_64: E: description-line-too-long C This package provides debug sources for package golang-github-haproxytech-dataplaneapi. 4 packages and 0 specfiles checked; 1 errors, 0 warnings. > > > Source checksums > ---------------- > https://github.com/haproxytech/dataplaneapi/archive/v1.2.4/dataplaneapi-1.2.4.tar.gz : > CHECKSUM(SHA256) this package : e1791a5475485cb7520d5102509614d072781fc576481eca128e96607c43e12c > CHECKSUM(SHA256) upstream package : e1791a5475485cb7520d5102509614d072781fc576481eca128e96607c43e12c > > > Requires > -------- > golang-github-haproxytech-dataplaneapi (rpmlib, GLIBC filtered): > /bin/sh > config(golang-github-haproxytech-dataplaneapi) > haproxy > libc.so.6()(64bit) > libpthread.so.0()(64bit) > rtld(GNU_HASH) > systemd > > golang-github-haproxytech-dataplaneapi-devel (rpmlib, GLIBC filtered): > go-filesystem > golang(github.com/GehirnInc/crypt) > golang(github.com/GehirnInc/crypt/md5_crypt) > golang(github.com/GehirnInc/crypt/sha256_crypt) > golang(github.com/GehirnInc/crypt/sha512_crypt) > golang(github.com/docker/go-units) > golang(github.com/go-openapi/errors) > golang(github.com/go-openapi/loads) > golang(github.com/go-openapi/runtime) > golang(github.com/go-openapi/runtime/flagext) > golang(github.com/go-openapi/runtime/middleware) > golang(github.com/go-openapi/runtime/security) > golang(github.com/go-openapi/spec) > golang(github.com/go-openapi/strfmt) > golang(github.com/go-openapi/swag) > golang(github.com/go-openapi/validate) > golang(github.com/haproxytech/client-native) > golang(github.com/haproxytech/client-native/configuration) > golang(github.com/haproxytech/client-native/runtime) > golang(github.com/haproxytech/config-parser) > golang(github.com/haproxytech/config-parser/types) > golang(github.com/haproxytech/models) > golang(github.com/jessevdk/go-flags) > golang(github.com/rs/cors) > golang(github.com/shirou/gopsutil/host) > golang(github.com/shirou/gopsutil/mem) > golang(github.com/sirupsen/logrus) > golang(golang.org/x/net/netutil) > golang(golang.org/x/sys/unix) > > golang-github-haproxytech-dataplaneapi-debuginfo (rpmlib, GLIBC filtered): > > golang-github-haproxytech-dataplaneapi-debugsource (rpmlib, GLIBC filtered): > > > > Provides > -------- > golang-github-haproxytech-dataplaneapi: > config(golang-github-haproxytech-dataplaneapi) > golang-github-haproxytech-dataplaneapi > golang-github-haproxytech-dataplaneapi(x86-64) > > golang-github-haproxytech-dataplaneapi-devel: > golang(github.com/haproxytech/dataplaneapi) > golang(github.com/haproxytech/dataplaneapi/adapters) > golang(github.com/haproxytech/dataplaneapi/handlers) > golang(github.com/haproxytech/dataplaneapi/haproxy) > golang(github.com/haproxytech/dataplaneapi/misc) > golang(github.com/haproxytech/dataplaneapi/operations) > golang(github.com/haproxytech/dataplaneapi/operations/acl) > golang(github.com/haproxytech/dataplaneapi/operations/backend) > golang(github.com/haproxytech/dataplaneapi/operations/backend_switching_rule) > golang(github.com/haproxytech/dataplaneapi/operations/bind) > golang(github.com/haproxytech/dataplaneapi/operations/configuration) > golang(github.com/haproxytech/dataplaneapi/operations/defaults) > golang(github.com/haproxytech/dataplaneapi/operations/discovery) > golang(github.com/haproxytech/dataplaneapi/operations/filter) > golang(github.com/haproxytech/dataplaneapi/operations/frontend) > golang(github.com/haproxytech/dataplaneapi/operations/global) > golang(github.com/haproxytech/dataplaneapi/operations/http_request_rule) > golang(github.com/haproxytech/dataplaneapi/operations/http_response_rule) > golang(github.com/haproxytech/dataplaneapi/operations/information) > golang(github.com/haproxytech/dataplaneapi/operations/log_target) > golang(github.com/haproxytech/dataplaneapi/operations/reloads) > golang(github.com/haproxytech/dataplaneapi/operations/server) > golang(github.com/haproxytech/dataplaneapi/operations/server_switching_rule) > golang(github.com/haproxytech/dataplaneapi/operations/sites) > golang(github.com/haproxytech/dataplaneapi/operations/specification) > golang(github.com/haproxytech/dataplaneapi/operations/stats) > golang(github.com/haproxytech/dataplaneapi/operations/stick_rule) > golang(github.com/haproxytech/dataplaneapi/operations/tcp_request_rule) > golang(github.com/haproxytech/dataplaneapi/operations/tcp_response_rule) > golang(github.com/haproxytech/dataplaneapi/operations/transactions) > golang-github-haproxytech-dataplaneapi-devel > golang-ipath(github.com/haproxytech/dataplaneapi) > > golang-github-haproxytech-dataplaneapi-debuginfo: > debuginfo(build-id) > golang-github-haproxytech-dataplaneapi-debuginfo > golang-github-haproxytech-dataplaneapi-debuginfo(x86-64) > > golang-github-haproxytech-dataplaneapi-debugsource: > golang-github-haproxytech-dataplaneapi-debugsource > golang-github-haproxytech-dataplaneapi-debugsource(x86-64) > > > > Generated by fedora-review 0.7.5 (5fa5b7e) last change: 2020-02-16 > Command line :/usr/bin/fedora-review -b 1773720 -L ~/git/haproxytech/RPMS -v > Buildroot used: fedora-rawhide-x86_64 > Active plugins: Generic, Shell-api > Disabled plugins: C/C++, Java, Perl, Ocaml, Python, Haskell, SugarActivity, PHP, fonts, R > Disabled flags: EPEL6, EPEL7, DISTTAG, BATCH, EXARCH > > Built with local dependencies: > ~/git/haproxytech/RPMS/golang-github-gehirninc-crypt-devel-0-0.2.20200214git6c0105a.fc31.noarch.rpm > ~/git/haproxytech/RPMS/golang-github-haproxytech-client-native-devel-1.2.6-2.fc31.noarch.rpm > ~/git/haproxytech/RPMS/golang-github-haproxytech-config-parser-devel-1.2.0-1.fc31.noarch.rpm > ~/git/haproxytech/RPMS/golang-github-haproxytech-dataplaneapi-1.2.4-5.fc31.x86_64.rpm > ~/git/haproxytech/RPMS/golang-github-haproxytech-dataplaneapi-debuginfo-1.2.4-5.fc31.x86_64.rpm > ~/git/haproxytech/RPMS/golang-github-haproxytech-dataplaneapi-debugsource-1.2.4-5.fc31.x86_64.rpm > ~/git/haproxytech/RPMS/golang-github-haproxytech-dataplaneapi-devel-1.2.4-5.fc31.noarch.rpm > ~/git/haproxytech/RPMS/golang-github-haproxytech-models-devel-1.2.4-2.fc31.noarch.rpm
Spec URL: https://raw.githubusercontent.com/bdperkin/haproxytech/master/SPECS/golang-github-haproxytech-dataplaneapi.spec SRPM URL: https://download.copr.fedorainfracloud.org/results/bdperkin/haproxytech/fedora-31-x86_64/01284546-golang-github-haproxytech-dataplaneapi/golang-github-haproxytech-dataplaneapi-1.2.4-6.fc31.src.rpm Successful copr build: https://download.copr.fedorainfracloud.org/results/bdperkin/haproxytech/fedora-31-x86_64/01284546-golang-github-haproxytech-dataplaneapi/ Changelog: * Wed Mar 04 2020 Brandon Perkins <bperkins> - 1.2.4-6 - Use global instead of define macro - Remove defattr macro that is not needed * Mon Mar 02 2020 Brandon Perkins <bperkins> - 1.2.4-5 - Clean changelog * Thu Nov 21 2019 Brandon Perkins <bperkins> - 1.2.4-4 - Suggest logrotate and fix logrotate configuration * Wed Nov 20 2019 Brandon Perkins <bperkins> - 1.2.4-3 - Add man page * Wed Nov 13 2019 Brandon Perkins <bperkins> - 1.2.4-2 - Implement systemd * Wed Nov 13 2019 Brandon Perkins <bperkins> - 1.2.4-1 - Initial package
(In reply to Brandon Perkins from comment #6) > > [ ]: Each %files section contains %defattr if rpm < 4.4 > > Note: %defattr present but not needed > > Fixed with 1.2.4-6. > > Fixed, but there is no line for this in the new review report. $ grep %defattr SPECS/golang-github-haproxytech-dataplaneapi.spec > > [ ]: Spec use %global instead of %define unless justified. > > Note: %define requiring justification: %define gorepo dataplaneapi, > > %define haproxy_user haproxy, %define haproxy_group %{haproxy_user}, > > %define haproxy_homedir %{_localstatedir}/lib/haproxy > > Fixed with 1.2.4-6. > > Fixed: [x]: Spec use %global instead of %define unless justified. $ grep -E "%(global|define)" SPECS/golang-github-haproxytech-dataplaneapi.spec %global gorepo dataplaneapi %global haproxy_user haproxy %global haproxy_group %{haproxy_user} %global haproxy_homedir %{_localstatedir}/lib/haproxy %global _hardened_build 1 %global goipath github.com/haproxytech/dataplaneapi %global common_description %{expand: %global golicenses LICENSE %global godocs README.md CONTRIBUTING.md
Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed ===== 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. - ASL 2.0 [ ]: License field in the package spec file matches the actual license. Note: There is no build directory. Running licensecheck on vanilla upstream sources. Licenses found: "Unknown or generated". 4 files have unknown license. Detailed output of licensecheck in /home/rohara/1773720-golang-github-haproxytech- dataplaneapi/licensecheck.txt - The source contains LICENSE file containig Apache License 2.0. [ ]: License file installed when any subpackage combination is installed. - The license is definitely installed with the regular rpm and/or the -devel package. Does this requirement also apply to debuginfo and debugsource packages? I'm going to assume not. [ ]: Package must own all directories that it creates. Note: Directories without known owners: /etc/logrotate.d - I don't think this is optional. Having the "suggests" line is the spec seems ok, but this package is creating a directory with no owner. [ ]: Package does not own files or directories owned by other packages. Note: Dirs in package are owned also by: - This seems like an issue with all Go modules, as mentioned above. [ ]: %build honors applicable compiler flags or justifies otherwise. [ ]: Package contains no bundled libraries without FPC exception. [ ]: Changelog in prescribed format. - All good. [ ]: Sources contain only permissible code or content. [ ]: Package contains desktop file if it is a GUI application. [ ]: Development files must be in a -devel package [ ]: Package uses nothing in %doc for runtime. [ ]: 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. [ ]: 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. [ ]: Package contains systemd file(s) if in need. [ ]: Useful -debuginfo package or justification otherwise. [ ]: 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 40960 bytes in 4 files. [ ]: Package complies to the Packaging Guidelines - All good. [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 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 must not depend on deprecated() packages. [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]: systemd_post is invoked in %post, systemd_preun in %preun, and systemd_postun in %postun for Systemd service files. Note: Systemd service file(s) in golang-github-haproxytech- dataplaneapi [x]: File names are valid UTF-8. [x]: Packages must not store files under /srv, /opt or /usr/local ===== 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. [ ]: Final provides and requires are sane (see attachments). [ ]: Fully versioned dependency in subpackages if applicable. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in golang- github-haproxytech-dataplaneapi-devel - Can we do this? I know upstream is versioning the releases of the various dataplaneapi components. I'm not sure if this works for go packages. [ ]: Package functions as described. [ ]: Latest version is packaged. [ ]: Package does not include license text files separate from upstream. [ ]: Sources are verified with gpgverify first in %prep if upstream publishes signatures. Note: gpgverify is not used. - No issues above. Latest version is packaged and there is no upstream gpg key to use for verify. [ ]: Description and summary sections in the package spec file contains translations for supported Non-English languages, if available. [ ]: %check is present and all tests pass. [ ]: Packages should try to preserve timestamps of original installed files. - All good. [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]: Package should compile and build into binary rpms on all supported architectures. [x]: Spec use %global instead of %define unless justified. ===== EXTRA items ===== Generic: [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]: 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: golang-github-haproxytech-dataplaneapi-1.2.4-6.fc33.x86_64.rpm golang-github-haproxytech-dataplaneapi-devel-1.2.4-6.fc33.noarch.rpm golang-github-haproxytech-dataplaneapi-debuginfo-1.2.4-6.fc33.x86_64.rpm golang-github-haproxytech-dataplaneapi-debugsource-1.2.4-6.fc33.x86_64.rpm golang-github-haproxytech-dataplaneapi-1.2.4-6.fc33.src.rpm golang-github-haproxytech-dataplaneapi-devel.noarch: W: hidden-file-or-dir /usr/share/gocode/src/github.com/haproxytech/dataplaneapi/.goipath golang-github-haproxytech-dataplaneapi-debugsource.x86_64: E: description-line-too-long C This package provides debug sources for package golang-github-haproxytech-dataplaneapi. 5 packages and 0 specfiles checked; 1 errors, 1 warnings. Rpmlint (debuginfo) ------------------- Checking: golang-github-haproxytech-dataplaneapi-debuginfo-1.2.4-6.fc33.x86_64.rpm 1 packages and 0 specfiles checked; 0 errors, 0 warnings. Rpmlint (installed packages) ---------------------------- perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LC_CTYPE = "C.UTF-8", LANG = "en_US.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LC_CTYPE = "C.UTF-8", LANG = "en_US.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). golang-github-haproxytech-dataplaneapi.x86_64: W: invalid-url URL: https://github.com/haproxytech/dataplaneapi <urlopen error [Errno -2] Name or service not known> golang-github-haproxytech-dataplaneapi-debugsource.x86_64: E: description-line-too-long C This package provides debug sources for package golang-github-haproxytech-dataplaneapi. golang-github-haproxytech-dataplaneapi-debugsource.x86_64: W: invalid-url URL: https://github.com/haproxytech/dataplaneapi <urlopen error [Errno -2] Name or service not known> golang-github-haproxytech-dataplaneapi-debuginfo.x86_64: W: invalid-url URL: https://github.com/haproxytech/dataplaneapi <urlopen error [Errno -2] Name or service not known> golang-github-haproxytech-dataplaneapi-devel.noarch: W: invalid-url URL: https://github.com/haproxytech/dataplaneapi <urlopen error [Errno -2] Name or service not known> golang-github-haproxytech-dataplaneapi-devel.noarch: W: hidden-file-or-dir /usr/share/gocode/src/github.com/haproxytech/dataplaneapi/.goipath 4 packages and 0 specfiles checked; 1 errors, 5 warnings. - I'd love to fix the URL issue since we've seen that in every package we've reviewed for the dataplaneapi effort. Probably more important is the error regarding the description line is too long. # rpm -qip golang-github-haproxytech-dataplaneapi-debugsource-1.2.4-6.fc33.x86_64.rpm Name : golang-github-haproxytech-dataplaneapi-debugsource Version : 1.2.4 Release : 6.fc33 Architecture: x86_64 Install Date: (not installed) Group : Development/Debug Size : 2785503 License : ASL 2.0 Signature : (none) Source RPM : golang-github-haproxytech-dataplaneapi-1.2.4-6.fc33.src.rpm Build Date : Mon 13 Apr 2020 01:20:34 PM CDT Build Host : wilco URL : https://github.com/haproxytech/dataplaneapi Summary : Debug sources for package golang-github-haproxytech-dataplaneapi Description : This package provides debug sources for package golang-github-haproxytech-dataplaneapi. Debug sources are useful when developing applications that use this package or when debugging this package. - So that looks too long: # echo "This package provides debug sources for package golang-github-haproxytech-dataplaneapi." | wc -c 88 - Can we shorten this? rpmlint sees this as an error. Source checksums ---------------- https://github.com/haproxytech/dataplaneapi/archive/v1.2.4/dataplaneapi-1.2.4.tar.gz : CHECKSUM(SHA256) this package : e1791a5475485cb7520d5102509614d072781fc576481eca128e96607c43e12c CHECKSUM(SHA256) upstream package : e1791a5475485cb7520d5102509614d072781fc576481eca128e96607c43e12c Requires -------- golang-github-haproxytech-dataplaneapi (rpmlib, GLIBC filtered): /bin/sh config(golang-github-haproxytech-dataplaneapi) haproxy libc.so.6()(64bit) libpthread.so.0()(64bit) rtld(GNU_HASH) systemd golang-github-haproxytech-dataplaneapi-devel (rpmlib, GLIBC filtered): go-filesystem golang(github.com/GehirnInc/crypt) golang(github.com/GehirnInc/crypt/md5_crypt) golang(github.com/GehirnInc/crypt/sha256_crypt) golang(github.com/GehirnInc/crypt/sha512_crypt) golang(github.com/docker/go-units) golang(github.com/go-openapi/errors) golang(github.com/go-openapi/loads) golang(github.com/go-openapi/runtime) golang(github.com/go-openapi/runtime/flagext) golang(github.com/go-openapi/runtime/middleware) golang(github.com/go-openapi/runtime/security) golang(github.com/go-openapi/spec) golang(github.com/go-openapi/strfmt) golang(github.com/go-openapi/swag) golang(github.com/go-openapi/validate) golang(github.com/haproxytech/client-native) golang(github.com/haproxytech/client-native/configuration) golang(github.com/haproxytech/client-native/runtime) golang(github.com/haproxytech/config-parser) golang(github.com/haproxytech/config-parser/types) golang(github.com/haproxytech/models) golang(github.com/jessevdk/go-flags) golang(github.com/rs/cors) golang(github.com/shirou/gopsutil/host) golang(github.com/shirou/gopsutil/mem) golang(github.com/sirupsen/logrus) golang(golang.org/x/net/netutil) golang(golang.org/x/sys/unix) golang-github-haproxytech-dataplaneapi-debuginfo (rpmlib, GLIBC filtered): golang-github-haproxytech-dataplaneapi-debugsource (rpmlib, GLIBC filtered): Provides -------- golang-github-haproxytech-dataplaneapi: config(golang-github-haproxytech-dataplaneapi) golang-github-haproxytech-dataplaneapi golang-github-haproxytech-dataplaneapi(x86-64) golang-github-haproxytech-dataplaneapi-devel: golang(github.com/haproxytech/dataplaneapi) golang(github.com/haproxytech/dataplaneapi/adapters) golang(github.com/haproxytech/dataplaneapi/handlers) golang(github.com/haproxytech/dataplaneapi/haproxy) golang(github.com/haproxytech/dataplaneapi/misc) golang(github.com/haproxytech/dataplaneapi/operations) golang(github.com/haproxytech/dataplaneapi/operations/acl) golang(github.com/haproxytech/dataplaneapi/operations/backend) golang(github.com/haproxytech/dataplaneapi/operations/backend_switching_rule) golang(github.com/haproxytech/dataplaneapi/operations/bind) golang(github.com/haproxytech/dataplaneapi/operations/configuration) golang(github.com/haproxytech/dataplaneapi/operations/defaults) golang(github.com/haproxytech/dataplaneapi/operations/discovery) golang(github.com/haproxytech/dataplaneapi/operations/filter) golang(github.com/haproxytech/dataplaneapi/operations/frontend) golang(github.com/haproxytech/dataplaneapi/operations/global) golang(github.com/haproxytech/dataplaneapi/operations/http_request_rule) golang(github.com/haproxytech/dataplaneapi/operations/http_response_rule) golang(github.com/haproxytech/dataplaneapi/operations/information) golang(github.com/haproxytech/dataplaneapi/operations/log_target) golang(github.com/haproxytech/dataplaneapi/operations/reloads) golang(github.com/haproxytech/dataplaneapi/operations/server) golang(github.com/haproxytech/dataplaneapi/operations/server_switching_rule) golang(github.com/haproxytech/dataplaneapi/operations/sites) golang(github.com/haproxytech/dataplaneapi/operations/specification) golang(github.com/haproxytech/dataplaneapi/operations/stats) golang(github.com/haproxytech/dataplaneapi/operations/stick_rule) golang(github.com/haproxytech/dataplaneapi/operations/tcp_request_rule) golang(github.com/haproxytech/dataplaneapi/operations/tcp_response_rule) golang(github.com/haproxytech/dataplaneapi/operations/transactions) golang-github-haproxytech-dataplaneapi-devel golang-ipath(github.com/haproxytech/dataplaneapi) golang-github-haproxytech-dataplaneapi-debuginfo: debuginfo(build-id) golang-github-haproxytech-dataplaneapi-debuginfo golang-github-haproxytech-dataplaneapi-debuginfo(x86-64) golang-github-haproxytech-dataplaneapi-debugsource: golang-github-haproxytech-dataplaneapi-debugsource golang-github-haproxytech-dataplaneapi-debugsource(x86-64) Generated by fedora-review 0.7.5 (5fa5b7e) last change: 2020-02-16 Command line :/usr/bin/fedora-review -L /home/rohara/tmp/rpms/ -b 1773720 Buildroot used: fedora-rawhide-x86_64 Active plugins: Generic, Shell-api Disabled plugins: Perl, Python, C/C++, fonts, Ocaml, PHP, Java, SugarActivity, R, Haskell Built with local dependencies: /home/rohara/tmp/rpms/golang-github-haproxytech-config-parser-devel-1.2.0-1.fc33.noarch.rpm /home/rohara/tmp/rpms/golang-github-haproxytech-client-native-devel-1.2.6-2.fc33.noarch.rpm /home/rohara/tmp/rpms/golang-github-haproxytech-models-devel-1.2.4-2.fc33.noarch.rpm /home/rohara/tmp/rpms/golang-github-gehirninc-crypt-devel-0-0.2.20191113git6c0105a.fc33.noarch.rpm
(In reply to Ryan O'Hara from comment #9) > > [ ]: License file installed when any subpackage combination is installed. > > - The license is definitely installed with the regular rpm and/or the -devel > package. Does this requirement also apply to debuginfo and debugsource > packages? I'm going to assume not. > So, this is a great question that, AFAICT has not been resolved: https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/V3JDB74XPJQVNWO7SJVVDYFP3AR6GQD4/ and I don't get clarity from: https://fedoraproject.org/wiki/Packaging:LicensingGuidelines#Subpackage_Licensing or https://docs.fedoraproject.org/en-US/packaging-guidelines/Debuginfo/ I would say that we defer to the auto-generation done by the macros which appears to not include it. > [ ]: Package must own all directories that it creates. > Note: Directories without known owners: /etc/logrotate.d > > - I don't think this is optional. Having the "suggests" line is the spec > seems ok, but this package is creating a directory with no owner. > The /etc/logrotate.d directory is owned by the 'logrotate' package: $ rpm -qf /etc/logrotate.d logrotate-3.15.1-1.fc31.x86_64 This issue is properly satisfied by the logrotate 'Suggests' in the RPM: $ grep ^Suggests: SPECS/golang-github-haproxytech-dataplaneapi.spec Suggests: logrotate $ rpm -qp --suggests RPMS/golang-github-haproxytech-dataplaneapi-1.2.4-5.fc31.x86_64.rpm logrotate To me, it's better to have a possible orphan directory than to have this package become the owner of the directory. And, we certainly wouldn't be the first to go down this path. Quick query shows me: [bperkins@bperkins haproxytech]$ dnf repoquery --queryformat="%{NAME}" --whatsuggests logrotate mariadb-server plymouth However, many more do the ownership thing (which just seems wrong to me): [bperkins@bperkins haproxytech]$ dnf repoquery --queryformat="%{NAME}" --whatprovides /etc/logrotate.d bes copr-dist-git gap-pkg-scscp gerbera kdm-settings lightdm logrotate macromilter openqa ppp psad samba-common sssd-common yast2-filesystem Or, we could go down what I *really* think is wrong and just ignore the issue completely (which is by far the most popular path). I'm personally inclined to do what I did, but I can certainly change it. > [ ]: Package does not own files or directories owned by other packages. > Note: Dirs in package are owned also by: > > - This seems like an issue with all Go modules, as mentioned above. > > [ ]: Fully versioned dependency in subpackages if applicable. > Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in golang- > github-haproxytech-dataplaneapi-devel > > - Can we do this? I know upstream is versioning the releases of the various > dataplaneapi components. I'm not sure if this works for go packages. > Using the %gopkg macro, I don't see how this could be accomplished. This really doesn't seem like a critical requirement to me. > > Rpmlint > ------- > Checking: golang-github-haproxytech-dataplaneapi-1.2.4-6.fc33.x86_64.rpm > > golang-github-haproxytech-dataplaneapi-devel-1.2.4-6.fc33.noarch.rpm > > golang-github-haproxytech-dataplaneapi-debuginfo-1.2.4-6.fc33.x86_64.rpm > > golang-github-haproxytech-dataplaneapi-debugsource-1.2.4-6.fc33.x86_64.rpm > golang-github-haproxytech-dataplaneapi-1.2.4-6.fc33.src.rpm > golang-github-haproxytech-dataplaneapi-devel.noarch: W: hidden-file-or-dir > /usr/share/gocode/src/github.com/haproxytech/dataplaneapi/.goipath > golang-github-haproxytech-dataplaneapi-debugsource.x86_64: E: > description-line-too-long C This package provides debug sources for package > golang-github-haproxytech-dataplaneapi. > 5 packages and 0 specfiles checked; 1 errors, 1 warnings. > > > > > Rpmlint (debuginfo) > ------------------- > Checking: > golang-github-haproxytech-dataplaneapi-debuginfo-1.2.4-6.fc33.x86_64.rpm > 1 packages and 0 specfiles checked; 0 errors, 0 warnings. > > > > > > Rpmlint (installed packages) > ---------------------------- > perl: warning: Setting locale failed. > perl: warning: Please check that your locale settings: > LANGUAGE = (unset), > LC_ALL = (unset), > LC_CTYPE = "C.UTF-8", > LANG = "en_US.UTF-8" > are supported and installed on your system. > perl: warning: Falling back to the standard locale ("C"). > perl: warning: Setting locale failed. > perl: warning: Please check that your locale settings: > LANGUAGE = (unset), > LC_ALL = (unset), > LC_CTYPE = "C.UTF-8", > LANG = "en_US.UTF-8" > are supported and installed on your system. > perl: warning: Falling back to the standard locale ("C"). > golang-github-haproxytech-dataplaneapi.x86_64: W: invalid-url URL: > https://github.com/haproxytech/dataplaneapi <urlopen error [Errno -2] Name > or service not known> > golang-github-haproxytech-dataplaneapi-debugsource.x86_64: E: > description-line-too-long C This package provides debug sources for package > golang-github-haproxytech-dataplaneapi. > golang-github-haproxytech-dataplaneapi-debugsource.x86_64: W: invalid-url > URL: https://github.com/haproxytech/dataplaneapi <urlopen error [Errno -2] > Name or service not known> > golang-github-haproxytech-dataplaneapi-debuginfo.x86_64: W: invalid-url URL: > https://github.com/haproxytech/dataplaneapi <urlopen error [Errno -2] Name > or service not known> > golang-github-haproxytech-dataplaneapi-devel.noarch: W: invalid-url URL: > https://github.com/haproxytech/dataplaneapi <urlopen error [Errno -2] Name > or service not known> > golang-github-haproxytech-dataplaneapi-devel.noarch: W: hidden-file-or-dir > /usr/share/gocode/src/github.com/haproxytech/dataplaneapi/.goipath > 4 packages and 0 specfiles checked; 1 errors, 5 warnings. > > - I'd love to fix the URL issue since we've seen that in every package we've > reviewed for the dataplaneapi effort. Probably more important is the error > regarding the description line is too long. URL issue can be dealt with by running it semi-manually: $ sudo mkdir -p /var/lib/mock/fedora-rawhide-x86_64/root/root/.config $ echo "addFilter(r\"hidden-file-or-dir /usr/share/gocode/src/github\.com/.*/.*/.goipath$\")" > /tmp/rpmlint.config $ sudo cp /tmp/rpmlint.config /var/lib/mock/fedora-rawhide-x86_64/root/root/.config/rpmlint $ LANG=C.utf8 mock -q -r fedora-rawhide-x86_64 --no-bootstrap-chroot --no-cleanup-after --no-clean --enable-network --chroot -- rpmlint -f /root/.config/rpmlint golang-github-haproxytech-dataplaneapi golang-github-haproxytech-dataplaneapi-debuginfo golang-github-haproxytech-dataplaneapi-debugsource golang-github-haproxytech-dataplaneapi-devel golang-github-haproxytech-dataplaneapi-debugsource.x86_64: E: description-line-too-long C This package provides debug sources for package golang-github-haproxytech-dataplaneapi. 4 packages and 0 specfiles checked; 1 errors, 0 warnings. However, it does still show the line too long problem. > > # rpm -qip > golang-github-haproxytech-dataplaneapi-debugsource-1.2.4-6.fc33.x86_64.rpm > Name : golang-github-haproxytech-dataplaneapi-debugsource > Version : 1.2.4 > Release : 6.fc33 > Architecture: x86_64 > Install Date: (not installed) > Group : Development/Debug > Size : 2785503 > License : ASL 2.0 > Signature : (none) > Source RPM : golang-github-haproxytech-dataplaneapi-1.2.4-6.fc33.src.rpm > Build Date : Mon 13 Apr 2020 01:20:34 PM CDT > Build Host : wilco > URL : https://github.com/haproxytech/dataplaneapi > Summary : Debug sources for package > golang-github-haproxytech-dataplaneapi > Description : > This package provides debug sources for package > golang-github-haproxytech-dataplaneapi. > Debug sources are useful when developing applications that use this > package or when debugging this package. > > - So that looks too long: > > # echo "This package provides debug sources for package > golang-github-haproxytech-dataplaneapi." | wc -c > 88 > > - Can we shorten this? rpmlint sees this as an error. > Because of using the %gopkg macro, we're kind of stuck with what it creates. Outside of modifying the macro (which is a non-starter), the only thing that could be done would be to shorten the package name, which is also a non-starter. I think it's an error we just have to live with. Unless you have any other thoughts.
(In reply to Brandon Perkins from comment #10) > (In reply to Ryan O'Hara from comment #9) > > > > [ ]: License file installed when any subpackage combination is installed. > > > > - The license is definitely installed with the regular rpm and/or the -devel > > package. Does this requirement also apply to debuginfo and debugsource > > packages? I'm going to assume not. > > > > So, this is a great question that, AFAICT has not been resolved: > > https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/ > thread/V3JDB74XPJQVNWO7SJVVDYFP3AR6GQD4/ > > and I don't get clarity from: > > https://fedoraproject.org/wiki/Packaging: > LicensingGuidelines#Subpackage_Licensing > or > https://docs.fedoraproject.org/en-US/packaging-guidelines/Debuginfo/ > > I would say that we defer to the auto-generation done by the macros which > appears to not include it. OK. Fair enough. > > [ ]: Package must own all directories that it creates. > > Note: Directories without known owners: /etc/logrotate.d > > > > - I don't think this is optional. Having the "suggests" line is the spec > > seems ok, but this package is creating a directory with no owner. > > > > The /etc/logrotate.d directory is owned by the 'logrotate' package: > > $ rpm -qf /etc/logrotate.d > logrotate-3.15.1-1.fc31.x86_64 > > This issue is properly satisfied by the logrotate 'Suggests' in the RPM: > > $ grep ^Suggests: SPECS/golang-github-haproxytech-dataplaneapi.spec > Suggests: logrotate > $ rpm -qp --suggests > RPMS/golang-github-haproxytech-dataplaneapi-1.2.4-5.fc31.x86_64.rpm > logrotate > > To me, it's better to have a possible orphan directory than to have this > package become the owner of the directory. And, we certainly wouldn't be > the first to go down this path. Quick query shows me: > > [bperkins@bperkins haproxytech]$ dnf repoquery --queryformat="%{NAME}" > --whatsuggests logrotate > mariadb-server > plymouth > > However, many more do the ownership thing (which just seems wrong to me): > > [bperkins@bperkins haproxytech]$ dnf repoquery --queryformat="%{NAME}" > --whatprovides /etc/logrotate.d > bes > copr-dist-git > gap-pkg-scscp > gerbera > kdm-settings > lightdm > logrotate > macromilter > openqa > ppp > psad > samba-common > sssd-common > yast2-filesystem > > Or, we could go down what I *really* think is wrong and just ignore the > issue completely (which is by far the most popular path). > > I'm personally inclined to do what I did, but I can certainly change it. Another option would be to *require* logrotate as a dependency. Thoughts? I'm on the fence with this one. > > [ ]: Package does not own files or directories owned by other packages. > > Note: Dirs in package are owned also by: > > > > - This seems like an issue with all Go modules, as mentioned above. > > > > > [ ]: Fully versioned dependency in subpackages if applicable. > > Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in golang- > > github-haproxytech-dataplaneapi-devel > > > > - Can we do this? I know upstream is versioning the releases of the various > > dataplaneapi components. I'm not sure if this works for go packages. > > > > Using the %gopkg macro, I don't see how this could be accomplished. This > really doesn't seem like a critical requirement to me. I know the above warning is complaining about about the -devel subpackage, but I am more curious if we can do something like this: BuildRequires: golang(github.com/haproxytech/config-parser) >= 1.2.0 Sorry, I should have been more specific. On a related note, I saw that the dataplaneapi spec file has this requirement: Requires: haproxy >= 1.9 We might want to make that 2.0 unless we've tested this with 1.9 -- the API might have changed. Plus, I never put 1.9 in Fedora. > > > > Rpmlint > > ------- > > Checking: golang-github-haproxytech-dataplaneapi-1.2.4-6.fc33.x86_64.rpm > > > > golang-github-haproxytech-dataplaneapi-devel-1.2.4-6.fc33.noarch.rpm > > > > golang-github-haproxytech-dataplaneapi-debuginfo-1.2.4-6.fc33.x86_64.rpm > > > > golang-github-haproxytech-dataplaneapi-debugsource-1.2.4-6.fc33.x86_64.rpm > > golang-github-haproxytech-dataplaneapi-1.2.4-6.fc33.src.rpm > > golang-github-haproxytech-dataplaneapi-devel.noarch: W: hidden-file-or-dir > > /usr/share/gocode/src/github.com/haproxytech/dataplaneapi/.goipath > > golang-github-haproxytech-dataplaneapi-debugsource.x86_64: E: > > description-line-too-long C This package provides debug sources for package > > golang-github-haproxytech-dataplaneapi. > > 5 packages and 0 specfiles checked; 1 errors, 1 warnings. > > > > > > > > > > Rpmlint (debuginfo) > > ------------------- > > Checking: > > golang-github-haproxytech-dataplaneapi-debuginfo-1.2.4-6.fc33.x86_64.rpm > > 1 packages and 0 specfiles checked; 0 errors, 0 warnings. > > > > > > > > > > > > Rpmlint (installed packages) > > ---------------------------- > > perl: warning: Setting locale failed. > > perl: warning: Please check that your locale settings: > > LANGUAGE = (unset), > > LC_ALL = (unset), > > LC_CTYPE = "C.UTF-8", > > LANG = "en_US.UTF-8" > > are supported and installed on your system. > > perl: warning: Falling back to the standard locale ("C"). > > perl: warning: Setting locale failed. > > perl: warning: Please check that your locale settings: > > LANGUAGE = (unset), > > LC_ALL = (unset), > > LC_CTYPE = "C.UTF-8", > > LANG = "en_US.UTF-8" > > are supported and installed on your system. > > perl: warning: Falling back to the standard locale ("C"). > > golang-github-haproxytech-dataplaneapi.x86_64: W: invalid-url URL: > > https://github.com/haproxytech/dataplaneapi <urlopen error [Errno -2] Name > > or service not known> > > golang-github-haproxytech-dataplaneapi-debugsource.x86_64: E: > > description-line-too-long C This package provides debug sources for package > > golang-github-haproxytech-dataplaneapi. > > golang-github-haproxytech-dataplaneapi-debugsource.x86_64: W: invalid-url > > URL: https://github.com/haproxytech/dataplaneapi <urlopen error [Errno -2] > > Name or service not known> > > golang-github-haproxytech-dataplaneapi-debuginfo.x86_64: W: invalid-url URL: > > https://github.com/haproxytech/dataplaneapi <urlopen error [Errno -2] Name > > or service not known> > > golang-github-haproxytech-dataplaneapi-devel.noarch: W: invalid-url URL: > > https://github.com/haproxytech/dataplaneapi <urlopen error [Errno -2] Name > > or service not known> > > golang-github-haproxytech-dataplaneapi-devel.noarch: W: hidden-file-or-dir > > /usr/share/gocode/src/github.com/haproxytech/dataplaneapi/.goipath > > 4 packages and 0 specfiles checked; 1 errors, 5 warnings. > > > > - I'd love to fix the URL issue since we've seen that in every package we've > > reviewed for the dataplaneapi effort. Probably more important is the error > > regarding the description line is too long. > > URL issue can be dealt with by running it semi-manually: > > $ sudo mkdir -p /var/lib/mock/fedora-rawhide-x86_64/root/root/.config > $ echo "addFilter(r\"hidden-file-or-dir > /usr/share/gocode/src/github\.com/.*/.*/.goipath$\")" > /tmp/rpmlint.config > $ sudo cp /tmp/rpmlint.config > /var/lib/mock/fedora-rawhide-x86_64/root/root/.config/rpmlint > $ LANG=C.utf8 mock -q -r fedora-rawhide-x86_64 --no-bootstrap-chroot > --no-cleanup-after --no-clean --enable-network --chroot -- rpmlint -f > /root/.config/rpmlint golang-github-haproxytech-dataplaneapi > golang-github-haproxytech-dataplaneapi-debuginfo > golang-github-haproxytech-dataplaneapi-debugsource > golang-github-haproxytech-dataplaneapi-devel > golang-github-haproxytech-dataplaneapi-debugsource.x86_64: E: > description-line-too-long C This package provides debug sources for package > golang-github-haproxytech-dataplaneapi. > 4 packages and 0 specfiles checked; 1 errors, 0 warnings. > > However, it does still show the line too long problem. > > > > > # rpm -qip > > golang-github-haproxytech-dataplaneapi-debugsource-1.2.4-6.fc33.x86_64.rpm > > Name : golang-github-haproxytech-dataplaneapi-debugsource > > Version : 1.2.4 > > Release : 6.fc33 > > Architecture: x86_64 > > Install Date: (not installed) > > Group : Development/Debug > > Size : 2785503 > > License : ASL 2.0 > > Signature : (none) > > Source RPM : golang-github-haproxytech-dataplaneapi-1.2.4-6.fc33.src.rpm > > Build Date : Mon 13 Apr 2020 01:20:34 PM CDT > > Build Host : wilco > > URL : https://github.com/haproxytech/dataplaneapi > > Summary : Debug sources for package > > golang-github-haproxytech-dataplaneapi > > Description : > > This package provides debug sources for package > > golang-github-haproxytech-dataplaneapi. > > Debug sources are useful when developing applications that use this > > package or when debugging this package. > > > > - So that looks too long: > > > > # echo "This package provides debug sources for package > > golang-github-haproxytech-dataplaneapi." | wc -c > > 88 > > > > - Can we shorten this? rpmlint sees this as an error. > > > > Because of using the %gopkg macro, we're kind of stuck with what it creates. > Outside of modifying the macro (which is a non-starter), the only thing that > could be done would be to shorten the package name, which is also a > non-starter. I think it's an error we just have to live with. Unless you > have any other thoughts. I think at the very least we should file a bug against whatever is defining those macros and see if they can prevent this from happening.
(In reply to Ryan O'Hara from comment #11) > (In reply to Brandon Perkins from comment #10) > > (In reply to Ryan O'Hara from comment #9) > > > > The /etc/logrotate.d directory is owned by the 'logrotate' package: > > > > $ rpm -qf /etc/logrotate.d > > logrotate-3.15.1-1.fc31.x86_64 > > > > This issue is properly satisfied by the logrotate 'Suggests' in the RPM: > > > > $ grep ^Suggests: SPECS/golang-github-haproxytech-dataplaneapi.spec > > Suggests: logrotate > > $ rpm -qp --suggests > > RPMS/golang-github-haproxytech-dataplaneapi-1.2.4-5.fc31.x86_64.rpm > > logrotate > > > > To me, it's better to have a possible orphan directory than to have this > > package become the owner of the directory. And, we certainly wouldn't be > > the first to go down this path. Quick query shows me: > > > > [bperkins@bperkins haproxytech]$ dnf repoquery --queryformat="%{NAME}" > > --whatsuggests logrotate > > mariadb-server > > plymouth > > > > However, many more do the ownership thing (which just seems wrong to me): > > > > [bperkins@bperkins haproxytech]$ dnf repoquery --queryformat="%{NAME}" > > --whatprovides /etc/logrotate.d > > bes > > copr-dist-git > > gap-pkg-scscp > > gerbera > > kdm-settings > > lightdm > > logrotate > > macromilter > > openqa > > ppp > > psad > > samba-common > > sssd-common > > yast2-filesystem > > > > Or, we could go down what I *really* think is wrong and just ignore the > > issue completely (which is by far the most popular path). > > > > I'm personally inclined to do what I did, but I can certainly change it. > > Another option would be to *require* logrotate as a dependency. Thoughts? > I'm on the fence with this one. > Yeah, I thought about that as well. When I reviewed the command run again, it is in fact logging by default (which HAProxy does not do by default). So, log rotation in this case should be the default and not the exception. I'll go ahead and make that change. > > > > Using the %gopkg macro, I don't see how this could be accomplished. This > > really doesn't seem like a critical requirement to me. > > I know the above warning is complaining about about the -devel subpackage, > but I am more curious if we can do something like this: > > BuildRequires: golang(github.com/haproxytech/config-parser) >= 1.2.0 > I'm happy to make that change and I'll do it for client-native as well. > Sorry, I should have been more specific. On a related note, I saw that the > dataplaneapi spec file has this requirement: > > Requires: haproxy >= 1.9 > > We might want to make that 2.0 unless we've tested this with 1.9 -- the API > might have changed. Plus, I never put 1.9 in Fedora. > Will make that change. > > > > Because of using the %gopkg macro, we're kind of stuck with what it creates. > > Outside of modifying the macro (which is a non-starter), the only thing that > > could be done would be to shorten the package name, which is also a > > non-starter. I think it's an error we just have to live with. Unless you > > have any other thoughts. > > I think at the very least we should file a bug against whatever is defining > those macros and see if they can prevent this from happening. Bug entered as: https://bugzilla.redhat.com/show_bug.cgi?id=1823915
Spec URL: https://raw.githubusercontent.com/bdperkin/haproxytech/master/SPECS/golang-github-haproxytech-dataplaneapi.spec SRPM URL: https://download.copr.fedorainfracloud.org/results/bdperkin/haproxytech/fedora-31-x86_64/01337934-golang-github-haproxytech-dataplaneapi/golang-github-haproxytech-dataplaneapi-1.2.4-7.fc31.src.rpm Successful copr build: https://download.copr.fedorainfracloud.org/results/bdperkin/haproxytech/fedora-31-x86_64/01337934-golang-github-haproxytech-dataplaneapi/ Changelog: * Tue Apr 14 14:27:35 EST 2020 Brandon Perkins <bperkins> - 1.2.4-7 - Change haproxy requires to >= 2.0 as 1.9 was never packaged - Require instead of Suggest logrotate due to logging by default - Add specific versions for haproxytech BuildRequires * Wed Mar 04 14:54:06 EST 2020 Brandon Perkins <bperkins> - 1.2.4-6 - Use global instead of define macro - Remove defattr macro that is not needed * Mon Mar 02 15:30:56 EST 2020 Brandon Perkins <bperkins> - 1.2.4-5 - Clean changelog * Thu Nov 21 13:50:08 UTC 2019 Brandon Perkins <bperkins> - 1.2.4-4 - Suggest logrotate and fix logrotate configuration * Wed Nov 20 22:03:49 UTC 2019 Brandon Perkins <bperkins> - 1.2.4-3 - Add man page * Wed Nov 13 12:25:57 UTC 2019 Brandon Perkins <bperkins> - 1.2.4-2 - Implement systemd * Wed Nov 13 12:25:57 UTC 2019 Brandon Perkins <bperkins> - 1.2.4-1 - Initial package
$ rpm -qp --requires golang-github-haproxytech-dataplaneapi-1.2.4-7.fc33.x86_64.rpm | grep ^haproxy haproxy >= 2.0 $ rpm -qp --requires golang-github-haproxytech-dataplaneapi-1.2.4-7.fc33.x86_64.rpm | grep ^logrotate logrotate $ rpm -qp --requires golang-github-haproxytech-dataplaneapi-1.2.4-7.fc33.src.rpm | grep haproxytech golang(github.com/haproxytech/client-native) >= 1.2.6 golang(github.com/haproxytech/client-native/configuration) >= 1.2.6 golang(github.com/haproxytech/client-native/runtime) >= 1.2.6 golang(github.com/haproxytech/config-parser) >= 1.2.0 golang(github.com/haproxytech/config-parser/types) >= 1.2.0 golang(github.com/haproxytech/models) >= 1.2.4 $ LANG=C.utf8 rpmlint *.rpm golang-github-haproxytech-dataplaneapi-debugsource.x86_64: E: description-line-too-long C This package provides debug sources for package golang-github-haproxytech-dataplaneapi. golang-github-haproxytech-dataplaneapi-devel.noarch: W: hidden-file-or-dir /usr/share/gocode/src/github.com/haproxytech/dataplaneapi/.goipath 5 packages and 0 specfiles checked; 1 errors, 1 warnings.
Spec URL: https://raw.githubusercontent.com/bdperkin/haproxytech/master/SPECS/golang-github-haproxytech-dataplaneapi.spec SRPM URL: https://download.copr.fedorainfracloud.org/results/bdperkin/haproxytech/fedora-31-x86_64/01352909-golang-github-haproxytech-dataplaneapi/golang-github-haproxytech-dataplaneapi-2.0.0-1.fc31.src.rpm Successful copr build: https://download.copr.fedorainfracloud.org/results/bdperkin/haproxytech/fedora-31-x86_64/01352909-golang-github-haproxytech-dataplaneapi/ Changelog: * Mon Apr 27 2020 Brandon Perkins <bperkins> - 2.0.0-1 - Upgrade to version 2.0.0 * Wed Apr 15 2020 Brandon Perkins <bperkins> - 1.2.5-1 - Update to version 1.2.5 * Tue Apr 14 2020 Brandon Perkins <bperkins> - 1.2.4-7 - Change haproxy requires to >= 2.0 as 1.9 was never packaged - Add specific versions for haproxytech BuildRequires * Wed Mar 04 2020 Brandon Perkins <bperkins> - 1.2.4-6 - Use global instead of define macro - Remove defattr macro that is not needed * Mon Mar 02 2020 Brandon Perkins <bperkins> - 1.2.4-5 - Clean changelog * Thu Nov 21 2019 Brandon Perkins <bperkins> - 1.2.4-4 - Suggest logrotate and fix logrotate configuration * Wed Nov 20 2019 Brandon Perkins <bperkins> - 1.2.4-3 - Add man page * Wed Nov 13 2019 Brandon Perkins <bperkins> - 1.2.4-2 - Implement systemd * Wed Nov 13 2019 Brandon Perkins <bperkins> - 1.2.4-1 - Initial package
As of now, dataplaneapi is not functional as reported at: https://github.com/haproxytech/dataplaneapi/issues/85
Upstream has fixed the issue with: https://github.com/haproxytech/dataplaneapi/pull/86 but there is not a release for it yet. This is blocked until a new version is released.
Spec URL: https://raw.githubusercontent.com/bdperkin/haproxytech/master/SPECS/golang-github-haproxytech-dataplaneapi.spec SRPM URL: https://download.copr.fedorainfracloud.org/results/bdperkin/haproxytech/fedora-32-x86_64/01373691-golang-github-haproxytech-dataplaneapi/golang-github-haproxytech-dataplaneapi-2.0.1-1.fc32.src.rpm
New version has been released and I can verify that v2.0.1 is functional. This should be unblocked now.
Spec URL: https://raw.githubusercontent.com/bdperkin/haproxytech/master/SPECS/golang-github-haproxytech-dataplaneapi.spec SRPM URL: https://download.copr.fedorainfracloud.org/results/bdperkin/haproxytech/fedora-32-x86_64/01391394-golang-github-haproxytech-dataplaneapi/golang-github-haproxytech-dataplaneapi-2.0.2-1.fc32.src.rpm
Spec URL: https://raw.githubusercontent.com/bdperkin/haproxytech/master/SPECS/golang-github-haproxytech-dataplaneapi.spec SRPM URL: https://download.copr.fedorainfracloud.org/results/bdperkin/haproxytech/fedora-32-x86_64/01419481-golang-github-haproxytech-dataplaneapi/golang-github-haproxytech-dataplaneapi-2.0.3-1.fc32.src.rpm
(fedscm-admin): The Pagure repository was created at https://src.fedoraproject.org/rpms/golang-github-haproxytech-dataplaneapi
CLOSED. In Rawhide (f33) and in progress for f32.