Bug 1989386
| Summary: | Review Request: golang-github-jwt - A go implementation of JSON Web Tokens. | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Ondřej Budai <obudai> |
| Component: | Package Review | Assignee: | Link Dupont <link> |
| Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | rawhide | CC: | link, package-review, sraymaek |
| Target Milestone: | --- | Flags: | link:
fedora-review+
|
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2021-08-16 17:00:24 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
|
Description
Ondřej Budai
2021-08-03 06:12:40 UTC
[FIX] Your name has some unicode character encoding issue in the %changelog
[FIX] The %changelog includes the %{?dist} macro; over time, that macro will
update what it expands to, causing the historical entries in %changelog to
change too. I suggest removing %{dist} from the %changelog entries.
They're not necessary or required.
[FIX] Two separate README.md files are listed in %docs. These will conflict with
each other and cause a warning in the build logs.
"warning: File listed twice: /usr/share/doc/golang-github-jwt-devel/README.md"
If both README files are needed, one should be manually installed into the
doc dir under a different name (i.e. README-jwt.md).
[NOTE] Lots of other packages own /usr/share/gocode/src/github.com. If this is
incorrect, it's a bug in the golang macros that needs to be addressed.
It's not something that can be fixed here.
[NOTE] A new upstream version (4.0.0) was released 7 days ago, as of this
writing.
[NOTE] The -devel subpackage does not explicitly require the main package, but
that is not a problem. The main package is not required when compiling a
project that uses the "jwt" Go package.
Package Review
==============
Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
[ ] = Manual review needed
Issues:
=======
- Package does not contain duplicates in %files.
Note: warning: File listed twice: /usr/share/doc/golang-github-
jwt/README.md
See: https://docs.fedoraproject.org/en-US/packaging-
guidelines/#_duplicate_files
===== MUST items =====
Generic:
[x]: Package is licensed with an open-source compatible license and meets
other legal requirements as defined in the legal section of Packaging
Guidelines.
[x]: License field in the package spec file matches the actual license.
Note: There is no build directory. Running licensecheck on vanilla
upstream sources. Licenses found: "MIT License", "Unknown or
generated". 54 files have unknown license. Detailed output of
licensecheck in /home/link/1989386-golang-github-jwt/licensecheck.txt
[x]: License file installed when any subpackage combination is installed.
[!]: Package does not own files or directories owned by other packages.
Note: Dirs in package are owned also by other packages:
/usr/share/gocode/src/github.com
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: Package contains no bundled libraries without FPC exception.
[!]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[-]: Package contains desktop file if it is a GUI application.
[x]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[x]: Package consistently uses macros (instead of hard-coded directory
names).
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[x]: Package obeys FHS, except libexecdir and /usr/target.
[-]: If the package is a rename of another package, proper Obsoletes and
Provides are present.
[x]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[x]: Useful -debuginfo package or justification otherwise.
[x]: 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 6 files.
[x]: Package complies to the Packaging Guidelines
[x]: Package successfully compiles and builds into binary rpms on at least
one supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
Note: There are rpmlint messages (see attachment).
[x]: If (and only if) the source package includes the text of the
license(s) in its own file, then that file, containing the text of the
license(s) for the package is included in %license.
[x]: Package requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
beginning of %install.
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Dist tag is present.
[x]: 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.
[x]: Final provides and requires are sane (see attachments).
[x]: Fully versioned dependency in subpackages if applicable.
Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in golang-
github-jwt-devel
[x]: Package functions as described.
[!]: Latest version is packaged.
[x]: 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.
[x]: Description and summary sections in the package spec file contains
translations for supported Non-English languages, if available.
[x]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed
files.
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
$RPM_BUILD_ROOT)
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Sources can be downloaded from URI in Source: tag
[x]: SourceX is a working URL.
[x]: 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-jwt-3.2.2-1.fc35.x86_64.rpm
golang-github-jwt-devel-3.2.2-1.fc35.noarch.rpm
golang-github-jwt-debuginfo-3.2.2-1.fc35.x86_64.rpm
golang-github-jwt-debugsource-3.2.2-1.fc35.x86_64.rpm
golang-github-jwt-3.2.2-1.fc35.src.rpm
golang-github-jwt.x86_64: W: no-manual-page-for-binary jwt
golang-github-jwt-devel.noarch: W: hidden-file-or-dir /usr/share/gocode/src/github.com/golang-jwt/jwt/.goipath
5 packages and 0 specfiles checked; 0 errors, 2 warnings.
Rpmlint (debuginfo)
-------------------
Checking: golang-github-jwt-debuginfo-3.2.2-1.fc35.x86_64.rpm
1 packages and 0 specfiles checked; 0 errors, 0 warnings.
Rpmlint (installed packages)
----------------------------
Cannot parse rpmlint output:
Source checksums
----------------
https://github.com/golang-jwt/jwt/archive/v3.2.2/jwt-3.2.2.tar.gz :
CHECKSUM(SHA256) this package : 4cd18a4bb5d949244f137fed0884f93695ff268cb9efaba71ddcf4c50b17efe0
CHECKSUM(SHA256) upstream package : 4cd18a4bb5d949244f137fed0884f93695ff268cb9efaba71ddcf4c50b17efe0
Requires
--------
golang-github-jwt (rpmlib, GLIBC filtered):
libc.so.6()(64bit)
golang-github-jwt-devel (rpmlib, GLIBC filtered):
go-filesystem
golang-github-jwt-debuginfo (rpmlib, GLIBC filtered):
golang-github-jwt-debugsource (rpmlib, GLIBC filtered):
Provides
--------
golang-github-jwt:
golang-github-jwt
golang-github-jwt(x86-64)
golang-github-jwt-devel:
golang(github.com/golang-jwt/jwt)
golang(github.com/golang-jwt/jwt/request)
golang(github.com/golang-jwt/jwt/test)
golang-github-jwt-devel
golang-ipath(github.com/golang-jwt/jwt)
golang-github-jwt-debuginfo:
debuginfo(build-id)
golang-github-jwt-debuginfo
golang-github-jwt-debuginfo(x86-64)
golang-github-jwt-debugsource:
golang-github-jwt-debugsource
golang-github-jwt-debugsource(x86-64)
Generated by fedora-review 0.7.6 (b083f91) last change: 2020-11-10
Command line :/usr/bin/fedora-review -b 1989386
Buildroot used: fedora-rawhide-x86_64
Active plugins: Generic, Shell-api
Disabled plugins: Haskell, fonts, Java, Ocaml, SugarActivity, C/C++, Perl, Python, R, PHP
Disabled flags: EPEL6, EPEL7, DISTTAG, BATCH, EXARCH
Thank you for the review! I updated the spec according to your notes: https://download.copr.fedorainfracloud.org/results/obudai/golang-github-jwt/fedora-rawhide-x86_64/02517463-golang-github-jwt/golang-github-jwt.spec result directory: https://download.copr.fedorainfracloud.org/results/obudai/golang-github-jwt/fedora-rawhide-x86_64/02517463-golang-github-jwt/ > [NOTE] A new upstream version (4.0.0) was released 7 days ago, as of this writing. Indeed, v4 introduces go module support, but also requires all users to update their import paths. Most projects still depend on v3.2.2, which is also only 12 days old, and which will still receive security updates. Somewhere down the line this package should switch to v4, if support is needed by anyone now, I think it's reasonable to create a 2nd `golang-github-jwt-v4` package. (Fedora Account System Username: gundersanne) > I think it's reasonable to create a 2nd `golang-github-jwt-v4` package.
Yes. I didn't notice they added the modules and appended the version to the module path. That's perfect. I think that the go2rpm tool even supports that correctly, and if given the /v4 import path, it will generate a golang-github-jwt-4 package for you.
(fedscm-admin): The Pagure repository was created at https://src.fedoraproject.org/rpms/golang-github-jwt We now have builds in all supported Fedora versions, closing this. |