# Tests by default. No tests: rpm -ba --define 'dotests 0' *.spec %{!?dotests: %define dotests 1} %define install_user $(/usr/bin/id -un) %define install_group $(/usr/bin/id -gn) %{?!sendmail_uid: %global sendmail_uid 51} %{?!sendmail_gid: %global sendmail_gid 51} %define _libdir64 %{_prefix}/lib64 %define sendmailcf %{_datadir}/sendmail-cf %define stdir %{_localstatedir}/log/mail %define spooldir %{_localstatedir}/spool %define maildir %{_sysconfdir}/mail Summary: The Sendmail program is a very widely used Mail Transport Agent (MTA). Name: sendmail Version: 8.17.1 Release: 2 License: BSD-Equivalent Group: Development/Languages URL: ftp://ftp.sendmail.org Source0: ftp://ftp.sendmail.org/pub/%{name}/%{name}.%{version}.tar.gz Source1: ftp://ftp.sendmail.org/pub/%{name}/%{name}.%{version}.tar.gz.sig Source2: sendmail-aix.mc # default /etc/mail/local-host-names Source3: sendmail-etc-mail-local-host-names # default /etc/mail/trusted-users Source4: sendmail-etc-mail-trusted-users Source5: Sendmail.conf Source6: README.AIX Patch0: sendmail-8.17.1-clientmqueue_dir.patch Patch1: sendmail-8.17.1-maildir.patch BuildRequires: m4 >= 1.4.17 Provides: MTA smtpdaemon server(smtp) Requires: cyrus-sasl >= 2.1.27 Requires: db >= 5.3.28 Requires: openldap >= 2.4.58 %description The Sendmail program is a very widely used Mail Transport Agent (MTA). MTAs send mail from one machine to another. Sendmail is not a client program, which you use to read your email. Sendmail is a behind-the-scenes program which actually moves your email over networks or the Internet to where you want it to go. %prep %setup -q %patch0 %patch1 %build #Build 64bit export CC="/opt/freeware/bin/gcc -O2 -maix64 -DHASFLOCK=1 -D_USE_IRS" export OBJECT_MODE=64 export LDFLAGS="-L/opt/freeware/lib64 -L/opt/freeware/lib -Wl,-blibpath:/opt/freeware/lib64:/opt/freeware/lib:/usr/lib:/lib -lbsd" cat > config.m4 << EOF define(\`confMAPDEF', \`-DNEWDB -DNIS -DMAP_REGEX -DSOCKETMAP') #define(\`confOPTIMIZE', \`\`\`\`$CFLAGS'''') define(\`confENVDEF', \`-I%{_includedir} -Wall -DXDEBUG=0 -DNETINET6 -DHES_GETMAILHOST -DUSE_VENDOR_CF_PATH=1 -D_FFR_AIX_MHNL -D_FFR_QOS -D_FILE_OFFSET_BITS=$OBJECT_MODE -DHAS_GETHOSTBYNAME2 -DHASUNSETENV -DHASINITGROUPS -D_AIX3') define(\`confLDOPTS', \`$LDFLAGS') define(\`confLIBS', \`-lssl -lnsl -lcrypt -ldb') define(\`confMANOWN', \`%{install_user}') define(\`confMANGRP', \`%{install_group}') define(\`confMANMODE', \`644') define(\`confMAN1SRC', \`1') define(\`confMAN5SRC', \`5') define(\`confMAN8SRC', \`8') define(\`confSTDIR', \`%{stdir}') define(\`confINSTALL',\`/opt/freeware/bin/install') define(\`STATUS_FILE', \`%{stdir}/statistics') define(\`confLIBSEARCH', \`db resolv 44bsd') define(\`confCC', \`$CC') define(\`confSETUSERID_INSTALL', \`%{install_user}') define(\`confMBINDIR', \`%{_sbindir}') define(\`confSBINDIR', \`%{_sbindir}') define(\`confUBINDIR', \`%{_bindir}') define(\`confEBINDIR', \`%{_libdir}') define(\`confMSP_QUEUE_DIR', \`%{_prefix}/var/spool/clientmqueue') define(\`confHFDIR', \`%{maildir}') define(\`confMAILDIR', \`%{maildir}') define(\`confMAIL_SETTINGS_DIR', \`%{maildir}') APPENDDEF(\`conf_sendmail_ENVDEF', \`-DSTARTTLS -D_FFR_TLS_1 -DTLS_EC -D_FFR_TLS_USE_CERTIFICATE_CHAIN_FILE -DDANE -DHASURANDOMDEV')dnl APPENDDEF(\`conf_sendmail_LIBS', \`-lssl -lcrypto')dnl APPENDDEF(\`confENVDEF', \`-DSASL=2')dnl APPENDDEF(\`confLIBS', \`-lsasl2 -lcrypto')dnl APPENDDEF(\`confMAPDEF', \`-DLDAPMAP -DLDAP_DEPRECATED')dnl APPENDDEF(\`confENVDEF', \`-DSM_CONF_LDAP_MEMFREE=1')dnl APPENDDEF(\`confLIBS', \`-lldap -llber -lssl -lcrypto')dnl EOF #' DIRS="libsmutil sendmail mailstats mail.local rmail praliases smrsh makemap editmap test vacation" for i in $DIRS; do cd $i sh Build -f ../config.m4 cd .. done gmake %{?_smp_mflags} VERBOSE=1 %install [ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf ${RPM_BUILD_ROOT} export OBJECT_MODE=64 # create directories for d in %{_bindir} %{_sbindir} \ %{_libdir} %{_mandir}/man1 %{_mandir}/man5 %{_mandir}/man8 %{maildir} %{stdir} %{spooldir} \ %{_docdir}/sendmail %{sendmailcf} %{_sysconfdir}/smrsh\ %{spooldir}/clientmqueue %{_sysconfdir}/sysconfig do install -m 755 -d ${RPM_BUILD_ROOT}$d done install -m 700 -d ${RPM_BUILD_ROOT}%{spooldir}/mqueue Make() { make $@ \ DESTDIR=${RPM_BUILD_ROOT} \ LIBDIR=%{_libdir} \ MANROOT=%{_mandir}/man \ LIBMODE=0755 INCMODE=0644 \ SBINOWN=%{install_user} SBINGRP=%{install_group} \ UBINOWN=%{install_user} UBINGRP=%{install_group} \ MANOWN=%{install_user} MANGRP=%{install_group} \ INCOWN=%{install_user} INCGRP=%{install_group} \ LIBOWN=%{install_user} LIBGRP=%{install_group} \ GBINOWN=%{install_user} GBINGRP=%{install_group} \ CFOWN=%{install_user} CFGRP=%{install_group} \ CFMODE=0644 \ MSPQOWN=%{install_user} } OBJDIR=obj.AIX.6.1.9.PPC Make install -C $OBJDIR/sendmail Make install -C $OBJDIR/mailstats Make force-install -C $OBJDIR/rmail Make install -C $OBJDIR/praliases Make install -C $OBJDIR/smrsh Make install -C $OBJDIR/makemap Make install -C $OBJDIR/editmap # use for 64 bit architectures ln -sf ../sbin/sendmail ${RPM_BUILD_ROOT}%{_libdir}/sendmail # install docs for sendmail install -p -m 644 FAQ ${RPM_BUILD_ROOT}%{_docdir}/sendmail install -p -m 644 KNOWNBUGS ${RPM_BUILD_ROOT}%{_docdir}/sendmail install -p -m 644 LICENSE ${RPM_BUILD_ROOT}%{_docdir}/sendmail install -p -m 644 README ${RPM_BUILD_ROOT}%{_docdir}/sendmail install -p -m 644 RELEASE_NOTES ${RPM_BUILD_ROOT}%{_docdir}/sendmail install -p -m 644 %{SOURCE6} ${RPM_BUILD_ROOT}%{_docdir}/sendmail gzip -9 ${RPM_BUILD_ROOT}%{_docdir}/sendmail/RELEASE_NOTES # install the cf files for the sendmail-cf package. cp -ar cf/* ${RPM_BUILD_ROOT}%{sendmailcf} # remove patch backup files rm -rf ${RPM_BUILD_ROOT}%{sendmailcf}/cf/Build.* rm -rf ${RPM_BUILD_ROOT}%{sendmailcf}/*/*.mc.* rm -rf ${RPM_BUILD_ROOT}%{sendmailcf}/*/*.m4.* # remove cf/README file because it is useless for end users rm -f ${RPM_BUILD_ROOT}%{sendmailcf}/cf/README # install sendmail.mc with proper paths install -p -m 755 %{SOURCE2} ${RPM_BUILD_ROOT}%{maildir}/sendmail.mc sed -i -e 's|@@PATH@@|%{sendmailcf}|' ${RPM_BUILD_ROOT}%{maildir}/sendmail.mc touch -r %{SOURCE2} ${RPM_BUILD_ROOT}%{maildir}/sendmail.mc # create sendmail.cf cp ${RPM_BUILD_ROOT}%{maildir}/sendmail.mc cf/cf/aix.mc sed -i -e 's|%{sendmailcf}|\.\.|' cf/cf/aix.mc %if "%{stdir}" != "%{maildir}" sed -i -e 's:%{maildir}/statistics:%{stdir}/statistics:' cf/cf/aix.mc %endif (cd cf/cf && m4 aix.mc > aix.cf) install -m 755 cf/cf/aix.cf ${RPM_BUILD_ROOT}%{maildir}/sendmail.cf install -p -m 755 cf/cf/submit.mc ${RPM_BUILD_ROOT}%{maildir}/submit.mc # remove our build info as it causes multiarch conflicts sed -i '/##### built by.*on/,+3d' ${RPM_BUILD_ROOT}%{maildir}/sendmail.cf \ ${RPM_BUILD_ROOT}%{sendmailcf}/cf/submit.cf #cp ${RPM_BUILD_ROOT}/etc/mail/* ${RPM_BUILD_ROOT}%{maildir} install -p -m 644 %{SOURCE3} %{buildroot}%{maildir}/local-host-names install -p -m 644 %{SOURCE4} %{buildroot}%{maildir}/trusted-users install -m 755 -d %{buildroot}%{_sysconfdir}/sasl2 install -m 644 %{SOURCE5} %{buildroot}%{_sysconfdir}/sasl2/Sendmail.conf chmod 644 %{buildroot}%{maildir}/helpfile # create stub man pages for m in man8/hoststat.8 man8/purgestat.8; do [ -f ${RPM_BUILD_ROOT}%{_mandir}/$m ] || echo ".so man8/sendmail.8" > ${RPM_BUILD_ROOT}%{_mandir}/$m done %post echo "\n Before configuring sendmail, please go through /opt/freeware/doc/sendmail/README.AIX file shipped with sendmail\n" %pre # add the "smmsp" group only if it does not yet exist result=`/usr/sbin/lsgroup smmsp| /usr/bin/awk '{ print $1 }' 2>/dev/null` if [[ "${result}" != "smmsp" ]] ; then /usr/bin/mkgroup -A id=%{sendmail_uid} smmsp 2> /dev/null || : fi # add the "smmsp" user only if it does not yet exist result=`/usr/sbin/lsuser smmsp| /usr/bin/awk '{ print $1 }' 2>/dev/null` if [[ "${result}" != "smmsp" ]] ; then /usr/sbin/useradd -u %{sendmail_uid} -g smmsp -d /opt/freeware/var/spool/mqueue -c smmsp smmsp >/dev/null 2>&1 || : fi %preun #Package removal, not upgrade if [ "$1" = "0" ]; then # remove "smmsp" user and group /usr/sbin/rmuser -p smmsp|| : /usr/sbin/rmgroup smmsp|| : fi %clean [ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf ${RPM_BUILD_ROOT} %files %defattr(-,root,system,-) %dir %{_docdir}/sendmail %attr(0770,smmsp,smmsp) %dir %{spooldir}/clientmqueue %attr(0700,root,mail) %dir %{spooldir}/mqueue %doc %{_docdir}/sendmail/FAQ %doc %{_docdir}/sendmail/KNOWNBUGS %doc %{_docdir}/sendmail/LICENSE %doc %{_docdir}/sendmail/README %doc %{_docdir}/sendmail/RELEASE_NOTES.gz %doc %{_docdir}/sendmail/README.AIX %{_sbindir}/* %{_bindir}/* %{_libdir}/sendmail %{_mandir}/man8/praliases.8 %{_mandir}/man8/mailstats.8 %{_mandir}/man8/makemap.8 %{_mandir}/man8/editmap.8 %{_mandir}/man8/sendmail.8 %{_mandir}/man8/smrsh.8 %{_mandir}/man8/hoststat.8 %{_mandir}/man8/purgestat.8 %{_mandir}/man5/aliases.5 %{_mandir}/man1/newaliases.1 %{_mandir}/man1/mailq.1 %dir %{stdir} %dir %{_sysconfdir}/smrsh %dir %{maildir} %config(noreplace) %verify(not size mtime md5) %{stdir}/statistics %config(noreplace) %{maildir}/helpfile %config(noreplace) %{maildir}/sendmail.cf %config(noreplace) %{maildir}/submit.cf %config(noreplace) %{maildir}/sendmail.mc %config(noreplace) %{maildir}/submit.mc %config(noreplace) %{maildir}/local-host-names %config(noreplace) %{maildir}/trusted-users %config(noreplace) %{_sysconfdir}/sasl2/Sendmail.conf %dir %{sendmailcf} %{sendmailcf}/* %changelog * Thu May 26 2022 Reshma V Kumar - 8.17.1-2 - Rebuild with HASURANDOMDEV and _AIX3 * Mon Jan 03 2022 Reshma V Kumar - 8.17.1-1 - Update to 8.17.1