Bug 217497 - (dbmail) Review Request: dbmail - The DBMail mail storage system
Review Request: dbmail - The DBMail mail storage system
Status: CLOSED NEXTRELEASE
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Mamoru TASAKA
Fedora Package Reviews List
:
Depends On: libsieve
Blocks: FE-ACCEPT
  Show dependency treegraph
 
Reported: 2006-11-28 03:45 EST by Bernard Johnson
Modified: 2014-08-22 08:05 EDT (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2007-02-21 02:11:00 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
mtasaka: fedora‑review+
limburgher: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Bernard Johnson 2006-11-28 03:45:02 EST
Spec URL: http://www.symetrix.com/~bjohnson/projects/Fedora-Extras/dbmail.spec
SRPM URL: http://www.symetrix.com/~bjohnson/projects/Fedora-Extras/dbmail-2.2.1-2.fc6.src.rpm
Description: 
Dbmail is the name of a group of programs that enable the possiblilty of
storing and retrieving mail messages from a database. Currently MySQL and
PostgreSQL can be used as database backends.
Comment 1 Bernard Johnson 2006-12-05 06:50:19 EST
Spec URL: http://www.symetrix.com/~bjohnson/projects/Fedora-Extras/dbmail.spec
SRPM URL:
http://www.symetrix.com/~bj/projects/Fedora-Extras/dbmail-2.2.1-3.fc6.src.rpm

Was a little too agressive at getting rid of .so files.  Allow the ones that are
modules loaded at runtime.


Index: dbmail.spec
===================================================================
--- dbmail.spec (revision 123)
+++ dbmail.spec (working copy)
@@ -1,6 +1,6 @@
 Name:           dbmail
 Version:        2.2.1
-Release:        2%{?dist}%{?repotag:.%{repotag}}
+Release:        3%{?dist}%{?repotag:.%{repotag}}
 Summary:        The DBMail mail storage system
 
 Group:          System Environment/Daemons
@@ -64,8 +64,9 @@
 install man/*1 %{buildroot}%{_mandir}/man1/
 install man/*5 %{buildroot}%{_mandir}/man5/
 install man/*8 %{buildroot}%{_mandir}/man8/
-# remove libtool archives and -devel type stuff
-find $RPM_BUILD_ROOT -name \*\.la -print -o -name \*\.so -print | xargs rm -f
+# remove libtool archives and -devel type stuff (but leave loadable modules)
+find $RPM_BUILD_ROOT -name \*\.la -print -o -name \*\.so -print | \
+    egrep -v "libauth.*so|libmysql.*so|libpgsql.*so|libsqlite.*so" | xargs rm -f
 
 # create dynamic linker/loader configuration file
 echo "/usr/lib/dbmail" >
$RPM_BUILD_ROOT/%{_sysconfdir}/ld.so.conf.d/dbmail-`uname -i`.conf
@@ -125,6 +126,9 @@
 
 
 %changelog
+* Tue Dec 05 2006 Bernard Johnson <bjohnson@symetrix.com> 2.2.1-3
+- leave the right .so files for modules
+
 * Mon Nov 27 2006 Bernard Johnson <bjohnson@symetrix.com> 2.2.1-2
 - update with Fedora Extras style spec file
Comment 2 Bernard Johnson 2006-12-14 06:35:25 EST
Spec URL: http://www.symetrix.com/~bjohnson/projects/Fedora-Extras/dbmail.spec
SRPM URL:
http://www.symetrix.com/~bjohnson/projects/Fedora-Extras/dbmail-2.2.1-4.fc6.src.rpm

* Thu Dec 14 2006 Bernard Johnson <bjohnson@symetrix.com> 2.2.1-4
- cleanup of spec file
- use fedora-usermgmt hooks
- split and build all database libraries
- kill modules/.libs from the module load path
Comment 3 Bernard Johnson 2006-12-14 21:18:51 EST
Spec URL: http://www.symetrix.com/~bjohnson/projects/Fedora-Extras/dbmail.spec
SRPM URL:
http://www.symetrix.com/~bjohnson/projects/Fedora-Extras/dbmail-2.2.1-5.fc6.src.rpm

* Thu Dec 14 2006 Bernard Johnson <bjohnson@symetrix.com> 2.2.1-5
- fix my local svn that caused x bit on init files to sneak in


My local svn caused the init files to be executable, in the srpm, which they
shouldn't have been.  Other than that, everything is the same as the previous
release.
Comment 4 Bernard Johnson 2007-01-12 14:04:51 EST
Spec URL: http://www.symetrix.com/~bjohnson/projects/Fedora-Extras/dbmail.spec
SRPM URL:
http://www.symetrix.com/~bjohnson/projects/Fedora-Extras/dbmail-2.2.1-6.fc6.src.rpm

* Fri Jan 12 2007 Bernard Johnson <bjohnson@symetrix.com> 2.2.1-6
- add patch to fix errno race condition
- don't delete libsort_sieve.so, it's a module
Comment 5 Mamoru TASAKA 2007-01-29 13:15:17 EST
(Removing NEEDSPONSOR as bug 216723)
Comment 6 Bernard Johnson 2007-01-31 21:20:08 EST
Spec URL: http://www.symetrix.com/~bjohnson/projects/Fedora-Extras/dbmail.spec
SRPM URL:
http://www.symetrix.com/~bjohnson/projects/Fedora-Extras/dbmail-2.2.2-1.fc6.src.rpm

* Sat Jan 31 2007 Bernard Johnson <bjohnson@symetrix.com> 2.2.2-1
- add logrotate for dbmail.err
- sub packages depend on %%{version}-%%{release}
- update to 2.2.2
- remove mailbox2dbmail patch
- translate tabs to space in dbmail.conf
- remove errno race patch
Comment 7 Bernard Johnson 2007-02-01 02:21:21 EST
Spec URL: http://www.symetrix.com/~bjohnson/projects/Fedora-Extras/dbmail.spec
SRPM URL:
http://www.symetrix.com/~bjohnson/projects/Fedora-Extras/dbmail-2.2.2-2.fc6.src.rpm

* Sat Jan 31 2007 Bernard Johnson <bjohnson@symetrix.com> 2.2.2-2
- add some conditionals for not building sqlite on some product releases
- substitude \t for tab in sed so that rpmlint doesn't complain about mixing
  tabs and spaces
Comment 8 Bernard Johnson 2007-02-05 14:06:14 EST
Spec URL: http://www.symetrix.com/~bjohnson/projects/Fedora-Extras/dbmail.spec
SRPM URL:
http://www.symetrix.com/~bjohnson/projects/Fedora-Extras/dbmail-2.2.2-3.fc6.src.rpm

%changelog
* Mon Feb 05 2007 Bernard Johnson <bjohnson@symetrix.com> 2.2.2-3
- fix typo in logrotate script
- patch umask for log files to be something more reasonable
Comment 9 Bernard Johnson 2007-02-18 05:27:15 EST
Spec URL: http://www.symetrix.com/~bjohnson/projects/Fedora-Extras/dbmail.spec
SRPM URL:
http://www.symetrix.com/~bjohnson/projects/Fedora-Extras/dbmail-2.2.2-4.fc6.src.rpm


* Sat Feb 17 2007 Bernard Johnson <bjohnson@symetrix.com> 2.2.2-4
- fix a few things in scriptlets for consistency
- send error output from logrotate HUP to /dev/null
- explicitly require initscripts since they all use the daemon function
- use explicit %%{version}-%%{release} for provides
Comment 10 Bernard Johnson 2007-02-18 07:13:43 EST
Spec URL: http://www.symetrix.com/~bjohnson/projects/Fedora-Extras/dbmail.spec
SRPM URL:
http://www.symetrix.com/~bjohnson/projects/Fedora-Extras/dbmail-2.2.2-5.fc6.src.rpm


* Sun Feb 18 2007 Bernard Johnson <bjohnson@symetrix.com> 2.2.2-5
- fix perms on man pages
Comment 11 Mamoru TASAKA 2007-02-18 11:53:56 EST
Well, I hope I can review this package first time 
till Tuesday (in Japan)...
Comment 12 Mamoru TASAKA 2007-02-18 11:55:17 EST
No, by Tuesday..
Comment 13 Bernard Johnson 2007-02-19 00:41:40 EST
(In reply to comment #12)
> No, by Tuesday..

Thanks for your dedication in getting packages reviewed.  It's really appreciated.

Spec URL: http://www.symetrix.com/~bjohnson/projects/Fedora-Extras/dbmail.spec
SRPM URL:
http://www.symetrix.com/~bjohnson/projects/Fedora-Extras/dbmail-2.2.2-5.fc6.src.rpm

* Sun Feb 18 2007 Bernard Johnson <bjohnson@symetrix.com> 2.2.2-6
- remove bogus require for main package on mysql
- virtual depend with exact %%{version}-%%{release}
- remove extra mysql-devel BR
- update description to include sqlite if built with sqlite
- for mysql, 4.1.3 is required, not just 4.1
- add requires for vixie-cron
- move database specific docs to database subpackages

Comment 14 Bernard Johnson 2007-02-20 03:45:05 EST
Spec URL: http://www.symetrix.com/~bjohnson/projects/Fedora-Extras/dbmail.spec
SRPM URL:
http://www.symetrix.com/~bjohnson/projects/Fedora-Extras/dbmail-2.2.2-7.fc6.src.rpm

* Tue Feb 20 2007 Bernard Johnson <bjohnson@symetrix.com> 2.2.2-7
- make macro tests a little more readable
- change dbmail-database to dbmail-database-driver; more descriptive
- reduce gmime reqs to 2.1.19
- specify sqlite req at 3 or greater
Comment 15 Mamoru TASAKA 2007-02-20 07:06:42 EST
Note: I don't understand how to use this at all!!

* Parallel provides v.s. Requirement
  - Well, generally I don't know how other people try to
    resolve this.

    Main package requires one "-database-driver" package
    and there are 3 package which provides this package
    (BTW "dbmail-database-driver-driver" on -mysql package
     is a typo, isn't it?). Then:
-------------------------------------------------------
[root@localhost ~]# yum install dbmail
Loading "installonlyn" plugin
Setting up Install Process
Setting up repositories
Reading repository metadata in from local files
Parsing package install arguments
Resolving Dependencies
<snip>
Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size 
=============================================================================
Installing:
 dbmail                  i386       2.2.2-7.1.fc7    LOCAL             325 k
Installing for dependencies:
 dbmail-mysql            i386       2.2.2-7.1.fc7    LOCAL              16 k
 mysql-server            i386       5.0.33-1.fc7     development        10 M

Transaction Summary
=============================================================================
Install      3 Package(s)         
Update       0 Package(s)         
Remove       0 Package(s)         
-------------------------------------------------------
    i.e. "yum install dbmail" always try to install
    "dbmail-mysql" because on using yum the shorter name
    package, and the alphabetically prior package (if name
    length is same) wins yum game.

   Well, for people who want to use postgresql-based dbmail, he/she
   can do this by explicitly directing -pgsql package, i.e.
------------------------------------------------------
[root@localhost ~]# yum install dbmail dbmail-pgsql
Loading "installonlyn" plugin
Setting up Install Process
Setting up repositories
Reading repository metadata in from local files
Parsing package install arguments
Resolving Dependencies
<snip>
Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size 
=============================================================================
Installing:
 dbmail                  i386       2.2.2-7.1.fc7    LOCAL             325 k
 dbmail-pgsql            i386       2.2.2-7.1.fc7    LOCAL              16 k
Installing for dependencies:
 postgresql-server       i386       8.2.3-2.fc7      development       4.1 M

Transaction Summary
=============================================================================
Install      3 Package(s)         
Update       0 Package(s)         
Remove       0 Package(s)         
-----------------------------------------------------------
    Anyway main package requires -pgsql or -mysql or -sqlite package and I think
    this must explicitly selected by the sysadmin who want to use this.

    So:
    I think it is better that 
    * -pgsql or -mysql or -sqlite package does not provide -database-driver package
    * main package does not require -database-driver package
      If do so, "yum install dbmail" only installs dbmail package
    * You write "README.fedora" which explains that to use dbmail on Fedora
      sysadmin has to install -pgsql or -mysql or -sqlite package by himself
according
      to what database he wants to use. I think this is no problem
      because dbmail cannot be used only by just installing your
      binary rpms and needs some settings anyway.

   For two packages I reviewed, this situation occurred, and in both cases
   submitters added README.fedora to explain this.

* Permission
-------------------------------------------
E: dbmail non-readable /etc/dbmail.conf 0660
-------------------------------------------
   - Just explain why 
     * others should not able to read this file
     * and group should have write permission

* Documentation
  - README.solaris should perhaps be removed (because we are not on solaris).
Comment 16 Bernard Johnson 2007-02-20 09:11:56 EST
(In reply to comment #15)
> Note: I don't understand how to use this at all!!
> 
> * Parallel provides v.s. Requirement
>   - Well, generally I don't know how other people try to
>     resolve this.

Let me tell you what little I know and maybe we can figure it out enough to make
a usable package :)

>     Main package requires one "-database-driver" package
>     and there are 3 package which provides this package

Yes, in order to be functional, at least one of them must be installed.

>     (BTW "dbmail-database-driver-driver" on -mysql package
>      is a typo, isn't it?). Then:

yes!

>     i.e. "yum install dbmail" always try to install
>     "dbmail-mysql" because on using yum the shorter name
>     package, and the alphabetically prior package (if name
>     length is same) wins yum game.

Yes, there's a big "discussion" on FE mailing list regarding this very issue. 
Take for example, "yum deplist redhat-lsb":
<cut>
  dependency: /usr/sbin/sendmail
   provider: sendmail.i386 8.13.8-2
   provider: postfix.i386 2:2.3.3-2
   provider: esmtp.i386 0.5.1-13.fc6
   provider: exim.i386 4.63-5.fc6
   provider: ssmtp.i386 2.61-10.fc6
   provider: ssmtp.i386 2.61-11.1.fc6
<cut>
So now the Core and Extras are the same, guess what gets installed to replace
sendmail by providing a dependency for /usr/sbin/sendmail..?  EXIM!

Now, I don't agree with changing sendmail by sheer chance, but other seem to
think it's ok.  But no one is suggesting taking the dependency out and having a
sysadmin install whichever mta they want by hand.

>    Well, for people who want to use postgresql-based dbmail, he/she
>    can do this by explicitly directing -pgsql package, i.e.

Exactly.

>     Anyway main package requires -pgsql or -mysql or -sqlite package and I think
>     this must explicitly selected by the sysadmin who want to use this.

Yes, and here is where my example with sendmail is different.  With sendmail, no
matter which mta gets installed, it's expected that it will accept mail locally
and attampt to deliver it - ie. it's functional out of the box.

Dbmail can never be that because it requires a) database backend selection and
b) configuration file setup, and c) database installation.

These are not trivial things to do, and if you understand that, then package
selection will not be a problem for you.

However, I do see one added benefit of the requires/provides - and that is if
you try to install just dbmail, it will force a driver to install, which may
wake up a sysadmin to realize "oh, i have to select the driver for the
database".  Otherwise, if you just install dbmail and set the driver in the
config file, when you start you just get a message like
"/usr/lib/dbmail/libfoo.so was not found" and it dies, which doesn't tell you much.

But then again, on the other hand it's possible to set the driver to mysql when
pgsql is installed and get the same type message.

<shrug>

>     So:
>     I think it is better that 
>     * -pgsql or -mysql or -sqlite package does not provide -database-driver
package
>     * main package does not require -database-driver package
>       If do so, "yum install dbmail" only installs dbmail package

So after reading my explanation if you still feel this is the right way, I'll go
ahead and make that update.

I don't feel strongly one way or another, I'm just trying to make sure we
understand the consequences of either approach.

>     * You write "README.fedora" which explains that to use dbmail on Fedora
>       sysadmin has to install -pgsql or -mysql or -sqlite package by himself
> according
>       to what database he wants to use. I think this is no problem
>       because dbmail cannot be used only by just installing your
>       binary rpms and needs some settings anyway.
>
>    For two packages I reviewed, this situation occurred, and in both cases
>    submitters added README.fedora to explain this.

This is a good idea reagardless of the approach.  I'll do that.
 
> * Permission
> -------------------------------------------
> E: dbmail non-readable /etc/dbmail.conf 0660
> -------------------------------------------
>    - Just explain why 
>      * others should not able to read this file
>      * and group should have write permission

it must be unreadable to others because it contains the database password and
login, however it can be 640 or even 600 (it's owner=root, group=root).

> * Documentation
>   - README.solaris should perhaps be removed (because we are not on solaris).

I will remove that.
Comment 17 Bernard Johnson 2007-02-20 09:16:10 EST
(In reply to comment #16)
> > * Permission
> > -------------------------------------------
> > E: dbmail non-readable /etc/dbmail.conf 0660
> > -------------------------------------------
> >    - Just explain why 
> >      * others should not able to read this file
> >      * and group should have write permission
> 
> it must be unreadable to others because it contains the database password and
> login, however it can be 640 or even 600 (it's owner=root, group=root).

I'm just going to make it 0600 in the next rel.

Comment 18 Mamoru TASAKA 2007-02-20 10:17:22 EST
Well, then if you want to have 3 packages provide -database-driver
package, then
* Please write "README.fedora" including the following contents:
  - main package requires a package which provides "-database-driver"
    package
  - currently 3 package provide it.
  - sysadmin has to select which package to install according to
    what database he/she want to use
  - and anyway another settings are required (and the place where
    the instruction can be seen should be written)
* Add to the description of main package like:
  "Please README.fedora for fedora specific issue"
Comment 19 Mamoru TASAKA 2007-02-20 10:18:30 EST
One more comment
- Please include your name in README.fedora.
Comment 20 Bernard Johnson 2007-02-20 12:20:58 EST
Spec URL: http://www.symetrix.com/~bjohnson/projects/Fedora-Extras/dbmail.spec
SRPM URL:
http://www.symetrix.com/~bjohnson/projects/Fedora-Extras/dbmail-2.2.2-8.fc6.src.rpm

* Tue Feb 20 2007 Bernard Johnson <bjohnson@symetrix.com> 2.2.2-8
- change /etc/dbmail.conf to mode 0600
- remove README.solaris, create README.fedora
- add ref to README.fedora in %%desc
Comment 21 Mamoru TASAKA 2007-02-20 13:09:00 EST
One issue.
* Source
  URL should be: http://www.dbmail.org/download/2.2/dbmail-2.2.2.tar.gz

------------------------------------------
  This package (dbmail) is APPROVED by me.
------------------------------------------

  Well, the process of importing new packages changed.
  Please recheck
  http://fedoraproject.org/wiki/CVSAdminProcedure
  from step 8.
  
Comment 22 Mamoru TASAKA 2007-02-20 13:09:47 EST
Oops.. I meant
http://fedoraproject.org/wiki/Extras/NewPackageProcess
Comment 23 Bernard Johnson 2007-02-20 20:28:34 EST
New Package CVS Request
=======================
Package Name: dbmail
Short Description: The DBMail mail storage system
Owners: bjohnson@symetrix.com
Branches: FC-5, FC-6, devel
InitialCC:
Comment 24 Bernard Johnson 2007-03-07 13:56:24 EST
Additional Branches: EL-5
Comment 25 Bernard Johnson 2014-08-21 22:17:15 EDT
Package Change Request
======================
Package Name: dbmail
New Branches: epel7
Owners: bjohnson
Comment 26 Jon Ciesla 2014-08-22 08:05:01 EDT
Git done (by process-git-requests).

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