2 # - should mailq and newalises be in bindir?
5 %bcond_without pam # build without PAM support
7 Summary: Free implementation of the server-side SMTP protocol as defined by RFC 5321
13 Source0: https://www.opensmtpd.org/archives/%{name}-%{version}.tar.gz
14 # Source0-md5: c76b39a5fcc0ad05eea541e74b16e62a
15 Source1: %{name}.service
19 URL: http://www.opensmtpd.org/
20 BuildRequires: autoconf
21 BuildRequires: automake
23 BuildRequires: db-devel
24 BuildRequires: libevent-devel
25 BuildRequires: openssl-devel
26 %{?with_pam:BuildRequires: pam-devel}
27 BuildRequires: rpmbuild(macros) >= 1.228
28 BuildRequires: zlib-devel
29 Requires(post,preun): /sbin/chkconfig
30 Requires(postun): /usr/sbin/groupdel
31 Requires(postun): /usr/sbin/userdel
32 Requires(pre): /bin/id
33 Requires(pre): /usr/bin/getgid
34 Requires(pre): /usr/sbin/groupadd
35 Requires(pre): /usr/sbin/useradd
37 Provides: group(smtpd)
38 Provides: group(smtpq)
43 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
45 %define _privsepdir /usr/share/empty
46 %define _spooldir /var/spool/smtpd
49 OpenSMTPD is a FREE implementation of the server-side SMTP protocol as
50 defined by RFC 5321, with some additional standard extensions. It
51 allows ordinary machines to exchange e-mails with other systems
52 speaking the SMTP protocol.
54 Started out of dissatisfaction with other implementations, OpenSMTPD
55 nowadays is a fairly complete SMTP implementation. OpenSMTPD is
56 primarily developed by Gilles Chehade, Eric Faurot and Charles
57 Longeau; with contributions from various OpenBSD hackers. OpenSMTPD is
58 part of the OpenBSD Project. The software is freely usable and
59 re-usable by everyone under an ISC license.
70 --sysconfdir=%{_sysconfdir}/mail \
71 --libexecdir=%{_libdir}/%{name} \
73 %{?with_pam:--with-pam} \
74 --with-privsep-user=smtpd \
75 --with-queue-user=smtpq \
76 --with-privsep-path=%{_privsepdir} \
77 --with-sock-dir=%{_localstatedir}/run
82 rm -rf $RPM_BUILD_ROOT
84 DESTDIR=$RPM_BUILD_ROOT
86 install -d $RPM_BUILD_ROOT{%{systemdunitdir},/etc/{rc.d/init.d,pam.d}}
87 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{systemdunitdir}/opensmtpd.service
88 install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/opensmtpd
89 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/mail
91 cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/pam.d/smtp
93 touch $RPM_BUILD_ROOT%{_sysconfdir}/mail/aliases.db
95 # /usr/sbin/sendmail compatibility is not required /usr/lib/sendmail is
96 install -d $RPM_BUILD_ROOT%{_prefix}/lib
97 mv $RPM_BUILD_ROOT{%{_bindir},%{_prefix}/lib}/sendmail
100 install -d $RPM_BUILD_ROOT%{_spooldir}/{queue,corrupt,incoming,offline,purge,temporary}
103 rm -rf $RPM_BUILD_ROOT
106 %groupadd -g 297 smtpd
107 %groupadd -g 298 smtpq
108 %useradd -u 297 -g smtpd -s /sbin/nologin -c "OpenSMTPd privsep user" -d %{_privsepdir} smtpd
109 %useradd -u 298 -g smtpq -s /sbin/nologin -c "OpenSMTPd queue user" -d %{_privsepdir} smtpq
112 /sbin/chkconfig --add %{name}
113 %service %{name} restart
114 %systemd_post %{name}.service
118 %service %{name} stop
119 /sbin/chkconfig --del %{name}
121 %systemd_preun %{name}.service
124 if [ "$1" = "0" ]; then
133 %defattr(644,root,root,755)
134 %doc LICENSE README.md THANKS
135 %dir %{_sysconfdir}/mail
136 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/smtpd.conf
137 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/aliases
138 %ghost %{_sysconfdir}/mail/aliases.db
140 %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/smtp
142 %attr(754,root,root) /etc/rc.d/init.d/opensmtpd
143 %{systemdunitdir}/%{name}.service
144 %attr(755,root,root) %{_sbindir}/mailq
145 %attr(755,root,root) %{_sbindir}/makemap
146 %attr(755,root,root) %{_sbindir}/newaliases
147 %attr(755,root,root) %{_sbindir}/smtpctl
148 %attr(755,root,root) %{_sbindir}/smtpd
149 %attr(755,root,root) %{_prefix}/lib/sendmail
150 %{_mandir}/man5/aliases.5*
151 %{_mandir}/man5/forward.5*
152 %{_mandir}/man5/smtpd.conf.5*
153 %{_mandir}/man5/table.5*
154 %{_mandir}/man8/makemap.8*
155 %{_mandir}/man8/newaliases.8*
156 %{_mandir}/man8/sendmail.8*
157 %{_mandir}/man8/smtpctl.8*
158 %{_mandir}/man8/smtpd.8*
159 %dir %{_libdir}/%{name}
160 %dir %{_libdir}/%{name}/opensmtpd
161 %attr(755,root,root) %{_libdir}/%{name}/opensmtpd/encrypt
162 %attr(755,root,root) %{_libdir}/%{name}/opensmtpd/filter-dnsbl
163 %attr(755,root,root) %{_libdir}/%{name}/opensmtpd/filter-monkey
164 %attr(755,root,root) %{_libdir}/%{name}/opensmtpd/filter-stub
165 %attr(755,root,root) %{_libdir}/%{name}/opensmtpd/filter-trace
166 %attr(755,root,root) %{_libdir}/%{name}/opensmtpd/mail.local
167 %attr(755,root,root) %{_libdir}/%{name}/opensmtpd/queue-null
168 %attr(755,root,root) %{_libdir}/%{name}/opensmtpd/queue-ram
169 %attr(755,root,root) %{_libdir}/%{name}/opensmtpd/queue-stub
170 %attr(755,root,root) %{_libdir}/%{name}/opensmtpd/scheduler-ram
171 %attr(755,root,root) %{_libdir}/%{name}/opensmtpd/scheduler-stub
172 %attr(755,root,root) %{_libdir}/%{name}/opensmtpd/table-passwd
173 %attr(755,root,root) %{_libdir}/%{name}/opensmtpd/table-stub
175 %dir %attr(711,root,root) %{_spooldir}
176 %dir %attr(1777,root,root) %{_spooldir}/offline
177 %dir %attr(700,smtpq,root) %{_spooldir}/corrupt
178 %dir %attr(700,smtpq,root) %{_spooldir}/incoming
179 %dir %attr(700,smtpq,root) %{_spooldir}/purge
180 %dir %attr(700,smtpq,root) %{_spooldir}/queue
181 %dir %attr(700,smtpq,root) %{_spooldir}/temporary