Browse Source

Change virtual package name from "mta" to "MTA" and also replace "sendmail" requirements to "MTA" in order to allow packages to work with Postfix instead of Sendmail.

master
parent
commit
3c4dc40fda
  1. 94
      dcron/dcron.spec
  2. 202
      inn/inn.spec
  3. 84
      nail/nail.spec
  4. 1
      postfix/postfix.spec
  5. 122
      qpopper/qpopper.spec
  6. 326
      sendmail/sendmail.spec
  7. 102
      ssmtp/ssmtp.spec

94
dcron/dcron.spec

@ -0,0 +1,94 @@
##
## dcron.spec -- OpenPKG RPM Specification
## Copyright (c) 2000-2001 Cable & Wireless Deutschland GmbH
## Copyright (c) 2000-2001 Ralf S. Engelschall <rse@engelschall.com>
##
## 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: dcron
Summary: Dillon's cron
Group: System
URL: http://www.ibiblio.org/pub/Linux/system/daemons/cron/
Vendor: Free Software Foundation
Packager: cs@openpkg.org
Distribution: OpenPKG
License: GPL
Version: 2.3.3
Release: 2
# list of sources
Source0: http://www.ibiblio.org/pub/Linux/system/daemons/cron/dcron-%{version}.tar.gz
Source1: rc.dcron
Patch0: dcron-%{version}.patch
# build information
Prefix: %{l_prefix}
BuildRoot: %{l_buildroot}
BuildPreReq: OpenPKG, openpkg >= 0.9-30
PreReq: OpenPKG, openpkg >= 0.9-30, MTA, vim
AutoReq: no
AutoReqProv: no
%description
A multi-user cron written from scratch by the author, similar to vixie-cron
but with significant differences. Attention paid less to feature creep and
more to usability and reliability.
%prep
%setup -q
%patch -p1
%build
%{l_rpmtool} subst \
's;/var/spool/cron/crontabs;%{l_prefix}/var/dcron/crontabs;' \
's;/usr/lib/sendmail;%{l_prefix}/sbin/sendmail;' \
's;/usr/bin/vi;%{l_prefix}/bin/vi;' \
's;/var/run/dcron.pid;%{l_prefix}/var/dcron/dcron.pid;' \
-- defs.h
%{l_make} %{l_mflags -O} \
CC="%{l_cc}" \
CFLAGS="%{l_cflags}"
%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/rc.d \
$RPM_BUILD_ROOT%{l_prefix}/man/man1 \
$RPM_BUILD_ROOT%{l_prefix}/man/man8 \
$RPM_BUILD_ROOT%{l_prefix}/sbin \
$RPM_BUILD_ROOT%{l_prefix}/var/dcron/crontabs
%{l_shtool} install -c -s -m 755 crontab $RPM_BUILD_ROOT%{l_prefix}/bin/
%{l_shtool} install -c -s -m 755 crond $RPM_BUILD_ROOT%{l_prefix}/sbin/
%{l_shtool} install -c -m 644 crontab.1 $RPM_BUILD_ROOT%{l_prefix}/man/man1/
%{l_shtool} install -c -m 644 crond.8 $RPM_BUILD_ROOT%{l_prefix}/man/man8/
%{l_shtool} install -c -m 755 -e 's;@l_prefix@;%{l_prefix};' \
%{SOURCE rc.dcron} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/
%{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
%{l_files_std} \
'%attr(4755,root,%{l_fsgrp}) %{l_prefix}/bin/crontab'
%files -f files
%clean
rm -rf $RPM_BUILD_ROOT

202
inn/inn.spec

@ -0,0 +1,202 @@
##
## inn.spec -- OpenPKG RPM Specification
## Copyright (c) 2000-2001 Cable & Wireless Deutschland GmbH
## Copyright (c) 2000-2001 Ralf S. Engelschall <rse@engelschall.com>
##
## 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: inn
Summary: InterNetNews Usenet Server
Group: News
URL: http://www.isc.org/products/INN/
Vendor: Internet Software Consortium
Packager: rse@openpkg.org
Distribution: OpenPKG
License: ISC
Version: 2.3.2
Release: 6
# list of sources
Source0: ftp://ftp.isc.org/isc/inn/inn-%{version}.tar.gz
Source1: ftp://ftp.openpkg.org/DST/inn/fakesyslog.tar.gz
Source2: rc.inn
# build information
Prefix: %{l_prefix}
BuildRoot: %{l_buildroot}
BuildPreReq: OpenPKG, openpkg >= 0.9-30, make, perl, db, openssl
PreReq: OpenPKG, openpkg >= 0.9-30, perl, MTA
AutoReq: no
AutoReqProv: no
%description
InterNetNews (INN) is a complete Usenet system. It includes innd, an
NNTP server, and nnrpd, a newsreading server. INN separates hosts
that feed you news from those that have users reading news.
%prep
%setup0 -q -c
%setup1 -q -T -D -a 1
%build
# make sure INN finds our own files
PATH="%{l_prefix}/bin:$PATH"
export PATH
# build faked syslog(3) library
fakesyslogdir="`pwd`/fakesyslog"
( cd fakesyslog
CC="%{l_cc}" \
CFLAGS="%{l_cflags -O}" \
./configure \
--with-logfile=%{l_prefix}/var/inn/log/news.log
%{l_make} %{l_mflags}
)
# adjust some too strange INN paths
cd inn-%{version}
%{l_rpmtool} subst \
"s;^\\(PATHBIN.*=\\).*;\\1 \$(PATHNEWS)/libexec/inn;" \
-- Makefile.global.in
%{l_rpmtool} subst \
"s;^\\(pathbin:.*\\)@prefix@.*;\\1@prefix@/libexec/inn;" \
-- samples/inn.conf.in
# configure the source tree
CC="%{l_cc}" \
CFLAGS="%{l_cflags -O}" \
LDFLAGS="-L$fakesyslogdir" \
LIBS="-lfakesyslog" \
./configure \
--prefix=%{l_prefix} \
--bindir=%{l_prefix}/libexec/inn \
--with-etc-dir=%{l_prefix}/etc/inn \
--with-db-dir=%{l_prefix}/var/inn/db \
--with-control-dir=%{l_prefix}/libexec/inn/control \
--with-filter-dir=%{l_prefix}/libexec/inn/filter \
--with-lib-dir=%{l_prefix}/lib/inn \
--with-log-dir=%{l_prefix}/var/inn/log \
--with-run-dir=%{l_prefix}/var/inn/run \
--with-spool-dir=%{l_prefix}/var/inn/spool \
--with-tmp-path=%{l_prefix}/var/inn/tmp \
--with-openssl=%{l_prefix} \
--with-berkeleydb=%{l_prefix} \
--with-news-user=%{l_fsusr} \
--with-news-group=%{l_fsusr} \
--with-news-master=%{l_fsusr} \
--with-sendmail=%{l_prefix}/sbin/sendmail
# build the INN system
%{l_make} %{l_mflags}
%install
rm -rf $RPM_BUILD_ROOT
cd inn-%{version}
# determine current user and group
thisuser=`(id -un) 2>/dev/null ||\
(whoami) 2>/dev/null ||\
(who am i | cut "-d " -f1) 2>/dev/null ||\
echo $LOGNAME`
thisgroup=`(cat /etc/passwd; ypcat passwd) 2>/dev/null |\
grep "^${thisuser}:" | awk -F: '{ print $4; }' | head -1`
thisgroup=`(cat /etc/group; ypcat group) 2>/dev/null |\
grep ":${thisgroup}:" | awk -F: '{ print $1; }' | head -1`
if [ ".$thisgroup" = . ]; then
thisgroup="$thisuser"
fi
# adjust INN installation procedure
%{l_rpmtool} subst \
"s;^\\(prefix.*=\\).*;\\1 $RPM_BUILD_ROOT%{l_prefix};" \
"s;^\\(PATH.*=[ ]*\\)\\(%{l_prefix}\\);\\1 $RPM_BUILD_ROOT\\2;" \
"s;^\\(NEWSUSER.*=\\).*;\\1 $thisuser;" \
"s;^\\(NEWSGROUP.*=\\).*;\\1 $thisgroup;" \
"s;^\\(OWNER.*=\\).*;\\1;" \
"s;^\\(ROWNER.*=\\).*;\\1;" \
-- Makefile.global
# perform installation procedure
%{l_make} %{l_mflags} install
# make some programs manually accessible
%{l_shtool} mkdir -f -p -m 755 $RPM_BUILD_ROOT%{l_prefix}/bin/
for bin in controlbatch controlchan news2mail startinnfeed overchan \
archive innmail innconfval ctlinnd inews rnews nntpsend; do
ln $RPM_BUILD_ROOT%{l_prefix}/libexec/inn/$bin \
$RPM_BUILD_ROOT%{l_prefix}/bin/$bin
done
# strip installation
rm -f $RPM_BUILD_ROOT%{l_prefix}/libexec/inn/filter/*.py
rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/inn/*.tcl
rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/inn/lib*.a
rm -f $RPM_BUILD_ROOT%{l_prefix}/libexec/inn/ovdb_upgrade
ln $RPM_BUILD_ROOT%{l_prefix}/libexec/inn/ovdb_recover \
$RPM_BUILD_ROOT%{l_prefix}/libexec/inn/ovdb_upgrade
# adjust configuration
( echo ''
echo '# dummy entry to make INN happy as long as'
echo '# this server has no real newsfeeds configured.'
echo 'echo "dummy-feed:!*::'
echo ''
) >>$RPM_BUILD_ROOT%{l_prefix}/etc/inn/newsfeeds
( echo ''
echo '# use the traditional spool area for storage'
echo 'method tradspool {'
echo ' newsgroups: *'
echo ' class: 1'
echo '}'
) >>$RPM_BUILD_ROOT%{l_prefix}/etc/inn/storage.conf
# create initial history database
( cd $RPM_BUILD_ROOT%{l_prefix}/var/inn/db
touch history
INNCONF=$RPM_BUILD_ROOT%{l_prefix}/etc/inn/inn.conf \
$RPM_BUILD_ROOT%{l_prefix}/libexec/inn/makedbz -i -f ./history
chmod 644 history*
)
# create empty logfiles
touch $RPM_BUILD_ROOT%{l_prefix}/var/inn/log/news.log
# install run-command script
%{l_shtool} mkdir -f -p -m 755 $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d
%{l_shtool} install -c -m 755 \
-e 's;@l_prefix@;%{l_prefix};g' \
-e 's;@l_fsusr@;%{l_fsusr};g' \
-e 's;@l_fsgrp@;%{l_fsgrp};g' \
%{SOURCE rc.inn} \
$RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/
# determine file list
%{l_rpmtool} files -v -o../files -r$RPM_BUILD_ROOT \
%{l_files_std} \
'%config %{l_prefix}/etc/inn/*' \
'%attr(4755,root,%{l_fsgrp}) %{l_prefix}/libexec/inn/inndstart' \
'%attr(4755,root,%{l_fsgrp}) %{l_prefix}/libexec/inn/startinnfeed'
%files -f files
%clean
rm -rf $RPM_BUILD_ROOT

84
nail/nail.spec

@ -0,0 +1,84 @@
##
## nail.spec -- OpenPKG RPM Specification
## Copyright (c) 2000-2001 Cable & Wireless Deutschland GmbH
## Copyright (c) 2000-2001 Ralf S. Engelschall <rse@engelschall.com>
##
## 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: nail
Summary: A MIME-capable Berkeley Mail
Group: Mail
URL: http://omnibus.ruf.uni-freiburg.de/~gritter/
Vendor: BSD, Gunnar Ritter
Packager: rse@openpkg.org
Distribution: OpenPKG
License: BSD
Version: 9.27
Release: 2
# list of sources
Source0: http://omnibus.ruf.uni-freiburg.de/~gritter/archive/nail/nail-%{version}.tar.gz
# build information
Prefix: %{l_prefix}
BuildRoot: %{l_buildroot}
BuildPreReq: OpenPKG, openpkg >= 0.9-30, MTA
PreReq: OpenPKG, openpkg >= 0.9-30, MTA
AutoReq: no
AutoReqProv: no
%description
Nail is a mail user agent derived from Berkeley Mail 8.1 and
contains builtin support for MIME messages. This means it can handle
international character sets as well as attachments. In recent
system environments, nail is Unicode/UTF-8 capable. It further
contains some minor enhancements like the ability to set a From:
Address.
%prep
%setup -q
%build
CC="%{l_cc}" \
CFLAGS="%{l_cflags -O}" \
./configure \
--prefix=%{l_prefix} \
--with-sendmail=%{l_prefix}/sbin/sendmail \
--disable-nls
%{l_make} %{l_mflags -O}
%install
rm -rf $RPM_BUILD_ROOT
%{l_make} %{l_mflags} install \
DESTDIR=$RPM_BUILD_ROOT \
AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT"
ln $RPM_BUILD_ROOT%{l_prefix}/bin/nail \
$RPM_BUILD_ROOT%{l_prefix}/bin/mail
ln $RPM_BUILD_ROOT%{l_prefix}/man/man1/nail.1 \
$RPM_BUILD_ROOT%{l_prefix}/man/man1/mail.1
strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true
%{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}
%files -f files
%clean
rm -rf $RPM_BUILD_ROOT

1
postfix/postfix.spec

@ -51,6 +51,7 @@ BuildPreReq: OpenPKG, openpkg >= 0.9-30, db, openssl
PreReq: OpenPKG, openpkg >= 0.9-30, db, openssl
AutoReq: no
AutoReqProv: no
Provides: MTA
%description
Postfix is a new-generation Mail Transfer Agent (MTA) aimed to

122
qpopper/qpopper.spec

@ -0,0 +1,122 @@
##
## qpopper.spec -- OpenPKG RPM Specification
## Copyright (c) 2000-2001 Cable & Wireless Deutschland GmbH
## Copyright (c) 2000-2001 Ralf S. Engelschall <rse@engelschall.com>
##
## 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: qpopper
Summary: POP3 Daemon
Group: Mail
URL: http://www.eudora.com/qpopper/
Vendor: Qualcom
Packager: rse@openpkg.org
Distribution: OpenPKG
License: GPL
Version: 4.0.3
Release: 2
# list of sources
Source0: ftp://ftp.qualcomm.com/eudora/servers/unix/popper/qpopper%{version}.tar.gz
Source1: rc.qpopper
# build information
Prefix: %{l_prefix}
BuildRoot: %{l_buildroot}
BuildPreReq: OpenPKG, openpkg >= 0.9-30, MTA
PreReq: OpenPKG, openpkg >= 0.9-30, MTA
AutoReq: no
AutoReqProv: no
%description
Qualcom Popper is a POP3 Daemon.
%prep
%setup0 -q -n qpopper%{version}
%build
CC="%{l_cc}" \
CFLAGS="%{l_cflags -O}" \
./configure \
--prefix=%{l_prefix} \
--sbindir=%{l_prefix}/sbin \
--disable-bulldb \
--enable-servermode \
--enable-standalone \
--enable-log-login \
--with-pam=qpopper \
--enable-home-dir-mail=.mail/inbox \
--with-log-facility=LOG_LOCAL5 \
--enable-nonauth-file=%{l_prefix}/etc/qpopper/users.deny \
--disable-nls
%{l_rpmtool} subst \
's;\(MAIL_COMMAND[^"]*"\)[^"]*;\1%{l_prefix}/sbin/sendmail;' \
-- config.h
%{l_make} %{l_mflags -O}
%install
rm -rf $RPM_BUILD_ROOT
%{l_shtool} mkdir -f -p -m 755 $RPM_BUILD_ROOT%{l_prefix}/bin
%{l_shtool} mkdir -f -p -m 755 $RPM_BUILD_ROOT%{l_prefix}/man/man8
%{l_shtool} mkdir -f -p -m 755 $RPM_BUILD_ROOT%{l_prefix}/etc/qpopper
%{l_shtool} install -c -s -m 755 popper/popper $RPM_BUILD_ROOT%{l_prefix}/bin/qpopper
%{l_shtool} install -c -m 644 man/popper.8 $RPM_BUILD_ROOT%{l_prefix}/man/man8/qpopper.8
%{l_shtool} install -c -m 644 /dev/null $RPM_BUILD_ROOT%{l_prefix}/etc/qpopper/users.deny
%{l_shtool} mkdir -f -p -m 755 $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d
%{l_shtool} install -c -m 755 -e "s;@l_prefix@;%{l_prefix};g" \
%{SOURCE rc.qpopper} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/
%{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}
%files -f files
%clean
rm -rf $RPM_BUILD_ROOT
%post
# add PAM configuration entry
check=`grep '^#<OpenPKG pkg=qpopper>' /etc/pam.conf`
if [ ".$check" = . ]; then
( echo "#<OpenPKG pkg=qpopper>"
case "%{l_target}" in
*-freebsd* )
echo "qpopper auth required pam_unix.so try_first_pass"
;;
*-linux* )
echo "qpopper auth required /lib/security/pam_unix.so shadow nodelay"
;;
*-solaris* )
echo "qpopper auth required /usr/lib/security/pam_unix.so try_first_pass"
;;
esac
echo "#</OpenPKG>"
) >>/etc/pam.conf
fi
%preun
# remove PAM configuration entry
check=`grep '^#<OpenPKG pkg=qpopper>' /etc/pam.conf`
if [ ".$check" != . ]; then
cp /etc/pam.conf /etc/pam.conf.tmp && \
sed -e '/^#<OpenPKG pkg=qpopper>/,/^#<\/OpenPKG>/d' \
</etc/pam.conf.tmp >/etc/pam.conf && \
rm -f /etc/pam.conf.tmp
fi

326
sendmail/sendmail.spec

@ -0,0 +1,326 @@
##
## sendmail.spec -- OpenPKG RPM Specification
## Copyright (c) 2000-2001 Cable & Wireless Deutschland GmbH
## Copyright (c) 2000-2001 Ralf S. Engelschall <rse@engelschall.com>
##
## 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.
##
%define V_sendmail 8.11.6
%define V_wide 8.11.6+3.4W
%define V_smtpfeed 1.16
%define V_lmtp2nntp 1.0.0
# package information
Name: sendmail
Summary: Mail Transfer Agent
Group: Mail
URL: http://www.sendmail.org/
Vendor: Eric Allman
Packager: rse@openpkg.org
Distribution: OpenPKG
License: BSD
Version: %{V_sendmail}
Release: 11
# list of sources
Source0: ftp://ftp.sendmail.org/pub/sendmail/sendmail.%{V_sendmail}.tar.gz
Source1: ftp://ftp.kyoto.wide.ad.jp/pub/mail/smtpfeed/smtpfeed-%{V_smtpfeed}.tar.gz
Source2: ftp://ftp.ossp.org/pkg/lmtp2nntp/lmtp2nntp-%{V_lmtp2nntp}.tar.gz
Source3: etc.sendmail.tar
Source4: ftp://ftp.openpkg.org/DST/sendmail/fakesyslog.tar.gz
Source5: cf.tar
Source6: rc.sendmail
Patch0: ftp://ftp.kyoto.wide.ad.jp/pub/mail/sendmail/sendmail%{V_wide}.patch.gz
Patch1: sendmail.%{V_sendmail}.patch.autonomous
# build information
Prefix: %{l_prefix}
BuildRoot: %{l_buildroot}
BuildPreReq: openpkg >= 0.9-24, m4, make, db, openssl, sfio, patch
PreReq: openpkg >= 0.9-24, m4, make, perl, procmail
AutoReq: no
AutoReqProv: no
Provides: MTA
%description
Sendmail is the most-popular Mail Transfer Agent (MTA).
Local specifics in this OpenPKG version:
o Sendmail uses two process pools (incoming and outgoing)
o Sendmail logs directly to the filesystem and not via syslog(3)
o Sendmail delivers local mail via Procmail to ~<user>/.mail/inbox
o Sendmail by default uses SMTPfeed for outgoing mass-delivery
o Sendmail by default supports STARTTLS
%prep
# unpack standard tarballs
%setup0 -q -c
%setup1 -q -T -D -a 1
%setup2 -q -T -D -a 2
%setup3 -q -T -D -a 3
%setup4 -q -T -D -a 4
# apply Sendmail patch manually
( cd sendmail-%{V_sendmail}/sendmail
%{l_gzip} -dc %{SOURCE sendmail%{V_wide}.patch.gz} |\
sed -e 's;LOG_INFO;LOG_DEBUG;' | %{l_patch} -p1
%{l_patch} -p1 <%{SOURCE sendmail.%{V_sendmail}.patch.autonomous}
)
# add own M4 stuff to Sendmail configuration set
( cd sendmail-%{V_sendmail}
%{l_tar} xf %{SOURCE cf.tar}
)
%build
PATH="%{l_prefix}/bin:$PATH"; export PATH
# build faked syslog(3) library
fakesyslogdir="`pwd`/fakesyslog"
( cd fakesyslog
CC="%{l_cc}" \
CFLAGS="%{l_cflags -O}" \
./configure \
--with-logfile=%{l_prefix}/var/sendmail/sendmail.log
%{l_make} %{l_mflags}
)
# build Sendmail
( cd sendmail-%{V_sendmail}
# indicate with a plus sign that we use a patched version
chmod u+w sendmail/version.c
%{l_rpmtool} subst \
's;\(Version\[\][^"]*\)"[^"]*";\1"%{V_sendmail}+";' \
-- sendmail/version.c
# configure Sendmail
( echo "define(\`confMAPDEF', \`-DMAP_REGEX')dnl"
echo "define(\`confSBINOWN', \`%{l_fsusr}')dnl"
echo "define(\`confSBINGRP', \`%{l_fsgrp}')dnl"
echo "define(\`confUBINOWN', \`%{l_fsusr}')dnl"
echo "define(\`confUBINGRP', \`%{l_fsgrp}')dnl"
echo "define(\`confMANOWN', \`%{l_fsusr}')dnl"
echo "define(\`confMANGRP', \`%{l_fsgrp}')dnl"
echo "define(\`confEBINDIR', \`%{l_prefix}/libexec/sendmail')dnl"
echo "define(\`confHFDIR', \`%{l_prefix}/etc/sendmail')dnl"
echo "define(\`confHFFILE', \`sendmail.help')dnl"
echo "define(\`confINCLUDEDIR', \`%{l_prefix}/include/sendmail')dnl"
echo "define(\`confINSTALL_RAWMAN', \`1')dnl"
echo "define(\`confLIBDIR', \`%{l_prefix}/lib/sendmail')dnl"
echo "define(\`confMANROOT', \`%{l_prefix}/man/cat')dnl"
echo "define(\`confMANROOTMAN', \`%{l_prefix}/man/man')dnl"
echo "define(\`confMBINDIR', \`%{l_prefix}/sbin')dnl"
echo "define(\`confSBINDIR', \`%{l_prefix}/sbin')dnl"
echo "define(\`confSHAREDLIBDIR', \`%{l_prefix}/lib')dnl"
echo "define(\`confSTDIR', \`%{l_prefix}/var/sendmail')dnl"
echo "define(\`confSTFILE', \`sendmail.stat')dnl"
echo "define(\`confUBINDIR', \`%{l_prefix}/bin')dnl"
echo "define(\`confLNOPTS', \`-f')dnl"
echo "APPENDDEF(\`confENVDEF', \`-DPATCH_AUTONOMOUS')dnl"
echo "APPENDDEF(\`confENVDEF', \`-D_PATH_SENDMAILCF=\\\"%{l_prefix}/etc/sendmail/sendmail.cf\\\"')dnl"
echo "APPENDDEF(\`confENVDEF', \`-D_PATH_SENDMAILPID=\\\"%{l_prefix}/var/sendmail/sendmail.pid\\\"')dnl"
echo "APPENDDEF(\`confENVDEF', \`-DSFIO')dnl"
echo "APPENDDEF(\`confINCDIRS', \`-I%{l_prefix}/include')dnl"
echo "APPENDDEF(\`confLIBDIRS', \`-L%{l_prefix}/lib')dnl"
echo "APPENDDEF(\`confLIBS', \`-ldb')dnl"
echo "define(\`confSTDIO_TYPE', \`portable')dnl"
echo "APPENDDEF(\`confINCDIRS', \`-I%{l_prefix}/include/sfio')dnl"
echo "APPENDDEF(\`confLIBS', \`-lsfio')dnl"
echo "APPENDDEF(\`conf_sendmail_ENVDEF', \`-DSTARTTLS')dnl"
echo "APPENDDEF(\`conf_sendmail_LIBS', \`-lssl -lcrypto')dnl"
echo "APPENDDEF(\`confLIBDIRS', \`-L$fakesyslogdir')dnl"
echo "APPENDDEF(\`confLIBS', \`-lfakesyslog')dnl"
) >devtools/Site/site.config.m4
# build Sendmail package
%{l_make} %{l_mflags}
)
# build the LMTP mailer SMTPFeed
( cd smtpfeed-%{V_smtpfeed}
%{l_rpmtool} subst \
's;smtpfeed 1.[0-9]*;smtpfeed %{V_smtpfeed};' \
-- version.c
CC="%{l_cc}" \
CFLAGS="%{l_cflags -O}" \
LDFLAGS="-L$fakesyslogdir" \
LIBS="-lfakesyslog" \
./configure \
--prefix=%{l_prefix}
%{l_make} %{l_mflags -O}
)
# build the LMTP mailer LMTP2NNTP
( cd lmtp2nntp-%{V_lmtp2nntp}
CC="%{l_cc}" \
CFLAGS="%{l_cflags -O}" \
./configure \
--prefix=%{l_prefix}
%{l_make} %{l_mflags}
)
%install
rm -rf $RPM_BUILD_ROOT
PATH="%{l_prefix}/bin:$PATH"; export PATH
# manually create filesystem hierarchy, because Sendmail's
# install target doesn't properly create it itself.
%{l_shtool} mkdir -f -p -m 755 \
$RPM_BUILD_ROOT%{l_prefix} \
$RPM_BUILD_ROOT%{l_prefix}/etc/sendmail \
$RPM_BUILD_ROOT%{l_prefix}/bin \
$RPM_BUILD_ROOT%{l_prefix}/sbin \
$RPM_BUILD_ROOT%{l_prefix}/lib \
$RPM_BUILD_ROOT%{l_prefix}/libexec/sendmail \
$RPM_BUILD_ROOT%{l_prefix}/man \
$RPM_BUILD_ROOT%{l_prefix}/man/man1 \
$RPM_BUILD_ROOT%{l_prefix}/man/man5 \
$RPM_BUILD_ROOT%{l_prefix}/man/man8 \
$RPM_BUILD_ROOT%{l_prefix}/man/cat1 \
$RPM_BUILD_ROOT%{l_prefix}/man/cat5 \
$RPM_BUILD_ROOT%{l_prefix}/man/cat8
# install Sendmail
( cd sendmail-%{V_sendmail}
myusr=`(id -un) 2>/dev/null ||\
(whoami) 2>/dev/null ||\
(who am i | cut "-d " -f1) 2>/dev/null ||\
echo $LOGNAME`
mygrp=`(cat /etc/passwd; ypcat passwd) 2>/dev/null |\
grep "^${myusr}:" | awk -F: '{ print $4; }' | head -1`
mygrp=`(cat /etc/group; ypcat group) 2>/dev/null |\
grep ":${mygrp}:" | awk -F: '{ print $1; }' | head -1`
%{l_rpmtool} subst \
"s;^\\(SBINOWN.*=\\).*;\\1 $myusr;" \
"s;^\\(SBINGRP.*=\\).*;\\1 $mygrp;" \
"s;^\\(UBINOWN.*=\\).*;\\1 $myusr;" \
"s;^\\(UBINGRP.*=\\).*;\\1 $mygrp;" \
"s;^\\(MANOWN.*=\\).*;\\1 $myusr;" \
"s;^\\(MANGRP.*=\\).*;\\1 $mygrp;" \
's;ln -s *;$(LN) $(LNOPTS) $(DESTDIR);' \
-- Makefile */Makefile */*/Makefile
%{l_make} %{l_mflags} install DESTDIR=$RPM_BUILD_ROOT
# remember the Sendmail M4 stuff for re-configuration
(%{l_tar} cf $RPM_BUILD_ROOT%{l_prefix}/etc/sendmail/cf.tar cf)
compress $RPM_BUILD_ROOT%{l_prefix}/etc/sendmail/cf.tar
%{l_shtool} install -c -m 644 cf/README \
$RPM_BUILD_ROOT%{l_prefix}/etc/sendmail/cf.README
%{l_shtool} install -c -m 755 contrib/re-mqueue.pl \
$RPM_BUILD_ROOT%{l_prefix}/sbin/re-mqueue
%{l_shtool} install -c -m 755 -e 's;^#!.*;#!%{l_prefix}/bin/perl;' \
contrib/qtool.pl $RPM_BUILD_ROOT%{l_prefix}/sbin/qtool
%{l_shtool} install -c -m 755 -e 's;^#!.*;#!%{l_prefix}/bin/perl;' \
contrib/qtool.8 $RPM_BUILD_ROOT%{l_prefix}/man/man8/qtool.8
)
# install SMTPFeed
( cd smtpfeed-%{V_smtpfeed}
%{l_shtool} install -c -s -m 755 \
smtpfeed $RPM_BUILD_ROOT%{l_prefix}/libexec/sendmail/
%{l_shtool} install -c -m 644 \
smtpfeed.8 $RPM_BUILD_ROOT%{l_prefix}/man/man8/
)
# install LMTP2NNTP
( cd lmtp2nntp-%{V_lmtp2nntp}
%{l_shtool} install -c -s -m 755 \
lmtp2nntp $RPM_BUILD_ROOT%{l_prefix}/libexec/sendmail/
%{l_shtool} install -c -m 644 \
lmtp2nntp.1 %$RPM_BUILD_ROOT%{l_prefix}/man/man8/lmtp2nntp.8
)
# install a reasonable default configuration
( cd etc.sendmail
l_hostname=`%{l_shtool} echo -e %h`
l_domainname=`%{l_shtool} echo -e %d | cut -c2-`
l_ostype=bsd4.4
case "%{l_target}" in
*-freebsd4*) l_ostype=freebsd4 ;;
*-freebsd*) l_ostype=bsd4.4 ;;
*-solaris2.8) l_ostype=solaris8 ;;
*-solaris*) l_ostype=solaris2 ;;
*-linux*) l_ostype=linux ;;
esac
%{l_shtool} install -c -m 644 \
-e "s;@l_prefix@;%{l_prefix};g" \
-e "s;@l_fsusr@;%{l_fsusr};g" \
-e "s;@l_fsgrp@;%{l_fsgrp};g" \
-e "s;@l_hostname@;${l_hostname};g" \
-e "s;@l_domainname@;${l_domainname};g" \
-e "s;@l_ostype@;${l_ostype};g" \
* $RPM_BUILD_ROOT%{l_prefix}/etc/sendmail/
)
# install the run-command script
%{l_shtool} mkdir -f -p -m 755 $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d
%{l_shtool} install -c -m 755 \
-e 's;@l_prefix@;%{l_prefix};g' \
-e 's;@l_fsusr@;%{l_fsusr};g' \
-e 's;@l_fsgrp@;%{l_fsgrp};g' \
%{SOURCE rc.sendmail} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/
# create important files which have to be present from the beginning
%{l_shtool} mkdir -f -p -m 700 $RPM_BUILD_ROOT%{l_prefix}/var/sendmail/mqueue
touch $RPM_BUILD_ROOT%{l_prefix}/var/sendmail/sendmail.in.pid
touch $RPM_BUILD_ROOT%{l_prefix}/var/sendmail/sendmail.out.pid
touch $RPM_BUILD_ROOT%{l_prefix}/var/sendmail/sendmail.log
# adjust installation tree
rm -rf $RPM_BUILD_ROOT%{l_prefix}/man/cat*
chmod -R u+w $RPM_BUILD_ROOT%{l_prefix}/
strip $RPM_BUILD_ROOT%{l_prefix}/bin/* 2> /dev/null || true
strip $RPM_BUILD_ROOT%{l_prefix}/sbin/* 2> /dev/null || true
# determine file list
%{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
%{l_files_std} \
'%attr(4755,root,%{l_fsgrp}) %{l_prefix}/sbin/sendmail' \
'%attr(4755,root,%{l_fsgrp}) %{l_prefix}/bin/hoststat' \
'%attr(4755,root,%{l_fsgrp}) %{l_prefix}/bin/mailq' \
'%attr(4755,root,%{l_fsgrp}) %{l_prefix}/bin/newaliases' \
'%attr(4755,root,%{l_fsgrp}) %{l_prefix}/bin/purgestat' \
'%config %{l_prefix}/etc/sendmail/*' \
'%config %attr(644,root,%{l_fsgrp}) %{l_prefix}/etc/sendmail/ca.crt' \
'%config %attr(644,root,%{l_fsgrp}) %{l_prefix}/etc/sendmail/sendmail.crt' \
'%config %attr(600,root,%{l_fsgrp}) %{l_prefix}/etc/sendmail/sendmail.key' \
'%attr(700,root,%{l_fsgrp}) %{l_prefix}/var/sendmail/mqueue' \
'%attr(644,root,%{l_fsgrp}) %{l_prefix}/var/sendmail/sendmail.log' \
'%attr(644,root,%{l_fsgrp}) %{l_prefix}/var/sendmail/sendmail.*.pid'
%files -f files
%clean
rm -rf $RPM_BUILD_ROOT
%post
if [ $1 -eq 1 ]; then
(cd $RPM_INSTALL_PREFIX/etc/sendmail; %{l_make} all >/dev/null 2>&1)
elif [ $1 -gt 1 ]; then
(cd $RPM_INSTALL_PREFIX/etc/sendmail; %{l_make} clean all >/dev/null 2>&1)
$RPM_INSTALL_PREFIX/etc/rc sendmail reload >/dev/null 2>&1 || true
fi
%preun
if [ $1 -eq 0 ]; then
$RPM_INSTALL_PREFIX/etc/rc sendmail stop >/dev/null 2>&1 || true
(cd $RPM_INSTALL_PREFIX/etc/sendmail/; %{l_make} clean >/dev/null 2>&1)
fi

102
ssmtp/ssmtp.spec

@ -0,0 +1,102 @@
##
## ssmtp.spec -- OpenPKG RPM Specification
## Copyright (c) 2000-2001 Cable & Wireless Deutschland GmbH
## Copyright (c) 2000-2001 Ralf S. Engelschall <rse@engelschall.com>
##
## 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: ssmtp
Summary: Simple SMTP MTA
Group: Mail
URL: ftp://metalab.unc.edu/pub/Linux/system/mail/mta/
Vendor: Matt Ryan
Packager: rse@openpkg.org
Distribution: OpenPKG
License: GPL
Version: 2.39.1
Release: 1
# list of sources
Source0: ftp://metalab.unc.edu/pub/Linux/system/mail/mta/ssmtp-%{version}.tar.gz
Source1: ssmtp.conf
# build information
Prefix: %{l_prefix}
BuildRoot: %{l_buildroot}
BuildPreReq: OpenPKG, openpkg >= 0.9-30, make
PreReq: OpenPKG, openpkg >= 0.9-30
AutoReq: no
AutoReqProv: no
Provides: MTA
%description
This is sSMTP, a program that replaces sendmail on workstations
that should send their mail via the departmental mailhub from which
they pick up their mail (via pop, imap, rsmtp, pop_fetch, NFS... or
the like). This program accepts mail and sends it to the mailhub,
optionally replacing the domain in the From: line with a different
one.
%prep
%setup -q -n ssmtp-2.39
%build
CC="%{l_cc}" \
CFLAGS="%{l_cflags -O}" \
./configure \
--prefix=%{l_prefix}
%{l_make} %{l_mflags} \
SSMTPCONFDIR="%{l_prefix}/etc/ssmtp" \
CONFIGURATION_FILE="%{l_prefix}/etc/ssmtp/ssmtp.conf" \
REVALIASES_FILE="%{l_prefix}/etc/ssmtp/ssmtp.revaliases"
%install
rm -rf $RPM_BUILD_ROOT
%{l_shtool} mkdir -f -p -m 755 \
$RPM_BUILD_ROOT%{l_prefix}/sbin \
$RPM_BUILD_ROOT%{l_prefix}/etc/ssmtp \
$RPM_BUILD_ROOT%{l_prefix}/man/man8 \
$RPM_BUILD_ROOT%{l_prefix}/var/ssmtp
%{l_shtool} install -c -s -m 755 \
ssmtp $RPM_BUILD_ROOT%{l_prefix}/sbin/
chmod u+w ssmtp.8
%{l_shtool} install -c -m 644 \
-e 's;.B ssmtp;.B %{l_prefix}/sbin/ssmtp;' \
-e 's;.B /usr/lib/sendmail;.B %{l_prefix}/sbin/sendmail;' \
ssmtp.8 $RPM_BUILD_ROOT%{l_prefix}/man/man8/
ln $RPM_BUILD_ROOT%{l_prefix}/sbin/ssmtp \
$RPM_BUILD_ROOT%{l_prefix}/sbin/sendmail
ln $RPM_BUILD_ROOT%{l_prefix}/man/man8/ssmtp.8 \
$RPM_BUILD_ROOT%{l_prefix}/man/man8/sendmail.8
%{l_shtool} install -c -m 644 -e "s;@l_prefix@;%{l_prefix};g" \
%{SOURCE ssmtp.conf} \
$RPM_BUILD_ROOT%{l_prefix}/etc/ssmtp/
%{l_shtool} install -c -m 644 revaliases \
$RPM_BUILD_ROOT%{l_prefix}/etc/ssmtp/ssmtp.revaliases
%{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
%{l_files_std} \
'%config %{l_prefix}/etc/ssmtp/ssmtp.conf'
%files -f files
%clean
rm -rf $RPM_BUILD_ROOT
Loading…
Cancel
Save