Bug 225045

Summary: Review Request: incron - Inotify cron system
Product: [Fedora] Fedora Reporter: Ruben Kerkhof <ruben>
Component: Package ReviewAssignee: Kevin Fenzi <kevin>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Package Reviews List <fedora-package-review>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhide   
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-01-28 20:56:46 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 163779    

Description Ruben Kerkhof 2007-01-27 22:01:51 UTC
Spec URL: http://rubenkerkhof.com/packages/incron.spec
SRPM URL: http://rubenkerkhof.com/packages/incron-0.4.0-1.src.rpm
Description:
This program is an "inotify cron" system.
It consists of a daemon and a table manipulator.
You can use it a similar way as the regular cron.
The difference is that the inotify cron handles
filesystem events rather than time periods.

Comment 1 Kevin Fenzi 2007-01-27 22:04:27 UTC
Per my comment on IRC, I would be happy to review this package... 

Look for a formal review later tonight. 

Comment 2 Kevin Fenzi 2007-01-28 03:25:30 UTC
OK - Package meets naming and packaging guidelines
OK - Spec file matches base package name.
OK - Spec has consistant macro usage.
OK - Meets Packaging Guidelines.
OK - License (GPL)
OK - License field in spec matches
OK - License file included in package
OK - Spec in American English
OK - Spec is legible.
OK - Sources match upstream md5sum:
61bfebf6814ee893d4ff42628a823404  incron-0.4.0.tar.bz2
61bfebf6814ee893d4ff42628a823404  incron-0.4.0.tar.bz2.1
6fbef5fdda790abbf187d3c43d79d9e85ff9a59e  incron-0.4.0.tar.bz2
6fbef5fdda790abbf187d3c43d79d9e85ff9a59e  incron-0.4.0.tar.bz2.1
OK - Package has %defattr and permissions on files is good.
OK - Package has a correct %clean section.
OK - Package has correct buildroot
OK - Package is code or permissible content.
OK - Packages %doc files don't affect runtime.

OK - Package compiles and builds on at least one arch.
OK - Package has no duplicate files in %files.
OK - Package doesn't own any directories other packages own.
OK - Package owns all the directories it creates.
See below - No rpmlint output.
OK - final provides and requires are sane

SHOULD Items:

OK - Should build in mock.
OK - Should build on all supported archs
See below - Should function as described.
OK - Should have dist tag
OK - Should package latest version

Issues:

1. rpmlint says:

E: incron setuid-binary /usr/bin/incrontab root 04755
E: incron non-standard-executable-perm /usr/bin/incrontab 04755

I think this is required for handling user incron's.

2. The post/preun/postun scriptlets aren't right. Installing gives you:
error reading information on service incron: No such file or directory
error: %post(incron-0.4.0-1.fc6.i386) scriptlet failed, exit status 1
The name of the service is 'incrond'

3. Testing on my fc6 laptop with selinux enabled shows that it works.
It didn't seem to pick up my user incrontab at first, and I had to restart
the daemon, but then it started working ok. Using the IN_NO_LOOP
is very important ( set a monitor for create in /tmp to mail me, and
it looped and sent me about 1000 emails before I stopped it. ;)

The only blocker I see is fixing up the scriptlets.
Fix that and I will approve the package.


Comment 3 Mamoru TASAKA 2007-01-28 08:41:10 UTC
It seems that current version is 0.5.0 .

Comment 4 Ruben Kerkhof 2007-01-28 10:25:55 UTC
> 2. The post/preun/postun scriptlets aren't right. Installing gives you:
> error reading information on service incron: No such file or directory
> error: %post(incron-0.4.0-1.fc6.i386) scriptlet failed, exit status 1
> The name of the service is 'incrond'

Fixed

> 3. Testing on my fc6 laptop with selinux enabled shows that it works.
> It didn't seem to pick up my user incrontab at first, and I had to restart
> the daemon, but then it started working ok. Using the IN_NO_LOOP
> is very important ( set a monitor for create in /tmp to mail me, and
> it looped and sent me about 1000 emails before I stopped it. ;)

Strange, I had the same thing without selinux. It didn't pickup my incrontab the first time either.

On Comment #3: They must have released that a few hours ago. Good catch.

I have a question about the licensing though:

 * This program is free software; you can redistribute it and/or
 * modify it under the terms of one of the following licenses:
 *
 * \li 1. X11-style license (see LICENSE-X11)
 * \li 2. GNU Lesser General Public License, version 2.1 (see LICENSE-LGPL)
 * \li 3. GNU General Public License, version 2  (see LICENSE-GPL)

Should I just pick GPL and include LICENSE-GPL?

New version:
http://rubenkerkhof.com/packages/incron.spec
http://rubenkerkhof.com/packages/incron-0.5.0-1.src.rpm

Comment 5 Kevin Fenzi 2007-01-28 19:04:47 UTC
ok on issue2. 

I think the issue with it not noticing a changed incrontab for a user is fixed 
now in 0.5.0. At least it seems to be here... 

That license snippet is from strtok.h/strtok.cpp files, right? 
Everything else looks to be GPL-2, so the entire package should be distributed
under the GPL. I think including the LICENSE-GPL is the right thing to do. 

I don't see any further blockers here, so this package is APPROVED.
Don't forget to close this review request NEXTRELEASE once it's been imported 
and built. 


Comment 6 Ruben Kerkhof 2007-01-28 20:56:46 UTC
> That license snippet is from strtok.h/strtok.cpp files, right? 
> Everything else looks to be GPL-2, so the entire package should be distributed
> under the GPL. I think including the LICENSE-GPL is the right thing to do.

That's right.

> I don't see any further blockers here, so this package is APPROVED.
> Don't forget to close this review request NEXTRELEASE once it's been imported 
> and built.

Thanks for the quick review Kevin.