#%define services dbmail-imapd dbmail-pop3d dbmail-lmtpd dbmail-timsieved Name: dbmail Version: 3.2.3 Release: alt1 Summary: A database backed mail storage system Group: System/Servers # db_getopot.c is licensed MIT License: GPLv2+ and MIT URL: http://www.dbmail.org Packager: Alexey Shentzev Source0: %name-%version.tar.gz Source1: %name-imapd Source2: %name-pop3d Source3: %name-lmtpd Source4: %name-timsieved Source5: %name.cron Source6: %name.logrotate Source7: %name.sysconfig Patch0: %name-3.0.0-glib.patch BuildPreReq: glib2-devel >= 2.6 libgmime-devel zlib-devel BuildRequires: asciidoc xmlto libmhash-devel libevent-devel libssl-devel libzdb-devel %def_with mysql %def_with pgsql %def_with sqlite ##%def_with ldap ##%def_with sieve ##%def_with contrib ##%def_with suystemd %{?_with_mysql:BuildPreReq: libmariadb-devel} %{?_with_pgsql:BuildPreReq: postgresql-devel} %{?_with_sqlite:BuildPreReq: libsqlite3-devel} #%{?_with_ldap:BuildPreReq: libldap-devel} #%{?_with_sieve:BuildPreReq: libsieve-devel} %description DBMail is a POP3/IMAP server that enables email to be stored in and retrieved from a database %if_with mysql %package mysql Summary: MySQL storage driver for DBMail Group: System/Servers Requires: %name = %version-%release Provides: %name-storage = %version-%release %description mysql MySQL storage driver for DBMail %endif %if_with pgsql %package pgsql Summary: PostgreSQL storage driver for DBMail Group: System/Servers Requires: %name = %version-%release Provides: %name-storage = %version-%release %description pgsql PostgreSQL storage driver for DBMail %endif %if_with sqlite %package sqlite Summary: SQLite storage driver for DBMail Group: System/Servers Requires: %name = %version-%release Provides: %name-storage = %version-%release %description sqlite SQLite storage driver for DBMail %endif ##%if_with ldap ##%package ldap ##Summary: LDAP authentication driver for DBMail ##Group: System/Servers ##Requires: %name = %version-%release ##%description ldap ##LDAP authentication driver for DBMail ##%endif ##%if_with sieve ##%package sieve ##Summary: Sieve filtering engine for DBMail ##Group: System/Servers ##Requires: %name = %version-%release ##Requires: libsieve ##%description sieve ##Sieve filtering engine for DBMail. ##%endif ##%package contrib ##Summary: Additional tools for DBMail ##Group: System/Servers ##Requires: %name = %version-%release ##%description contrib ##Additional tools for DBMail %prep %setup -q sed -i 's/\(^driver\W*=\)\(\W*$\)/\1 sqlite/' %name.conf sed -i -e 's,\(^db\W*=\)\(.*$\),\1 %_localstatedir/lib/%name/%name.db,' \ -e 's/\(^authdriver\W*=\)\(\W*$\)/\1 sql/' \ -e 's/\(^EFFECTIVE_USER\W*=\)\(.*$\)/\1 %name/' \ -e 's/\(^EFFECTIVE_GROUP\W*=\)\(.*$\)/\1 %name/' %name.conf sed -i 's/gmime-2.4/gmime-2.6/g' configure %build export CFLAGS="%optflags -I%_includedir/zdb" autoreconf -v CONFIGURE_WITH="--disable-rpath --disable-static --enable-shared \ --enable-manpages \ --enable-silent-rules \ --with-logdir --with-ldap --with-sieve \ --enable-systemd " %if_with mysql CONFIGURE_WITH="${CONFIGURE_WITH} --with-mysql" %endif %if_with pgsql CONFIGURE_WITH="${CONFIGURE_WITH} --with-pgsql" %endif %if_with sqlite CONFIGURE_WITH="${CONFIGURE_WITH} --with-sqlite" %endif %configure ${CONFIGURE_WITH} %make_build %install make %_smp_mflags # adjust $RPM_BUILD for install mkdir -p %buildroot%_sbindir mkdir -p %buildroot%_libdir%name mkdir -p %buildroot%_man1dir mkdir -p %buildroot%_man5dir mkdir -p %buildroot%_man8dir mkdir -p %buildroot%_sysconfdir mkdir -p %buildroot%_sysconfdir/sysconfig mkdir -p %buildroot%_sysconfdir/cron.daily mkdir -p %buildroot%_sysconfdir/logrotate.d mkdir -p %buildroot%_initdir mkdir -p %buildroot%_docdir%name-%version mkdir -p %buildroot%_datadir%name-%version/contrib mkdir -p %buildroot%_localstatedir%name mkdir -p %buildroot%_unitdir %makeinstall #rm -rf $RPM_BUILD_ROOT #make install DESTDIR=$RPM_BUILD_ROOT # package cron, config and init scripts install -m 0755 %SOURCE1 %buildroot%_initdir/ install -m 0755 %SOURCE2 %buildroot%_initdir/ install -m 0755 %SOURCE3 %buildroot%_initdir/ install -m 0755 %SOURCE4 %buildroot%_initdir/ install -m 0755 %SOURCE5 %buildroot%_sysconfdir/cron.daily/ install -m 0755 %SOURCE6 %buildroot%_sysconfdir/logrotate.d/ install -m 0644 %SOURCE7 %buildroot%_sysconfdir/sysconfig/ install -p -m 600 %name.conf %buildroot%_sysconfdir/ # man pages install -p -m 644 man/*1 %buildroot/%_man1dir/ install -p -m 644 man/*5 %buildroot/%_man5dir/ install -p -m 644 man/*8 %buildroot/%_man8dir/ echo echo echo echo " _!!!!!!_SYSTEMD_!!!!!_" echo echo echo # systemd install -m 0755 %name-* %buildroot/%_unitdir/ ##install -m 0755 %name.tmpfiles %buildroot%_unitdir/ # remove libtool archives and -devel type stuff (but leave loadable modules) find %buildroot -name \*\.la -print | xargs rm -f rm -f %buildroot/%_libdir/%name/lib%name.so %clean ##rm -rf %buildroot %pre getent group %name >/dev/null || groupadd -r %name getent passwd %name >/dev/null || \ useradd -r -M -g %name -d / -s /sbin/nologin \ -c "%name Daemon" %name exit 0 ##%post ##for s in %services; do ## /sbin/chkconfig --add $s &> /dev/null || : ##done ##/sbin/ldconfig ##%preun ##if [ $1 = 0 ]; then ## for s in %services; do ## /sbin/service $s stop &> /dev/null || : ## /sbin/chkconfig --del $s &> /dev/null || : ## done ##fi ##exit 0 %postun ##if [ "$1" -eq "0" ]; then ## /sbin/ldconfig ##elif [ "$1" -ge "1" ]; then ## for s in %services; do ## /sbin/service $s condrestart &> /dev/null || : ## done ##fi %files %defattr(-,root,root,-) %doc AUTHORS BUGS ChangeLog COPYING INSTALL README* THANKS UPGRADING sql %name.schema %_sbindir/* %_man1dir %_man5dir %_man8dir %dir %_libdir/%name %_libdir/%name/libauth_sql* %_libdir/%name/libdbmail* %_libdir/%name/libsort_sieve* %config(noreplace) %_sysconfdir/%name.conf %_initrddir/%name-* %_sysconfdir/cron.daily/%name.cron %config(noreplace) %_sysconfdir/sysconfig/%name.sysconfig ##%config(noreplace) %_sysconfdir/%name.sysconfig %config(noreplace) %_sysconfdir/logrotate.d/%name.logrotate %dir %attr(0775,root,%name) /var/lib/%name %defattr(-,root,root,-) %attr(-,root,root) %_libdir/%name/libauth_ldap* %changelog