Bug 953379 - Review Request: tipcutils - Utils package required to configure TIPC
Review Request: tipcutils - Utils package required to configure TIPC
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
unspecified Severity medium
: ---
: ---
Assigned To: T.C. Hollingsworth
Fedora Extras Quality Assurance
:
: 854256 (view as bug list)
Depends On: 854256
Blocks:
  Show dependency treegraph
 
Reported: 2013-04-18 01:01 EDT by Lokesh Mandvekar
Modified: 2014-07-01 18:59 EDT (History)
8 users (show)

See Also:
Fixed In Version: tipcutils-2.0.5-4.el6
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 854256
Environment:
Last Closed: 2013-05-06 00:23:51 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
tchollingsworth: fedora‑review+
limburgher: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Lokesh Mandvekar 2013-04-18 01:01:10 EDT
+++ This bug was initially created as a clone of Bug #854256 +++

Spec URL: http://marvin.hb0da.org/~dev/tipcutils.spec
SRPM URL: http://marvin.hb0da.org/~dev/tipcutils-2.0.3-0.src.rpm
Description: 
Hi.
Fedora seems to be missing a package containing the userspace tools necessary to configure TIPC (/net/tipc).

This package contains the tipc-config program, and also tipc-pipe, which is a netcat-like program that runs over TIPC links.

Fedora Account System Username: ehugne

--- Additional comment from Michael Scherer on 2012-09-06 01:59:41 EDT ---

Hi,

since you are not in the packager group, you need a sponsor first 
http://fedoraproject.org/wiki/How_to_get_sponsored_into_the_packager_group

On your spec, there is various issue with it :
- it doesn have a changelog
- you should use macro for path, rather than for well know executable

- BuildArch: x86_64  is wrong, unless there is a reason and then it should be explained

- %{_builddir}/%{name}-%{version}/configure
you should use the macro %configure, or if it doesn't work, ./configure

- the license file should be shipped as %doc

- BuildRoot is not needed, %clean eithe,r as seen on https://fedoraproject.org/wiki/Packaging:Guidelines#.25clean ( the rest of the rules are also on this page, so I recommend to read it carefully )

There is surely other stuff to fix, but I do not want to overwhelm you for the first comment :)

--- Additional comment from Erik Hugne on 2012-09-07 10:47:23 EDT ---

Thanks for the prompt feedback.
I have adressed your comments, and have one open question regarding the license.
Is it required to have this as a separate file?
All files in tipcutils have the license prepended to them.

--- Additional comment from Erik Hugne on 2012-09-24 05:07:08 EDT ---

The srpm/spec links still from the first request still apply:
Spec URL: http://marvin.hb0da.org/~dev/tipcutils.spec
SRPM URL: http://marvin.hb0da.org/~dev/tipcutils-2.0.3-0.src.rpm

--- Additional comment from Lokesh Mandvekar on 2013-04-13 02:08:13 EDT ---

Hi Erik,

Well, first off thanks for helping me use TIPC 2.0 with UDP bearers sometime back.

Are you still interested in proceeding with this review request?

If you are (and I'm hoping you would be), I'd like to help with the package review, coz this program is useful to me too. I'm not a sponsor and I'm in process of getting my first package reviewed.


* The Release number needs to be incremented everytime you make a change to the spec file, along with a Changelog entry for it.

* Fedora requires that files not be directly installed to /sbin. /usr/sbin is preferable in this case. Check this out: https://fedoraproject.org/wiki/Packaging:Guidelines#Filesystem_Layout

* In the %files section, use macros for directory names (for eg. %{_bindir} instead of /usr/bin)

* Run rpmlint on the spec, srpm and binary rpm files and post their outputs.

* Run the srpm file through koji and provide a link to the build here. Koji HOWTOs: https://fedoraproject.org/wiki/Using_the_Koji_build_system?rd=Koji/UsingKoji

* The Source URL isn't accessible anymore. Could you please check that out?

There might be other issues (but I'm sorta new to reviewing myself, and will revisit this as and when I learn new stuff).

--- Additional comment from Lokesh Mandvekar on 2013-04-13 02:13:03 EDT ---

macros to be used in %files: https://fedoraproject.org/wiki/How_to_create_an_RPM_package#.25files_section


--- New Request ---
I would like to assume maintainership of this package and have already talked to the upstream developers about this.

FAS username: lsm5

Spec URL: http://lsm5.fedorapeople.org/rpmbuild/SPECS/tipcutils.spec
SRPM URL: http://lsm5.fedorapeople.org/rpmbuild/SRPMS/tipcutils-2.0.5-1.fc20.src.rpm

Koji build: http://koji.fedoraproject.org/koji/taskinfo?taskID=5269869

$ rpmlint SPECS/tipcutils.spec 
0 packages and 1 specfiles checked; 0 errors, 0 warnings.

$ rpmlint SRPMS/tipcutils-2.0.5-1.fc20.src.rpm 
tipcutils.src: W: spelling-error %description -l en_US userspace -> user space, user-space, users pace
1 packages and 0 specfiles checked; 0 errors, 1 warnings.

$ rpmlint RPMS/x86_64/tipcutils-2.0.5-1.fc20.x86_64.rpm 
tipcutils.x86_64: W: spelling-error %description -l en_US userspace -> user space, user-space, users pace
1 packages and 0 specfiles checked; 0 errors, 1 warnings.
Comment 1 Erik Hugne 2013-04-18 07:35:55 EDT
*** Bug 854256 has been marked as a duplicate of this bug. ***
Comment 2 Lokesh Mandvekar 2013-04-18 10:21:23 EDT
Potential reviewers of this package, please find latest updates toward the end of Comment 1. Thanks.
Comment 3 T.C. Hollingsworth 2013-04-19 01:24:21 EDT
Package Review
==============

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

===== Issues =====

[!]: License is listed as "BSD", but no copy of the license is included.

     The BSD license states: 
     
        "Redistributions in binary form must reproduce the above copyright
         notice, this list of conditions and the following disclaimer in the 
         documentation and/or other materials provided with the distribution."
        
     In order to comply with this clause of the license, a copy of the license
     text MUST be included in %doc.  You can either work with upstream to include
     one, or include one yourself.
     
     For more information on handling this situation, see:
     https://fedoraproject.org/wiki/Packaging:LicensingGuidelines#License_Text

[!]: The $PREFIX is hardcoded.

     You shouldn't need this at all, as it's handled by the %configure macro.
     If you do need it, please use PREFIX=%{_prefix} instead.
     
[!]: The upstream tarball includes an initscript, but this package does not ship
     a systemd service.
     
     Is the functionality provided by the initscript necessary or desired?

[!]: The provided spec file and the spec in the SRPM differ.

     Please make sure they are identical next time.
     
===== Things to Consider ====

[ ]: The %files section contains an unnecessary %defattr line.

     This package does not contain the remaning necessary boilerplate to be
     supported on RHEL 5, and this line is no longer necessary in modern Fedora.
     Please consider removing it.

[ ]: The summary and description could use some more work.

     Please consider briefly explaining what TIPC is.
     
===== 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]: Package successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Package contains no bundled libraries.
[x]: Changelog in prescribed format.
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Sources contain only permissible code or content.
[!]: Each %files section contains %defattr if rpm < 4.4
     Note: %defattr present but not needed
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Package contains desktop file if it is a GUI application.
[-]: Development files must be in a -devel package
[x]: Package requires other packages for directories it uses.
[x]: Package uses nothing in %doc for runtime.
[x]: Package is not known to require ExcludeArch.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package complies to the Packaging Guidelines
[x]: Spec file lacks Packager, Vendor, PreReq tags.
[-]: 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]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "BSD (3 clause)". 1 files have unknown license. Detailed output of
     licensecheck in
     /home/fedora/patches/FedoraReview/953379-tipcutils/licensecheck.txt
[x]: Package consistently uses macro is (instead of hard-coded directory
     names).
[x]: Package is named using only allowed ASCII characters.
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
     Note: Package contains no Conflicts: tag(s)
[x]: Package do not use a name that already exist
[x]: Package obeys FHS, except libexecdir and /usr/target.
[x]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: Package installs properly.
[x]: Package is not relocatable.
[x]: Requires correct, justified where necessary.
[x]: CheckResultdir
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: Sources used to build the package match the upstream source, as provided
     in the spec URL.
[x]: Spec file is legible and written in American English.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[!]: Package contains systemd file(s) if in need.
[x]: File names are valid UTF-8.
[x]: Useful -debuginfo package or justification otherwise.
[-]: Large documentation must go in a -doc subpackage.
[x]: Packages must not store files under /srv, /opt or /usr/local

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

Generic:
[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)
[!]: 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]: Dist tag is present.
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Final provides and requires are sane (rpm -q --provides and rpm -q
     --requires).
[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: The placement of pkgconfig(.pc) files are correct.
[x]: SourceX tarball generation or download is documented.
[x]: SourceX / PatchY prefixed with %{name}.
[x]: SourceX is a working URL.
[-]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[!]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed files.
[x]: Spec use %global instead of %define.

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

Generic:
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[!]: 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).
[-]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.


Rpmlint
-------
Checking: tipcutils-2.0.5-1.fc20.src.rpm
          tipcutils-2.0.5-1.fc20.x86_64.rpm
          tipcutils-debuginfo-2.0.5-1.fc20.x86_64.rpm
tipcutils.src: W: spelling-error %description -l en_US userspace -> user space, user-space, users pace
tipcutils.x86_64: W: spelling-error %description -l en_US userspace -> user space, user-space, users pace
3 packages and 0 specfiles checked; 0 errors, 2 warnings.

OK


Rpmlint (installed packages)
----------------------------
# rpmlint tipcutils-debuginfo tipcutils
tipcutils.x86_64: W: spelling-error %description -l en_US userspace -> user space, user-space, users pace
2 packages and 0 specfiles checked; 0 errors, 1 warnings.
# echo 'rpmlint-done:'

OK

Diff spec file in url and in SRPM
---------------------------------
--- /home/fedora/patches/FedoraReview/953379-tipcutils/srpm/tipcutils.spec	2013-04-19 00:58:31.596004095 -0400
+++ /home/fedora/patches/FedoraReview/953379-tipcutils/srpm-unpacked/tipcutils.spec	2013-04-19 00:58:32.764004350 -0400
@@ -4,5 +4,5 @@
 License:    BSD
 URL:        http://tipc.sourceforge.net/
-Summary:    Utils package required to configure TIPC
+Summary:    TIPC utilities
 Source0:    http://lsm5.fedorapeople.org/rpmbuild/SOURCES/%{name}-%{version}.tar.gz
 
Ple

Requires
--------
tipcutils-2.0.5-1.fc20.x86_64.rpm (rpmlib, GLIBC filtered):
    
    libc.so.6()(64bit)
    rtld(GNU_HASH)

tipcutils-debuginfo-2.0.5-1.fc20.x86_64.rpm (rpmlib, GLIBC filtered):
    



Provides
--------
tipcutils-2.0.5-1.fc20.x86_64.rpm:
    
    tipcutils = 2.0.5-1.fc20
    tipcutils(x86-64) = 2.0.5-1.fc20

tipcutils-debuginfo-2.0.5-1.fc20.x86_64.rpm:
    
    tipcutils-debuginfo = 2.0.5-1.fc20
    tipcutils-debuginfo(x86-64) = 2.0.5-1.fc20



MD5-sum check
-------------
http://lsm5.fedorapeople.org/rpmbuild/SOURCES/tipcutils-2.0.5.tar.gz :
  CHECKSUM(SHA256) this package     : 1d71acd6d4cfa6f8161cefa27ef89a89bfb9fd968f5467b59afff315a5c26f5e
  CHECKSUM(SHA256) upstream package : 1d71acd6d4cfa6f8161cefa27ef89a89bfb9fd968f5467b59afff315a5c26f5e


Generated by fedora-review 0.3.1 (f4bc12d) last change: 2012-10-16
Buildroot used: fedora-rawhide-vanilla-x86_64
Command line :./try-fedora-review -b953379
Comment 4 Lokesh Mandvekar 2013-04-19 17:45:00 EDT
Spec URL: http://lsm5.fedorapeople.org/rpmbuild/SPECS/tipcutils.spec
SRPM URL: http://lsm5.fedorapeople.org/rpmbuild/SRPMS/tipcutils-2.0.5-2.fc20.src.rpm

$ rpmlint SPECS/tipcutils.spec 
0 packages and 1 specfiles checked; 0 errors, 0 warnings.

$ rpmlint SRPMS/tipcutils-2.0.5-2.fc20.src.rpm 
tipcutils.src: W: spelling-error Summary(en_US) Utils -> Tills
tipcutils.src: W: spelling-error %description -l en_US userspace -> user space, user-space, users pace
tipcutils.src: W: spelling-error %description -l en_US tipc -> tip, tic, tips
tipcutils.src: W: spelling-error %description -l en_US config -> con fig, con-fig, configure
tipcutils.src: W: spelling-error %description -l en_US eg -> eh, e, g
tipcutils.src: W: spelling-error %description -l en_US reconfiguring -> re configuring, re-configuring, recon figuring
tipcutils.src: W: spelling-error %description -l en_US netcat -> net cat, net-cat, Netscape
1 packages and 0 specfiles checked; 0 errors, 7 warnings.

$ rpmlint RPMS/x86_64/tipcutils-2.0.5-2.fc20.x86_64.rpm 
tipcutils.x86_64: W: spelling-error Summary(en_US) Utils -> Tills
tipcutils.x86_64: W: spelling-error %description -l en_US userspace -> user space, user-space, users pace
tipcutils.x86_64: W: spelling-error %description -l en_US tipc -> tip, tic, tips
tipcutils.x86_64: W: spelling-error %description -l en_US config -> con fig, con-fig, configure
tipcutils.x86_64: W: spelling-error %description -l en_US eg -> eh, e, g
tipcutils.x86_64: W: spelling-error %description -l en_US reconfiguring -> re configuring, re-configuring, recon figuring
tipcutils.x86_64: W: spelling-error %description -l en_US netcat -> net cat, net-cat, Netscape
1 packages and 0 specfiles checked; 0 errors, 7 warnings.


Upstream said, License is prepended to each file, so they won't be including a separate LICENSE file.

Default is to not install any scripts, installed only if explicitly mentioned using: ./configure --enable-scripts
Comment 5 Lokesh Mandvekar 2013-04-19 18:42:20 EDT
PREFIX not needed in spec file, removed.

SRPM URL: http://lsm5.fedorapeople.org/rpmbuild/SRPMS/tipcutils-2.0.5-3.fc20.src.rpm
Comment 6 T.C. Hollingsworth 2013-04-19 18:46:55 EDT
(In reply to comment #4)
> Upstream said, License is prepended to each file, so they won't be including
> a separate LICENSE file.

Unfortunately, upstream's unwillingness to add a LICENSE file does not absolve us from the BSD's requirement to provide a copy of the license along with binary copies of the software.  Please include a copy of the LICENSE somehow.

You could do something like this in %prep to avoid having to create your own LICENSE file:
head -n31 tipc-config/tipc-config.c | tail -n28 | sed 's/ \* //g' > LICENSE
Comment 7 Albert Strasheim 2013-04-22 07:21:15 EDT
As a matter of interest, is the Fedora kernel getting CONFIG_TIPC at some point?
Comment 8 Erik Hugne 2013-04-22 08:03:18 EDT
(In reply to comment #7)
> As a matter of interest, is the Fedora kernel getting CONFIG_TIPC at some
> point?
It was actually included in earlier versions of Fedora.
But back then, there was a parallell development track on Sourceforge going on that left the in-kernel code basically unmaintained.
This understandably led to this:
https://bugzilla.redhat.com/show_bug.cgi?id=574800

Since then, the Sourceforge track have been dropped and merged to the kernel.
Comment 9 Lokesh Mandvekar 2013-04-22 12:17:51 EDT
Sorry for the (possible) double post, I tried commenting via email, but doesn't seem to have worked. Anyway:

SRPM url: http://lsm5.fedorapeople.org/rpmbuild/SRPMS/tipcutils-2.0.5-4.fc20.src.rpm


%changelog
* Mon Apr 22 2013 Lokesh Mandvekar <lsm5@buffalo.edu> - 2.0.5-4
- LICENSE file generated
Comment 10 T.C. Hollingsworth 2013-04-22 21:19:06 EDT
In the future, please don't forget to provide and update the standalone spec file URL.  It makes it easier to check that simple little things like this have been fixed.

This package is APPROVED.

Please file a bug against the kernel if this package needs configuration options in the kernel turned on to be functional.
Comment 11 Lokesh Mandvekar 2013-04-23 18:18:12 EDT
T.C: Thanks for approving this, I'll be mindful of that moving forward.



----------------------------------


New Package SCM Request
=======================
Package Name: tipcutils
Short Description: Utils package required to configure TIPC
Owners: lsm5
Branches: f18 f19 el6
InitialCC:
Comment 12 Jon Ciesla 2013-04-24 08:09:08 EDT
Git done (by process-git-requests).
Comment 13 Fedora Update System 2013-04-24 12:15:56 EDT
tipcutils-2.0.5-4.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/tipcutils-2.0.5-4.fc19
Comment 14 Fedora Update System 2013-04-24 12:17:19 EDT
tipcutils-2.0.5-4.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/tipcutils-2.0.5-4.fc18
Comment 15 Fedora Update System 2013-04-24 12:25:23 EDT
tipcutils-2.0.5-4.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/tipcutils-2.0.5-4.el6
Comment 16 Fedora Update System 2013-04-24 20:38:29 EDT
tipcutils-2.0.5-4.fc18 has been pushed to the Fedora 18 testing repository.
Comment 17 Fedora Update System 2013-05-06 00:23:54 EDT
tipcutils-2.0.5-4.fc19 has been pushed to the Fedora 19 stable repository.
Comment 18 Fedora Update System 2013-05-07 14:26:25 EDT
tipcutils-2.0.5-4.fc18 has been pushed to the Fedora 18 stable repository.
Comment 19 Fedora Update System 2013-11-01 17:09:49 EDT
tipcutils-2.0.5-4.el6 has been pushed to the Fedora EPEL 6 stable repository.

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