Bug 452911 - Review Request: trustyrc - IRC robot fully modular
Summary: Review Request: trustyrc - IRC robot fully modular
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jason Tibbitts
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-06-25 20:19 UTC by Nicoleau Fabien
Modified: 2008-07-23 07:09 UTC (History)
3 users (show)

Fixed In Version: 0.1.1-2.fc8
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2008-07-23 07:03:41 UTC
Type: ---
Embargoed:
j: fedora-review+
kevin: fedora-cvs+


Attachments (Terms of Use)

Description Nicoleau Fabien 2008-06-25 20:19:23 UTC
Spec URL: http://nicoleau.fabien.free.fr/rpms/SPECS/trustyrc.spec
SRPM URL: http://nicoleau.fabien.free.fr/rpms/srpms.fc9/trustyrc-0.1.1-1.fc9.src.rpm
Description: 
trustyRC is an IRC robot fully modular that brings all common bots features
(channel moderation, administration, accounts system, quotes ...),
and much more... In fact, trustyRC is a kernel that load features
such as log system, configuration parser, networking, etc,
and ... a plugin (un)loader. All plugins can communicate with other ones
and this system provides high flexible maintenance.
A plugin can be loaded/unloaded while the bot is running. So if a plusgin
needs to be updated, it can be unloaded, rebuilded, and reloaded.
During this steps, the bot will never stop.
Plugins are stored in shared librairies witch contains new features.
When the .so file is loaded, features are added to the bot,
and when the plugin is unloaded, features are no more usable.

rpmlint output :
[eponyme@FEDOBOX tmp]$ rpmlint trustyrc-0.1.1-1.fc9.i386.rpm 
[eponyme@FEDOBOX tmp]$ rpmlint trustyrc-plugins-0.1.1-1.fc9.i386.rpm 
trustyrc-plugins.i386: W: no-documentation
[eponyme@FEDOBOX tmp]$ rpmlint trustyrc-plugins-extras-0.1.1-1.fc9.i386.rpm 
trustyrc-plugins-extras.i386: W: no-documentation
[eponyme@FEDOBOX tmp]$ rpmlint trustyrc-debuginfo-0.1.1-1.fc9.i386.rpm 
[eponyme@FEDOBOX tmp]$ rpmlint trustyrc-0.1.1-1.fc9.src.rpm 
[eponyme@FEDOBOX tmp]$

Rebuild under mock is OK.

Comment 1 Jason Tibbitts 2008-06-27 05:10:52 UTC
I just took a quick look.  Here are a few comments:

The compiler is not called with the proper flags (%{optflags} or $RPM_OPT_FLAGS
depending on your preference).  This misses all of the default Fedora security
options and results in the debuginfo package missing all of the source code. 
I'd say the security options are especially important for something that's going
to be subjected to constant untrusted network input such as an IRC bot.

If you're going to use "%{__sed}" instead of "sed", you need to use "${__rm}"
instead of "rm".  I personally prefer the non-macro versions, but it's up to
you; just be consistent.

The license seems to me to be GPLv2+; where do you see it restricted to v2 only?
 The source files include the "any later version" language.

A couple of English notes: "IRC robot fully modular" sounds better as the
summary of this ticket: "Fully modular IRC robot".  "Extras plugins" should be
"Extra plugins".

Comment 2 Nicoleau Fabien 2008-06-27 21:31:04 UTC
updated :
Spec URL: http://nicoleau.fabien.free.fr/rpms/SPECS/trustyrc.spec
SRPM URL: http://nicoleau.fabien.free.fr/rpms/srpms.fc9/trustyrc-0.1.1-2.fc9.src.rpm

rpmplint output :
[builder@FEDOBOX tmp]$ rpmlint trustyrc-0.1.1-2.fc9.i386.rpm
1 packages and 0 specfiles checked; 0 errors, 0 warnings.
[builder@FEDOBOX tmp]$ rpmlint trustyrc-0.1.1-2.fc9.src.rpm
1 packages and 0 specfiles checked; 0 errors, 0 warnings.
[builder@FEDOBOX tmp]$ rpmlint trustyrc-debuginfo-0.1.1-2.fc9.i386.rpm
1 packages and 0 specfiles checked; 0 errors, 0 warnings.
[builder@FEDOBOX tmp]$ rpmlint trustyrc-plugins-0.1.1-2.fc9.i386.rpm
trustyrc-plugins.i386: W: no-documentation
1 packages and 0 specfiles checked; 0 errors, 1 warnings.
[builder@FEDOBOX tmp]$ rpmlint trustyrc-plugins-extras-0.1.1-2.fc9.i386.rpm
trustyrc-plugins-extras.i386: W: no-documentation
1 packages and 0 specfiles checked; 0 errors, 1 warnings.
[builder@FEDOBOX tmp]$

rebuild under mock is OK

changelog :
- Change buildrequires for curl (only on plugins-extras)
- Licence update
- non-macro usage for sed
- english corrections
- compiler flags set


Comment 3 Jason Tibbitts 2008-07-02 22:16:09 UTC
I note you didn't update the summary.  I'm not going to block this package because of language issues, but I would really suggest using something like the following, which I have written using your original text and applying as few changes as I could in order to make the result parse in English:

Summary: Fully modular IRC robot
%description
trustyRC is a fully modular IRC robot which includes all of the common bot features (channel moderation, administration, account system, quotes) and much more.  trustyRC is comprised of a a kernel and a plugin loader which loads features such as a log system, configuration parser, networking, etc.  All plugins can communicate with others, providing a highly flexible system.

A plugin can be loaded or unloaded while the bot is running, so if a plugin needs to be updated, it can be unloaded, rebuilt and reloaded.  During this, the bot does not need to be stopped.  Plugins are stored in shared libraries; a plugin's features are available to the bot when the plugin is loaded and those features are removed when the plugin is unloaded.



* source files match upstream:
   3a499e5a9303f77e5e6b5fdb93abaefe8d4a906476d0e1eabb1a1241a644b502  
   trustyrc-0.1.1.tar.gz
* package meets naming and versioning guidelines.
* specfile is properly named, is cleanly written and uses macros consistently.
? summary is difficult to understand in English.
? description is very difficult to parse in English.
* dist tag is present.
* build root is OK.
* license field matches the actual license.
* license is open source-compatible.
* license text included in package.
* latest version is being packaged.
* BuildRequires are proper.
* compiler flags are appropriate.
* %clean is present.
* package builds in mock (rawhide, x86_64).
* package installs properly.
* debuginfo package looks complete.
* rpmlint has acceptable complaints.
* final provides and requires are sane:
  trustyrc-0.1.1-2.fc10.x86_64.rpm
   config(trustyrc) = 0.1.1-2.fc10
   trustyrc = 0.1.1-2.fc10
  =
   config(trustyrc) = 0.1.1-2.fc10
   libgcc_s.so.1()(64bit)
   libgcc_s.so.1(GCC_3.0)(64bit)
   libstdc++.so.6()(64bit)
   libstdc++.so.6(CXXABI_1.3)(64bit)
   libstdc++.so.6(GLIBCXX_3.4)(64bit)
   libstdc++.so.6(GLIBCXX_3.4.9)(64bit)
   libtinyxml.so.0()(64bit)
   trustyrc-plugins

  trustyrc-plugins-0.1.1-2.fc10.x86_64.rpm
   admin.so()(64bit)
   ctcp.so()(64bit)
   ignore.so()(64bit)
   infos.so()(64bit)
   moderation.so()(64bit)
   module.so()(64bit)
   ping.so()(64bit)
   postconnect.so()(64bit)
   usersinfos.so()(64bit)
   trustyrc-plugins = 0.1.1-2.fc10
  =
   libgcc_s.so.1()(64bit)
   libgcc_s.so.1(GCC_3.0)(64bit)
   libstdc++.so.6()(64bit)
   libstdc++.so.6(CXXABI_1.3)(64bit)
   libstdc++.so.6(GLIBCXX_3.4)(64bit)
   trustyrc = 0.1.1

  trustyrc-plugins-extras-0.1.1-2.fc10.x86_64.rpm
   advertising.so()(64bit)
   bashfr.so()(64bit)
   bzrh.so()(64bit)
   fedorafr.so()(64bit)
   fedoraproject.so()(64bit)
   gameserver.so()(64bit)
   ipconverting.so()(64bit)
   lamoule.so()(64bit)
   magic8ball.so()(64bit)
   pluginsample.so()(64bit)
   quotes.so()(64bit)
   slapme.so()(64bit)
   survey.so()(64bit)
   tele.so()(64bit)
   trad.so()(64bit)
   trustyrc-plugins-extras = 0.1.1-2.fc10
  =
   libcurl.so.4()(64bit)
   libgcc_s.so.1()(64bit)
   libgcc_s.so.1(GCC_3.0)(64bit)
   libstdc++.so.6()(64bit)
   libstdc++.so.6(CXXABI_1.3)(64bit)
   libstdc++.so.6(GLIBCXX_3.4)(64bit)
   trustyrc = 0.1.1

* %check is not present; no test suite upstream.  I've no idea how to test this 
   package.
* no shared libraries are added to the regular linker search paths.
* owns the directories it creates.
* doesn't own any directories it shouldn't.
* no duplicates in %files.
* file permissions are appropriate.
* no scriptlets present.
* code, not content.
* documentation is small, so no -doc subpackage is necessary.
* %docs are not necessary for the proper functioning of the package.
* no headers.
* no pkgconfig files.
* no static libraries.
* no libtool .la files.

APPROVED

Comment 4 Nicoleau Fabien 2008-07-03 06:44:46 UTC
I'm sorry tibbs, I had not realized that I had to update the whole description.
I really need to improve my English. Perhaps I could update it before commit?

Comment 5 Jason Tibbitts 2008-07-03 13:16:20 UTC
Your English is certainly better than my French; I just thought it might be a
bit more readable with a few cleanups.  There's certainly no need to apologize.

You are welcome to use the version I posted or not, and you are free to update
before or after you check the package in, as you prefer.


Comment 6 Nicoleau Fabien 2008-07-03 17:21:08 UTC
New Package CVS Request
=======================
Package Name: trustyrc
Short Description: Fully modular IRC robot
Owners: eponyme
Branches: F-8 F-9
InitialCC:
Cvsextras Commits: Yes


Comment 7 Kevin Fenzi 2008-07-04 20:23:58 UTC
cvs done.

Comment 8 Fedora Update System 2008-07-06 20:08:47 UTC
trustyrc-0.1.1-2.fc8 has been submitted as an update for Fedora 8

Comment 9 Fedora Update System 2008-07-06 20:10:27 UTC
trustyrc-0.1.1-2.fc9 has been submitted as an update for Fedora 9

Comment 10 Fedora Update System 2008-07-09 02:41:28 UTC
trustyrc-0.1.1-2.fc9 has been pushed to the Fedora 9 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update trustyrc'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F9/FEDORA-2008-6177

Comment 11 Fedora Update System 2008-07-23 07:03:39 UTC
trustyrc-0.1.1-2.fc8 has been pushed to the Fedora 8 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 12 Fedora Update System 2008-07-23 07:09:28 UTC
trustyrc-0.1.1-2.fc9 has been pushed to the Fedora 9 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.