Bug 2341923 - Review Request: nginx-mod-headers-more - module allowing to add, set, or clear any specified output or input header
Summary: Review Request: nginx-mod-headers-more - module allowing to add, set, or clea...
Keywords:
Status: RELEASE_PENDING
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Remi Collet
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2025-01-24 12:08 UTC by Luboš Uhliarik
Modified: 2025-01-25 17:17 UTC (History)
3 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Type: ---
Embargoed:
fedora: fedora-review+


Attachments (Terms of Use)
review.txt$ (4.35 KB, text/plain)
2025-01-24 15:34 UTC, Remi Collet
no flags Details

Description Luboš Uhliarik 2025-01-24 12:08:24 UTC
Spec URL: https://luhliarik.fedorapeople.org/nginx-mod-headers-more.spec
SRPM URL: https://luhliarik.fedorapeople.org/nginx-mod-headers-more-0.37-1.fc42.src.rpm
Description: This module allows you to add, set, or clear any output or input header that you specify.
Fedora Account System Username: luhliarik

Comment 1 Remi Collet 2025-01-24 15:34:55 UTC
Created attachment 2073693 [details]
review.txt$

Comment 2 Remi Collet 2025-01-24 15:36:40 UTC
Minor problem

There is no LICENSE file upstream
please file a bug asking for it (and add link in the spec)

The license text is in the README file
perhaps this one should be tag with %license

No blocker

==== APPROVED ====

Comment 3 Petr Menšík 2025-01-24 16:25:21 UTC
Absence of any %license marked file seems to me like a blocker, not a minor issue. %doc marked documents are allowed to be omitted when installing the package. I think packaging guidelines requires %license marked text to be always installed, which is not the case now.

More on: https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuidelines/#_license_text

I propose to either do not mark README.markdown as %doc or mark it directly %license. I would propose requesting separate file with license text only added upstream. But until separate %license file is done, I think the package has to ensure license text is present among its files when the package is installed. That forbids %doc having that text IMO.

It might be possible to "extract" license text from README at build time, then using it as separate marked file.

sed --silent -e '/^Copyright & License/,/\[Back to TOC\]/ p' README.markdown > LICENSE.markdown
touch -r README.markdown LICENSE.markdown

Technically upstream includes license, just not in separate file. That could be separated in package spec until upstream moves it to separate file. But I do not think %doc can be used for it.

Additional problem seems unowned parent directories.

%{nginx_moddir}
%{nginx_modconfdir}

These directories need to exist, but the package does not have any direct Requires: ensuring package owning them must be present. I think potential shared library dependencies should not be relied on in this case, but not only BuildRequires should be used. Add Requires: nginx-core for correct depend owning those.

[!]: Package requires other packages for directories it uses.

Comment 4 Luboš Uhliarik 2025-01-24 23:26:36 UTC
Hello Remi and Peter,

Thanks a lot for your review.

(In reply to Petr Menšík from comment #3)
> Absence of any %license marked file seems to me like a blocker, not a minor
> issue. %doc marked documents are allowed to be omitted when installing the
> package. I think packaging guidelines requires %license marked text to be
> always installed, which is not the case now.
> 
> More on:
> https://docs.fedoraproject.org/en-US/packaging-guidelines/
> LicensingGuidelines/#_license_text
> 
> I propose to either do not mark README.markdown as %doc or mark it directly
> %license. I would propose requesting separate file with license text only
> added upstream. But until separate %license file is done, I think the
> package has to ensure license text is present among its files when the
> package is installed. That forbids %doc having that text IMO.
> 
> It might be possible to "extract" license text from README at build time,
> then using it as separate marked file.
> 
> sed --silent -e '/^Copyright & License/,/\[Back to TOC\]/ p' README.markdown
> > LICENSE.markdown
> touch -r README.markdown LICENSE.markdown
> 
> Technically upstream includes license, just not in separate file. That could
> be separated in package spec until upstream moves it to separate file. But I
> do not think %doc can be used for it.

I agree that separate LICENSE SHOULD be included and therefor I've already 
created a upstream request to include license text in a separate file [0].

According to fedora packaging guidelines [1] it is not not mandatory it is 
only recommended (SHOULD instead of MUST), so I think it should not be a 
showstopper and we don't need to wait until upstream resolves this issue. 

> 
> Additional problem seems unowned parent directories.
> 
> %{nginx_moddir}
> %{nginx_modconfdir}
> 
> These directories need to exist, but the package does not have any direct
> Requires: ensuring package owning them must be present. I think potential
> shared library dependencies should not be relied on in this case, but not
> only BuildRequires should be used. Add Requires: nginx-core for correct
> depend owning those.
> 
> [!]: Package requires other packages for directories it uses.

Every module package requires nginx(abi) = %{_nginx_abiversion} based on 
the ABI version of nginx which was used to build this module e.g.

$ rpm -qp ./nginx-mod-headers-more-0.37-1.fc41.x86_64.rpm --requires |grep nginx
nginx(abi) = 1.26.2

[0] https://github.com/openresty/headers-more-nginx-module/pull/168
[1] https://docs.fedoraproject.org/en-US/packaging-guidelines/ReviewGuidelines/

Comment 5 Remi Collet 2025-01-25 06:25:11 UTC
> According to fedora packaging guidelines [1] it is not not mandatory it is 
> only recommended (SHOULD instead of MUST), so I think it should not be a 
> showstopper and we don't need to wait until upstream resolves this issue. 

Guidelines are unclear (this was clearer in the past)

Fedora Guidelines say SHOULD, but BSD License says MUST ;)

The reason why I said this is not a blocker (BSD doesn't care about "how" it is provided, so %doc is OK)

Comment 6 Luboš Uhliarik 2025-01-25 17:07:37 UTC
Upstream luckily accepted my PR[0] in few hours, so the %license issue is already solved. 

[0] https://github.com/openresty/headers-more-nginx-module/releases/tag/v0.38

Comment 7 Fedora Admin user for bugzilla script actions 2025-01-25 17:17:05 UTC
The Pagure repository was created at https://src.fedoraproject.org/rpms/nginx-mod-headers-more


Note You need to log in before you can comment on or make changes to this bug.