Bug 787834 - Review Request: fishpoll - Daemon and Client to run scripts when triggered from the network
Summary: Review Request: fishpoll - Daemon and Client to run scripts when triggered fr...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Mario Santagiuliana
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-02-06 21:24 UTC by Andrea Veri
Modified: 2013-04-13 00:14 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-04-13 00:12:12 UTC
Type: ---
Embargoed:
fedora: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Andrea Veri 2012-02-06 21:24:52 UTC
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 09:43:08 UTC
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 10:10:13 UTC
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 10:37:04 UTC
Thanks for the comments, will prepare a fix today.

Comment 4 Andrea Veri 2012-02-07 11:20:50 UTC
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 11:48:06 UTC
License issue is now fixed. Uploaded new files.

Comment 6 Ofer Schreiber 2012-02-07 12:22:22 UTC
* 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 12:48:31 UTC
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 15:12:08 UTC
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 15:41:08 UTC
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 19:18:33 UTC
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 20:07:36 UTC
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 22:33:11 UTC
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 23:33:46 UTC
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 23:43:19 UTC
Looks like an interesting solution, I've updated my files as well.

Thanks.

Comment 17 Mario Santagiuliana 2012-02-07 23:44:05 UTC
Which are the new urls of new files?

Comment 19 Mario Santagiuliana 2012-02-08 00:45:08 UTC
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-08 00:46:57 UTC
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 Gwyn Ciesla 2012-02-08 13:19:27 UTC
Git done (by process-git-requests).

Added f17.

Comment 22 Fedora Update System 2012-02-08 18:04:28 UTC
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 18:04:36 UTC
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 18:04:45 UTC
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 18:46:16 UTC
fishpoll-0.1.6-4.el5 has been pushed to the Fedora EPEL 5 testing repository.

Comment 26 Fedora Update System 2012-05-31 11:40:48 UTC
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-13 00:12:15 UTC
fishpoll-0.1.6-4.el5 has been pushed to the Fedora EPEL 5 stable repository.

Comment 28 Fedora Update System 2013-04-13 00:14:03 UTC
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.


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