Bug 2432005 - Review Request: opkssh - OpenPubkey SSH
Summary: Review Request: opkssh - OpenPubkey SSH
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Peter Lemenkov
QA Contact: Peter Lemenkov
URL:
Whiteboard:
: 2421125 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-01-22 10:48 UTC by Till Hofmann
Modified: 2026-03-09 02:05 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2026-03-09 01:02:33 UTC
Type: ---
Embargoed:
lemenkov: fedora-review+


Attachments (Terms of Use)
The .spec file difference from Copr build 10047280 to 10047349 (2.99 KB, patch)
2026-01-22 11:32 UTC, Fedora Review Service
no flags Details | Diff
The .spec file difference from Copr build 10047349 to 10159246 (1.55 KB, patch)
2026-02-22 22:18 UTC, Fedora Review Service
no flags Details | Diff

Description Till Hofmann 2026-01-22 10:48:21 UTC
Spec URL: https://thofmann.fedorapeople.org/opkssh/opkssh.spec
SRPM URL: https://thofmann.fedorapeople.org/opkssh/opkssh-0.12.0-2.fc44.src.rpm
Description:
OpenPubkey SSH is a tool which enables ssh to be used with OpenID Connect
allowing SSH access to be managed via identities like alice instead
of long-lived SSH keys.

Fedora Account System Username: thofmann

Comment 1 Fedora Review Service 2026-01-22 10:54:55 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/10047280
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2432005-opkssh/fedora-rawhide-x86_64/10047280-opkssh/fedora-review/review.txt

Found issues:

- Documentation size is 3302052 bytes in 52 files. 
  Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_documentation

Please know that there can be false-positives.

---
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 3 Fedora Review Service 2026-01-22 11:32:34 UTC
Created attachment 2123249 [details]
The .spec file difference from Copr build 10047280 to 10047349

Comment 4 Fedora Review Service 2026-01-22 11:32:37 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/10047349
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2432005-opkssh/fedora-rawhide-x86_64/10047349-opkssh/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 5 Dave Love 2026-01-23 11:23:54 UTC
I might be able to review this as it's probably relevant to us eventually, but I don't know how easily I could test it, and it seems to be a duplicate of 2421125.  I'm not sure whether I should mark it as such, which will close it.  Perhaps collaborate on that one?

Comment 6 Till Hofmann 2026-01-23 12:43:07 UTC
Thanks for volunteering to review and for pointing out the duplicate, I missed it!

I put some additional effort into packaging the server-side bits (config, selinux etc.), but I'll check with Mikel whether we should just merge the two.

I might be able to set up a simple test environment in a container.

Comment 7 Till Hofmann 2026-01-23 16:01:13 UTC
Btw, for testing, the following should work if you have a gmail account:

1. Enable copr:
   sudo dnf copr enable thofmann/opkssh
2. Install opkssh-server
   sudo dnf install opkssh-server
3. Enable log in for your user:
   sudo opkssh add $USER $YOUREMAIL google
4. Log in:
   opkssh login
   (Then choose Google, log in, ...)
5. Test ssh:
   ssh localhost
5a. If you have already set up a different key and so `ssh localhost` would succeed without opkssh, you can also use the following command to enforce the use of opkssh:
   ssh -i ~/.ssh/id_ecdsa -o IdentitiesOnly=yes localhost
   where id_ecdsa is the keyfile generated by opkssh (that's usually what it's called, you might want to verify, e.g. by checking timestamps)

You can also verify via -v or in the system log that login happens via opkssh.

Comment 8 Till Hofmann 2026-02-03 20:59:08 UTC
Dave, I guess you can continue with the package review, if you are still willing to do that. I have not heard back from Mikel yet.

Comment 9 Dave Love 2026-02-20 14:39:34 UTC
Apologies for the delay. I'll try to look at it next week. If anyone else can be more responsive, feel free!

Comment 10 Till Hofmann 2026-02-22 12:49:50 UTC
Spec URL: https://thofmann.fedorapeople.org/opkssh/opkssh.spec
SRPM URL: https://thofmann.fedorapeople.org/opkssh/opkssh-0.13.0-1.fc45.src.rpm

Great, thank you! I've updated to the latest release (0.13.0).

Comment 11 Fedora Review Service 2026-02-22 22:18:27 UTC
Created attachment 2130611 [details]
The .spec file difference from Copr build 10047349 to 10159246

Comment 12 Fedora Review Service 2026-02-22 22:18:30 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/10159246
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2432005-opkssh/fedora-rawhide-x86_64/10159246-opkssh/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 13 Peter Lemenkov 2026-02-28 19:01:50 UTC
That's a nice project so I belive adding this package to Fedora will be beneficial for many. I'll review it, and Dave, thanks for the reviewing efforts so far.

Comment 14 Peter Lemenkov 2026-02-28 19:02:33 UTC
Actually it's in a good state already. There are lots of rpmlint warning and even errors but all of them can be explained by a special treatment of the package( special group, security parameters, etc). I wouldn't consider them as a blockers, so here is my formal 

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/licenses/opkssh
  See: https://docs.fedoraproject.org/en-US/packaging-
  guidelines/#_duplicate_files

^^^ guess this could be a false positive since all the licensing is done using standard macros.

- The License field must be a valid SPDX expression.
  Note: Not a valid SPDX expression 'Apache-2.0 AND BSD-2-Clause AND
  BSD-3-Clause AND ISC AND MIT AND Unlicense'.
  See: https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_1

^^^ This is definitaly a false positive.

===== 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: Checking patched sources after %prep for licenses. No licenses
     found. Please check the source files for licenses manually.

^^^ Generated automatically.

[x]: License file installed when any subpackage combination is installed.
[+/-]: If the package is under multiple licenses, the licensing breakdown
     must be documented in the spec but I don;t believe it's practical in 
     our case.
[x]: Package requires other packages for directories it uses.
[x]: Package owns all directories that it creates.
[x]: %build honors applicable compiler flags or justifies otherwise.
[+/-]: Package contains bundled libraries as usual for golang ones.
[x]: Changelog in prescribed format (%autochangelog).
[x]: Sources contain only permissible code or content.
[x]: %config files are marked noreplace or the reason is justified.
[-]: Not a GUI application.
[-]: No development files.
[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.
[-]: The package is not a rename of another package.
[x]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[-]: Package does not contain systemd file(s).
[x]: Useful -debuginfo package.
[x]: Package is not known to require an ExcludeArch tag.
[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 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]: 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]: No %config files under /usr.
[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]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 0 bytes in 0 files.
[x]: Packages must not store files under /srv, /opt or /usr/local

===== SHOULD items =====

Generic:
[!]: Uses parallel make %{?_smp_mflags} macro.

^^^ This is actually a false positive.

[-]: 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).
[-]: Fully versioned dependency in subpackages is not necessary.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in opkssh-
     server , opkssh-server-selinux
[?]: I did not test if the package functions as described.
[x]: Latest version is packaged (0.13.0).
[x]: Package does not include license text files separate from upstream.
[x]: Scriptlets must be sane, if used.
[-]: Sources werent verified with gpgverify.
[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:
[!]: Spec file according to URL is the same as in SRPM.
     Note: Spec file as given by url is not the same as in SRPM (see
     attached diff).
     See: (this test has no URL)

^^^ Spec-file was regenerated locally. This is false-positive.

[x]: Rpmlint is run on debuginfo package(s).
[x]: Rpmlint is run on all installed packages.
[x]: Large data in /usr/share should live in a noarch subpackage if package
     is arched.


Rpmlint
-------
Checking: opkssh-0.13.0-1.fc44.x86_64.rpm
          opkssh-server-0.13.0-1.fc44.noarch.rpm
          opkssh-server-selinux-0.13.0-1.fc44.noarch.rpm
          opkssh-doc-0.13.0-1.fc44.noarch.rpm
          opkssh-0.13.0-1.fc44.src.rpm
============================ rpmlint session starts ============================
rpmlint: 2.8.0
configuration:
    /usr/lib/python3.14/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora-spdx-licenses.toml
    /etc/xdg/rpmlint/fedora.toml
    /etc/xdg/rpmlint/scoring.toml
    /etc/xdg/rpmlint/users-groups.toml
    /etc/xdg/rpmlint/warn-on-functions.toml
rpmlintrc: [PosixPath('/tmp/tmp8lkgn_5p')]
checks: 32, packages: 5

opkssh-server-selinux.noarch: W: zero-perms-ghost Suggestion: "%ghost %attr(0644,root,root) /var/lib/selinux/targeted/active/modules/200/opkssh"
opkssh-server.noarch: E: useless-provides group(opkssh)

^^^ False positive

opkssh.spec: W: specfile-warning warning: Macro expanded in comment on line 34: %{archivename}-vendor.tar.bz2
opkssh.spec: W: specfile-warning warning: /tmp/rpmlint.opkssh-0.13.0-1.fc44.src.rpm.uceq3qjg/opkssh.spec line 87: autopatch: no matching patches in range

^^^ Survivable.

opkssh-server.noarch: W: only-non-binary-in-usr-lib
opkssh-server.noarch: W: non-standard-gid /etc/opk/auth_id opkssh
opkssh-server.noarch: W: non-standard-gid /etc/opk/providers opkssh
opkssh-server.noarch: E: non-readable /etc/opk/auth_id 640
opkssh-server.noarch: E: non-readable /etc/opk/providers 640
opkssh-server.noarch: E: non-readable /etc/ssh/sshd_config.d/60-opkssh.conf 600
opkssh-server.noarch: E: non-readable /etc/sudoers.d/opkssh 440
opkssh.x86_64: W: no-manual-page-for-binary opkssh
opkssh.x86_64: W: no-documentation
opkssh-server.noarch: W: no-documentation
opkssh-server-selinux.noarch: W: no-documentation
opkssh.spec:34: W: macro-in-comment %{archivename}
opkssh.x86_64: W: files-duplicate /usr/share/licenses/opkssh/vendor/github.com/openpubkey/openpubkey/LICENSE /usr/share/licenses/opkssh/LICENSE
opkssh.x86_64: W: files-duplicate /usr/share/licenses/opkssh/vendor/modules.txt /usr/share/licenses/opkssh/modules.txt
opkssh-server.noarch: W: empty-%pre
opkssh-server-selinux.noarch: W: dangerous-command-in-%pre cp
opkssh-server-selinux.noarch: W: dangerous-command-in-%postun rm
opkssh-server-selinux.noarch: W: dangerous-command-in-%posttrans rm
opkssh-server-selinux.noarch: W: dangerous-command-in-%post rm
opkssh-server.noarch: W: conffile-without-noreplace-flag /etc/ssh/sshd_config.d/60-opkssh.conf
opkssh-server.noarch: W: conffile-without-noreplace-flag /etc/sudoers.d/opkssh
 5 packages and 0 specfiles checked; 5 errors, 20 warnings, 139 filtered, 5 badness; has taken 1.8 s 

Rpmlint (debuginfo)
-------------------
Checking: opkssh-debuginfo-0.13.0-1.fc44.x86_64.rpm
============================ rpmlint session starts ============================
rpmlint: 2.8.0
configuration:
    /usr/lib/python3.14/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora-spdx-licenses.toml
    /etc/xdg/rpmlint/fedora.toml
    /etc/xdg/rpmlint/scoring.toml
    /etc/xdg/rpmlint/users-groups.toml
    /etc/xdg/rpmlint/warn-on-functions.toml
rpmlintrc: [PosixPath('/tmp/tmpi_1uyys_')]
checks: 32, packages: 1

 1 packages and 0 specfiles checked; 0 errors, 0 warnings, 5 filtered, 0 badness; has taken 1.0 s 





Rpmlint (installed packages)
----------------------------
/bin/sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8): No such file or directory
/bin/sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8): No such file or directory
/bin/sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8): No such file or directory
/bin/sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8): No such file or directory
============================ rpmlint session starts ============================
rpmlint: 2.8.0
configuration:
    /usr/lib/python3.14/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora-spdx-licenses.toml
    /etc/xdg/rpmlint/fedora.toml
    /etc/xdg/rpmlint/scoring.toml
    /etc/xdg/rpmlint/users-groups.toml
    /etc/xdg/rpmlint/warn-on-functions.toml
checks: 32, packages: 5

opkssh-server-selinux.noarch: W: zero-perms-ghost Suggestion: "%ghost %attr(0644,root,root) /var/lib/selinux/targeted/active/modules/200/opkssh"
opkssh-server.noarch: E: useless-provides group(opkssh)
opkssh.x86_64: W: unused-direct-shlib-dependency /usr/bin/opkssh /lib64/libresolv.so.2
opkssh-server-selinux.noarch: W: read-error [Errno 21] Is a directory: '/var/lib/selinux/targeted/active/modules/200/opkssh'
opkssh-server.noarch: W: only-non-binary-in-usr-lib
opkssh-server.noarch: W: non-standard-gid /etc/opk/auth_id opkssh
opkssh-server.noarch: W: non-standard-gid /etc/opk/providers opkssh
opkssh-server.noarch: E: non-readable /etc/opk/auth_id 640
opkssh-server.noarch: E: non-readable /etc/opk/providers 640
opkssh-server.noarch: E: non-readable /etc/ssh/sshd_config.d/60-opkssh.conf 600
opkssh-server.noarch: E: non-readable /etc/sudoers.d/opkssh 440
opkssh.x86_64: W: no-manual-page-for-binary opkssh
opkssh-server-selinux.noarch: W: no-documentation
opkssh-server.noarch: W: no-documentation
opkssh.x86_64: W: no-documentation
opkssh.x86_64: W: files-duplicate /usr/share/licenses/opkssh/vendor/github.com/openpubkey/openpubkey/LICENSE /usr/share/licenses/opkssh/LICENSE
opkssh.x86_64: W: files-duplicate /usr/share/licenses/opkssh/vendor/modules.txt /usr/share/licenses/opkssh/modules.txt
opkssh-server.noarch: W: empty-%pre
opkssh-server-selinux.noarch: W: dangerous-command-in-%pre cp
opkssh-server-selinux.noarch: W: dangerous-command-in-%postun rm
opkssh-server-selinux.noarch: W: dangerous-command-in-%posttrans rm
opkssh-server-selinux.noarch: W: dangerous-command-in-%post rm
opkssh-server.noarch: W: conffile-without-noreplace-flag /etc/ssh/sshd_config.d/60-opkssh.conf
opkssh-server.noarch: W: conffile-without-noreplace-flag /etc/sudoers.d/opkssh
 5 packages and 0 specfiles checked; 5 errors, 19 warnings, 141 filtered, 5 badness; has taken 0.7 s 



Source checksums
----------------
https://github.com/openpubkey/opkssh/archive/v0.13.0/opkssh-0.13.0.tar.gz :
  CHECKSUM(SHA256) this package     : 7b0180c8bda0df15c627a99a105e41f76d421c19a8f7f8f256da7eb2fec991b5
  CHECKSUM(SHA256) upstream package : 7b0180c8bda0df15c627a99a105e41f76d421c19a8f7f8f256da7eb2fec991b5
https://thofmann.fedorapeople.org/opkssh/opkssh-0.13.0-vendor.tar.bz2 :
  CHECKSUM(SHA256) this package     : 6b281b02341ab230779d376926bbc9b842e6e36fdcc4b37774cda38ac2072109
  CHECKSUM(SHA256) upstream package : 6b281b02341ab230779d376926bbc9b842e6e36fdcc4b37774cda38ac2072109


Requires
--------
opkssh (rpmlib, GLIBC filtered):
    libc.so.6()(64bit)
    libresolv.so.2()(64bit)
    rtld(GNU_HASH)

opkssh-server (rpmlib, GLIBC filtered):
    (opkssh-server-selinux if selinux-policy-targeted)
    /bin/sh
    config(opkssh-server)
    group(opkssh)
    opkssh

opkssh-server-selinux (rpmlib, GLIBC filtered):
    /bin/sh
    selinux-policy-targeted

opkssh-doc (rpmlib, GLIBC filtered):



Provides
--------
opkssh:
    bundled(golang(dario.cat/mergo))
    bundled(golang(filippo.io/bigmod))
    bundled(golang(github.com/Azure/go-ansiterm))
    bundled(golang(github.com/Microsoft/go-winio))
    bundled(golang(github.com/awnumar/memcall))
    bundled(golang(github.com/awnumar/memguard))
    bundled(golang(github.com/bmatcuk/doublestar/v4))
    bundled(golang(github.com/cenkalti/backoff/v4))
    bundled(golang(github.com/containerd/errdefs))
    bundled(golang(github.com/containerd/errdefs/pkg))
    bundled(golang(github.com/containerd/log))
    bundled(golang(github.com/containerd/platforms))
    bundled(golang(github.com/cpuguy83/dockercfg))
    bundled(golang(github.com/cpuguy83/go-md2man/v2))
    bundled(golang(github.com/davecgh/go-spew))
    bundled(golang(github.com/decred/dcrd/dcrec/secp256k1/v4))
    bundled(golang(github.com/distribution/reference))
    bundled(golang(github.com/docker/docker))
    bundled(golang(github.com/docker/go-connections))
    bundled(golang(github.com/docker/go-units))
    bundled(golang(github.com/ebitengine/purego))
    bundled(golang(github.com/felixge/httpsnoop))
    bundled(golang(github.com/go-chi/chi/v5))
    bundled(golang(github.com/go-jose/go-jose/v4))
    bundled(golang(github.com/go-logr/logr))
    bundled(golang(github.com/go-logr/stdr))
    bundled(golang(github.com/go-ole/go-ole))
    bundled(golang(github.com/goccy/go-json))
    bundled(golang(github.com/gogo/protobuf))
    bundled(golang(github.com/google/uuid))
    bundled(golang(github.com/gorilla/securecookie))
    bundled(golang(github.com/inconshreveable/mousetrap))
    bundled(golang(github.com/jeremija/gosubmit))
    bundled(golang(github.com/kballard/go-shellquote))
    bundled(golang(github.com/klauspost/compress))
    bundled(golang(github.com/kr/fs))
    bundled(golang(github.com/lestrrat-go/blackmagic))
    bundled(golang(github.com/lestrrat-go/httpcc))
    bundled(golang(github.com/lestrrat-go/httprc))
    bundled(golang(github.com/lestrrat-go/iter))
    bundled(golang(github.com/lestrrat-go/jwx/v2))
    bundled(golang(github.com/lestrrat-go/option))
    bundled(golang(github.com/lufia/plan9stats))
    bundled(golang(github.com/magiconair/properties))
    bundled(golang(github.com/melbahja/goph))
    bundled(golang(github.com/moby/docker-image-spec))
    bundled(golang(github.com/moby/go-archive))
    bundled(golang(github.com/moby/patternmatcher))
    bundled(golang(github.com/moby/sys/sequential))
    bundled(golang(github.com/moby/sys/user))
    bundled(golang(github.com/moby/sys/userns))
    bundled(golang(github.com/moby/term))
    bundled(golang(github.com/morikuni/aec))
    bundled(golang(github.com/muhlemmer/gu))
    bundled(golang(github.com/muhlemmer/httpforwarded))
    bundled(golang(github.com/opencontainers/go-digest))
    bundled(golang(github.com/opencontainers/image-spec))
    bundled(golang(github.com/openpubkey/openpubkey))
    bundled(golang(github.com/pkg/errors))
    bundled(golang(github.com/pkg/sftp))
    bundled(golang(github.com/pmezard/go-difflib))
    bundled(golang(github.com/power-devops/perfstat))
    bundled(golang(github.com/rs/cors))
    bundled(golang(github.com/russross/blackfriday/v2))
    bundled(golang(github.com/segmentio/asm))
    bundled(golang(github.com/shirou/gopsutil/v4))
    bundled(golang(github.com/sirupsen/logrus))
    bundled(golang(github.com/spf13/afero))
    bundled(golang(github.com/spf13/cobra))
    bundled(golang(github.com/spf13/pflag))
    bundled(golang(github.com/stretchr/testify))
    bundled(golang(github.com/testcontainers/testcontainers-go))
    bundled(golang(github.com/thediveo/enumflag/v2))
    bundled(golang(github.com/tklauser/go-sysconf))
    bundled(golang(github.com/tklauser/numcpus))
    bundled(golang(github.com/yusufpapurcu/wmi))
    bundled(golang(github.com/zitadel/logging))
    bundled(golang(github.com/zitadel/oidc/v3))
    bundled(golang(github.com/zitadel/schema))
    bundled(golang(go.opentelemetry.io/auto/sdk))
    bundled(golang(go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp))
    bundled(golang(go.opentelemetry.io/otel))
    bundled(golang(go.opentelemetry.io/otel/exporters/otlp/otlptrace))
    bundled(golang(go.opentelemetry.io/otel/metric))
    bundled(golang(go.opentelemetry.io/otel/trace))
    bundled(golang(go.opentelemetry.io/proto/otlp))
    bundled(golang(golang.org/x/crypto))
    bundled(golang(golang.org/x/exp))
    bundled(golang(golang.org/x/mod))
    bundled(golang(golang.org/x/net))
    bundled(golang(golang.org/x/oauth2))
    bundled(golang(golang.org/x/sys))
    bundled(golang(golang.org/x/term))
    bundled(golang(golang.org/x/text))
    bundled(golang(gopkg.in/yaml.v3))
    opkssh
    opkssh(x86-64)

opkssh-server:
    config(opkssh-server)
    group(opkssh)
    opkssh-server
    user(opkssh)

opkssh-server-selinux:
    opkssh-server-selinux

opkssh-doc:
    opkssh-doc



Diff spec file in url and in SRPM
---------------------------------
--- /home/petro/rpmbuild/SPECS/2432005-opkssh/srpm/opkssh.spec	2026-02-28 17:57:10.166634859 +0100
+++ /home/petro/rpmbuild/SPECS/2432005-opkssh/srpm-unpacked/opkssh.spec	2026-02-22 01:00:00.000000000 +0100
@@ -1,2 +1,12 @@
+## START: Set by rpmautospec
+## (rpmautospec version 0.8.3)
+## RPMAUTOSPEC: autorelease, autochangelog
+%define autorelease(e:s:pb:n) %{?-p:0.}%{lua:
+    release_number = 1;
+    base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}"));
+    print(release_number + base_release_number - 1);
+}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}}
+## END: Set by rpmautospec
+
 # Generated by go2rpm 1.18.0
 %bcond check 1
@@ -149,3 +159,21 @@
 
 %changelog
-%autochangelog
+## START: Generated by rpmautospec
+* Sun Feb 22 2026 Till Hofmann <thofmann> - 0.13.0-1
+- Uncommitted changes
+
+* Thu Jan 22 2026 Till Hofmann <thofmann> - 0.12.0-5
+- Remove 'opkssh' from summaries
+
+* Thu Jan 22 2026 Till Hofmann <thofmann> - 0.12.0-4
+- Move docs into separate sub-package
+
+* Thu Jan 22 2026 Till Hofmann <thofmann> - 0.12.0-3
+- Do not install docs not useful in a package
+
+* Thu Jan 22 2026 Till Hofmann <thofmann> - 0.12.0-2
+- Drop redundant Provides
+
+* Thu Jan 22 2026 Till Hofmann <thofmann> - 0.12.0-1
+- Drop golang- prefix from package name
+## END: Generated by rpmautospec


Generated by fedora-review 0.11.0 (05c5b26) last change: 2025-11-29
Command line :/usr/bin/fedora-review -b 2432005
Buildroot used: fedora-rawhide-x86_64
Active plugins: Generic, Shell-api
Disabled plugins: Perl, C/C++, Haskell, SugarActivity, PHP, Python, Java, fonts, Ocaml, R
Disabled flags: EXARCH, EPEL6, EPEL7, DISTTAG, BATCH


This package is

================
=== APPROVED ===
================

Comment 15 Fedora Admin user for bugzilla script actions 2026-02-28 23:15:53 UTC
The Pagure repository was created at https://src.fedoraproject.org/rpms/opkssh

Comment 16 Fedora Update System 2026-03-01 00:03:21 UTC
FEDORA-EPEL-2026-a86646a250 (opkssh-0.13.0-2.el10_3) has been submitted as an update to Fedora EPEL 10.3.
https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2026-a86646a250

Comment 17 Fedora Update System 2026-03-01 00:03:22 UTC
FEDORA-2026-b8f18701cc (opkssh-0.13.0-2.fc43) has been submitted as an update to Fedora 43.
https://bodhi.fedoraproject.org/updates/FEDORA-2026-b8f18701cc

Comment 18 Fedora Update System 2026-03-01 00:03:23 UTC
FEDORA-2026-1d12dbc309 (opkssh-0.13.0-2.fc44) has been submitted as an update to Fedora 44.
https://bodhi.fedoraproject.org/updates/FEDORA-2026-1d12dbc309

Comment 19 Fedora Update System 2026-03-01 00:59:13 UTC
FEDORA-EPEL-2026-a86646a250 has been pushed to the Fedora EPEL 10.3 testing repository.

You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2026-a86646a250

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 20 Till Hofmann 2026-03-01 09:28:14 UTC
*** Bug 2421125 has been marked as a duplicate of this bug. ***

Comment 21 Till Hofmann 2026-03-01 09:29:52 UTC
Thank you Peter for the review swap and the speedy review!

Comment 22 Fedora Update System 2026-03-01 16:41:27 UTC
FEDORA-2026-dcb863468e has been pushed to the Fedora 42 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf install --enablerepo=updates-testing --refresh --advisory=FEDORA-2026-dcb863468e \*`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2026-dcb863468e

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 23 Fedora Update System 2026-03-01 17:03:18 UTC
FEDORA-EPEL-2026-d8e3c5c5e1 has been pushed to the Fedora EPEL 10.1 testing repository.

You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2026-d8e3c5c5e1

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 24 Fedora Update System 2026-03-01 17:24:55 UTC
FEDORA-2026-b8f18701cc has been pushed to the Fedora 43 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf install --enablerepo=updates-testing --refresh --advisory=FEDORA-2026-b8f18701cc \*`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2026-b8f18701cc

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 25 Fedora Update System 2026-03-01 17:41:43 UTC
FEDORA-2026-1d12dbc309 has been pushed to the Fedora 44 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf install --enablerepo=updates-testing --refresh --advisory=FEDORA-2026-1d12dbc309 \*`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2026-1d12dbc309

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 26 Fedora Update System 2026-03-09 01:02:33 UTC
FEDORA-2026-dcb863468e (opkssh-0.13.0-2.fc42) has been pushed to the Fedora 42 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 27 Fedora Update System 2026-03-09 01:23:20 UTC
FEDORA-2026-1d12dbc309 (opkssh-0.13.0-2.fc44) has been pushed to the Fedora 44 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 28 Fedora Update System 2026-03-09 01:51:35 UTC
FEDORA-EPEL-2026-a86646a250 (opkssh-0.13.0-2.el10_3) has been pushed to the Fedora EPEL 10.3 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 29 Fedora Update System 2026-03-09 01:54:01 UTC
FEDORA-EPEL-2026-d8e3c5c5e1 (opkssh-0.13.0-2.el10_1) has been pushed to the Fedora EPEL 10.1 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 30 Fedora Update System 2026-03-09 02:05:38 UTC
FEDORA-2026-b8f18701cc (opkssh-0.13.0-2.fc43) has been pushed to the Fedora 43 stable repository.
If problem still persists, please make note of it in this bug report.


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