[Bug 1773719] Review Request: golang-github-haproxytech-client-native - Go client for HAProxy configuration and runtime API

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



https://bugzilla.redhat.com/show_bug.cgi?id=1773719



--- Comment #6 from Brandon Perkins <bperkins@xxxxxxxxxx> ---
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:

> Issues:
> =======
> - Package does not contain duplicates in %files.
>   Note: warning: File listed twice: /usr/share/doc/golang-github-
>   haproxytech-client-native-devel/README.md
>   See: https://docs.fedoraproject.org/en-US/packaging-
>   guidelines/#_duplicate_files

This appears to be an issue in the %godevelfiles macro in
/usr/lib/rpm/macros.d/macros.go-srpm.  However, it does not appear it is
something that I can override.

> 
> 
> ===== 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-client-native-devel-1.2.6-2.fc31.noarch.rpm
SRPMS/golang-github-haproxytech-client-native-1.2.6-2.fc31.src.rpm
golang-github-haproxytech-client-native-devel: ASL 2.0
golang-github-haproxytech-client-native: 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". 1 files have
>      unknown license. Detailed output of licensecheck in
>      ~/git/haproxytech/1773719-golang-github-haproxytech-
>      client-native/licensecheck.txt


Unknown or generated
--------------------
~/git/haproxytech/1773719-golang-github-haproxytech-client-native/upstream-unpacked/Source0/client-native-1.2.6.tar.gz

$ rpm -qpL
RPMS/golang-github-haproxytech-client-native-devel-1.2.6-2.fc31.noarch.rpm 
/usr/share/licenses/golang-github-haproxytech-client-native-devel/LICENSE
$ tar -tf
1773719-golang-github-haproxytech-client-native/upstream-unpacked/Source0/client-native-1.2.6.tar.gz
| grep /LICENSE$
client-native-1.2.6/LICENSE
$ tar -xvzf
1773719-golang-github-haproxytech-client-native/upstream-unpacked/Source0/client-native-1.2.6.tar.gz
client-native-1.2.6/LICENSE
client-native-1.2.6/LICENSE
$ rpm -qp --queryformat="%{NAME}: %{LICENSE}\n"
RPMS/golang-github-haproxytech-client-native-devel-1.2.6-2.fc31.noarch.rpm
golang-github-haproxytech-client-native-devel: ASL 2.0
$ licensecheck client-native-1.2.6/LICENSE
client-native-1.2.6/LICENSE: *No copyright* Apache License (v2.0)
$ grep '^# Upstream license specification: '
1773719-golang-github-haproxytech-client-native/srpm-unpacked/golang-github-haproxytech-client-native.spec 
# Upstream license specification: Apache-2.0


> [ ]: 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.

Not Applicable as there is no %build section:

$ grep -A7 ^%build SPECS/golang-github-haproxytech-client-native.spec


> [ ]: Package contains no bundled libraries without FPC exception.

None:

$ rpm -qp --provides
RPMS/golang-github-haproxytech-client-native-devel-1.2.6-2.fc31.noarch.rpm |
grep bundled


> [ ]: Changelog in prescribed format.

Should all be fixed now.

> [ ]: Sources contain only permissible code or content.

Yes.

> [ ]: Package contains desktop file if it is a GUI application.

Not Applicable.

> [ ]: Development files must be in a -devel package

RPMS/golang-github-haproxytech-client-native-devel-1.2.6-2.fc31.noarch.rpm


> [ ]: Package uses nothing in %doc for runtime.

None:

golang-github-haproxytech-client-native-devel:
/usr/share/doc/golang-github-haproxytech-client-native-devel/README.md
/usr/share/gocode/src/github.com/haproxytech/client-native/README.md
/usr/share/gocode/src/github.com/haproxytech/client-native/runtime/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-client-native-devel:
go-filesystem
golang(github.com/go-openapi/errors)
golang(github.com/go-openapi/strfmt)
golang(github.com/google/uuid)
golang(github.com/haproxytech/config-parser)
golang(github.com/haproxytech/config-parser/common)
golang(github.com/haproxytech/config-parser/errors)
golang(github.com/haproxytech/config-parser/params)
golang(github.com/haproxytech/config-parser/parsers/filters)
golang(github.com/haproxytech/config-parser/parsers/http/actions)
golang(github.com/haproxytech/config-parser/parsers/tcp/actions)
golang(github.com/haproxytech/config-parser/types)
golang(github.com/haproxytech/models)
golang(github.com/mitchellh/mapstructure)
golang(github.com/pkg/errors)



> [ ]: Spec file is legible and written in American English.

Yes.

> [ ]: Package contains systemd file(s) if in need.

Not Applicable.

> [ ]: 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 10240 bytes in 1 files.

Not needed as 10240 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 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]: 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]: 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
> 
> ===== 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.

> [ ]: 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-client-native.spec
%bcond_without check

# https://github.com/haproxytech/client-native
%global goipath         github.com/haproxytech/client-native
--
%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-client-native-devel)"
Wed 04 Mar 2020 02:50:22 PM EST
-rw-r--r--. 1 root root 10173 Oct  9 09:28
/usr/share/licenses/golang-github-haproxytech-client-native-devel/LICENSE


> [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 all installed packages.
>      Note: There are rpmlint messages (see attachment).
> [x]: Spec file according to URL is the same as in SRPM.
> 
> 
> Rpmlint
> -------
> Checking: golang-github-haproxytech-client-native-devel-1.2.6-2.fc33.noarch.rpm
>           golang-github-haproxytech-client-native-1.2.6-2.fc33.src.rpm
> golang-github-haproxytech-client-native-devel.noarch: W: hidden-file-or-dir /usr/share/gocode/src/github.com/haproxytech/client-native/.goipath

Expected.

> golang-github-haproxytech-client-native.src: W: no-%build-section

%build section not needed for '-devel' packages.

> 2 packages and 0 specfiles checked; 0 errors, 2 warnings.
> 
> 
> 
> 
> Rpmlint (installed packages)
> ----------------------------
> golang-github-haproxytech-client-native-devel.noarch: W: invalid-url URL: https://github.com/haproxytech/client-native <urlopen error [Errno -2] Name or service not known>
> golang-github-haproxytech-client-native-devel.noarch: W: hidden-file-or-dir /usr/share/gocode/src/github.com/haproxytech/client-native/.goipath
> 1 packages and 0 specfiles checked; 0 errors, 2 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-client-native-devel
1 packages and 0 specfiles checked; 0 errors, 0 warnings.


> 
> 
> Source checksums
> ----------------
> https://github.com/haproxytech/client-native/archive/v1.2.6/client-native-1.2.6.tar.gz :
>   CHECKSUM(SHA256) this package     : 3ff941f973eeaf6f6089ae961318194f0adda75f9e9b330c060c172aae2ec2a2
>   CHECKSUM(SHA256) upstream package : 3ff941f973eeaf6f6089ae961318194f0adda75f9e9b330c060c172aae2ec2a2
> 
> 
> Requires
> --------
> golang-github-haproxytech-client-native-devel (rpmlib, GLIBC filtered):
>     go-filesystem
>     golang(github.com/go-openapi/errors)
>     golang(github.com/go-openapi/strfmt)
>     golang(github.com/google/uuid)
>     golang(github.com/haproxytech/config-parser)
>     golang(github.com/haproxytech/config-parser/common)
>     golang(github.com/haproxytech/config-parser/errors)
>     golang(github.com/haproxytech/config-parser/params)
>     golang(github.com/haproxytech/config-parser/parsers/filters)
>     golang(github.com/haproxytech/config-parser/parsers/http/actions)
>     golang(github.com/haproxytech/config-parser/parsers/tcp/actions)
>     golang(github.com/haproxytech/config-parser/types)
>     golang(github.com/haproxytech/models)
>     golang(github.com/mitchellh/mapstructure)
>     golang(github.com/pkg/errors)
> 
> 
> 
> Provides
> --------
> golang-github-haproxytech-client-native-devel:
>     golang(github.com/haproxytech/client-native)
>     golang(github.com/haproxytech/client-native/configuration)
>     golang(github.com/haproxytech/client-native/misc)
>     golang(github.com/haproxytech/client-native/runtime)
>     golang-github-haproxytech-client-native-devel
>     golang-ipath(github.com/haproxytech/client-native)
> 
> 
> 
> Generated by fedora-review 0.7.5 (5fa5b7e) last change: 2020-02-16
> Command line :/usr/bin/fedora-review -b 1773719 -L ~/git/haproxytech/RPMS -v
> Buildroot used: fedora-rawhide-x86_64
> Active plugins: Generic, Shell-api
> Disabled plugins: C/C++, Ocaml, R, Haskell, Perl, SugarActivity, Java, PHP, Python, fonts
> 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

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are always notified about changes to this product and component
_______________________________________________
package-review mailing list -- package-review@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to package-review-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/package-review@xxxxxxxxxxxxxxxxxxxxxxx




[Index of Archives]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite Conditions]     [KDE Users]

  Powered by Linux