Bug 972477

Summary: Review Request: fido - A multi-threaded file watch utility
Product: [Fedora] Fedora Reporter: Roman Mohr <roman>
Component: Package ReviewAssignee: Björn 'besser82' Esser <besser82>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: rawhideCC: besser82, i, notting, package-review, terje.rosten, volker27
Target Milestone: ---Keywords: Upstream
Target Release: ---Flags: besser82: fedora-review+
gwync: fedora-cvs+
Hardware: All   
OS: Linux   
Whiteboard: NotReady
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-07-19 13:14:32 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: 973822, 977367    
Bug Blocks:    
Attachments:
Description Flags
build.log - no hardening
none
improved spec-file none

Description Roman Mohr 2013-06-09 17:06:03 UTC
This is my first package and I am seeking a sponsor.

Fedora Account System Username:
rfenkhuber

Spec URL: http://cloud.evelyn-mohr.at/public.php?service=files&t=2f4435f5871bcfddc8de109e19ab7b32&download&path=/fido.spec
SRPM URL: http://cloud.evelyn-mohr.at/public.php?service=files&t=2f4435f5871bcfddc8de109e19ab7b32&download&path=/fido-1.0.7-2.fc18.src.rpm

Description: 
A multi-threaded file watch utility. It can monitor files for changes in
content or modification times. If it notices a change, it will kick off a
user-defined script.

koji URL: http://koji.fedoraproject.org/koji/taskinfo?taskID=5485253

rpmlint:
rpmlint ~/rpmbuild/SPECS/fido.spec ~/rpmbuild/SRPMS/fido-1.0.7-2.fc18.src.rpm ~/rpmbuild/RPMS/x86_64/fido-1.0.7-2.fc18.x86_64.rpm
# i think the spelling errors can be ignored
fido.src: W: spelling-error Summary(en_US) multi -> mulch, mufti
fido.src: W: spelling-error %description -l en_US multi -> mulch, mufti
fido.x86_64: W: spelling-error Summary(en_US) multi -> mulch, mufti
fido.x86_64: W: spelling-error %description -l en_US multi -> mulch, mufti
# just the service file is in /usr/lib/... and this should be legitimate
fido.x86_64: W: only-non-binary-in-usr-lib
# should a sample config be marked with the noreplace-flag?
fido.x86_64: W: conffile-without-noreplace-flag /etc/fido/fido.conf.sample
# upstream is informed:
fido.x86_64: E: incorrect-fsf-address /usr/share/doc/fido-1.0.7/COPYING
2 packages and 1 specfiles checked; 1 errors, 6 warnings.

Comment 1 Antonio T. (sagitter) 2013-06-09 17:27:36 UTC
Hi Roman.

> This is my first package and I am seeking a sponsor.

Please, add FE-NEEDSPONSOR (Bugzilla id:177841) as Blocks and provide direct links to spec and srpm files.

Comment 2 Björn 'besser82' Esser 2013-06-09 17:39:59 UTC
Hello Roman!

Version must always be rawhide, since you want to bring in a completely new package to fedora, setting specific release-version is for bug-reporting against existing pkgs, only.  If you want you can `backport` to earlier releases after approval, see: http://fedoraproject.org/wiki/Package_SCM_admin_requests

Since I'm not a sponsor, unfortunatly, I can't do an official review, but I'll do an informal one helping you squashing out any possible issues with your pkg.

I'll drop you a PM later.

(In reply to Antonio Trande from comment #1)
> Please, add FE-NEEDSPONSOR (Bugzilla id:177841) as Blocks and provide direct
> links to spec and srpm files.

Added `Blocks: FE-NEEDSPONSOR`. Links are fine and lead to direct download.

Cheers,
  Björn

Comment 3 Roman Mohr 2013-06-09 19:15:23 UTC
Hi Björn and Antonio,  

thank you for your comments and your help.

Here are the links for rawhire:

koji URL: http://koji.fedoraproject.org/koji/taskinfo?taskID=5485459

SRPM URL: http://cloud.evelyn-mohr.at/public.php?service=files&t=2f4435f5871bcfddc8de109e19ab7b32&download&path=/fido-1.0.7-2.fc20.src.rpm

Cheers,
Roman

Comment 4 Christopher Meng 2013-06-10 15:34:03 UTC
I think no need for rm -rf $RPM_BUILD_ROOT

And just a note, your spec contains too much blanks...

Comment 5 Volker Fröhlich 2013-06-10 16:46:34 UTC
Don't label manpages as documentation. Just install the uncompressed versions in the install section and rpmbuild will take care of the rest. Also make it fido.1* in the files section.

Don't install COPYING and README manually. Use the doc macro instead:
%doc README COPYING. Remove %doc %{_defaultdocdir}/%{name}-%{version}/ then.

Drop the rm -rf, as Christopher said.

I suggest to not use the version macro for patches. If you package a newer version, you'd have to rename all the patches, though they might still apply.

Comment 6 Volker Fröhlich 2013-06-10 16:50:03 UTC
Please also provide URLs that work with wget and fedora-review (which probably uses wget too). Always state URLs for spec file and SRPM!

Comment 7 Terje Røsten 2013-06-10 19:37:41 UTC
- Don't mix $RPM_BUILD_ROOT and %{buildroot}
- These
  mkdir -p %{buildroot}%{_unitdir}
  cp -p fido.service %{buildroot}%{_unitdir}

  could be one line:

  install -D -p -m 0644 fido.service %{buildroot}%{_unitdir}/fido.service

Comment 8 Björn 'besser82' Esser 2013-06-11 19:50:17 UTC
Created attachment 759803 [details]
build.log - no hardening

***** INFORMAL REVIEW-REPORT *****
*****   I am NOT a sponsor   *****

Package has some issues, some points are not checked, see report

#####

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

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



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

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Package does not contain any libtool archives (.la)
[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.
[!]: %build honors applicable compiler flags or justifies otherwise.

     ---> {C,LD}FLAGS possibly ignored by Makefile; GOT is still writeable
          caused by "partial RELRO", complete RELRO needs `-Wl,-z,relro,-z,now`
          doesn't build PIE, although %global _hardened_build 1 is in spec

          `hardening-check --verbose fido`
          fido:
           Position Independent Executable: no, normal executable!
           Stack protected: yes
           Fortify Source functions: yes (some protected functions found)
		unprotected: gethostname
		unprotected: memset
		unprotected: snprintf
		unprotected: strcat
		unprotected: fgets
		unprotected: memmove
		unprotected: read
		unprotected: memcpy
		protected: strncpy
		protected: memset
		protected: snprintf
		protected: vsprintf
		protected: memcpy
		protected: printf
		protected: fprintf
		protected: sprintf
		protected: syslog
           Read-only relocations: yes
           Immediate binding: no, not found!

          see attached build.log

[?]: Package contains no bundled libraries without FPC exception.

     ---> possibly bundled libs in files with license differing from upstream

[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
[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.
[?]: Package complies to the Packaging Guidelines

     ---> needs check for bundled libs, esp. files with license differing
          from upstream

[x]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "LGPL (v2.1 or later)", "LGPL (v2 or later)", "GPL (v2 or later)", "LGPL
     (v2 or later) (with incorrect FSF address)", "Unknown or generated". 26
     files have unknown license. Detailed output of licensecheck in
     /home/bjoern.esser/fedora/review/review-fido/licensecheck.txt
[x]: Package consistently uses macro is (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]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[x]: Package contains systemd file(s) if in need.
[x]: Useful -debuginfo package or justification otherwise.
[-]: Large documentation must go in a -doc subpackage.
     Note: Documentation size is 40960 bytes in 6 files.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[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]: Each %files section contains %defattr if rpm < 4.4
[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]: Fully versioned dependency in subpackages, if present.
[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 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
[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).

===== 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.

     ---> I need to setup a vm and do exhaustive testing...

[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.
[-]: 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]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Sources can be downloaded from URI in Source: tag
[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.
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Uses parallel make.
[x]: SourceX tarball generation or download is documented.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define.

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

Generic:
[x]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: fido-1.0.7-3.fc20.x86_64.rpm
fido.x86_64: W: spelling-error Summary(en_US) multi -> mulch, mufti
fido.x86_64: W: spelling-error %description -l en_US multi -> mulch, mufti
fido.x86_64: W: only-non-binary-in-usr-lib
fido.x86_64: E: incorrect-fsf-address /usr/share/doc/fido-1.0.7/COPYING
1 packages and 0 specfiles checked; 1 errors, 3 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint fido
fido.x86_64: W: spelling-error Summary(en_US) multi -> mulch, mufti
fido.x86_64: W: spelling-error %description -l en_US multi -> mulch, mufti
fido.x86_64: W: only-non-binary-in-usr-lib
fido.x86_64: E: incorrect-fsf-address /usr/share/doc/fido-1.0.7/COPYING
1 packages and 0 specfiles checked; 1 errors, 3 warnings.
# echo 'rpmlint-done:'



Requires
--------
fido (rpmlib, GLIBC filtered):
    /bin/sh
    config(fido)
    libc.so.6()(64bit)
    libpthread.so.0()(64bit)
    rtld(GNU_HASH)
    systemd



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



Source checksums
----------------
http://www.joedog.org/pub/fido/fido-1.0.7.tar.gz :
  CHECKSUM(SHA256) this package     : 27e9a01319066e190da91038f727a973c2ce43aa64d1fef8dd74996dcd4f568b
  CHECKSUM(SHA256) upstream package : 27e9a01319066e190da91038f727a973c2ce43aa64d1fef8dd74996dcd4f568b


Generated by fedora-review 0.4.1 (b2e211f) last change: 2013-04-29
Buildroot used: fedora-rawhide-x86_64
Command line :/usr/bin/fedora-review -m fedora-rawhide-x86_64 -n fido

#####

Got recent spec/srpm by private email from Roman, uploaded here if some wants to review, too:

Spec URL: http://besser82.fedorapeople.org/review/rfenkhuber/fido/fido.spec
SRPM URL: http://besser82.fedorapeople.org/review/rfenkhuber/fido/fido-1.0.7-3.fc18.src.rpm

Comment 9 Björn 'besser82' Esser 2013-06-12 09:02:22 UTC
(In reply to Björn Esser from comment #8)
> [!]: %build honors applicable compiler flags or justifies otherwise.
> 
>      ---> {C,LD}FLAGS possibly ignored by Makefile; GOT is still writeable
>           caused by "partial RELRO", complete RELRO needs
> `-Wl,-z,relro,-z,now`
>           doesn't build PIE, although %global _hardened_build 1 is in spec
> 
>           `hardening-check --verbose fido`
>           fido:
>            Position Independent Executable: no, normal executable!
>            ...
>            Immediate binding: no, not found!
> 
>           see attached build.log

Upstream's way to build the binary is the key to this:  Makefile compiles a STATIC-lib and links this into the sbin-exec, which makes real, useful hardening impossible.  Static libs can't be build as PIE and linked with -z,now, afaik.

You should work out a way, with upstream, avoiding this static-lib during build;  either it should build a shlib and link this or just building the sbin-exec from all single objects.

Comment 10 Terje Røsten 2013-06-12 14:18:44 UTC
Some of the functions on lib/ are simple/unneeded(?), building a static lib for these seems like overkill.

Comment 11 Roman Mohr 2013-06-12 18:07:12 UTC
(In reply to Björn Esser from comment #9)
> (In reply to Björn Esser from comment #8)
> > [!]: %build honors applicable compiler flags or justifies otherwise.
> > 
> >      ---> {C,LD}FLAGS possibly ignored by Makefile; GOT is still writeable
> >           caused by "partial RELRO", complete RELRO needs
> > `-Wl,-z,relro,-z,now`
> >           doesn't build PIE, although %global _hardened_build 1 is in spec
> > 
> >           `hardening-check --verbose fido`
> >           fido:
> >            Position Independent Executable: no, normal executable!
> >            ...
> >            Immediate binding: no, not found!
> > 
> >           see attached build.log
> 
> Upstream's way to build the binary is the key to this:  Makefile compiles a
> STATIC-lib and links this into the sbin-exec, which makes real, useful
> hardening impossible.  Static libs can't be build as PIE and linked with
> -z,now, afaik.
> 
> You should work out a way, with upstream, avoiding this static-lib during
> build;  either it should build a shlib and link this or just building the
> sbin-exec from all single objects.

I just discovered a few minutes ago, that siege (also from the same author) which is already in fedora also includes lib/joedog.

(In reply to Terje Røsten from comment #10)
> Some of the functions on lib/ are simple/unneeded(?), building a static lib
> for these seems like overkill.

Yes most of these functions are just convenience wrappers of the author, but I think I have no choice, as the library is also in another package and I already found critical bugs in there.

(In reply to Björn Esser from comment #8)
> [?]: Package complies to the Packaging Guidelines
> 
>      ---> needs check for bundled libs, esp. files with license differing
>           from upstream

The library is in all of the GPLv2 projects of the author. I have checked them, they have all the same license in the header.


So I think the cleanest solution is, that I contact  the author and the maintainer of siege and we will create a separate package for the library, what do you think?

Comment 12 Björn 'besser82' Esser 2013-06-12 18:25:07 UTC
(In reply to Roman Mohr from comment #11)
> I just discovered a few minutes ago, that siege (also from the same author)
> which is already in fedora also includes lib/joedog.
> 
>...
>
> The library is in all of the GPLv2 projects of the author. I have checked
> them, they have all the same license in the header.
> 
> So I think the cleanest solution is, that I contact the author and the
> maintainer of siege and we will create a separate package for the library,
> what do you think?

Hello Roman!

Nice work!

For siege you should follow the instructions from the wiki:
https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries#When_a_Bundled_Library_is_Discovered_Post-Review

Yes, you should contact upstream and (if you want to) work with him on shipping a shared lib.so seperated from his other sources.

Cheers,
  Björn

Comment 14 Björn 'besser82' Esser 2013-06-24 20:06:29 UTC
Created attachment 764779 [details]
improved spec-file

Package looks fine, except minor issues inside spec:

 * BRs in spec-file should be rearranged/trimmed:

     %if 0%{?fedora} || 0%{?rhel} >= 7
     BuildRequires:    systemd
     %systemd_requires
     %else
     Requires(post):  /sbin/chkconfig
     Requires(preun): /sbin/chkconfig
     Requires(preun): initscripts
     %endif
     BuildRequires:   libtool, libjoedog-devel

 * no need for explicit requires

     remove Requires: libjoedog

 * Summary should not start with article

     Summary:        Multi-threaded file watch utility

 * License-tag is incorrect:

     License:        GPLv2+ and LGPLv2+

#####

hardening-check looks good:

fido-1.0.7-4.fc20.x86_64.rpm/usr/sbin/fido:
 Position Independent Executable: yes
 Stack protected: yes
 Fortify Source functions: yes (some protected functions found)
	unprotected: gethostname
	unprotected: memset
	unprotected: snprintf
	unprotected: strcat
	unprotected: fgets
	unprotected: memmove
	unprotected: read
	unprotected: memcpy
	protected: strncpy
	protected: snprintf
	protected: vsprintf
	protected: memcpy
	protected: printf
	protected: fprintf
	protected: sprintf
	protected: syslog
 Read-only relocations: yes
 Immediate binding: yes

#####

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

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



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

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Package does not contain any libtool archives (.la)
[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]: %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
[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 complies to the Packaging Guidelines
[!]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "LGPL (v2.1 or later)", "GPL (v2 or later)", "LGPL (v2 or later) (with
     incorrect FSF address)", "Unknown or generated". 23 files have unknown
     license. Detailed output of licensecheck in
     /home/bjoern.esser/fedora/review/972477-fido/licensecheck.txt

     ---> 's!License:        GPLv2+!& and LGPLv2+!'

[x]: Package consistently uses macro is (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]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[x]: Package contains systemd file(s) if in need.
[x]: Useful -debuginfo package or justification otherwise.
[-]: Large documentation must go in a -doc subpackage.
     Note: Documentation size is 40960 bytes in 6 files.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[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]: Each %files section contains %defattr if rpm < 4.4
[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]: Fully versioned dependency in subpackages, if present.
[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 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
[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).

===== 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.
[!]: Final provides and requires are sane (see attachments).

     ---> no need for explicit requires

[x]: 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.
[-]: 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]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Sources can be downloaded from URI in Source: tag
[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.
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Uses parallel make.
[x]: SourceX tarball generation or download is documented.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define.

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

Generic:
[x]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: fido-1.0.7-4.fc20.x86_64.rpm
fido.x86_64: E: explicit-lib-dependency libjoedog
fido.x86_64: W: spelling-error Summary(en_US) multi -> mulch, mufti
fido.x86_64: W: spelling-error %description -l en_US multi -> mulch, mufti
fido.x86_64: W: only-non-binary-in-usr-lib
fido.x86_64: E: incorrect-fsf-address /usr/share/doc/fido-1.0.7/COPYING
1 packages and 0 specfiles checked; 2 errors, 3 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint fido
fido.x86_64: E: explicit-lib-dependency libjoedog
fido.x86_64: W: spelling-error Summary(en_US) multi -> mulch, mufti
fido.x86_64: W: spelling-error %description -l en_US multi -> mulch, mufti
fido.x86_64: W: only-non-binary-in-usr-lib
fido.x86_64: E: incorrect-fsf-address /usr/share/doc/fido-1.0.7/COPYING
1 packages and 0 specfiles checked; 2 errors, 3 warnings.
# echo 'rpmlint-done:'

---> please ask upstream to include a more recent revision of COPYING



Requires
--------
fido (rpmlib, GLIBC filtered):
    /bin/sh
    config(fido)
    libc.so.6()(64bit)
    libjoedog
    libjoedog.so.0()(64bit)
    libpthread.so.0()(64bit)
    rtld(GNU_HASH)
    systemd



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



Source checksums
----------------
http://www.joedog.org/pub/fido/fido-1.0.7.tar.gz :
  CHECKSUM(SHA256) this package     : 27e9a01319066e190da91038f727a973c2ce43aa64d1fef8dd74996dcd4f568b
  CHECKSUM(SHA256) upstream package : de2b6389cdcad61c863ae32a6a36df96731d5bce9cba946e6801ebd5cfb219f5
However, diff -r shows no differences

---> Source0-tarball is pristine


Generated by fedora-review 0.4.1 (b2e211f) last change: 2013-04-29
Buildroot used: fedora-rawhide-x86_64
Command line :/usr/bin/fedora-review -m fedora-rawhide-x86_64 -b 972477

#####

Please fix the issues with spec-file and I'll grant review.

Comment 15 Roman Mohr 2013-06-24 21:28:23 UTC
Björn thank you for the patch and the review. Here the new files:



SRPM URL: http://rfenkhuber.fedorapeople.org/fido/fido-1.0.7-5.fc20.src.rpm
Spec URL: http://rfenkhuber.fedorapeople.org/fido/fido.spec

Comment 16 Björn 'besser82' Esser 2013-06-24 21:49:01 UTC
Package is fine now!

differing sha256-hash is because upstream's webserver doesn't provide a timestamp...

APPROVED!

Comment 17 Roman Mohr 2013-06-24 21:54:41 UTC
New Package SCM Request
=======================
Package Name: fido
Short Description: Multi-threaded file watch utility
Owners: rfenkhuber besser82 cdamian
Branches: f18 f19 el5 el6
InitialCC:

Comment 18 Gwyn Ciesla 2013-06-25 11:16:53 UTC
Git done (by process-git-requests).

Comment 19 Fedora Update System 2013-06-27 19:08:40 UTC
libjoedog-0.1.1-4.fc19,fido-1.0.7-6.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/libjoedog-0.1.1-4.fc19,fido-1.0.7-6.fc19

Comment 20 Fedora Update System 2013-06-27 19:10:19 UTC
libjoedog-0.1.1-4.fc18,fido-1.0.7-6.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/libjoedog-0.1.1-4.fc18,fido-1.0.7-6.fc18

Comment 21 Fedora Update System 2013-06-27 19:12:16 UTC
libjoedog-0.1.1-4.el6,fido-1.0.7-6.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/libjoedog-0.1.1-4.el6,fido-1.0.7-6.el6

Comment 22 Fedora Update System 2013-06-27 19:13:10 UTC
libjoedog-0.1.1-4.el5,fido-1.0.7-6.el5 has been submitted as an update for Fedora EPEL 5.
https://admin.fedoraproject.org/updates/libjoedog-0.1.1-4.el5,fido-1.0.7-6.el5

Comment 23 Fedora Update System 2013-07-08 00:52:27 UTC
libjoedog-0.1.1-4.fc19, fido-1.0.7-6.fc19 has been pushed to the Fedora 19 stable repository.

Comment 24 Fedora Update System 2013-07-09 01:33:02 UTC
libjoedog-0.1.1-4.fc18, fido-1.0.7-6.fc18 has been pushed to the Fedora 18 stable repository.

Comment 25 Fedora Update System 2013-07-13 20:12:51 UTC
libjoedog-0.1.1-4.el5, fido-1.0.7-6.el5 has been pushed to the Fedora EPEL 5 stable repository.

Comment 26 Fedora Update System 2013-07-13 20:14:53 UTC
libjoedog-0.1.1-4.el6, fido-1.0.7-6.el6 has been pushed to the Fedora EPEL 6 stable repository.