Bug 2265862 - Review Request: spiped - Create secure pipes between socket addresses
Summary: Review Request: spiped - Create secure pipes between socket addresses
Keywords:
Status: ASSIGNED
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Artur Frenszek-Iwicki
QA Contact: Fedora Extras Quality Assurance
URL: https://www.tarsnap.com/spiped.html
Whiteboard:
Depends On:
Blocks: FE-NEEDSPONSOR
TreeView+ depends on / blocked
 
Reported: 2024-02-25 01:08 UTC by Peter Pentchev
Modified: 2024-03-24 21:41 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
Type: ---
Embargoed:
fedora: fedora-review+


Attachments (Terms of Use)
The .spec file difference from Copr build 7061633 to 7189198 (1.44 KB, patch)
2024-03-20 20:42 UTC, Fedora Review Service
no flags Details | Diff

Description Peter Pentchev 2024-02-25 01:08:10 UTC
Spec URL: https://download.copr.fedorainfracloud.org/results/roam/spiped/fedora-rawhide-x86_64/07057817-spiped/spiped.spec
SRPM URL: https://download.copr.fedorainfracloud.org/results/roam/spiped/fedora-rawhide-x86_64/07057817-spiped/spiped-1.6.2-1.fc41.src.rpm
Description:
 spiped (pronounced "ess-pipe-dee") is a utility for creating symmetrically
 encrypted and authenticated pipes between socket addresses, so that one may
 connect to one address (e.g., a UNIX socket on localhost) and transparently
 have a connection established to another address (e.g., a UNIX socket on a
 different system).  This is similar to 'ssh -L' functionality, but does not
 use SSH and requires a pre-shared symmetric key.

 spipe (pronounced "ess-pipe") is a utility which acts as an spiped protocol
 client (i.e., connects to an spiped daemon), taking input from the standard
 input and writing data read back to the standard output.
Fedora Account System Username: roam

This is my first Fedora package, so I will need a sponsor. Hence,
the spec currently lives in my GitLab repository, and the SRPM file is
available in COPR:
  https://copr.fedorainfracloud.org/coprs/roam/spiped/build/7057817/

A couple of notes on some fedora-review items:
[-]: Provides: bundled(gnulib) in place as required.
     Note: This project does not use gnulib.
[x]: Rpmlint is run on all rpms the build produces.
     Note: The rpmlint tool reports several false positives, all
     misspellings. Should I create an spiped.rpmlint file to override them?
[x]: Patches link to upstream bugs/comments/lists or are otherwise
     justified.
     Note: Upstream is aware of the install.patch change (it is also
     present in the Debian package of spiped that I maintain), and their
     response (via private mail) was "unfortunatly install(1) isn't
     a POSIX command, and I couldn't find a way to rewrite our Makefile
     so that it would be easier to patch this in".
[-]: Sources are verified with gpgverify first in %prep if upstream
     publishes signatures.
     Note: Upstream only provides SHA256 hashes, not OpenPGP signatures.

Thanks in advance for any comments and suggestions! Since this is my
first attempt to submit a Fedora package for review, please feel free to
point out anything I have missed (I have no doubt that there will be
something, possibly many somethings).

G'luck,
Peter

Comment 1 Fedora Review Service 2024-02-25 01:08:13 UTC
Cannot find any valid SRPM URL for this ticket. Common causes are:

- You didn't specify `SRPM URL: ...` in the ticket description
  or any of your comments
- The URL schema isn't HTTP or HTTPS
- The SRPM package linked in your URL doesn't match the package name specified
  in the ticket summary


---
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 Benson Muite 2024-02-25 05:48:25 UTC
Thanks for contributing to Fedora.  The spec file and srpm file links need to be resolvable by wget so
that they can be downloaded by the fedora-review tool

spec: https://download.copr.fedorainfracloud.org/results/roam/spiped/fedora-rawhide-x86_64/07057817-spiped/spiped.spec
srpm: https://download.copr.fedorainfracloud.org/results/roam/spiped/fedora-rawhide-x86_64/07057817-spiped/spiped-1.6.2-1.fc41.src.rpm

Comment 3 Peter Pentchev 2024-02-25 08:38:28 UTC
Right, I didn't realize that was part of the automation. Thanks, fixed. Do I need to do anything to trigger another run of the automated Fedora Review Service processing, or will it pick up the edited comment 0 automatically?

G'luck,
Peter

Comment 4 Benson Muite 2024-02-25 09:40:32 UTC
It picks up the last added spec and srpm urls.

Comment 5 Peter Pentchev 2024-02-26 13:44:38 UTC
Spec URL: https://download.copr.fedorainfracloud.org/results/roam/spiped/fedora-rawhide-x86_64/07057817-spiped/spiped.spec
SRPM URL: https://download.copr.fedorainfracloud.org/results/roam/spiped/fedora-rawhide-x86_64/07057817-spiped/spiped-1.6.2-1.fc41.src.rpm

(ICBW, but it seems to me that the Fedora Review Service did not notice that I edited an existing comment; I'm not complaining, this is reasonable behavior)

Comment 6 Fedora Review Service 2024-02-26 13:48:41 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/7061633
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2265862-spiped/fedora-rawhide-x86_64/07061633-spiped/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 7 Artur Frenszek-Iwicki 2024-03-18 13:56:54 UTC
> Group:		Applications
Not used in Fedora.
https://docs.fedoraproject.org/en-US/packaging-guidelines/#_tags_and_sections

> Source0:	https://www.tarsnap.com/spiped/spiped-1.6.2.tgz
This makes it necessary to update the URL every time you bump the package to a new version.
Consider using the %{version} macro as part of the URL.
https://docs.fedoraproject.org/en-US/packaging-guidelines/SourceURL/#_using_version

> Patch0:		install.patch
Please add a comment describing what the patch does.
https://docs.fedoraproject.org/en-US/packaging-guidelines/#_patch_guidelines

> %check
> %{__make} test
Using macro forms of system executables is discouraged.
https://docs.fedoraproject.org/en-US/packaging-guidelines/#_macros

> %files
> %{_mandir}/man1/spipe.1.gz
> %{_mandir}/man1/spiped.1.gz
Do not assume man pages will be gzipped. Use a wildcard that can match any compression format (including no compression).
https://docs.fedoraproject.org/en-US/packaging-guidelines/#_manpages

Comment 8 Peter Pentchev 2024-03-20 20:34:12 UTC
Spec URL: https://download.copr.fedorainfracloud.org/results/roam/spiped/fedora-rawhide-x86_64/07189163-spiped/spiped.spec
SRPM URL: https://download.copr.fedorainfracloud.org/results/roam/spiped/fedora-rawhide-x86_64/07189163-spiped/spiped-1.6.2-2.fc41.src.rpm

(In reply to Artur Frenszek-Iwicki from comment #7)
> > Group:		Applications
> Not used in Fedora.
> https://docs.fedoraproject.org/en-US/packaging-guidelines/#_tags_and_sections

No idea how I missed that one; I swear I looked through the list of tags that should not be used... thanks!

> > Source0:	https://www.tarsnap.com/spiped/spiped-1.6.2.tgz
> This makes it necessary to update the URL every time you bump the package to
> a new version.
> Consider using the %{version} macro as part of the URL.
> https://docs.fedoraproject.org/en-US/packaging-guidelines/SourceURL/
> #_using_version

OK, this is a funny one, since I already do that in a couple of other specfiles for internal consumption.
But yeah, I had missed it in this one. Thanks!

> > Patch0:		install.patch
> Please add a comment describing what the patch does.
> https://docs.fedoraproject.org/en-US/packaging-guidelines/#_patch_guidelines

Right, I guess I am used to other packaging systems where it is accepted that the patch files themselves will
contain both a one-line comment and a longer description. Yeah, I admit I must have missed that part in
the guidelines.

> > %check
> > %{__make} test
> Using macro forms of system executables is discouraged.
> https://docs.fedoraproject.org/en-US/packaging-guidelines/#_macros

Yep, I was a bit unsure about that one, too; I guess I thought that using an internal macro was somehow better than
not using a macro at all and, I don't know, allowing the use of an alternative make(1) implementation?
But yeah, apparently that is not the common thinking. Thanks for pointing it out.

> > %files
> > %{_mandir}/man1/spipe.1.gz
> > %{_mandir}/man1/spiped.1.gz
> Do not assume man pages will be gzipped. Use a wildcard that can match any
> compression format (including no compression).
> https://docs.fedoraproject.org/en-US/packaging-guidelines/#_manpages

Yeah, again, I guess I am used to other packaging systems where it is pretty much a rule that
manual pages must be gzipped during the build. But yeah, the guidelines do not say that, true.

Thanks a lot for your review! There is a new copr build with fixes for these issues.

G'luck,
Peter

Comment 9 Fedora Review Service 2024-03-20 20:42:58 UTC
Created attachment 2022767 [details]
The .spec file difference from Copr build 7061633 to 7189198

Comment 10 Fedora Review Service 2024-03-20 20:43:02 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/7189198
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2265862-spiped/fedora-rawhide-x86_64/07189198-spiped/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 11 Artur Frenszek-Iwicki 2024-03-24 21:41:33 UTC
Three minor issues:
1) There is a blank line between "%description" and the actual package description text.
   This blank line is actually carried over to the description in the resulting .rpm file.
   Please remove it.
2) When installing files with install(1), timestamps of the files are not preserved.
   Please edit the patch to use the "-p" option for install(1).
3) You use macros inside the changelog text (e.g. "use %{version} in the Source0 line").
   These macros still get expanded, even though they're inside the changelog.
   You can use "%%{macro}" to prevent this.

Other than that, looks okay to me.
Please fix the above issues when importing the package to dist-git.
PACKAGE APPROVED.


Package Review
==============

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


===== Issues =====

[!]: Packages should try to preserve timestamps of original installed
     files.


===== MUST items =====

C/C++:
[-]: Provides: bundled(gnulib) in place as required.
[x]: Package does not contain kernel modules.
[x]: If your application is a C or C++ application you must list a
     BuildRequires against gcc, gcc-c++ or clang.
[x]: Header files in -devel subpackage, if present.
[x]: Package does not contain any libtool archives (.la)
[x]: Package contains no static executables.
[x]: Rpath absent or only used for internal libs.

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.
[x]: License file installed when any subpackage combination is installed.
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[-]: Package contains desktop file if it is a GUI application.
[-]: Development files must be in a -devel package
[-]: 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.
[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]: The License field must be a valid SPDX expression.
[x]: Package requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[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]: Package does not contain duplicates in %files.
[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]: 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:
[-]: 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).
[?]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: Patches link to upstream bugs/comments/lists or are otherwise
     justified.
[-]: Sources are verified with gpgverify first in %prep if upstream
     publishes signatures.
     Note: gpgverify is not used.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
     Note: Successfully built in koji.
     https://koji.fedoraproject.org/koji/taskinfo?taskID=115382894
[x]: %check is present and all tests pass.
[!]: 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]: Fully versioned dependency in subpackages if applicable.
[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]: 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: spiped-1.6.2-2.fc41.x86_64.rpm
          spiped-debuginfo-1.6.2-2.fc41.x86_64.rpm
          spiped-debugsource-1.6.2-2.fc41.x86_64.rpm
          spiped-1.6.2-2.fc41.src.rpm
============== rpmlint session starts =============
rpmlint: 2.5.0
configuration:
    /usr/lib/python3.12/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora-legacy-licenses.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/tmpgze0jsea')]
checks: 32, packages: 4

spiped.src: E: spelling-error ('ess', '%description -l en_US ess -> eds, es, less')
spiped.src: E: spelling-error ('dee', '%description -l en_US dee -> Dee, see, fee')
spiped.src: E: spelling-error ('localhost', '%description -l en_US localhost -> local host, local-host, holocaust')
spiped.src: E: spelling-error ('pre', '%description -l en_US pre -> per, ore, pee')
spiped.x86_64: E: spelling-error ('ess', '%description -l en_US ess -> eds, es, less')
spiped.x86_64: E: spelling-error ('dee', '%description -l en_US dee -> Dee, see, fee')
spiped.x86_64: E: spelling-error ('localhost', '%description -l en_US localhost -> local host, local-host, holocaust')
spiped.x86_64: E: spelling-error ('pre', '%description -l en_US pre -> per, ore, pee')
spiped.spec:60: W: macro-in-%changelog %{version}
spiped.spec:63: W: macro-in-%changelog %{__make}
spiped.spec:63: W: macro-in-%changelog %check
====== 4 packages and 0 specfiles checked; 8 errors, 3 warnings, 23 filtered, 8 badness; has taken 1.2 s ======




Rpmlint (debuginfo)
-------------------
Checking: spiped-debuginfo-1.6.2-2.fc41.x86_64.rpm
============== rpmlint session starts =============
rpmlint: 2.5.0
configuration:
    /usr/lib/python3.12/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora-legacy-licenses.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/tmp3u7ohhd2')]
checks: 32, packages: 1

====== 1 packages and 0 specfiles checked; 0 errors, 0 warnings, 12 filtered, 0 badness; has taken 0.3 s ======





Rpmlint (installed packages)
----------------------------
============================ rpmlint session starts ============================
rpmlint: 2.5.0
configuration:
    /usr/lib/python3.12/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora-legacy-licenses.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: 3

spiped.x86_64: E: spelling-error ('ess', '%description -l en_US ess -> eds, es, less')
spiped.x86_64: E: spelling-error ('dee', '%description -l en_US dee -> Dee, see, fee')
spiped.x86_64: E: spelling-error ('localhost', '%description -l en_US localhost -> local host, local-host, holocaust')
spiped.x86_64: E: spelling-error ('pre', '%description -l en_US pre -> per, ore, pee')
 3 packages and 0 specfiles checked; 4 errors, 0 warnings, 21 filtered, 4 badness; has taken 1.1 s 



Source checksums
----------------
https://www.tarsnap.com/spiped/spiped-1.6.2.tgz :
  CHECKSUM(SHA256) this package     : 05d4687d12d11d7f9888d43f3d80c541b7721c987038d085f71c91bb06204567
  CHECKSUM(SHA256) upstream package : 05d4687d12d11d7f9888d43f3d80c541b7721c987038d085f71c91bb06204567


Requires
--------
spiped (rpmlib, GLIBC filtered):
    libc.so.6()(64bit)
    libcrypto.so.3()(64bit)
    libcrypto.so.3(OPENSSL_3.0.0)(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libgcc_s.so.1(GCC_3.3.1)(64bit)
    rtld(GNU_HASH)

spiped-debuginfo (rpmlib, GLIBC filtered):

spiped-debugsource (rpmlib, GLIBC filtered):



Provides
--------
spiped:
    spiped
    spiped(x86-64)

spiped-debuginfo:
    debuginfo(build-id)
    spiped-debuginfo
    spiped-debuginfo(x86-64)

spiped-debugsource:
    spiped-debugsource
    spiped-debugsource(x86-64)



Generated by fedora-review 0.10.0 (e79b66b) last change: 2023-07-24
Command line :/usr/bin/fedora-review -b 2265862
Buildroot used: fedora-rawhide-x86_64
Active plugins: Shell-api, Generic, C/C++
Disabled plugins: Python, Perl, Haskell, R, SugarActivity, Java, PHP, Ocaml, fonts
Disabled flags: EXARCH, EPEL6, EPEL7, DISTTAG, BATCH


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