Summary: Email filter with spam and virus scanning support and a friendly web gui Name: maia Version: 1.0.2a Release: 2%{?dist} License: Maia Mailguard License, v.1.0 Group: Applications/System URL: http://www.maiamailguard.com Source0: http://www.maiamailguard.com/files/%{name}-%{version}.tar.gz %define tarball_version 1.0.2 Source1: amavisd-maia.init Source2: maia.cron Source3: maia-clamd.init Source4: maia-clamd.conf Source5: clamd.maia Patch1: amavis-to-maia.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch Requires: smtpdaemon Requires: /usr/sbin/clamd, /etc/clamd.d Requires: /usr/sbin/tmpwatch, /etc/cron.daily Requires: file, bzip2, gzip, arj, cpio Requires: freeze, lzop, nomarch, cabextract Requires: /usr/bin/ar Requires(post): /sbin/chkconfig Requires(preun): /sbin/chkconfig, /sbin/service # We probably should parse the fetch_modules() code in amavisd for this list. # These are just the dependencies that don't get picked up otherwise. Requires: perl(IO::Stringy) Requires: perl(MIME::Body) Requires: perl(MIME::Decoder::Base64) Requires: perl(MIME::Decoder::Binary) Requires: perl(MIME::Decoder::Gzip64) Requires: perl(MIME::Decoder::NBit) Requires: perl(MIME::Decoder::QuotedPrint) Requires: perl(MIME::Decoder::UU) Requires: perl(MIME::Head) Requires: perl(Mail::Field) Requires: perl(Mail::Header) Requires: perl(Mail::Internet) Requires: perl(Mail::SpamAssassin) Requires: perl(Archive::Tar) Requires: perl(Archive::Zip) Requires: perl(Convert::TNEF) Requires: perl(Convert::UUlib) Requires: perl(URI) Requires: perl(Net::DNS) Requires: perl(Net::LDAP) Requires: perl(DBI) Requires: perl(DBD::mysql) Requires: perl(DBD::SQLite) Requires: perl(Razor2::Client::Version) Requires: perl(Authen::SASL) Requires: perl(Mail::SPF::Query) Requires: perl(Compress::Zlib) >= 1.35 # Additional reqs for maia, above and beyond amavisd-new... Requires: perl-BerkeleyDB Requires: perl(Crypt::Blowfish), perl(Crypt::CBC), perl(Digest::SHA1) Requires: perl(HTML::Parser), perl(Template), perl(File::HomeDir) Requires: perl(AppConfig), perl(TeX::Hyphen), perl(Pod::POM) Requires: perl(Text::Reform), perl(Text::Autoformat) Requires: uuid-perl, pyzor #Requires: DCC # Not licensed freely enough for Fedora Extras %define maiahomedir %{_localstatedir}/spool/maia %description Maia Mailguard is a high-performance and reliable interface between mailer (MTA) and one or more content checkers: virus scanners, and/or Mail::SpamAssassin Perl module. It is written in Perl, assuring high reliability, portability and maintainability. It talks to MTA via (E)SMTP or LMTP, or by using helper programs. Included is amavisd-maia, a derivative of amavisd-new, modified to include support for Maia Mailguard. Maia Mailguard is a set of PHP4 and Perl scripts designed to offer users the ability to view and modify personal virus- and spam-checking preferences, whitelists/blacklists, manage their quarantined files, and report spam effectively. %package web Summary: Maia Mailguard Web Frontend Group: Applications/Internet Requires: php-pear, php-Smarty, php-gd, php-mcrypt, php-bcmath Requires: php-mysql, php-pgsql, php-ldap, php-imap, httpd Requires: php-pear-Auth-SASL php-pear-Net-SMTP php-pear-Net-Socket Requires: php-pear-DB php-pear-Log php-pear-Mail-Mime php-pear-Pager Requires: php-pear-Net-POP3 php-pear-Image-Color php-pear-Image-Canvas Requires: php-pear-Numbers-Roman php-pear-Numbers-Words Requires: php-pear-Mail-mimeDecode # needs patching... Requires: php-pear-Image-Graph #php-pear-Net-IMAP (not packaged and needs patching) %description web This package provides the PHP Maia Mailguard frontend. %prep %setup -q -n %{name}-%{tarball_version} # Tweak things so amavisd-new and maia can co-install %patch1 -p1 -b .maia %build # Nothing to see here... %install rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT%{_sbindir} mkdir -p $RPM_BUILD_ROOT%{_datadir}/maia/{scripts,templates} mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/maia mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d mkdir -p $RPM_BUILD_ROOT%{_initrddir} mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/cron.d mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/clamd.d mkdir -p $RPM_BUILD_ROOT%{maiahomedir}/{db,tmp,quarantine} mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/run/maia install -m755 amavisd-maia $RPM_BUILD_ROOT%{_sbindir}/ ln -s clamd $RPM_BUILD_ROOT%{_sbindir}/clamd.maia install -m755 %{SOURCE1} $RPM_BUILD_ROOT%{_initrddir}/amavisd-maia install -m644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/cron.d/maia install -m755 %{SOURCE3} $RPM_BUILD_ROOT%{_initrddir}/clamd.maia install -m644 %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/clamd.d/maia.conf install -m644 %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/clamd.maia install -m640 amavisd.conf.dist $RPM_BUILD_ROOT%{_sysconfdir}/maia/amavisd-maia.conf install -m640 maia.conf.dist $RPM_BUILD_ROOT%{_sysconfdir}/maia/maia.conf install -m644 maia-*.sql $RPM_BUILD_ROOT%{_datadir}/maia/ install -m755 scripts/*.pl $RPM_BUILD_ROOT%{_datadir}/maia/scripts/ install -m644 templates/*.tpl $RPM_BUILD_ROOT%{_datadir}/maia/templates/ touch $RPM_BUILD_ROOT%{maiahomedir}/maia.key cp -rp php $RPM_BUILD_ROOT%{_datadir}/maia/ find $RPM_BUILD_ROOT%{_datadir}/maia/php/ -name "*.tpl" -exec chmod -x {} \; chmod -x $RPM_BUILD_ROOT%{_datadir}/maia/php/themes/*/code/smarty.php rm -f $RPM_BUILD_ROOT%{_datadir}/maia/php/config.php.dist.maia mv $RPM_BUILD_ROOT%{_datadir}/maia/php/config.php.dist \ $RPM_BUILD_ROOT%{_sysconfdir}/maia/config.php ln -s ../../../..%{_sysconfdir}/maia/config.php \ $RPM_BUILD_ROOT%{_datadir}/maia/php/config.php cat << __EOF__ > $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d/maia.conf # # Maia Mailguard email filtering system php web frontend # Alias /maia %{_datadir}/maia/php __EOF__ %clean rm -rf $RPM_BUILD_ROOT %pre if ! id maia > /dev/null 2>&1 ; then /usr/sbin/useradd -r -s /bin/bash -d %{maiahomedir} maia fi %pre web if ! id maia > /dev/null 2>&1 ; then /usr/sbin/useradd -r -s /bin/bash -d %{maiahomedir} maia fi %preun if [ "$1" = 0 ]; then /sbin/chkconfig --del amavisd-maia /sbin/chkconfig --del clamd.maia fi %post /sbin/chkconfig --add amavisd-maia /sbin/chkconfig --add clamd.maia /sbin/service amavisd-maia condrestart %files %defattr(-,root,root,-) %doc LICENSE README %attr(0644,maia,maia) %dir %{_sysconfdir}/maia %attr(0644,maia,maia) %dir %{_datadir}/maia %attr(0644,maia,maia) %dir %{_datadir}/maia/scripts %attr(0644,maia,maia) %dir %{_datadir}/maia/templates %attr(0640,maia,maia) %dir %{maiahomedir} %attr(0640,maia,maia) %dir %{maiahomedir}/db %attr(0640,maia,maia) %dir %{maiahomedir}/tmp %attr(0640,maia,maia) %dir %{maiahomedir}/quarantine %attr(0755,maia,maia) %dir %{_localstatedir}/run/maia %{_sbindir}/amavisd-maia %{_sbindir}/clamd.maia %{_initrddir}/amavisd-maia %{_initrddir}/clamd.maia %attr(0640,maia,maia) %config(noreplace) %{_sysconfdir}/maia/amavisd-maia.conf %attr(0640,maia,maia) %config(noreplace) %{_sysconfdir}/maia/maia.conf %config(noreplace) %{_sysconfdir}/clamd.d/maia.conf %config(noreplace) %{_sysconfdir}/cron.d/maia %config(noreplace) %{_sysconfdir}/sysconfig/clamd.maia %{_datadir}/maia/maia-*.sql %attr(0755,maia,maia) %{_datadir}/maia/scripts/*.pl %attr(0644,maia,maia) %{_datadir}/maia/templates/*.tpl %attr(0640,maia,maia) %ghost %{maiahomedir}/maia.key %files web %defattr(-,root,root,-) %attr(0644,maia,maia) %dir %{_sysconfdir}/maia %attr(0644,maia,maia) %dir %{_datadir}/maia %attr(0644,maia,maia) %dir %{_datadir}/maia/php %config(noreplace) %{_sysconfdir}/maia/config.php %config(noreplace) %{_sysconfdir}/httpd/conf.d/maia.conf %attr(0750,apache,maia) %{_datadir}/maia/php/themes/*/compiled %{_datadir}/maia/php/* %changelog * Fri Mar 20 2009 Jarod Wilson 1.0.2a-2 - Assorted packaging fixups and cleanups * Tue Apr 01 2008 Jarod Wilson 1.0.2a-1 - Update to v1.0.2a * Wed Mar 28 2007 Jarod Wilson 1.0.2-2 - set up clamd.maia symlink - fix up clamd.maia initscript - set proper perms on compiled themes dirs * Sat Jan 20 2007 Jarod Wilson 1.0.2-1 - Initial Fedora packaging attempt