[Bug 265835] [NEW PORT] security/py-ssh-import-id: Authorize SSH public keys from trusted online identities

From: <bugzilla-noreply_at_freebsd.org>
Date: Wed, 12 Oct 2022 23:41:03 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=265835

Kubilay Kocak <koobs@FreeBSD.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|security/py-ssh-import-id:  |[NEW PORT]
                   |New port: Authorize SSH     |security/py-ssh-import-id:
                   |public keys from trusted    |Authorize SSH public keys
                   |online identities           |from trusted online
                   |                            |identities
           Keywords|                            |feature, needs-patch,
                   |                            |needs-qa
              Flags|                            |maintainer-feedback?(p.mous
                   |                            |avizadeh@protonmail.com)
             Status|New                         |Open

--- Comment #1 from Kubilay Kocak <koobs@FreeBSD.org> ---
Thank you for creating a FreeBSD Port Sayed

Review items:

 * Add LICENSE_FILE if one is shipped with the distfile. If one isn't provided,
ask upstream to add one, and just add a `#LICENSE_FILE=Not shipped in PyPI
sdist` in the comment for future reviewers/reminder to yourself and others.

 * USES=python:<version-spec> should be used declaratively, not imperatively,
to declare what version of Python a package supports (not which one to 'use').

This is usually declared as a python_requires version spec in setup.py or
similar. If not there, one can usually find a supported versions declaration in
documentation, or use the versions upstream tests against in CI. Closest I
could find is a reference [1] saying versions > 2.6, which may or may not be
the case actually.

In these circumstances, the best method is to include TEST_DEPENDS and a
(do-)test: target in the prot to run the package test suite, and verify the
tests pass for the Python versions allowed by USES=python:<version-spec>.

Ultimately this should be explicitly declared upstream, so ask upstream to
declare that (in python setup and CI files to match).

 * Python packages that ship files in shared, non-versioned locations (like
/usr/local/bin) should be made USE_PYTHON=concurrent safe. This makes it
possible for multiple versions of the package install'able concurrently,
without filenames conflicting. In most cases this takes the form on 'scripts='
and/or 'console_scripts' in setup.py, as this project does [2]

 * The package delcares a run time (install_requires) dependency on the
'distro' package [3], but this dependency is not declared in the port

 * You'll want to confirm the port passed QA (with portlint and poudriere at
least). See the following for instructions:
https://docs.freebsd.org/en/books/porters-handbook/testing/

If you need help getting this setup, we have #freebsd-ports on Libera Chat IRC,
or the #ports channel on our FreeBSD Discord where you can get support :)

[1] https://git.launchpad.net/ssh-import-id/tree/README.md
[2] https://git.launchpad.net/ssh-import-id/tree/setup.py#n53
[2] https://git.launchpad.net/ssh-import-id/tree/setup.py#n56
[3] https://git.launchpad.net/ssh-import-id/tree/setup.py#n54:
install_requires=["distro"]

-- 
You are receiving this mail because:
You are the assignee for the bug.