Bug 1120771

Summary: Review Request: uronode - Alternative packet radio system for Linux
Product: [Fedora] Fedora Reporter: Jaroslav Škarvada <jskarvad>
Component: Package ReviewAssignee: Christopher Meng <i>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: i, jskarvad, jsynacek, package-review, rc040203
Target Milestone: ---Flags: jsynacek: fedora-review+
gwync: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: uronode-2.2-1.fc20 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-12-16 09:35:34 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1121115    

Description Jaroslav Škarvada 2014-07-17 15:46:09 UTC
Spec URL: http://fedorapeople.org/~jskarvad/uronode/uronode.spec
SRPM URL: http://fedorapeople.org/~jskarvad/uronode/uronode-2.1-1.fc20.src.rpm
Description: URONode is an alternative packet radio system for Linux. It supports cross-port digipeating, automatic importing of flexnet routing, various IP functions, and ANSI colours.
Fedora Account System Username: jskarvad

FYI all patches were sent upstream.

The issue with md2.c is currently reviewed by Fedora Legal (ticket: https://lists.fedoraproject.org/pipermail/legal/2014-July/002484.html) and upstream is currently aware of it.

Comment 1 Ralf Corsepius 2014-07-19 04:24:09 UTC
This is a violation of the FHS and not allowed in Fedora:
%{_var}/ax25

It should likely be /var/lib/ax25 or /var/cache/ax25, depending on what kind of files this directory is supposed to take.

Comment 2 Jaroslav Škarvada 2014-07-30 13:26:30 UTC
(In reply to Ralf Corsepius from comment #1)
> This is a violation of the FHS and not allowed in Fedora:
> %{_var}/ax25
> 
> It should likely be /var/lib/ax25 or /var/cache/ax25, depending on what kind
> of files this directory is supposed to take.

Thanks for spotting this. I tried to fix it and reported upstream:

Spec URL: http://fedorapeople.org/~jskarvad/uronode/uronode.spec
SRPM URL: http://fedorapeople.org/~jskarvad/uronode/uronode-2.1-2.fc20.src.rpm

Comment 3 Jan Synacek 2014-11-28 11:41:19 UTC
Package Review
==============

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



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

C/C++:
[ ]: Package does not contain kernel modules.
[ ]: Package contains no static executables.
[x]: Package does not contain any libtool archives (.la)
[x]: Rpath absent or only used for internal libs.

Generic:
[ ]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[ ]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "GPL (v2 or later) (with incorrect FSF address)", "Unknown or generated".
     22 files have unknown license. Detailed output of licensecheck in
     /home/jsynacek/work/reviews/uronode/1120771-uronode/licensecheck.txt
[ ]: Package must own all directories that it creates.
     Note: Directories without known owners: /etc/ax25
[ ]: %build honors applicable compiler flags or justifies otherwise.
[ ]: Package contains no bundled libraries without FPC exception.
[ ]: Changelog in prescribed format.
[ ]: 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.
[ ]: Package consistently uses macros (instead of hard-coded directory names).
[ ]: Package is named according to the Package Naming Guidelines.
[ ]: Package does not generate any conflict.
[ ]: Package obeys FHS, except libexecdir and /usr/target.
[ ]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[ ]: Requires correct, justified where necessary.
[ ]: Spec file is legible and written in American English.
[ ]: Package contains systemd file(s) if in need.
[ ]: Useful -debuginfo package or justification otherwise.
[ ]: Package is not known to require an ExcludeArch tag.
[ ]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 112640 bytes in 9 files.
[ ]: 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 %doc.
[x]: Package requires other packages for directories it uses.
[x]: Package does not own files or directories owned by other packages.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[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]: %config files are marked noreplace or the reason is justified.
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[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 do not use a name that already exist
[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]: Packages must not store files under /srv, /opt or /usr/local

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

Generic:
[!]: Sources can be downloaded from URI in Source: tag
     Note: Could not download Source0:
     ftp://ftp.n1uro.net/packet/uronode-2.1.tar.gz
     See: http://fedoraproject.org/wiki/Packaging:Guidelines#Tags
[ ]: If the source package does not include license text(s) as a separate file
     from upstream, the packager SHOULD query upstream to include it.
[ ]: Final provides and requires are sane (see attachments).
[ ]: Package functions as described.
[ ]: Latest version is packaged.
[ ]: Package does not include license text files separate from upstream.
[ ]: Patches link to upstream bugs/comments/lists or are otherwise justified.
[ ]: SourceX tarball generation or download is documented.
     Note: Package contains tarball without URL, check comments
[ ]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[ ]: Package should compile and build into binary rpms on all supported
     architectures.
[ ]: %check is present and all tests pass.
[ ]: Packages should try to preserve timestamps of original installed files.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[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]: Dist tag is present (not strictly required in GL).
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Uses parallel make %{?_smp_mflags} macro.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

===== EXTRA items =====

Generic:
[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: uronode-2.1-2.fc20.x86_64.rpm
          uronode-2.1-2.fc20.src.rpm
uronode.x86_64: W: spelling-error %description -l en_US digipeating -> digitizing
uronode.x86_64: W: spelling-error %description -l en_US flexnet -> flex net, flex-net, fleetness
uronode.x86_64: W: spelling-error %description -l en_US colours -> colors, co lours, co-lours
uronode.x86_64: E: non-readable /etc/ax25/uronode.users 0600L
uronode.x86_64: E: non-readable /etc/ax25/uronode.perms 0600L
uronode.x86_64: E: incorrect-fsf-address /usr/share/doc/uronode/LICENSE
uronode.x86_64: W: log-files-without-logrotate /var/log/uronode
uronode.x86_64: W: no-manual-page-for-binary flexd
uronode.src: W: spelling-error %description -l en_US digipeating -> digitizing
uronode.src: W: spelling-error %description -l en_US flexnet -> flex net, flex-net, fleetness
uronode.src: W: spelling-error %description -l en_US colours -> colors, co lours, co-lours
uronode.src: W: invalid-url Source0: ftp://ftp.n1uro.net/packet/uronode-2.1.tar.gz <urlopen error ftp error: timed out>
2 packages and 0 specfiles checked; 3 errors, 9 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint uronode
uronode.x86_64: W: spelling-error %description -l en_US digipeating -> digitizing
uronode.x86_64: W: spelling-error %description -l en_US flexnet -> flex net, flex-net, fleetness
uronode.x86_64: W: spelling-error %description -l en_US colours -> colors, co lours, co-lours
uronode.x86_64: E: non-readable /etc/ax25/uronode.users 0600L
uronode.x86_64: E: non-readable /etc/ax25/uronode.perms 0600L
uronode.x86_64: E: incorrect-fsf-address /usr/share/doc/uronode/LICENSE
uronode.x86_64: W: log-files-without-logrotate /var/log/uronode
uronode.x86_64: W: no-manual-page-for-binary flexd
1 packages and 0 specfiles checked; 3 errors, 5 warnings.
# echo 'rpmlint-done:'



Requires
--------
uronode (rpmlib, GLIBC filtered):
    /bin/sh
    config(uronode)
    libax25.so.0()(64bit)
    libax25io.so.0()(64bit)
    libc.so.6()(64bit)
    libz.so.1()(64bit)
    rtld(GNU_HASH)
    systemd



Provides
--------
uronode:
    config(uronode)
    uronode
    uronode(x86-64)



Generated by fedora-review 0.5.2 (63c24cb) last change: 2014-07-14
Command line :/usr/bin/fedora-review -b 1120771
Buildroot used: fedora-20-x86_64
Active plugins: Generic, Shell-api, C/C++
Disabled plugins: Java, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP, Ruby
Disabled flags: EXARCH, EPEL5, BATCH, DISTTAG

Comment 4 Jan Synacek 2014-11-28 11:42:26 UTC
[ ]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[ ]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "GPL (v2 or later) (with incorrect FSF address)", "Unknown or generated".
     22 files have unknown license. Detailed output of licensecheck in
     /home/jsynacek/work/reviews/uronode/1120771-uronode/licensecheck.txt


It looks like the legal question hasn't been sorted out yet.


[ ]: Package must own all directories that it creates.
     Note: Directories without known owners: /etc/ax25


This directory is missing in %files.


[ ]: Spec file is legible and written in American English.


Almost. In the description, s/colours/colors/.


[ ]: Package contains systemd file(s) if in need.


Yes. There is also a xinetd file, which could be easily substituted with a systemd service/socket pair. It's not a problem, but IMHO a preferred solution.


[ ]: Useful -debuginfo package or justification otherwise.


Debuginfo is empty...


[!]: Sources can be downloaded from URI in Source: tag
     Note: Could not download Source0:
     ftp://ftp.n1uro.net/packet/uronode-2.1.tar.gz


Not sure why, manual download works. No problem.



Rpmlint
-------
Checking: uronode-2.1-2.fc20.x86_64.rpm
          uronode-2.1-2.fc20.src.rpm
uronode.x86_64: W: spelling-error %description -l en_US digipeating -> digitizing
uronode.x86_64: W: spelling-error %description -l en_US flexnet -> flex net, flex-net, fleetness
uronode.x86_64: W: spelling-error %description -l en_US colours -> colors, co lours, co-lours
uronode.x86_64: E: non-readable /etc/ax25/uronode.users 0600L
uronode.x86_64: E: non-readable /etc/ax25/uronode.perms 0600L


Readable by root. No problem.


uronode.x86_64: E: incorrect-fsf-address /usr/share/doc/uronode/LICENSE


Please, notify upstream about this.


uronode.x86_64: W: log-files-without-logrotate /var/log/uronode


Given that the journal is the preferred logging solution, I don't see a problem here.

Comment 5 Jaroslav Škarvada 2014-11-28 14:17:07 UTC
(In reply to Jan Synacek from comment #4)

Thanks for the review.

> [ ]: Package is licensed with an open-source compatible license and meets
>      other legal requirements as defined in the legal section of Packaging
>      Guidelines.
> [ ]: License field in the package spec file matches the actual license.
>      Note: Checking patched sources after %prep for licenses. Licenses found:
>      "GPL (v2 or later) (with incorrect FSF address)", "Unknown or
> generated".
>      22 files have unknown license. Detailed output of licensecheck in
>      /home/jsynacek/work/reviews/uronode/1120771-uronode/licensecheck.txt
> 
> 
> It looks like the legal question hasn't been sorted out yet.
> 
I will sort it out, somehow :)

> [ ]: Package must own all directories that it creates.
>      Note: Directories without known owners: /etc/ax25
> 
> 
> This directory is missing in %files.
>
Bug 1168929.

> 
> 
> [ ]: Spec file is legible and written in American English.
> 
> 
> Almost. In the description, s/colours/colors/.
> 
Oxford Dictionary spelling. No problem to switch it to American.

 
> [ ]: Package contains systemd file(s) if in need.
> 
> 
> Yes. There is also a xinetd file, which could be easily substituted with a
> systemd service/socket pair. It's not a problem, but IMHO a preferred
> solution.
>
NP, I will add it.

> [ ]: Useful -debuginfo package or justification otherwise.
> 
> 
> Debuginfo is empty...
> 
Thanks for catching, there were hidden strips :)


> uronode.x86_64: E: incorrect-fsf-address /usr/share/doc/uronode/LICENSE
> 
> 
> Please, notify upstream about this.
> 
Upstream was already notified.

Comment 6 Jaroslav Škarvada 2014-12-05 16:13:26 UTC
(In reply to Jan Synacek from comment #4)
> [!]: Sources can be downloaded from URI in Source: tag
>      Note: Could not download Source0:
>      ftp://ftp.n1uro.net/packet/uronode-2.1.tar.gz
> 
> 
> Not sure why, manual download works. No problem.
> 
It seems like performance problem of upstream server or it's routing to internet. Sometimes the download works only at very low speed and stalls for a long time causing timeouts which can result in a failure of the fedora-review test. I tried downloading through different nets and from different locations and it was all the same.

Comment 7 Jaroslav Škarvada 2014-12-05 16:14:55 UTC
New version:
Spec URL: http://fedorapeople.org/~jskarvad/uronode/uronode.spec
SRPM URL: http://fedorapeople.org/~jskarvad/uronode/uronode-2.2-1.fc20.src.rpm

Rebased to latest upstream, MD2 dropped, added socket activation and other fixes.

Comment 8 Jaroslav Škarvada 2014-12-05 16:16:48 UTC
There is missing LICENSE file and I am not allowed to add one. I will notify upstream about this problem.

Comment 9 Jan Synacek 2014-12-12 13:46:47 UTC
Ok, all looks well now.

Regarding the LICENSE file, according to https://fedoraproject.org/wiki/Packaging:LicensingGuidelines:

"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 must be included in %doc. If the source package does not include the text of the license(s), the packager should contact upstream and encourage them to correct this mistake."

And:

"However, in situations where upstream is unresponsive, unable, or unwilling to provide proper full license text as part of the source code, and the indicated license requires that the full license text be included, Fedora Packagers must either:

Include a copy of what they believe the license text is intended to be, as part of the Fedora package in %doc, in order to remain in compliance. It is worth noting that this may place some additional risk on the packager, however, Fedora believes that this risk is minimized by the fact that if the upstream disagrees with what we have distributed as the full license text, they can easily remedy this by making full license text available in the source code. Packagers who choose to do this should ensure that they have exhausted all attempts to work with upstream to include the license text as part of the source code, or at least, to confirm the full license text explicitly with the upstream, as this minimizes the risk on the packager. Packagers should also take copies of license texts from reliable and canonical sources (such as the Fedora Software Licenses page, the FSF licenses page, or the OSI license list), whenever possible.
Choose not to package that software for Fedora."

This suggests that there hasn't have to be a LICENSE file included in the source, and that you *are* allowed to add one in some cases.

I didn't find any mention of license anywhere in the code, apart from includes and code taken from other sources. I think it would be OK to add a LICENSE file to the package, but I leave the decision to the packager.

APPROVING.

Comment 10 Jaroslav Škarvada 2014-12-12 13:56:21 UTC
Thanks. Regarding license, it's packaging error, I acknowledged this with upstream. License file was present in previous release and will be added to the next release by upstream. I will probably use the license file from the previous release until the next release will be available.

Comment 11 Jaroslav Škarvada 2014-12-12 14:55:13 UTC
New Package SCM Request
=======================
Package Name: uronode
Short Description: Alternative packet radio system for Linux
Upstream URL: http://www.n1uro.net
Owners: jskarvad
Branches: f20 f21

Comment 12 Gwyn Ciesla 2014-12-12 18:55:28 UTC
Git done (by process-git-requests).

Comment 13 Fedora Update System 2014-12-16 10:04:56 UTC
uronode-2.2-1.fc21 has been submitted as an update for Fedora 21.
https://admin.fedoraproject.org/updates/uronode-2.2-1.fc21

Comment 14 Fedora Update System 2014-12-16 10:05:47 UTC
uronode-2.2-1.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/uronode-2.2-1.fc20

Comment 15 Fedora Update System 2015-01-06 06:05:12 UTC
uronode-2.2-1.fc21 has been pushed to the Fedora 21 stable repository.

Comment 16 Fedora Update System 2015-01-06 06:17:01 UTC
uronode-2.2-1.fc20 has been pushed to the Fedora 20 stable repository.