Bug 2431607 - Review Request: ipp-usb - HTTP reverse proxy for IPP-over-USB devices
Summary: Review Request: ipp-usb - HTTP reverse proxy for IPP-over-USB devices
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Maxwell G
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-01-21 14:29 UTC by Zdenek Dohnal
Modified: 2026-01-28 18:03 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2026-01-28 08:47:38 UTC
Type: ---
Embargoed:
maxwell: fedora-review+


Attachments (Terms of Use)

Description Zdenek Dohnal 2026-01-21 14:29:34 UTC
Spec URL: https://zdohnal.fedorapeople.org/ipp-usb/ipp-usb.spec
SRPM URL: https://zdohnal.fedorapeople.org/ipp-usb/ipp-usb-0.9.30-9.fc44.src.rpm
Description:
HTTP reverse proxy, backed by IPP-over-USB connection to device. It enables driverless support for USB devices capable of using IPP-over-USB protocol.
Fedora Account System Username: zdohnal

This is re-review due renaming the component golang-github-openprinting-ipp-usb to ipp-usb. The old component shipped ipp-usb RPM already, so upgrade path can be done via bumping the NVR in the new package, and -devel subpackage does not have a replacement, so it will be added to fedora-obsolete-packages to handle its removal from system.

Comment 1 Fedora Review Service 2026-01-21 14:39:37 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/10042070
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2431607-ipp-usb/fedora-rawhide-x86_64/10042070-ipp-usb/fedora-review/review.txt

Please take a look if any issues were found.


---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 2 Maxwell G 2026-01-23 21:02:35 UTC
Notes
=========

> %files
> [...]
> %{_udevrulesdir}/*.rules
> %{_unitdir}/*.service

* Avoid globbing everything under a shared directory. See <https://docs.fedoraproject.org/en-US/packaging-guidelines/#_explicit_lists>.

* This package uses cgo, so you should set the correct build flags.

--- ipp-usb.spec.orig	
+++ ipp-usb.spec	
@@ -57,6 +57,7 @@
 
 %build
 %global gomodulesmode GO111MODULE=on
+export CGO_CFLAGS="%{build_cflags}" CGO_LDFLAGS="%{build_ldflags}"
 # -mod=vendor is default as of go 1.14; go.mod is set to 1.11
 %gobuild -mod=vendor -o %{gobuilddir}/bin/ipp-usb %{goipath}
 
@@ -90,6 +91,7 @@
 %check
 %go_vendor_license_check -c %{SOURCE2}
 %if %{with check}
+export CGO_CFLAGS="%{build_cflags}" CGO_LDFLAGS="%{build_ldflags}"
 %gotest -mod=vendor ./...
 %endif
 

> -devel subpackage does not have a replacement, so it will be added to fedora-obsolete-packages to handle its removal from system.

* I don't think you need the Obsoletes, since the golang-*-devel packages are not expected to be installed on end user systems in the first place. And even if they were, there shouldn't be a need to forcibly remove the old -devel subpackage via Obsoletes, as it doesn't depend on the main package and won't break updates. And even if it did, it'd be better to add the Obsoletes to the new ipp-usb package, as fedora-obsolete-packages is considered a last resort.


Vendored Go Package Review
==============

This package was generated using go2rpm and Go Vendor Tools, which simplifies the review.

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated


- [x] The specfile is legible.
- [x] The SRPM contains a valid `go-vendor-tools.toml`.
    - The default `detector = "askalono"` is included unless there is
      justification.
    - Manual license overrides are correct.
- [x] The latest version is packaged or packaging an earlier version is justified.
- [x] The License tag reflects the package contents and uses the correct identifiers.
- [x] The package builds successfully in mock.
- [x] Package is installable (checked by fedora-review).
- [x] There are no relevant rpmlint errors.
- [x] The package runs tests in %check.
- [x] `%goipath` is set correctly.
- [x] The package's binaries don't conflict with binaries already in the distribution. (Some Go projects include utility binaries with very generic names)
- [!] %files does not contain any broad glob patterns.
- [x] The package does not use `%gometa -f` if it has dependents that still build for %ix86.
- [x] The package complies with the rest of the Golang and general Packaging Guidelines.

Source: <https://git.sr.ht/~gotmax23/fedora-scripts/tree/main/item/go-sig/vendored_review_template.md>

I'm happy to approve the package once the issues are fixed, or Martin is welcome to pick up the review from here.

Comment 3 Zdenek Dohnal 2026-01-26 14:00:52 UTC
Hi Maxwell!

(In reply to Maxwell G from comment #2)
> Notes
> =========
> 
> > %files
> > [...]
> > %{_udevrulesdir}/*.rules
> > %{_unitdir}/*.service
> 
> * Avoid globbing everything under a shared directory. See
> <https://docs.fedoraproject.org/en-US/packaging-guidelines/#_explicit_lists>.
> 
> * This package uses cgo, so you should set the correct build flags.
> 
> --- ipp-usb.spec.orig	
> +++ ipp-usb.spec	
> @@ -57,6 +57,7 @@
>  
>  %build
>  %global gomodulesmode GO111MODULE=on
> +export CGO_CFLAGS="%{build_cflags}" CGO_LDFLAGS="%{build_ldflags}"
>  # -mod=vendor is default as of go 1.14; go.mod is set to 1.11
>  %gobuild -mod=vendor -o %{gobuilddir}/bin/ipp-usb %{goipath}
>  
> @@ -90,6 +91,7 @@
>  %check
>  %go_vendor_license_check -c %{SOURCE2}
>  %if %{with check}
> +export CGO_CFLAGS="%{build_cflags}" CGO_LDFLAGS="%{build_ldflags}"
>  %gotest -mod=vendor ./...
>  %endif

Thank you! Updated and new SPEC+SRPM are uploaded at the same link location.

>  
> 
> > -devel subpackage does not have a replacement, so it will be added to fedora-obsolete-packages to handle its removal from system.
> 
> * I don't think you need the Obsoletes, since the golang-*-devel packages
> are not expected to be installed on end user systems in the first place. And
> even if they were, there shouldn't be a need to forcibly remove the old
> -devel subpackage via Obsoletes, as it doesn't depend on the main package
> and won't break updates. And even if it did, it'd be better to add the
> Obsoletes to the new ipp-usb package, as fedora-obsolete-packages is
> considered a last resort.

I prefer to clean up RPMs which were provided by my component and they aren't shipped anymore - I understand it can break compilation for somebody who uses it, but IMO it is better than leave unmaintained RPM on the system, which might include vulnerability or bug.

> Source:
> <https://git.sr.ht/~gotmax23/fedora-scripts/tree/main/item/go-sig/
> vendored_review_template.md>
> 
> I'm happy to approve the package once the issues are fixed, or Martin is
> welcome to pick up the review from here.

I've talked with Martin and he is okay with you taking over the review - I'll reassign the bug to you.

Thank you in advance!

Comment 4 Maxwell G 2026-01-27 19:22:51 UTC
[fedora-review-service-build]

Comment 5 Maxwell G 2026-01-27 21:54:36 UTC
Package approved, but I noticed two other minor things to change before you import the package:


> %files
> %{_mandir}/man8/ipp-usb.8.*

* Please change this

to %{_mandir}/man8/ipp-usb.8*

to match the format in https://docs.fedoraproject.org/en-US/packaging-guidelines/#_manpages.


> %{_sbindir}/ipp-usb

* I would just reference %{_bindir} here and in %install now that /usr/sbin -> /usr/bin (https://fedoraproject.org/wiki/Changes/Unify_bin_and_sbin)

Vendored Go Package Review
==============

This package was generated using go2rpm and Go Vendor Tools, which simplifies the review.

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated


- [x] The specfile is legible.
- [x] The SRPM contains a valid `go-vendor-tools.toml`.
    - The default `detector = "askalono"` is included unless there is
      justification.
    - Manual license overrides are correct.
- [x] The latest version is packaged or packaging an earlier version is justified.
- [x] The License tag reflects the package contents and uses the correct identifiers.
- [x] The package builds successfully in mock.
- [x] Package is installable (checked by fedora-review).
- [x] There are no relevant rpmlint errors.
- [x] The package runs tests in %check.
- [x] `%goipath` is set correctly.
- [x] The package's binaries don't conflict with binaries already in the distribution. (Some Go projects include utility binaries with very generic names)
- [x] There are no `%{_bindir}/*` wildcards in %files.
- [x] The package does not use `%gometa -f` if it has dependents that still build for %ix86.
- [x] The package complies with the rest of the Golang and general Packaging Guidelines.

Package approved! On import, don't forget to do the following:

- [ ] Address the two nits above
- [ ] Add the package to release-monitoring.org.
- [ ] Give go-sig privileges (at least commit) on the package.
- [ ] Close the review bug by referencing its ID in the rpm changelog and the Bodhi ticket.

Thanks!

Source: <https://git.sr.ht/~gotmax23/fedora-scripts/tree/main/item/go-sig/vendored_review_template.md>

Comment 6 Maxwell G 2026-01-27 21:54:52 UTC
Thanks!

Comment 7 Zdenek Dohnal 2026-01-28 07:39:07 UTC
(In reply to Maxwell G from comment #5)
> Package approved, but I noticed two other minor things to change before you
> import the package:
> 
> 
> > %files
> > %{_mandir}/man8/ipp-usb.8.*
> 
> * Please change this
> 
> to %{_mandir}/man8/ipp-usb.8*
> 
> to match the format in
> https://docs.fedoraproject.org/en-US/packaging-guidelines/#_manpages.

Np, I will change it. Just curious - do you know the reason behind the format? Man pages are automatically compressed during RPM build, so they will be in format 'name.N.<compression format>', where IMO compression format can change, thus the suffix wildcard.


> 
> 
> > %{_sbindir}/ipp-usb
> 
> * I would just reference %{_bindir} here and in %install now that /usr/sbin
> -> /usr/bin (https://fedoraproject.org/wiki/Changes/Unify_bin_and_sbin)

A fair point - I've checked the functionality 'ipp-usb check' worked fine, so LGTM atm.

> 
> Vendored Go Package Review
> ==============
> 
> This package was generated using go2rpm and Go Vendor Tools, which
> simplifies the review.
> 
> Legend:
> [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
> 
> 
> - [x] The specfile is legible.
> - [x] The SRPM contains a valid `go-vendor-tools.toml`.
>     - The default `detector = "askalono"` is included unless there is
>       justification.
>     - Manual license overrides are correct.
> - [x] The latest version is packaged or packaging an earlier version is
> justified.
> - [x] The License tag reflects the package contents and uses the correct
> identifiers.
> - [x] The package builds successfully in mock.
> - [x] Package is installable (checked by fedora-review).
> - [x] There are no relevant rpmlint errors.
> - [x] The package runs tests in %check.
> - [x] `%goipath` is set correctly.
> - [x] The package's binaries don't conflict with binaries already in the
> distribution. (Some Go projects include utility binaries with very generic
> names)
> - [x] There are no `%{_bindir}/*` wildcards in %files.
> - [x] The package does not use `%gometa -f` if it has dependents that still
> build for %ix86.
> - [x] The package complies with the rest of the Golang and general Packaging
> Guidelines.

I use 'fedora-review' tool to check the package - how can I run this specific package review automatically? I see you have the checklist on your git, but I don't know how to run it - or you do it manually?


(In reply to Maxwell G from comment #6)
> Thanks!

Thank you as well!

Comment 8 Fedora Admin user for bugzilla script actions 2026-01-28 07:44:21 UTC
The Pagure repository was created at https://src.fedoraproject.org/rpms/ipp-usb

Comment 9 Fedora Update System 2026-01-28 08:44:13 UTC
FEDORA-2026-1794830474 (ipp-usb-0.9.30-9.fc44) has been submitted as an update to Fedora 44.
https://bodhi.fedoraproject.org/updates/FEDORA-2026-1794830474

Comment 10 Fedora Update System 2026-01-28 08:47:38 UTC
FEDORA-2026-1794830474 (ipp-usb-0.9.30-9.fc44) has been pushed to the Fedora 44 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 11 Maxwell G 2026-01-28 18:03:06 UTC
(In reply to Zdenek Dohnal from comment #7)
> (In reply to Maxwell G from comment #5)
> > Package approved, but I noticed two other minor things to change before you
> > import the package:
> > 
> > 
> > > %files
> > > %{_mandir}/man8/ipp-usb.8.*
> > 
> > * Please change this
> > 
> > to %{_mandir}/man8/ipp-usb.8*
> > 
> > to match the format in
> > https://docs.fedoraproject.org/en-US/packaging-guidelines/#_manpages.
> 
> Np, I will change it. Just curious - do you know the reason behind the
> format? Man pages are automatically compressed during RPM build, so they
> will be in format 'name.N.<compression format>', where IMO compression
> format can change, thus the suffix wildcard.

I guess the suggested format would also work if we stopped compressing manpages entirely while the one that assumes a dot at the end would not.

> > > %{_sbindir}/ipp-usb
> > 
> > * I would just reference %{_bindir} here and in %install now that /usr/sbin
> > -> /usr/bin (https://fedoraproject.org/wiki/Changes/Unify_bin_and_sbin)
> 
> A fair point - I've checked the functionality 'ipp-usb check' worked fine,
> so LGTM atm.

:+1:


> I use 'fedora-review' tool to check the package - how can I run this
> specific package review automatically? I see you have the checklist on your
> git, but I don't know how to run it - or you do it manually?


Manually :). I just wanted to make a simple checklist as a shortened version of the standard fedora-review template with some additions for Go packages. I still recommend running fedora-review on your packages and briefly checking its output (which I did myself here as well). Also, if you leave a comment containing the SPEC and SRPM URL boilerplate on the review bug each time you make a change, the bot will run fedora-review for you and attach a diff of your specfile changes since the last time it ran.


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