[Bug 435121] Review Request: dspam - Scalable and open-source content-based spam filter

bugzilla at redhat.com bugzilla at redhat.com
Thu Apr 17 19:07:17 UTC 2008


Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug report.

Summary: Review Request: dspam - Scalable and open-source content-based spam filter


https://bugzilla.redhat.com/show_bug.cgi?id=435121





------- Additional Comments From mtasaka at ioa.s.u-tokyo.ac.jp  2008-04-17 15:07 EST -------
Created an attachment (id=302784)
 --> (https://bugzilla.redhat.com/attachment.cgi?id=302784&action=view)
rpmlint log of dspam 3.8.0-22

Note:
For general packaging guidelines you can refer to
http://fedoraproject.org/wiki/Packaging/Guidelines
http://fedoraproject.org/wiki/Packaging/ReviewGuidelines

Also, you can use rpmlint (in rpmlint package) to detect
some general packaging errors.

First of all:
* backend modules
  - dspam-backend-XXX rpms installs dspam modules (I guess so)
    into %_libdir. This is not desired because
    * The installed modules contain lots of undefined non-week
      symbols (you can check this by
      $ rpmlint dspam-backend-hash , for example) so these binaries
      doesn't seem to be libraries.
      Also the symlink named XXXX.so in %_libdir (not in 
      %_libdir/some_name/ ) should usually be in -devel package.
    * The installed modules have too generic names (like libmysql_drv.so)
      which will easily cause name space conflicts with other
      database-related packages.

    So
    * Please create some package specific directory (like %_libdir/%name)
      and move all modules into the directory.

Then:
* Macros
  - Please use macros properly.
    /usr/sbin -> %_sbindir, /usr/share -> %_datadir, for example

* disttag
  - Please consider to use %?dist tag:
    http://fedoraproject.org/wiki/Packaging/DistTag

* Description
  - Remove author credit from %description

* Inter-subpackages dependency
  - Dependency between subpackages should usually be EVR
(Epoch-Version-Release)
    specific (unless it is virtual Provides/Requires)
    For example dspam-devel must have "dspam = %{version}-%{release}".

* Requires
  - For dspam-devel package, please check the Requires you wrote are 
    really needed.
    As far as I checked all of
----------------------------------------------------------------
Requires:      mysql-devel zlib-devel glibc-devel openldap-devel
postgresql-devel sqlite-devel
Requires:      %{name}-backend-mysql   = %{version}
Requires:      %{name}-backend-pgsql   = %{version}
Requires:      %{name}-backend-sqlite = %{version}
Requires:      %{name}-backend-hash    = %{version}
----------------------------------------------------------------
    is not needed and should be removed.
  - Packages containing pkgconfig .pc file must have "Requires: pkgconfig"

! Note for -devel subpackage
* config.h
  - Installing autotool-generated header file named "config.h" is
    really undesirable and this should be avoided because this will
    easily cause name space conflict.

    * If config.h (and config_shared.h) are not needed, please simply
      remove these
    * If needed, rename these files and fix other header files so
      that #include macro don't cause any errors.
 

* configure option
  - Some configure option seems disabled. Would you explain why?
    For example:
----------------------------------------------------------------
   439	checking whether to enable clamav... 
   440	no
----------------------------------------------------------------

* Initscripts
  http://fedoraproject.org/wiki/Packaging/SysVInitScript
  - initscripts service file must be installed under %_initrddir
    (expanded as /etc/rc.d/init.d) not under /etc/init.d.

  - Installed services must not be enabled by default
    (your installed dspam script has the line
----------------------------------------------------------------
   23  # chkconfig: 345 80 80
----------------------------------------------------------------
     which is not desired)
  - service script should (not must) have "reload" entry
    (for details, please refer to the wiki page above)

* Scriptlets
  - needs fixing. Please refer to
    http://fedoraproject.org/wiki/Packaging/SysVInitScript#InitscriptScriptlets

    http://fedoraproject.org/wiki/Packaging/UsersAndGroups

  ! Please check in what order scriptlets are done: explained on
    "Scriptlet Ordering" of
    http://fedoraproject.org/wiki/Packaging/ScriptletSnippets

* Documents directory
  - You are using two documents directory:
    /usr/share/doc/dspam and /usr/share/doc/dspam-3.8.0. Please unify
    them unless impossible.

* File lists
  - build log shows many files are listed twice:
---------------------------------------------------------------
-  1446  warning: File listed twice: /usr/share/dspam/cgi-bin/admins
  1447	warning: File listed twice: /usr/share/dspam/cgi-bin/default.prefs
  1448	warning: File listed twice: /usr/share/dspam/cgi-bin/rgb.txt
  1449	warning: File listed twice:
/usr/share/dspam/cgi-bin/templates/nav_admin_error.html
  1450	warning: File listed twice:
/usr/share/dspam/cgi-bin/templates/nav_admin_preferences.html
  1451	warning: File listed twice:
/usr/share/dspam/cgi-bin/templates/nav_admin_status.html
  1452	warning: File listed twice:
/usr/share/dspam/cgi-bin/templates/nav_admin_user.html
  1453	warning: File listed twice:
/usr/share/dspam/cgi-bin/templates/nav_alerts.html
  1454	warning: File listed twice:
/usr/share/dspam/cgi-bin/templates/nav_analysis.html
.......
--------------------------------------------------------------
    The %files entry
--------------------------------------------------------------
%files
%{_dspam_webapp}
--------------------------------------------------------------
    means the directory %_dspam_webapp itself and all files/directories/etc
    under %_dspam_webapp.

  - There is unowned directory:
--------------------------------------------------------------
[tasaka1 at localhost ~]$ rpm -qf /usr/share/doc/dspam/mysql/
dspam-backend-mysql-3.8.0-22.i386
[tasaka1 at localhost ~]$ rpm -qf /usr/share/doc/dspam/	  
file /usr/share/doc/dspam is not owned by any package
--------------------------------------------------------------

* rpmlint message
  - There are many rpmlint warning/errors. Please fix them
    unless you have some reasons which should be ignored.
    You can check what rpmlint means by 
--------------------------------------------------------------
$ rpmlint -I symlink-should-be-relative
--------------------------------------------------------------
    for example.
  ! non-executable-script /usr/share/dspam/cgi-bin/configure.pl
    - non-executable script should not have shebang.

  ! script-without-shebang /usr/share/dspam/htdocs/base.css
    - scripts with executable permission (this file has 0755) should
      have shebang.


-- 
Configure bugmail: https://bugzilla.redhat.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.




More information about the Fedora-package-review mailing list