File nullmailer.spec of Package nullmailer

Name: nullmailer
Summary: Simple relay-only mail transport agent
Version: 1.05
Release: 4
License: GPL
Group: Productivity/Networking/Email/Servers
#Source: http://untroubled.org/nullmailer/archive/1.05/nullmailer-1.05.tar.gz
#Re-packed the above source file for OBS
Source: http://untroubled.org/nullmailer/archive/%{version}/nullmailer-%{version}.tar.bz2
Source1: rc.nullmailer
Source2: README.SUSE
Source3: permissions
Source4: permissions.paranoid
Source5: %{name}-rpmlintrc
Source6: mailq.1
Source7: permissions.secure
Patch: nullmailer-1.05-address-space.patch
Patch1: nullmailer-1.05-fhs.patch
Patch2: nullmailer-1.05-mailuser.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
URL: http://untroubled.org/nullmailer/
Provides: smtpdaemon smtp_daemon
Conflicts: sendmail
Conflicts: qmail
Requires(pre): %insserv_prereq %fillup_prereq pwdutils permissions
Requires: daemontools
BuildRequires: gcc-c++
%if 0%{?suse_version} > 1130
# This seems to be required for insserv_cleanup to work... :-(
BuildRequires: udev
%endif

%description
Nullmailer is a mail transport agent designed to only relay all its
messages through a fixed set of "upstream" hosts.  It is also designed
to be secure.

%prep
%setup
cp %{S:2} .
%patch -p1
%patch1 -p0
%patch2 -p0

%build
%if 0%{?suse_version} >= 1000
PIE=-fPIE
pie=-pie
%endif
export CFLAGS="%{optflags} $PIE" CXXFLAGS="%{optflags} $PIE" LDFLAGS="%{optflags} $pie" LDXXFLAGS="%{optflags} $pie"
%configure
make %{?_smp_mflags}
for i in doc/nullmailer-queue.8 doc/nullmailer-send.8; do
    if [ ! -r "$i.orig" ]; then cp "$i" "$i.orig"; fi
    sed 's=/var/nullmailer/=%{_localstatedir}/spool/nullmailer/=;s=/usr/local/etc=%{_sysconfdir}=;s=/usr/local/libexec=%{_libexecdir}=' <"$i.orig" >"$i"
done

%install
mkdir -p "%{buildroot}%{_localstatedir}/log/nullmailer"
make DESTDIR="%{buildroot}" install-strip
install -D scripts/nullmailer.run "%{buildroot}%{_libexecdir}/nullmailer/service/run"
install -D scripts/nullmailer-log.run "%{buildroot}%{_libexecdir}/nullmailer/service/log/run"
mkdir -p "%{buildroot}/usr/lib"
ln -s ../sbin/sendmail "%{buildroot}/usr/lib/"
install -D -m 0755 "%{S:1}" "%{buildroot}%{_initrddir}/nullmailer"
install -D -m 0644 "%{S:3}" "%{buildroot}%{_sysconfdir}/permissions.d/%{name}"
install -D -m 0644 "%{S:4}" "%{buildroot}%{_sysconfdir}/permissions.d/%{name}.paranoid"
install -D -m 0644 "%{S:7}" "%{buildroot}%{_sysconfdir}/permissions.d/%{name}.secure"
install -D -m 0644 "%{S:6}" "%{buildroot}%{_mandir}/man1"

%clean
[ "%{buildroot}" = "/" ] || rm -rf "%{buildroot}"

%pre
getent group mail >/dev/null || groupadd -r mail
getent passwd mail >/dev/null || useradd -r -g mail -d "%{_libexecdir}/nullmailer/service" -s /sbin/nologin -c "User for nullmailer" mail
exit 0

%post
if ! [ -s "%{_sysconfdir}/nullmailer/me" ]; then
	/bin/hostname --fqdn >"%{_sysconfdir}/nullmailer/me"
fi
if ! [ -s "%{_sysconfdir}/nullmailer/defaultdomain" ]; then
	/bin/hostname --domain >"%{_sysconfdir}/nullmailer/defaultdomain"
fi
%if 0%{?set_permissions:1} > 0
    %set_permissions nullmailer
%else
    %run_permissions
%endif

%if 0%{?suse_version} >= 1120
%verifyscript
%verify_permissions -e %{_sbindir}/nullmailer-queue
%verify_permissions -e %{_bindir}/mailq
%endif

%preun
%stop_on_removal nullmailer

%postun
%restart_on_update nullmailer
%insserv_cleanup

%files
%defattr(-,root,root,-)
%doc AUTHORS BUGS COPYING INSTALL NEWS README README.SUSE TODO YEAR2000
%{_initrddir}/nullmailer
%config(noreplace) %{_sysconfdir}/nullmailer/
%config(noreplace) %{_sysconfdir}/permissions.d/%{name}
%config(noreplace) %{_sysconfdir}/permissions.d/%{name}.paranoid
%verify(not user group mode) %attr(04711,mail,mail) %{_bindir}/mailq
%{_bindir}/nullmailer-inject
/usr/lib/sendmail
%{_libexecdir}/nullmailer/
%{_mandir}/man1/*
%{_mandir}/man7/*
%{_mandir}/man8/*
%verify(not user group mode) %attr(04711,mail,mail) %{_sbindir}/nullmailer-queue
%{_sbindir}/nullmailer-send
%{_sbindir}/sendmail
%attr(-,mail,mail) %{_localstatedir}/log/nullmailer/
%attr(-,mail,mail) %{_localstatedir}/spool/nullmailer/

%changelog
openSUSE Build Service is sponsored by