Spec URL: https://github.com/bdperkin/haproxytech/blob/master/SPECS/golang-github-gehirninc-crypt.spec SRPM URL: https://copr-be.cloud.fedoraproject.org/results/bdperkin/haproxytech/fedora-31-x86_64/01093544-golang-github-gehirninc-crypt/golang-github-gehirninc-crypt-0-0.1.20191113git6c0105a.fc31.src.rpm Description: crypt provides pure golang implementations of UNIX's crypt(3). 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/1093544/ Successful koji build: https://koji.fedoraproject.org/koji/taskinfo?taskID=39085541
Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed ===== 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". 1 files have unknown license. Detailed output of licensecheck in /home/rohara/copr- build-1093544/review-golang-github-gehirninc-crypt/licensecheck.txt [ ]: %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. [ ]: 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. [ ]: Package is not known to require an ExcludeArch tag. [ ]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 10240 bytes in 2 files. [ ]: Package complies to the Packaging Guidelines [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 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]: 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]: 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: [!]: 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). [ ]: 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. [x]: Buildroot is not present [x]: Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file [x]: Sources can be downloaded from URI in Source: tag [x]: SourceX is a working URL. [x]: Spec use %global instead of %define unless justified. ===== EXTRA items ===== Generic: [x]: Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). [x]: Spec file according to URL is the same as in SRPM. Rpmlint ------- Checking: golang-github-gehirninc-crypt-devel-0-0.1.20191113git6c0105a.fc32.noarch.rpm golang-github-gehirninc-crypt-0-0.1.20191113git6c0105a.fc32.src.rpm golang-github-gehirninc-crypt-devel.noarch: W: hidden-file-or-dir /usr/share/gocode/src/github.com/GehirnInc/crypt/.goipath golang-github-gehirninc-crypt.src: W: no-%build-section 2 packages and 0 specfiles checked; 0 errors, 2 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-gehirninc-crypt-devel.noarch: W: invalid-url URL: https://github.com/GehirnInc/crypt <urlopen error [Errno -2] Name or service not known> golang-github-gehirninc-crypt-devel.noarch: W: hidden-file-or-dir /usr/share/gocode/src/github.com/GehirnInc/crypt/.goipath 1 packages and 0 specfiles checked; 0 errors, 2 warnings. Source checksums ---------------- https://github.com/GehirnInc/crypt/archive/6c0105aabd460ae06c87afeb5a47c869f6a7557e/crypt-6c0105aabd460ae06c87afeb5a47c869f6a7557e.tar.gz : CHECKSUM(SHA256) this package : b9daac49482d52dc4ab0381124f87cd3ec0104f8f626abd67e3d880cba3258be CHECKSUM(SHA256) upstream package : b9daac49482d52dc4ab0381124f87cd3ec0104f8f626abd67e3d880cba3258be Requires -------- golang-github-gehirninc-crypt-devel (rpmlib, GLIBC filtered): go-filesystem Provides -------- golang-github-gehirninc-crypt-devel: golang(github.com/GehirnInc/crypt) golang(github.com/GehirnInc/crypt)(commit=6c0105aabd460ae06c87afeb5a47c869f6a7557e) golang(github.com/GehirnInc/crypt/apr1_crypt) golang(github.com/GehirnInc/crypt/apr1_crypt)(commit=6c0105aabd460ae06c87afeb5a47c869f6a7557e) golang(github.com/GehirnInc/crypt/common) golang(github.com/GehirnInc/crypt/common)(commit=6c0105aabd460ae06c87afeb5a47c869f6a7557e) golang(github.com/GehirnInc/crypt/internal) golang(github.com/GehirnInc/crypt/internal)(commit=6c0105aabd460ae06c87afeb5a47c869f6a7557e) golang(github.com/GehirnInc/crypt/md5_crypt) golang(github.com/GehirnInc/crypt/md5_crypt)(commit=6c0105aabd460ae06c87afeb5a47c869f6a7557e) golang(github.com/GehirnInc/crypt/sha256_crypt) golang(github.com/GehirnInc/crypt/sha256_crypt)(commit=6c0105aabd460ae06c87afeb5a47c869f6a7557e) golang(github.com/GehirnInc/crypt/sha512_crypt) golang(github.com/GehirnInc/crypt/sha512_crypt)(commit=6c0105aabd460ae06c87afeb5a47c869f6a7557e) golang-github-gehirninc-crypt-devel golang-ipath(github.com/GehirnInc/crypt) golang-ipath(github.com/GehirnInc/crypt)(commit=6c0105aabd460ae06c87afeb5a47c869f6a7557e)
# golang-github-gehirninc-crypt-devel.noarch: W: hidden-file-or-dir /usr/share/gocode/src/github.com/GehirnInc/crypt/.goipath Nothing to worry about, all go devel packages have this in /usr/share/gocode/src/*/*/*/.goipath # golang-github-gehirninc-crypt.src: W: no-%build-section Added in: https://github.com/bdperkin/haproxytech/commit/cb4476b58a85b16eb068e58f06fd68fa7dfae13d # golang-github-gehirninc-crypt-devel.noarch: W: invalid-url URL: https://github.com/GehirnInc/crypt <urlopen error [Errno -2] Name or service not known> I believe this has to do with external network connectivity in build/test environment
Turns out that a %build section breaks the go macros, as a result, I've reverted the change that made rpmlint happy: https://github.com/bdperkin/haproxytech/commit/6361a781c2f51ae9c11c317fd9cf4445e116cd7f
========================== golang-github-gehirninc-crypt-0-0.1.20191113git6c0105a.fc31.src.rpm ========================== golang-github-gehirninc-crypt.src: W: no-%build-section 1 packages and 0 specfiles checked; 0 errors, 1 warnings. ########################## golang-github-gehirninc-crypt ########################## ========================== golang-github-gehirninc-crypt-devel ========================== golang-github-gehirninc-crypt-devel.noarch: W: hidden-file-or-dir /usr/share/gocode/src/github.com/GehirnInc/crypt/.goipath 1 packages and 0 specfiles checked; 0 errors, 1 warnings. Copr build tested: https://copr.fedorainfracloud.org/coprs/bdperkin/haproxytech/build/1114119/
Latest run of fedora-review using latest copr build (1114119), with comments: Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed ===== MUST items ===== Generic: [ ]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. Note: Using prebuilt packages - This isn't a prebuilt package, it is a development package. Ignoring this. [ ]: Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. - License is BSD 2-clause. [ ]: 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 /home/rohara/copr- build-1114119/review-golang-github-gehirninc-crypt/licensecheck.txt - Don't understand this "unknown of generated". I inspected the license and it clearly appears to be BSD 2-clause. Also, the licensecheck.txt file is not helpful. [ ]: %build honors applicable compiler flags or justifies otherwise. - No %build here since this is devel only package. [ ]: Package contains no bundled libraries without FPC exception. [ ]: Changelog in prescribed format. - Changelog needs attention. I'd would personally not use UTC time format, but technically it is fine. Definitely change name from "mockbuild" to your actual name and <email>. [ ]: 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. [ ]: Package is not known to require an ExcludeArch tag. [ ]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 10240 bytes in 2 files. [ ]: Package complies to the Packaging Guidelines - No issues with above. [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 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]: 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]: 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: [!]: Reviewer should test that the package builds in mock. Not sure about this. The fedora-review tool builds in mock, so I am inclined to say this works as intended. However I was not able to manually build this package 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). [ ]: 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. - No issues above. Latest version is packaged, should be -devel package only (no binaries), and there is no upstream gpg key to use for verify. [x]: Buildroot is not present [x]: Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file [x]: Sources can be downloaded from URI in Source: tag [x]: SourceX is a working URL. [x]: Spec use %global instead of %define unless justified. ===== EXTRA items ===== Generic: [x]: Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). [x]: Spec file according to URL is the same as in SRPM. Rpmlint ------- Checking: golang-github-gehirninc-crypt-devel-0-0.1.20191113git6c0105a.fc32.noarch.rpm golang-github-gehirninc-crypt-0-0.1.20191113git6c0105a.fc32.src.rpm golang-github-gehirninc-crypt-devel.noarch: W: hidden-file-or-dir /usr/share/gocode/src/github.com/GehirnInc/crypt/.goipath golang-github-gehirninc-crypt.src: W: no-%build-section 2 packages and 0 specfiles checked; 0 errors, 2 warnings. - No issues. First, there should not be a %build section for a -devel go package. Second, I believe that .goipath are unavoidable with go packages. 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"). - I can't seem to avoid this. Is it really a problem? golang-github-gehirninc-crypt-devel.noarch: W: invalid-url URL: https://github.com/GehirnInc/crypt <urlopen error [Errno -2] Name or service not known> - This URL is valid for me. What is it trying to do here? golang-github-gehirninc-crypt-devel.noarch: W: hidden-file-or-dir /usr/share/gocode/src/github.com/GehirnInc/crypt/.goipath 1 packages and 0 specfiles checked; 0 errors, 2 warnings. - Same as above. I believe these .goipath files are unavoidable. Source checksums ---------------- https://github.com/GehirnInc/crypt/archive/6c0105aabd460ae06c87afeb5a47c869f6a7557e/crypt-6c0105aabd460ae06c87afeb5a47c869f6a7557e.tar.gz : CHECKSUM(SHA256) this package : b9daac49482d52dc4ab0381124f87cd3ec0104f8f626abd67e3d880cba3258be CHECKSUM(SHA256) upstream package : b9daac49482d52dc4ab0381124f87cd3ec0104f8f626abd67e3d880cba3258be Requires -------- golang-github-gehirninc-crypt-devel (rpmlib, GLIBC filtered): go-filesystem Provides -------- golang-github-gehirninc-crypt-devel: golang(github.com/GehirnInc/crypt) golang(github.com/GehirnInc/crypt)(commit=6c0105aabd460ae06c87afeb5a47c869f6a7557e) golang(github.com/GehirnInc/crypt/apr1_crypt) golang(github.com/GehirnInc/crypt/apr1_crypt)(commit=6c0105aabd460ae06c87afeb5a47c869f6a7557e) golang(github.com/GehirnInc/crypt/common) golang(github.com/GehirnInc/crypt/common)(commit=6c0105aabd460ae06c87afeb5a47c869f6a7557e) golang(github.com/GehirnInc/crypt/internal) golang(github.com/GehirnInc/crypt/internal)(commit=6c0105aabd460ae06c87afeb5a47c869f6a7557e) golang(github.com/GehirnInc/crypt/md5_crypt) golang(github.com/GehirnInc/crypt/md5_crypt)(commit=6c0105aabd460ae06c87afeb5a47c869f6a7557e) golang(github.com/GehirnInc/crypt/sha256_crypt) golang(github.com/GehirnInc/crypt/sha256_crypt)(commit=6c0105aabd460ae06c87afeb5a47c869f6a7557e) golang(github.com/GehirnInc/crypt/sha512_crypt) golang(github.com/GehirnInc/crypt/sha512_crypt)(commit=6c0105aabd460ae06c87afeb5a47c869f6a7557e) golang-github-gehirninc-crypt-devel golang-ipath(github.com/GehirnInc/crypt) golang-ipath(github.com/GehirnInc/crypt)(commit=6c0105aabd460ae06c87afeb5a47c869f6a7557e) Generated by fedora-review 0.7.5 (5fa5b7e) last change: 2020-02-16 Command line :/usr/bin/fedora-review --copr-build 1114119 Buildroot used: fedora-rawhide-x86_64 Active plugins: Shell-api, Generic Disabled plugins: Perl, fonts, Haskell, Ocaml, PHP, C/C++, R, Java, Python, SugarActivity Disabled flags: EPEL6, EPEL7, DISTTAG, BATCH, EXARCH - Seems good. Few questions remain and just a couple modifications required (eg. changelog). I wonder how much of these quirky complaints are just due to this with a simple go -devel (aka. source) package?
Spec URL: https://raw.githubusercontent.com/bdperkin/haproxytech/master/SPECS/golang-github-gehirninc-crypt.spec SRPM URL: https://download.copr.fedorainfracloud.org/results/bdperkin/haproxytech/fedora-31-x86_64/01281732-golang-github-gehirninc-crypt/golang-github-gehirninc-crypt-0-0.2.20191113git6c0105a.fc31.src.rpm Successful copr build: https://download.copr.fedorainfracloud.org/results/bdperkin/haproxytech/fedora-31-x86_64/01281732-golang-github-gehirninc-crypt/ Changelog: * Mon Mar 02 2020 Brandon Perkins <bperkins> - 0-0.2.20200302git6c0105a - Clean changelog * Wed Nov 13 2019 Brandon Perkins <bperkins> - 0-0.1.20191113git6c0105a - Initial package RPM Lint: golang-github-gehirninc-crypt.src: W: no-%build-section golang-github-gehirninc-crypt-devel.noarch: W: hidden-file-or-dir /usr/share/gocode/src/github.com/GehirnInc/crypt/.goipath 2 packages and 0 specfiles checked; 0 errors, 2 warnings.
(In reply to Ryan O'Hara from comment #5) > Latest run of fedora-review using latest copr build (1114119), with comments: > > ===== MUST items ===== > > Generic: > [ ]: Package successfully compiles and builds into binary rpms on at least > one supported primary architecture. > Note: Using prebuilt packages > > - This isn't a prebuilt package, it is a development package. Ignoring this. This works for me now: [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. > [ ]: 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 /home/rohara/copr- > build-1114119/review-golang-github-gehirninc-crypt/licensecheck.txt > > - Don't understand this "unknown of generated". I inspected the license and > it clearly appears to be BSD 2-clause. Also, the licensecheck.txt file is > not helpful. I looked at the code and I understand what it was *trying* to do and why it failed. Doing what it's doing semi-manually, we can see it is okay: [bperkins@bperkins haproxytech]$ pushd 1773716-golang-github-gehirninc-crypt/srpm-unpacked/ ~/git/haproxytech/1773716-golang-github-gehirninc-crypt/srpm-unpacked ~/git/haproxytech [bperkins@bperkins srpm-unpacked]$ grep -i license golang-github-gehirninc-crypt.spec %global golicenses LICENSE # Upstream license specification: BSD-2-Clause License: BSD [bperkins@bperkins srpm-unpacked]$ tar -xzf crypt-6c0105aabd460ae06c87afeb5a47c869f6a7557e.tar.gz [bperkins@bperkins srpm-unpacked]$ licensecheck crypt-6c0105aabd460ae06c87afeb5a47c869f6a7557e/LICENSE crypt-6c0105aabd460ae06c87afeb5a47c869f6a7557e/LICENSE: BSD 2-clause "Simplified" License > [ ]: Changelog in prescribed format. > > - Changelog needs attention. I'd would personally not use UTC time format, > but technically it is fine. Definitely change name from "mockbuild" to your > actual name and <email>. Fixed in latest build. Find new Changelog output in comment 6 above. > Rpmlint > ------- > Checking: > golang-github-gehirninc-crypt-devel-0-0.1.20191113git6c0105a.fc32.noarch.rpm > golang-github-gehirninc-crypt-0-0.1.20191113git6c0105a.fc32.src.rpm > golang-github-gehirninc-crypt-devel.noarch: W: hidden-file-or-dir > /usr/share/gocode/src/github.com/GehirnInc/crypt/.goipath > golang-github-gehirninc-crypt.src: W: no-%build-section > 2 packages and 0 specfiles checked; 0 errors, 2 warnings. > > > - No issues. First, there should not be a %build section for a -devel go > package. Second, I believe that .goipath are unavoidable with go packages. Both statements are correct. > 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"). > > - I can't seem to avoid this. Is it really a problem? I'm still looking at this, but I doubt it since it is still running. > golang-github-gehirninc-crypt-devel.noarch: W: invalid-url URL: > https://github.com/GehirnInc/crypt <urlopen error [Errno -2] Name or service > not known> > > - This URL is valid for me. What is it trying to do here? I have an idea on this one that I will test shortly. > golang-github-gehirninc-crypt-devel.noarch: W: hidden-file-or-dir > /usr/share/gocode/src/github.com/GehirnInc/crypt/.goipath > 1 packages and 0 specfiles checked; 0 errors, 2 warnings. > > - Same as above. I believe these .goipath files are unavoidable. > > - Seems good. Few questions remain and just a couple modifications required > (eg. changelog). I wonder how much of these quirky complaints are just due > to this with a simple go -devel (aka. source) package? Probably, but I'll keep investigating.
(In reply to Brandon Perkins from comment #7) > (In reply to Ryan O'Hara from comment #5) > > 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"). > > > > - I can't seem to avoid this. Is it really a problem? > > I'm still looking at this, but I doubt it since it is still running. > SOLVED: run fedora-review with the LANG environment variable set to C.utf8: $ LANG=C.utf8 fedora-review -b 1773716 INFO: Processing bugzilla bug: 1773716 INFO: Getting .spec and .srpm Urls from : 1773716 INFO: --> SRPM url: https://download.copr.fedorainfracloud.org/results/bdperkin/haproxytech/fedora-31-x86_64/01281732-golang-github-gehirninc-crypt/golang-github-gehirninc-crypt-0-0.2.20191113git6c0105a.fc31.src.rpm INFO: --> Spec url: https://raw.githubusercontent.com/bdperkin/haproxytech/master/SPECS/golang-github-gehirninc-crypt.spec INFO: Using review directory: /home/bperkins/git/haproxytech/1773716-golang-github-gehirninc-crypt INFO: Downloading .spec and .srpm files INFO: Downloading (Source0): https://github.com/GehirnInc/crypt/archive/6c0105aabd460ae06c87afeb5a47c869f6a7557e/crypt-6c0105aabd460ae06c87afeb5a47c869f6a7557e.tar.gz INFO: Running checks and generating report INFO: Results and/or logs in: /home/bperkins/git/haproxytech/1773716-golang-github-gehirninc-crypt/results INFO: Reading configuration from /etc/mock/site-defaults.cfg INFO: Reading configuration from /etc/mock/fedora-rawhide-x86_64.cfg INFO: Build completed WARNING: Package golang-github-gehirninc-crypt-debuginfo-0-0.2.fc33 not built WARNING: Package golang-github-gehirninc-crypt-debugsource-0-0.2.fc33 not built INFO: Installing built package(s) INFO: Active plugins: Generic, Shell-api INFO: ExclusiveArch dependency checking disabled, enable with EXARCH flag Review template in: /home/bperkins/git/haproxytech/1773716-golang-github-gehirninc-crypt/review.txt fedora-review is automated tool, but *YOU* are responsible for manually reviewing the results and finishing the review. Do not just copy-paste the results without understanding them.
(In reply to Brandon Perkins from comment #7) > (In reply to Ryan O'Hara from comment #5) > > golang-github-gehirninc-crypt-devel.noarch: W: invalid-url URL: > > https://github.com/GehirnInc/crypt <urlopen error [Errno -2] Name or service > > not known> > > > > - This URL is valid for me. What is it trying to do here? > > I have an idea on this one that I will test shortly. > Workaround: NOTE: seems like a bug in fedora-review to me that they run mock --chroot without --enable-network for that particular test and they enable network for a lot of other tests. Test can be manually performed as follows: 1. Run full 'fedora-review' 2. Verify package under test is installed: $ LANG=C.utf8 mock -q -r fedora-rawhide-x86_64 --no-bootstrap-chroot --no-cleanup-after --no-clean --enable-network --chroot -- rpm -q golang-github-gehirninc-crypt-devel golang-github-gehirninc-crypt-devel-0-0.2.20200214git6c0105a.fc31.noarch 3. Run rpmlint on installed package: $ LANG=C.utf8 mock -q -r fedora-rawhide-x86_64 --no-bootstrap-chroot --no-cleanup-after --no-clean --enable-network --chroot -- rpmlint golang-github-gehirninc-crypt-devel golang-github-gehirninc-crypt-devel.noarch: W: hidden-file-or-dir /usr/share/gocode/src/github.com/GehirnInc/crypt/.goipath 1 packages and 0 specfiles checked; 0 errors, 1 warnings.
(In reply to Brandon Perkins from comment #7) > (In reply to Ryan O'Hara from comment #5) > > Rpmlint > > ------- > > Checking: > > golang-github-gehirninc-crypt-devel-0-0.1.20191113git6c0105a.fc32.noarch.rpm > > golang-github-gehirninc-crypt-0-0.1.20191113git6c0105a.fc32.src.rpm > > golang-github-gehirninc-crypt-devel.noarch: W: hidden-file-or-dir > > /usr/share/gocode/src/github.com/GehirnInc/crypt/.goipath > > golang-github-gehirninc-crypt.src: W: no-%build-section > > 2 packages and 0 specfiles checked; 0 errors, 2 warnings. > > > > > > - No issues. First, there should not be a %build section for a -devel go > > package. Second, I believe that .goipath are unavoidable with go packages. > > Both statements are correct. > > > golang-github-gehirninc-crypt-devel.noarch: W: hidden-file-or-dir > > /usr/share/gocode/src/github.com/GehirnInc/crypt/.goipath > > 1 packages and 0 specfiles checked; 0 errors, 2 warnings. > > > > - Same as above. I believe these .goipath files are unavoidable. > > I've at least learned a lot more about rpmlint. This may be a feature request for rpmlint, but basically, the problem is that we're missing a filter in /usr/share/rpmlint/config. I figured it out by looking at the line: addFilter(r"hidden-file-or-dir .*/man5/\.k5login\.5[^/]+$") so, by adding an equivalent line: addFilter(r"hidden-file-or-dir /usr/share/gocode/src/github\.com/.*/.*/.goipath$") for .goipath, we can get a clean rpmlint: $ 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-gehirninc-crypt-devel 1 packages and 0 specfiles checked; 0 errors, 0 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-gehirninc-crypt-devel-0-0.2.20200214git6c0105a.fc31.noarch.rpm SRPMS/golang-github-gehirninc-crypt-0-0.2.20200214git6c0105a.fc31.src.rpm golang-github-gehirninc-crypt-devel: BSD golang-github-gehirninc-crypt: BSD > [ ]: 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/1773716-golang-github-gehirninc- > crypt/licensecheck.txt Unknown or generated -------------------- ~/git/haproxytech/1773716-golang-github-gehirninc-crypt/upstream-unpacked/Source0/crypt-6c0105aabd460ae06c87afeb5a47c869f6a7557e.tar.gz $ rpm -qpL RPMS/golang-github-gehirninc-crypt-devel-0-0.2.20200214git6c0105a.fc31.noarch.rpm /usr/share/licenses/golang-github-gehirninc-crypt-devel/LICENSE $ tar -tf 1773716-golang-github-gehirninc-crypt/upstream-unpacked/Source0/crypt-6c0105aabd460ae06c87afeb5a47c869f6a7557e.tar.gz | grep /LICENSE$ crypt-6c0105aabd460ae06c87afeb5a47c869f6a7557e/LICENSE $ tar -xvzf 1773716-golang-github-gehirninc-crypt/upstream-unpacked/Source0/crypt-6c0105aabd460ae06c87afeb5a47c869f6a7557e.tar.gz crypt-6c0105aabd460ae06c87afeb5a47c869f6a7557e/LICENSE crypt-6c0105aabd460ae06c87afeb5a47c869f6a7557e/LICENSE $ rpm -qp --queryformat="%{NAME}: %{LICENSE}\n" RPMS/golang-github-gehirninc-crypt-devel-0-0.2.20200214git6c0105a.fc31.noarch.rpm golang-github-gehirninc-crypt-devel: BSD $ licensecheck crypt-6c0105aabd460ae06c87afeb5a47c869f6a7557e/LICENSE crypt-6c0105aabd460ae06c87afeb5a47c869f6a7557e/LICENSE: BSD 2-clause "Simplified" License $ grep '^# Upstream license specification: ' 1773716-golang-github-gehirninc-crypt/srpm-unpacked/golang-github-gehirninc-crypt.spec # Upstream license specification: BSD-2-Clause > [ ]: 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-gehirninc-crypt.spec > [ ]: Package contains no bundled libraries without FPC exception. None: $ rpm -qp --provides RPMS/golang-github-gehirninc-crypt-devel-0-0.2.20200214git6c0105a.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-gehirninc-crypt-devel-0-0.2.20200214git6c0105a.fc31.noarch.rpm > [ ]: Package uses nothing in %doc for runtime. None: golang-github-gehirninc-crypt-devel: /usr/share/doc/golang-github-gehirninc-crypt-devel/AUTHORS.md /usr/share/doc/golang-github-gehirninc-crypt-devel/README.rst /usr/share/gocode/src/github.com/GehirnInc/crypt/AUTHORS.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-gehirninc-crypt-devel: go-filesystem > [ ]: 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 2 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]: 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]: 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-gehirninc-crypt.spec %bcond_without check # https://github.com/GehirnInc/crypt %global goipath github.com/GehirnInc/crypt -- %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-gehirninc-crypt-devel)" Wed 04 Mar 2020 02:50:20 PM EST -rw-r--r--. 1 root root 1333 Mar 1 2019 /usr/share/licenses/golang-github-gehirninc-crypt-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-gehirninc-crypt-devel-0-0.2.20191113git6c0105a.fc33.noarch.rpm > golang-github-gehirninc-crypt-0-0.2.20191113git6c0105a.fc33.src.rpm > golang-github-gehirninc-crypt-devel.noarch: W: hidden-file-or-dir /usr/share/gocode/src/github.com/GehirnInc/crypt/.goipath Expected. > golang-github-gehirninc-crypt.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-gehirninc-crypt-devel.noarch: W: invalid-url URL: https://github.com/GehirnInc/crypt <urlopen error [Errno -2] Name or service not known> > golang-github-gehirninc-crypt-devel.noarch: W: hidden-file-or-dir /usr/share/gocode/src/github.com/GehirnInc/crypt/.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-gehirninc-crypt-devel 1 packages and 0 specfiles checked; 0 errors, 0 warnings. > > > Source checksums > ---------------- > https://github.com/GehirnInc/crypt/archive/6c0105aabd460ae06c87afeb5a47c869f6a7557e/crypt-6c0105aabd460ae06c87afeb5a47c869f6a7557e.tar.gz : > CHECKSUM(SHA256) this package : b9daac49482d52dc4ab0381124f87cd3ec0104f8f626abd67e3d880cba3258be > CHECKSUM(SHA256) upstream package : b9daac49482d52dc4ab0381124f87cd3ec0104f8f626abd67e3d880cba3258be > > > Requires > -------- > golang-github-gehirninc-crypt-devel (rpmlib, GLIBC filtered): > go-filesystem > > > > Provides > -------- > golang-github-gehirninc-crypt-devel: > golang(github.com/GehirnInc/crypt) > golang(github.com/GehirnInc/crypt)(commit=6c0105aabd460ae06c87afeb5a47c869f6a7557e) > golang(github.com/GehirnInc/crypt/apr1_crypt) > golang(github.com/GehirnInc/crypt/apr1_crypt)(commit=6c0105aabd460ae06c87afeb5a47c869f6a7557e) > golang(github.com/GehirnInc/crypt/common) > golang(github.com/GehirnInc/crypt/common)(commit=6c0105aabd460ae06c87afeb5a47c869f6a7557e) > golang(github.com/GehirnInc/crypt/internal) > golang(github.com/GehirnInc/crypt/internal)(commit=6c0105aabd460ae06c87afeb5a47c869f6a7557e) > golang(github.com/GehirnInc/crypt/md5_crypt) > golang(github.com/GehirnInc/crypt/md5_crypt)(commit=6c0105aabd460ae06c87afeb5a47c869f6a7557e) > golang(github.com/GehirnInc/crypt/sha256_crypt) > golang(github.com/GehirnInc/crypt/sha256_crypt)(commit=6c0105aabd460ae06c87afeb5a47c869f6a7557e) > golang(github.com/GehirnInc/crypt/sha512_crypt) > golang(github.com/GehirnInc/crypt/sha512_crypt)(commit=6c0105aabd460ae06c87afeb5a47c869f6a7557e) > golang-github-gehirninc-crypt-devel > golang-ipath(github.com/GehirnInc/crypt) > golang-ipath(github.com/GehirnInc/crypt)(commit=6c0105aabd460ae06c87afeb5a47c869f6a7557e) > > > > Generated by fedora-review 0.7.5 (5fa5b7e) last change: 2020-02-16 > Command line :/usr/bin/fedora-review -b 1773716 -L ~/git/haproxytech/RPMS -v > Buildroot used: fedora-rawhide-x86_64 > Active plugins: Shell-api, Generic > Disabled plugins: Java, C/C++, R, fonts, SugarActivity, PHP, Perl, Haskell, Ocaml, Python > 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
Approved.
Spec URL: https://raw.githubusercontent.com/bdperkin/haproxytech/master/SPECS/golang-github-gehirninc-crypt.spec SRPM URL: https://download.copr.fedorainfracloud.org/results/bdperkin/haproxytech/fedora-32-x86_64/01373680-golang-github-gehirninc-crypt/golang-github-gehirninc-crypt-0-0.3.20200415gitbb7000b.fc32.src.rpm
(fedscm-admin): The Pagure repository was created at https://src.fedoraproject.org/rpms/golang-github-gehirninc-crypt
CLOSED. In Rawhide (f33) and in progress for f32.