[Raw Msg Headers][Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Compilation/RPM creation problems



Problem solved!
****** Forwarded Message Follows *******

  Ah,  Xose  has also asked me things privately, I will
  try to return to the question next weekend (if I don't
  have time before it.)

/Matti Aarnio

On Tue, Apr 04, 2000 at 02:45:04PM +0000, Dan wrote:
> If I edit zmailer.spec to remove tcp-wrappers support, everything compiles just
> fine after modification, BUT no binary rpm package is generated. rpm processing
> of the spec stops at provides/requires list, without generation of any errors.
> It does create a source rpm package with -bs just fine. spec file attached.
> 
> 
> >On Tue, Apr 04, 2000 at 10:15:44AM -0400, dan@docisp.com wrote:
> >> 
> >> Hi. I am having trouble compiling Zmailer 2.99.53-pre1 on RH 6.2 with
> >> tcp-wrappers support. The thing compiles just fine in Debian.
> >> Here's what I am getting:
> >
> >  The problem here is that the <explenative> tcp-wrapper as it is
> >  done at RH 6.1/6.2 requires linkage against NIS (YP).  A jolly
> >  stupid idea...  Similar happens already at Solaris 2.6, and
> >  I am most unhappy there as well.
> >
> >  Adding (manually)  -lnsl  to the library list definition at the
> >  scheduler/Makefile will help you thru.
> >  ( But won't help at RPM driven processing, of course.. there you
> >    propably need to patch scheduler/Makefile.in )
> >
> >  My medium term goal is to eradict tcp-wrapper due to this kind
> >  of corruptions from ZMailer entirely.  smtpserver doesn't need
> >  it, after all.  Similar controls can be done with  smtpserver.auth
> >  by adding there extra column of allowed contactee addresses/nets.
> >
> >> <SNIP>
> >> cc   -DHAVE_CONFIG_H -I./../include -I../include -I.. -I/usr -o scheduler.x
> scheduler.o readconfig.o conf.o agenda.o transport.o pipes.o update.o qprint.o
> msgerror.o resources.o threads.o wantconn.o mq2.o mq2auth.o version.o -L../libs
> -lzm -lzc  -lta -lsfio -L/usr -lwrap -lresolv  
> >> /usr/bin/../lib/libwrap.a(hosts_access.o): In function `host_match':
> >> hosts_access.o(.text+0x400): undefined reference to `yp_get_default_domain'
> 
> >> collect2: ld returned 1 exit status
> >> make[1]: *** [scheduler] Error 1
> >> make[1]: Leaving directory `/usr/src/redhat/BUILD/zmailer-2.99.53_pre1/scheduler'
> 
> >> make: *** [all] Error 1
> >> Bad exit status from /var/tmp/rpm-tmp.13294 (%build)
> >> </SNIP>
> >> 
> >> Also if I compile it without tcp-wrappers rpm doesn't build
> >> a binary package. Any ideas? Thanks.
> >
> >	Uh ?
> >
> >-- 
> >/Matti Aarnio	<mea@nic.funet.fi>
> >
> This Free Email is provided by http://www.docisp.com

> Summary: Mailer for extreme performance demands, secure mail delivery agent
> Name: zmailer
> Version: 2.99.53_pre1
> Release: 1
> Group: Networking/Daemons
> Packager: Xose Vazquez <xose@ctv.es>
> URL: http://www.zmailer.org 
> Source: ftp://ftp.funet.fi/pub/unix/mail/zmailer/src/zmailer-%{version}.tar.gz
> Source1: zmailer.init
> Source2: zmailer.logrotate
> Source3: zmailer.cron
> Source4: zmailer.pam
> Source5: README-RPM
> License: Freely usable, see /usr/doc/zmailer-%{version}/README
> BuildRoot: /var/tmp/zmailer-%{version}-root
> Prereq: /sbin/chkconfig
> Provides: smtpdaemon
> Conflicts: sendmail qmail
> 
> %description
> This is a package that implements an internet message transfer agent
> called ZMailer.  It is intended for gateways or mail servers or other
> large site environments that have extreme demands on the abilities of
> the mailer.  It was motivated by the problems of the Sendmail design
> in such situations. ZMailer is one of the mailers able to deal with
> huge quantities of mail and is more efficient any other mailer, qmail
> included, mostly due to its excellent queueing algorithms.
> 
> Most users don't need this package -- for most users, sendmail or exim or
> smail will suffice.
> 
> %package doc
> Summary: ZMailer documentation. 
> Group: Networking/Daemons
> 
> %description doc
> This package includes desing notes, the ZMailer manual, and a few
> papers written about ZMailer. The papers are available in PostScript,
> tex, html, txt and sgml.
> 
> %prep
> # unpack zmalier (and patch it).
> %setup -q 
> 
> # build zmailer
> %build
> #CFLAGS="$RPM_OPT_FLAGS" 
> ./configure --prefix=/usr/lib/zmailer \
> --with-openssl-include=/usr/include/openssl \
> --with-openssl-lib=/usr/lib \
> --with-postoffice=/var/spool/postoffice \
> --with-mailshare=/etc/zmailer \
> --with-mailvar=/etc/zmailer  --with-zconfig=/etc/zmailer/zmailer.conf \
> --with-mailbin=/usr/lib/zmailer \
> --includedir=/usr/lib/zmailer \
> --with-sendmailpath=/usr/sbin/sendmail --with-logdir=/var/log/zmailer \
> --with-rmailpath=/usr/sbin/rmail  --with-system-malloc \
> --with-ta-mmap \
> --with-logdir=/var/log/mail \
> --with-tcp-wrappers=/usr \
> --with-ldap-include-dir=/usr/local/include \
> --with-ldap-library-dir=/usr/local/lib 
> 
> make
> 
> %install
> rm -rf $RPM_BUILD_ROOT
> make install prefix=$RPM_BUILD_ROOT
> 
> # install man pages
> # make install can't create man[1,3,5,8]. Well, make it ourself.
> cd $RPM_BUILD_ROOT
> mkdir -p $RPM_BUILD_ROOT/usr/man/man{1,3,5,8}
> 
> cd $RPM_BUILD_DIR/zmailer-%{version}/
> make prefix=$RPM_BUILD_ROOT -C man install
> 
> # make install do not install authuser.3 
> install -m644 $RPM_BUILD_DIR/zmailer-%{version}/man/authuser.3 \
>         $RPM_BUILD_ROOT/usr/man/man3
> 
> install -m644 $RPM_SOURCE_DIR/README-RPM \
> 	$RPM_BUILD_DIR/zmailer-%{version}
> 
> # install SYSV init stuff
> mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d
> install -m755 $RPM_SOURCE_DIR/zmailer.init \
>         $RPM_BUILD_ROOT/etc/rc.d/init.d/zmailer
> 
> for I in 0 1 6; do
> 	mkdir -p $RPM_BUILD_ROOT/etc/rc.d/rc$I.d
>         ln -sf ../init.d/zmailer \
> 		$RPM_BUILD_ROOT/etc/rc.d/rc$I.d/K30zmailer
> done
> for I in 2 3 4 5; do
> 	mkdir -p $RPM_BUILD_ROOT/etc/rc.d/rc$I.d
>         ln -sf ../init.d/zmailer \
> 		$RPM_BUILD_ROOT/etc/rc.d/rc$I.d/S80zmailer 
> done
> 
> # install log rotation stuff
> mkdir -p $RPM_BUILD_ROOT/etc/logrotate.d
> install -m644 $RPM_SOURCE_DIR/zmailer.logrotate \
> 	$RPM_BUILD_ROOT/etc/logrotate.d/zmailer
> 
> # install cron stuff
> mkdir -p $RPM_BUILD_ROOT/etc/cron.daily/
> install -m644 $RPM_SOURCE_DIR/zmailer.cron \
> 	 $RPM_BUILD_ROOT/etc/cron.daily/zmailer
> 
> # install pam support
> mkdir -p $RPM_BUILD_ROOT/etc/pam.d
> install -m644 $RPM_SOURCE_DIR/zmailer.pam \
> 	$RPM_BUILD_ROOT/etc/pam.d/smtpauth-login
> 
> # config files
> 
> for I in aliases fqdnaliases localnames routes smtp-policy.relay \
> 	smtp-policy.src ; do 
> ln -sf proto/$I \
> 	$RPM_BUILD_ROOT/etc/zmailer/db/$I
> done
> 
> for I in scheduler.conf sm.conf smtpserver.conf ; do
> ln -sf proto/$I \
> 	$RPM_BUILD_ROOT/etc/zmailer/$I
> done 
> 
> ln -sf cf/TELE-FI.cf \
> 	$RPM_BUILD_ROOT/etc/zmailer/router.cf
> 
> ln -sf zmailer/db/proto/aliases $RPM_BUILD_ROOT/etc/aliases
> 
> # sendmail compatible stuff
> 
> ln -sf zmailer/sendmail $RPM_BUILD_ROOT/usr/lib/sendmail
> 
> for I in rmail sendmail; do
> ln -sf ../lib/zmailer/$I $RPM_BUILD_ROOT/usr/sbin/$I
> done
> 
> mkdir -p $RPM_BUILD_ROOT/usr/bin/
> for I in mailq newaliases vacation; do
> ln -sf ../lib/zmailer/$I \
> 	$RPM_BUILD_ROOT/usr/bin/$I
> done
> 
> %preun
> # stop zmailer if it is running
> if ps auxw | egrep 'router|scheduler|smtpserver' | grep -v egrep \
> 	>> /dev/null ; then
>         /usr/lib/zmailer/zmailer kill
> 	echo "1" > /var/run/.zmailer_was_run
> fi
> 
> %post
> /sbin/chkconfig --add zmailer
> 
> echo "localhost" >> /etc/zmailer/db/localnames
> 
> # mail.conf stuff
> if [ -s /etc/mail.conf ] >> /dev/null ; then
> 	:
> else
> 	touch /etc/mail.conf
> fi
> if grep -c -v '^#' /etc/mail.conf >> /dev/null ; then
>         :
> else
>         [ -z "`hostname -d`" ] || echo "orgdomain=`hostname -d`" >> /etc/mail.conf
>         [ -z "`hostname -d`" ] || echo "mydomain=`hostname -d`" >> /etc/mail.conf
>         [ -z "`hostname -f`" ] || echo "hostname=`hostname -f`" >> /etc/mail.conf
> fi
> 
> # make zmailer group
> if grep -c "^zmailer:" /etc/group >> /dev/null ; then
>         :
> else
>         # Use 'mail' group for zmailer...
>         echo "zmailer::12:root,daemon,uucp" >> /etc/group
> fi
> 
> # port to mailer transport queue
> if grep -c "^mailq" /etc/services >> /dev/null ; then
>         :
> else
>         echo "mailq           174/tcp                         # Mailer transport queue" >> /etc/services
> fi
> 
> # rebuild the zmailer aliases database
> /usr/lib/zmailer/newaliases
> 
> # recreates the FQDN alias map
> /usr/lib/zmailer/newfqdnaliases
> 
> echo "`hostname -f`" >> /etc/zmailer/db/proto/localnames
> echo "`hostname`" >> /etc/zmailer/db/proto/localnames
> echo "`hostname -d`" >> /etc/zmailer/db/proto/localnames
> echo "localhost.`hostname -d`" >> /etc/zmailer/db/proto/localnames
> 
> # start it back up again, after an upgrade
> if [ -s /var/run/.zmailer_was_run ] >> /dev/null ; then
>         /etc/rc.d/init.d/zmailer start
>         rm -f /var/run/.zmailer_was_run
> fi
> 
> # notices
> echo " "  
> echo "     If you are running PROCMAIL as your local delivery agent"
> echo "     read /usr/doc/zmailer-doc-%{version}/doc/guides/procmail "
> echo " "
> echo "     This zmailer.spec links tcp wrapper code into smtpserver. To "
> echo "     allow incoming SMTP traffic you must specify allowed ip-addresses"
> echo "     domains in /etc/hosts.allow file. Read the README-RPM file. "
> echo " " 
> 
> 
> %clean
> # rm -rf $RPM_BUILD_ROOT
> 
> %changelog
> 
> * Wed Oct 13 1999 Xose Vazquez <xose@ctv.es>
> 
> -  Zmailer-2.99.52 install strip bin files, wonderful.
> -  delete the strip section.
> 
> * Fri Aug 6  1999 Xose Vazquez <xose@ctv.es>
> 
> -  split zmailer, the doc is a independent rpm
> 
> * Thu Jul 29 1999 Xose Vazquez <xose@ctv.es>
> 
> -  based on zmailer-%{version}/contrib/zmailer49.spec
> -  this is the first version, is all ok ?
> 
> 
> %files
> %defattr(-,root,root)
> /etc/aliases
> %attr(644,root,root)/etc/pam.d/smtpauth-login
> %config %attr(755,root,root) /etc/cron.daily/zmailer
> %config /etc/logrotate.d/zmailer
> %config /etc/rc.d/init.d/zmailer
> %config(missingok) /etc/rc.d/rc0.d/K30zmailer
> %config(missingok) /etc/rc.d/rc1.d/K30zmailer
> %config(missingok) /etc/rc.d/rc2.d/S80zmailer
> %config(missingok) /etc/rc.d/rc3.d/S80zmailer
> %config(missingok) /etc/rc.d/rc4.d/S80zmailer
> %config(missingok) /etc/rc.d/rc5.d/S80zmailer
> %config(missingok) /etc/rc.d/rc6.d/K30zmailer
> %config(noreplace) /etc/zmailer/cf/*
> %config(noreplace) /etc/zmailer/db/*
> /etc/zmailer/forms
> /etc/zmailer/fqlists
> /etc/zmailer/lists
> %config(noreplace) /etc/zmailer/proto/*
> %config(noreplace) /etc/zmailer/router.cf
> %config(noreplace) /etc/zmailer/scheduler.conf
> %config(noreplace) /etc/zmailer/sm.conf
> %config(noreplace) /etc/zmailer/smtpserver.conf
> %config /etc/zmailer/vacation.msg
> %config /etc/zmailer/zmailer.conf
> /usr/bin/*
> /usr/include/zmailer/zmailer.h
> /usr/lib/libzmailer.a
> /usr/lib/sendmail
> /usr/lib/zmailer
> # man pages
> /usr/man/*/*
> /usr/sbin/*
> %dir /var/log/mail
> %attr(2755,root,root) %dir /var/spool/postoffice/
> %attr(750,root,root) /var/spool/postoffice/deferred/
> %attr(750,root,root) /var/spool/postoffice/freezer/
> %attr(750,root,root) /var/spool/postoffice/postman/
> %attr(1777,root,root) /var/spool/postoffice/public/
> %attr(750,root,root) %dir /var/spool/postoffice/queue/
> %attr(755,root,root)  /var/spool/postoffice/queue/*
> %attr(1777,root,root) /var/spool/postoffice/router/
> %attr(755,root,root) /var/spool/postoffice/transport/
> %doc  ChangeLog INSTALL MANIFEST Overview README* TODO contrib/README.debian README-RPM
> 
> %files doc
> %doc doc
> 
> # EOF