## ## majordomo.spec -- OpenPKG RPM Specification ## Copyright (c) 2000-2003 Cable & Wireless Deutschland GmbH ## Copyright (c) 2000-2003 The OpenPKG Project ## Copyright (c) 2000-2003 Ralf S. Engelschall ## ## Permission to use, copy, modify, and distribute this software for ## any purpose with or without fee is hereby granted, provided that ## the above copyright notice and this permission notice appear in all ## copies. ## ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ## SUCH DAMAGE. ## # package information Name: majordomo Summary: Mailing List Manager URL: http://www.greatcircle.com/majordomo/ Vendor: Great Circle Associates Packager: The OpenPKG Project Distribution: OpenPKG [EVAL] Group: Mail License: Majordomo License Agreement Version: 1.94.5 Release: 20021219 # list of sources Source0: http://www.greatcircle.com/majordomo/%{version}/majordomo-%{version}.tar.gz Source1: users.config Patch0: majordomo.patch # build information Prefix: %{l_prefix} BuildRoot: %{l_buildroot} BuildPreReq: OpenPKG, openpkg >= 20020206, perl, gcc PreReq: OpenPKG, openpkg >= 20020206, perl, bash, MTA AutoReq: no AutoReqProv: no %description Majordomo is a program which automates the management of Internet mailing lists. Commands are sent to Majordomo via electronic mail to handle all aspects of list maintenance. Once a list is set up, virtually all operations can be performed remotely by email, requiring no intervention upon the postmaster of the list site. %prep %setup -q %patch -p0 %build %{l_shtool} subst \ -e 's;^\(PERL =\).*;\1 %{l_prefix}/bin/perl;' \ -e 's;^\(CC =\).*;\1 %{l_prefix}/bin/gcc;' \ -e 's;^\(W_HOME =\).*;\1 %{l_prefix}/libexec/majordomo;' \ -e 's;^\(W_MAJORDOMO_CF =\).*;\1 %{l_prefix}/etc/majordomo/majordomo.cf;' \ -e 's;^\(MAN =\).*;\1 %{l_prefix}/man;' \ -e 's;^\(W_USER =\).*;\1 %{l_ruid};' \ -e 's;^\(W_GROUP =\).*;\1 %{l_rgid};' \ -e 's;^\(W_SHELL =\).*;\1 %{l_prefix}/bin/bash;' \ -e 's;^\(W_PATH =\).*;\1 %{l_prefix}/bin:/bin:/usr/bin;' \ -e 's;^\(TMPDIR =\).*;\1 %{l_prefix}/var/majordomo/tmp;' \ Makefile %{l_shtool} subst \ -e 's|"Majordomo-Owner|"majordomo-owner|' \ -e 's|"Majordomo|"majordomo|' \ -e 's|\(\$homedir *= *"\)[^"]*\(";\)|\1%{l_prefix}/libexec/majordomo\2|' \ -e 's|\(\$listdir *= *"\)[^"]*\(";\)|\1%{l_prefix}/var/majordomo/list\2|' \ -e 's|\(\$log *= *"\)[^"]*\(";\)|\1%{l_prefix}/var/majordomo/log/majordomo.log\2|' \ -e 's|\(\$sendmail_command *= *"\)[^"]*\(";\)|\1%{l_prefix}/sbin/sendmail\2|' \ -e 's|\(\$whereami *= *"\)[^"]*\(";\)|\1example.com\2|' \ -e 's|"/usr/tmp";|"%{l_prefix}/var/majordomo/tmp";|' \ sample.cf %{l_shtool} subst \ -e 's;/usr/lib/sendmail;%{l_prefix}/sbin/sendmail;g' \ -e 's;/usr/sbin/sendmail;%{l_prefix}/sbin/sendmail;g' \ `find . -type f -print` %{l_make} %{l_mflags -O} wrapper %install rm -rf $RPM_BUILD_ROOT %{l_shtool} mkdir -f -p -m 755 \ $RPM_BUILD_ROOT%{l_prefix}/bin \ $RPM_BUILD_ROOT%{l_prefix}/etc/majordomo \ $RPM_BUILD_ROOT%{l_prefix}/libexec/majordomo \ $RPM_BUILD_ROOT%{l_prefix}/var/majordomo/tmp \ $RPM_BUILD_ROOT%{l_prefix}/var/majordomo/log \ $RPM_BUILD_ROOT%{l_prefix}/var/majordomo/list %{l_make} %{l_mflags} install install-wrapper \ W_HOME=$RPM_BUILD_ROOT%{l_prefix}/libexec/majordomo \ W_MAJORDOMO_CF=$RPM_BUILD_ROOT%{l_prefix}/etc/majordomo/majordomo.cf \ MAN=$RPM_BUILD_ROOT%{l_prefix}/man \ TMPDIR=$RPM_BUILD_ROOT%{l_prefix}/var/majordomo/tmp \ W_USER=`%{l_shtool} echo -e %u` \ W_GROUP=`%{l_shtool} echo -e %g` \ WRAPPER_OWNER=`%{l_shtool} echo -e %u` \ WRAPPER_GROUP=`%{l_shtool} echo -e %g` mv $RPM_BUILD_ROOT%{l_prefix}/libexec/majordomo/majordomo.cf \ $RPM_BUILD_ROOT%{l_prefix}/etc/majordomo/ rm -f $RPM_BUILD_ROOT%{l_prefix}/libexec/majordomo/sample.cf mv $RPM_BUILD_ROOT%{l_prefix}/libexec/majordomo/archive2.pl \ $RPM_BUILD_ROOT%{l_prefix}/libexec/majordomo/archive mv $RPM_BUILD_ROOT%{l_prefix}/libexec/majordomo/wrapper \ $RPM_BUILD_ROOT%{l_prefix}/bin/majordomo-wrapper mv $RPM_BUILD_ROOT%{l_prefix}/libexec/majordomo/bin/approve \ $RPM_BUILD_ROOT%{l_prefix}/bin/majordomo-approve mv $RPM_BUILD_ROOT%{l_prefix}/libexec/majordomo/bin/bounce \ $RPM_BUILD_ROOT%{l_prefix}/bin/majordomo-bounce mv $RPM_BUILD_ROOT%{l_prefix}/libexec/majordomo/bin/medit \ $RPM_BUILD_ROOT%{l_prefix}/bin/majordomo-medit for man in bounce-remind digest approve bounce resend; do mv $RPM_BUILD_ROOT%{l_prefix}/man/man1/$man.1 \ $RPM_BUILD_ROOT%{l_prefix}/man/man1/majordomo-$man.1 done rm -rf $RPM_BUILD_ROOT%{l_prefix}/libexec/majordomo/bin rm -rf $RPM_BUILD_ROOT%{l_prefix}/libexec/majordomo/Tools %{l_shtool} install -c -m 600 \ %{SOURCE users.config} \ $RPM_BUILD_ROOT%{l_prefix}/var/majordomo/list/ echo "User Support Mailing List " >users.info %{l_shtool} install -c -m 600 \ users.info $RPM_BUILD_ROOT%{l_prefix}/var/majordomo/list/users.info %{l_shtool} install -c -m 600 \ /dev/null $RPM_BUILD_ROOT%{l_prefix}/var/majordomo/list/users.aliases %{l_shtool} install -c -m 600 \ /dev/null $RPM_BUILD_ROOT%{l_prefix}/var/majordomo/list/users.archive %{l_shtool} install -c -m 600 \ /dev/null $RPM_BUILD_ROOT%{l_prefix}/var/majordomo/list/users %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \ %{l_files_std} \ '%attr(4755,%{l_susr},%{l_rgrp}) %{l_prefix}/bin/majordomo-wrapper' \ '%config %{l_prefix}/etc/majordomo/majordomo.cf' \ '%attr(-,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/majordomo/list' \ '%config %attr(-,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/majordomo/list/*' \ '%attr(-,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/majordomo/log' \ '%attr(-,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/majordomo/tmp' %files -f files %clean rm -rf $RPM_BUILD_ROOT %post # add hook into MTA configuration if [ ".$1" = .1 ]; then aliases_file=`$RPM_INSTALL_PREFIX/etc/rc --query mta_aliases_file` update_command=`$RPM_INSTALL_PREFIX/etc/rc --query mta_aliases_update` if [ ".$aliases_file" != . ]; then ( echo "# Majordomo Common Interface" echo "majordomo: \"|$RPM_INSTALL_PREFIX/bin/majordomo-wrapper majordomo\"" echo "majordomo-master: nobody" echo "majordomo-owner: majordomo-master" echo "owner-majordomo: majordomo-master" echo "owner-owner: majordomo-master" echo "" echo "# Majordomo Mailing List" echo "users: \"|$RPM_INSTALL_PREFIX/bin/majordomo-wrapper resend -l users -h example.com users-L\"" echo "users-L: :include:$RPM_INSTALL_PREFIX/var/majordomo/list/users," echo " \"|$RPM_INSTALL_PREFIX/bin/majordomo-wrapper archive -a -f $RPM_INSTALL_PREFIX/var/majordomo/list/users.archive\"" echo "users-request: \"|$RPM_INSTALL_PREFIX/bin/majordomo-wrapper request-answer users\"" echo "users-approval: nobody" echo "owner-users: nobody" ) |\ $RPM_INSTALL_PREFIX/lib/openpkg/rpmtool config \ -a -i "$RPM_INSTALL_PREFIX:majordomo" $aliases_file fi if [ ".$update_command" != . ]; then eval $update_command fi fi %postun # remove hook from MTA configuration if [ ".$1" = .0 ]; then aliases_file=`$RPM_INSTALL_PREFIX/etc/rc --query mta_aliases_file` update_command=`$RPM_INSTALL_PREFIX/etc/rc --query mta_aliases_update` if [ ".$aliases_file" != . ]; then $RPM_INSTALL_PREFIX/lib/openpkg/rpmtool config \ -r -i "$RPM_INSTALL_PREFIX:majordomo" $aliases_file fi if [ ".$update_command" != . ]; then eval $update_command fi fi