Bug 787834

Summary: Review Request: fishpoll - Daemon and Client to run scripts when triggered from the network
Product: [Fedora] Fedora Reporter: Andrea Veri <andrea.veri>
Component: Package ReviewAssignee: Mario Santagiuliana <fedora>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: fedora, kevin, notting, oschreib, package-review
Target Milestone: ---Flags: fedora: fedora‑review+
limburgher: fedora‑cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-04-12 20:12:12 EDT Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:

Description Andrea Veri 2012-02-06 16:24:52 EST
Spec URL: http://averi.fedorapeople.org/fishpoll/fishpoll.spec
SRPM URL: http://averi.fedorapeople.org/fishpoll/fishpoll-0.1.5-1.fc16.src.rpm
Description: Daemon to run scripts when triggered from the network
Comment 1 Ofer Schreiber 2012-02-07 04:43:08 EST
I'm not a packager, so I can't be a sponsor yet.
Some comments though:

1. - Source in SRPM and URL does not match:
1cbb26be8d5d4be08e1f9f446b333a6f  fishpoll-0.1.5.tar.gz
e26e892ac14d19f766fd4409ca54530c  fishpoll-0.1.5.tar.gz.srpm

2. BuildRoot is no longer needed in Fedora.  Please remove.
3. BuildArch is not needed in Fedora.  Please remove.
4. %clean section is no longer needed in Fedora. Please remove this section.
5. The %install section should not contain anything that removes the buildroot.
 Remove: "rm -rf %{buildroot}"
5. rpmlint issues:
[oschreib@jerusalem fish]$ rpmlint fishpoll-0.1.5-1.fc16.noarch.rpm
fishpoll.noarch: W: name-repeated-in-summary C fishpoll
fishpoll.noarch: E: incorrect-fsf-address /usr/share/doc/fishpoll-0.1.5/COPYING
fishpoll.noarch: W: no-manual-page-for-binary fishpoke

looks like the COPYING is outdated, you should contact upstream to replace this file with a newer one.
Comment 2 Ofer Schreiber 2012-02-07 05:10:13 EST
6. LICENSE is missing, you should contact upstream  so a LICENSE text will be included in source tarball
Comment 3 Andrea Veri 2012-02-07 05:37:04 EST
Thanks for the comments, will prepare a fix today.
Comment 4 Andrea Veri 2012-02-07 06:20:50 EST
I gave a wider look at the docs and:

1. build root is needed for EPEL and I plan to push this package there as well. Same applies to point 5. and 4.
2. I still see BuildArch is supported.
3. the only issue I see is the COPYING file being old, but I don't think that's really important, it'll eventually get fixed at the next update.
Comment 5 Andrea Veri 2012-02-07 06:48:06 EST
License issue is now fixed. Uploaded new files.
Comment 6 Ofer Schreiber 2012-02-07 07:22:22 EST
* I'm not an official packager*

Package Review 
==============
(generated by fedora-review 0.1.2, some additional info by myself)

Key:
- = N/A
x = Pass
! = Fail
? = Not evaluated

==== Generic ====
[x]: MUST Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: MUST Package successfully compiles and builds into binary rpms on at
     least one supported primary architecture.
[x]: MUST All build dependencies are listed in BuildRequires, except for any
     that are listed in the exceptions section of Packaging Guidelines.
[!]: MUST Buildroot is not present
     Note: Buildroot is not needed unless packager plans to package for EPEL5
[x]: MUST Package contains no bundled libraries.
[x]: MUST Changelog in prescribed format.
[!]: MUST Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
     Note: Clean is needed only if supporting EPEL
[?]: MUST Sources contain only permissible code or content.
[!]: MUST Each %files section contains %defattr if rpm < 4.4
     Note: defattr(....) present in %files server section. This is OK if
     packaging for EPEL5. Otherwise not needed
[?]: MUST Macros in Summary, %description expandable at SRPM build time.
[x]: MUST Package requires other packages for directories it uses.
[x]: MUST Package uses nothing in %doc for runtime.
[x]: MUST Package is not known to require ExcludeArch.
[x]: MUST Permissions on files are set properly.
[x]: MUST Package does not contain duplicates in %files.
[x]: MUST Spec file lacks Packager, Vendor, PreReq tags.
[!]: MUST Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
     Note: rm -rf is only needed if supporting EPEL5
[x]: MUST 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]: MUST License field in the package spec file matches the actual license.
[!]: MUST License file installed when any subpackage combination is installed.
[x]: MUST Package consistently uses macros (instead of hard-coded directory
     names).
[x]: MUST Package meets the Packaging Guidelines.
[x]: MUST Package is named according to the Package Naming Guidelines.
[?]: MUST Package does not generates any conflict.
[x]: MUST Package obeys FHS, except libexecdir and /usr/target.
[x]: MUST Package must own all directories that it creates.
[x]: MUST Package does not own files or directories owned by other packages.
[x]: MUST Package installs properly.
[x]: MUST Requires correct, justified where necessary.
[!]: MUST Rpmlint output is silent.

rpmlint fishpoll-0.1.5-1.fc17.src.rpm

fishpoll.src: W: name-repeated-in-summary C fishpoll
fishpoll.src: W: spelling-error %description -l en_US fishpoke -> fish poke, fish-poke, fishpond
1 packages and 0 specfiles checked; 0 errors, 2 warnings.


rpmlint fishpoll-server-0.1.5-1.fc17.noarch.rpm

fishpoll-server.noarch: W: no-documentation
fishpoll-server.noarch: W: no-manual-page-for-binary fishpolld
fishpoll-server.noarch: W: missing-lsb-keyword Default-Stop in /etc/rc.d/init.d/fishpoll
fishpoll-server.noarch: W: missing-lsb-keyword Short-Description in /etc/rc.d/init.d/fishpoll
fishpoll-server.noarch: W: no-reload-entry /etc/rc.d/init.d/fishpoll
fishpoll-server.noarch: W: incoherent-init-script-name fishpoll ('fishpoll-server', 'fishpoll-serverd')
1 packages and 0 specfiles checked; 0 errors, 6 warnings.


rpmlint fishpoll-0.1.5-1.fc17.noarch.rpm

fishpoll.noarch: W: name-repeated-in-summary C fishpoll
fishpoll.noarch: W: no-manual-page-for-binary fishpoke
1 packages and 0 specfiles checked; 0 errors, 2 warnings.


[!]: MUST Sources used to build the package match the upstream source, as
     provided in the spec URL.
/tmp/review/fish/787834/fishpoll-0.1.5.tar.gz :
  MD5SUM this package     : 79e52b31678f1845706b5614678346af
  MD5SUM upstream package : f87c42cfe5f8ead2ba3383a2e4cb6025

[x]: MUST Spec file is legible and written in American English.
[x]: MUST Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: MUST Package contains a SysV-style init script if in need of one.
[x]: MUST File names are valid UTF-8.
[x]: SHOULD Reviewer should test that the package builds in mock.
[!]: SHOULD If the source package does not include license text(s) as a
     separate file from upstream, the packager SHOULD query upstream to
     include it.
[!]: SHOULD Dist tag is present.
[-]: SHOULD No file requires outside of /etc, /bin, /sbin, /usr/bin,
     /usr/sbin.
[]: SHOULD Final provides and requires are sane (rpm -q --provides and rpm -q
     --requires).
[?]: SHOULD Package functions as described.
[!]: SHOULD Package does not include license text files separate from
     upstream.
[x]: SHOULD Scriptlets must be sane, if used.
[x]: SHOULD SourceX is a working URL.
[-]: SHOULD Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[-]: SHOULD Package should compile and build into binary rpms on all supported
     architectures.
[-]: SHOULD %check is present and all tests pass.
[-]: SHOULD Packages should try to preserve timestamps of original installed
     files.
[x]: SHOULD Spec use %global instead of %define.
----

Fix: Sources used to build srpm must match upstream sources.
TODO: BuildRoot tag, buildroot cleaning in %install and the $clean section
aren't needed anymore.  Remove them unless you plan to use this package in
EPELs
Fix: LICENSE file is missing, please query upstream about it
Fix: init script should be named fishpoll-server (or fishpoll-serverd)
Fix: Missing LSB keywords in init script - Default-Stop, Short-Description
Fix: Reload entry is missing in init script

Generated by fedora-review 0.1.2
External plugins:
Comment 7 Andrea Veri 2012-02-07 07:48:31 EST
1. the md5sum mismatches because I've updated the COPYING file myself by grabbing the latest version on the GNU website. I won't ask Owen to setup a new tarball just for a one line change on the FSF address.

2. COPYING == LICENSE

3. why should I name it fishpoll-server? the daemon's name is fishpoll and the client's one is fishpoke, again this is definitely a minor issue like point 4.

5. the daemon requires a full restart for the configuration files to be loaded correctly again in case they did change, a reload flag should be added upstream but I don't see it being relevant here.

And again, I plan to upload it to EPEL.
Comment 8 Mario Santagiuliana 2012-02-07 10:12:08 EST
I will take this review.

In Comment #5 you say you upload new files, could you provide the new package version? Don't replace existing uploaded package.

Could you not replace official tarball but just provide a "patch" in your src rpm package?

Thank you
Comment 9 Mario Santagiuliana 2012-02-07 10:41:08 EST
From Fedora 15 we use Systemd and SystemV-style initscripts are now considerate obsolete.
Could you update you spec file using new system?
Check here:
http://fedoraproject.org/wiki/Packaging:Systemd
Comment 11 Mario Santagiuliana 2012-02-07 14:18:33 EST
Andrea thank you for your new package.

Please fix these few things:
1) use %{name} macro in Source0;
2) use %{name}-%{version} in %setup line instead of fishpoll-0.1.6
3) put systemd-units buildrequires under a if statement because this require is needed just by fedora and not by EPEL.
4) in %install section move the two lines corresponding to SysV script in the if-else statement, fedora 15+ use systemd not sysv.
5) same thing of 4) but for "%files server" section
6) add the requires systemd-units as explained here:
http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#New_Packages
7) update your spec file for EPEL section in accord to:
http://fedoraproject.org/wiki/Packaging:SysVInitScript
so adding chkconfig and initscript requires etc.

Thank you
Comment 12 Andrea Veri 2012-02-07 15:07:36 EST
Thanks for your comments, I've updated everything as requested:

http://averi.fedorapeople.org/fishpoll/fishpoll-0.1.6-2.fc16.src.rpm

and

http://averi.fedorapeople.org/fishpoll/fishpoll.spec
Comment 14 Mario Santagiuliana 2012-02-07 17:33:11 EST
Other two things:
1) %{_initrddir}/fishpolld should be %{_initrddir}/fishpoll
2) could you use %{name} where is possible?
Comment 15 Mario Santagiuliana 2012-02-07 18:33:46 EST
Ok, Andrea, you update your package after my comment...
So, because we have two software client and server that are independent I suggest you to change you spec file similar to this mine:
http://marionline.fedorapeople.org/packages/SPECS/fishpoll.spec

I use %{name} where is possible, change the python requires to buildrequires because it will be included in requires package automatically and I create three packages:
- fishpolld install the server and because it should be the primary package I put here the doc file.
- fishpoke is the client.
- fishpoll is a package to install fishpolld and fishpoke in one way.

You could check my example here:
http://marionline.fedorapeople.org/packages/SPECS/fishpoll.spec

You should improve the summary and description of each package. I think this is the best solution to have two single packages.
Comment 16 Andrea Veri 2012-02-07 18:43:19 EST
Looks like an interesting solution, I've updated my files as well.

Thanks.
Comment 17 Mario Santagiuliana 2012-02-07 18:44:05 EST
Which are the new urls of new files?
Comment 19 Mario Santagiuliana 2012-02-07 19:45:08 EST
Package Review
==============

Key:
- = N/A
x = Pass
! = Fail
? = Not evaluated



==== Generic ====
[x]: MUST Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: MUST Package successfully compiles and builds into binary rpms on at
     least one supported primary architecture.
[x]: MUST All build dependencies are listed in BuildRequires, except for any
     that are listed in the exceptions section of Packaging Guidelines.
[!]: MUST Buildroot is not present
     Note: Buildroot is not needed unless packager plans to package for EPEL5
[x]: MUST Package contains no bundled libraries.
[x]: MUST Changelog in prescribed format.
[!]: MUST Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
     Note: Clean is needed only if supporting EPEL
[x]: MUST Sources contain only permissible code or content.
[!]: MUST %config files are marked noreplace or the reason is justified.
     Note: %config %{_sysconfdir}/%{name}.d/%{name}_file_sample
[!]: MUST Each %files section contains %defattr if rpm < 4.4
     Note: defattr(....) present in %files -n fishpoke section. This is OK if
     packaging for EPEL5. Otherwise not needed
[x]: MUST Macros in Summary, %description expandable at SRPM build time.
[x]: MUST Package requires other packages for directories it uses.
[x]: MUST Package uses nothing in %doc for runtime.
[x]: MUST Package is not known to require ExcludeArch.
[x]: MUST Permissions on files are set properly.
[x]: MUST Package does not contain duplicates in %files.
[x]: MUST Spec file lacks Packager, Vendor, PreReq tags.
[!]: MUST Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
     Note: rm -rf is only needed if supporting EPEL5
[x]: MUST 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]: MUST License field in the package spec file matches the actual license.
[x]: MUST License file installed when any subpackage combination is installed.
[x]: MUST Package consistently uses macros (instead of hard-coded directory
     names).
[x]: MUST Package meets the Packaging Guidelines.
[x]: MUST Package is named according to the Package Naming Guidelines.
[x]: MUST No %config files under /usr.
[x]: MUST Package does not generates any conflict.
[x]: MUST Package obeys FHS, except libexecdir and /usr/target.
[x]: MUST Package must own all directories that it creates.
[x]: MUST Package does not own files or directories owned by other packages.
[x]: MUST Package installs properly.
[x]: MUST Requires correct, justified where necessary.
[!]: MUST Rpmlint output is silent.

rpmlint fishpolld-0.1.6-4.fc17.noarch.rpm

fishpolld.noarch: W: only-non-binary-in-usr-lib
fishpolld.noarch: W: conffile-without-noreplace-flag /etc/fishpoll.d/fishpoll_file_sample
fishpolld.noarch: E: non-executable-script /etc/fishpoll.d/fishpoll_file_sample 0644L /bin/bash
fishpolld.noarch: W: no-manual-page-for-binary fishpolld
1 packages and 0 specfiles checked; 1 errors, 3 warnings.


rpmlint fishpoll-0.1.6-4.fc17.noarch.rpm

fishpoll.noarch: W: no-documentation
1 packages and 0 specfiles checked; 0 errors, 1 warnings.


rpmlint fishpoke-0.1.6-4.fc17.noarch.rpm

fishpoke.noarch: W: spelling-error Summary(en_US) fishpolld -> fishpond
fishpoke.noarch: W: no-manual-page-for-binary fishpoke
1 packages and 0 specfiles checked; 0 errors, 2 warnings.


rpmlint fishpoll-0.1.6-4.fc17.src.rpm

1 packages and 0 specfiles checked; 0 errors, 0 warnings.


[!]: MUST Sources used to build the package match the upstream source, as
     provided in the spec URL.
/home/makerpm/787834/fishpoll-0.1.6.tar.gz :
  MD5SUM this package     : e19d9fed59b4f158c276fa7fdc2cb06f
  MD5SUM upstream package : 0824a64f352fa224375283fd0f5ac33f

[x]: MUST Spec file is legible and written in American English.
[x]: MUST Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: MUST Package contains a SysV-style init script if in need of one.
[x]: MUST File names are valid UTF-8.
[x]: SHOULD Reviewer should test that the package builds in mock.
[x]: SHOULD If the source package does not include license text(s) as a
     separate file from upstream, the packager SHOULD query upstream to
     include it.
[!]: SHOULD Dist tag is present.
[x]: SHOULD No file requires outside of /etc, /bin, /sbin, /usr/bin,
     /usr/sbin.
[x]: SHOULD Final provides and requires are sane (rpm -q --provides and rpm -q
     --requires).
[x]: SHOULD Package functions as described.
[x]: SHOULD Package does not include license text files separate from
     upstream.
[x]: SHOULD Scriptlets must be sane, if used.
[x]: SHOULD SourceX is a working URL.
[x]: SHOULD Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: SHOULD Package should compile and build into binary rpms on all supported
     architectures.
[!]: SHOULD %check is present and all tests pass.
[x]: SHOULD Packages should try to preserve timestamps of original installed
     files.
[-]: SHOULD Spec use %global instead of %define.

Issues:
[!]: MUST Buildroot is not present
     Note: Buildroot is not needed unless packager plans to package for EPEL5
[!]: MUST Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
     Note: Clean is needed only if supporting EPEL
[!]: MUST %config files are marked noreplace or the reason is justified.
     Note: %config %{_sysconfdir}/%{name}.d/%{name}_file_sample
[!]: MUST Each %files section contains %defattr if rpm < 4.4
     Note: defattr(....) present in %files -n fishpoke section. This is OK if
     packaging for EPEL5. Otherwise not needed
[!]: MUST Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
     Note: rm -rf is only needed if supporting EPEL5
[!]: MUST Rpmlint output is silent.

rpmlint fishpolld-0.1.6-4.fc17.noarch.rpm

fishpolld.noarch: W: only-non-binary-in-usr-lib
fishpolld.noarch: W: conffile-without-noreplace-flag /etc/fishpoll.d/fishpoll_file_sample
fishpolld.noarch: E: non-executable-script /etc/fishpoll.d/fishpoll_file_sample 0644L /bin/bash
fishpolld.noarch: W: no-manual-page-for-binary fishpolld
1 packages and 0 specfiles checked; 1 errors, 3 warnings.


rpmlint fishpoll-0.1.6-4.fc17.noarch.rpm

fishpoll.noarch: W: no-documentation
1 packages and 0 specfiles checked; 0 errors, 1 warnings.


rpmlint fishpoke-0.1.6-4.fc17.noarch.rpm

fishpoke.noarch: W: spelling-error Summary(en_US) fishpolld -> fishpond
fishpoke.noarch: W: no-manual-page-for-binary fishpoke
1 packages and 0 specfiles checked; 0 errors, 2 warnings.


rpmlint fishpoll-0.1.6-4.fc17.src.rpm

1 packages and 0 specfiles checked; 0 errors, 0 warnings.


[!]: MUST Sources used to build the package match the upstream source, as
     provided in the spec URL.
/home/makerpm/787834/fishpoll-0.1.6.tar.gz :
  MD5SUM this package     : e19d9fed59b4f158c276fa7fdc2cb06f
  MD5SUM upstream package : 0824a64f352fa224375283fd0f5ac33f



Generated by fedora-review 0.1.2
===============

The errors could be ignored:
- package would be include in EPEL;
- md5sum change every time because the package is automatically generate on request;
- rpmlint error could be ignored, it is an example configuration file.

The packages is ok for me.

Package approved.

I will change the title of this request to match the new summary in spec file.

Andrea, remember to close this bug in accord to new package process submission:
http://fedoraproject.org/wiki/New_package_process_for_existing_contributors
Comment 20 Andrea Veri 2012-02-07 19:46:57 EST
New Package SCM Request
=======================
Package Name: fishpoll
Short Description: Daemon and Client to run scripts when triggered from the network
Owners: averi marionline
Branches: el5 el6 f16
InitialCC: averi marionline
Comment 21 Jon Ciesla 2012-02-08 08:19:27 EST
Git done (by process-git-requests).

Added f17.
Comment 22 Fedora Update System 2012-02-08 13:04:28 EST
fishpoll-0.1.6-4.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/fishpoll-0.1.6-4.el6
Comment 23 Fedora Update System 2012-02-08 13:04:36 EST
fishpoll-0.1.6-4.el5 has been submitted as an update for Fedora EPEL 5.
https://admin.fedoraproject.org/updates/fishpoll-0.1.6-4.el5
Comment 24 Fedora Update System 2012-02-08 13:04:45 EST
fishpoll-0.1.6-4.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/fishpoll-0.1.6-4.fc16
Comment 25 Fedora Update System 2012-02-09 13:46:16 EST
fishpoll-0.1.6-4.el5 has been pushed to the Fedora EPEL 5 testing repository.
Comment 26 Fedora Update System 2012-05-31 07:40:48 EDT
fishpoll-0.1.6-5.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/fishpoll-0.1.6-5.el6
Comment 27 Fedora Update System 2013-04-12 20:12:15 EDT
fishpoll-0.1.6-4.el5 has been pushed to the Fedora EPEL 5 stable repository.
Comment 28 Fedora Update System 2013-04-12 20:14:03 EDT
fishpoll-0.1.6-5.el6 has been pushed to the Fedora EPEL 6 stable repository.  If problems still persist, please make note of it in this bug report.