Am 06.04.2013 19:53, schrieb [email protected]: > make upgrade > ... > make: Nothing to be done for `update'. > /bin/sh postfix-install -non-interactive > postfix-install: Error: "postdrop" needs an entry in the group > file. > Remember, "postdrop" needs a dedicated group id. > make: *** [upgrade] Error 1 > > > Since the distro already installed its version of postfix -- both > version and config are not what I want/need, so that's why I'm building > my own -- there exist users/groups for postfix
and why do you not build a package based on your distros one?
you can be pretty sure that Fedora 17 does not have Postfix 2.10
nor have pflogsumm in the same packages nor avoid "alternatives"
or build with mysql and without postgresql-deps
[builduser@buildserver:~]$ cat /rpmbuild/SPECS/postfix.spec
%define postfix_uid 89
%define postfix_user postfix
%define postfix_gid 89
%define postfix_group postfix
%define maildrop_group postdrop
%define maildrop_gid 90
%define postfix_config_dir %{_sysconfdir}/postfix
%define postfix_daemon_dir %{_libexecdir}/postfix
%define postfix_command_dir %{_sbindir}
%define postfix_queue_dir %{_var}/spool/postfix
%define postfix_data_dir %{_var}/lib/postfix
%define postfix_doc_dir %{_docdir}/%{name}-%{version}
%define postfix_sample_dir %{postfix_doc_dir}/samples
%define postfix_readme_dir %{postfix_doc_dir}/README_FILES
%define pflogsumm_ver 1.1.5
Name: postfix
Summary: Postfix Mail Transport Agent
Version: 2.10.0
Release: 17%{?dist}
Epoch: 2
Group: System Environment/Daemons
URL: http://www.postfix.org
License: IBM
Requires: shadow-utils, systemd-units
Requires(post): shadow-utils, systemd-units
Requires(pre): shadow-utils, systemd-units
Requires(preun): shadow-utils, systemd-units
Requires(postun): shadow-utils, systemd-units
Provides: MTA smtpd smtpdaemon server(smtp)
Source0:
ftp://ftp.porcupine.org/mirrors/postfix-release/official/%{name}-%{version}.tar.gz
Source53:
http://jimsun.linxnet.com/downloads/pflogsumm-%{pflogsumm_ver}.tar.gz
Source101: postfix-pam.conf
Source500: postfix.service
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u}
-n)
BuildRequires: db4-devel, pkgconfig, zlib-devel, mysql-devel,
cyrus-sasl-devel, pcre-devel, openssl-devel,
systemd-units
Obsoletes: postfix-perl-scripts
Provides: postfix-perl-scripts
Provides: postfix-pflogsumm = %{epoch}:%{version}-%{release}
%description
Postfix is a Mail Transport Agent, supporting SMTP AUTH and TLS
%package manpages
Summary: Postfix manuals
Group: Applications/System
%description manpages
%prep
%setup -q -n %{name}-%{version}
gzip -dc %{SOURCE53} | tar xf -
pushd pflogsumm-%{pflogsumm_ver}
popd
for f in README_FILES/TLS_{LEGACY_,}README TLS_ACKNOWLEDGEMENTS; do
iconv -f iso8859-1 -t utf8 -o ${f}{_,} &&
touch -r ${f}{,_} && mv -f ${f}{_,}
done
%build
CCARGS=-fPIC
AUXLIBS=
CCARGS="${CCARGS} -DHAS_PCRE -I%{_includedir}/pcre"
AUXLIBS="${AUXLIBS} -lpcre"
CCARGS="${CCARGS} -DHAS_MYSQL -I%{_includedir}/mysql"
AUXLIBS="${AUXLIBS} -L%{_libdir}/mysql -lmysqlclient -lm"
CCARGS="${CCARGS} -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I%{_includedir}/sasl"
AUXLIBS="${AUXLIBS} -L%{_libdir}/sasl2 -lsasl2"
CCARGS="${CCARGS} -DUSE_TLS -I/usr/include/openssl"
AUXLIBS="${AUXLIBS} -lssl -lcrypto"
CCARGS="${CCARGS} -DDEF_CONFIG_DIR=\\\"%{postfix_config_dir}\\\""
CCARGS="${CCARGS} $(getconf LFS_CFLAGS)"
AUXLIBS="${AUXLIBS} -pie -Wl,-z,relro"
%{__make} %{?_smp_mflags} -f Makefile.init makefiles CCARGS="${CCARGS}"
AUXLIBS="${AUXLIBS}" DEBUG=""
OPT="$RPM_OPT_FLAGS -Wno-comment"
%{__make} %{?_smp_mflags} CCARGS="${CCARGS}" AUXLIBS="${AUXLIBS}" DEBUG=""
OPT="$RPM_OPT_FLAGS -Wno-comment"
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT
sh postfix-install -non-interactive install_root=$RPM_BUILD_ROOT
config_directory=%{postfix_config_dir}
daemon_directory=%{postfix_daemon_dir} command_directory=%{postfix_command_dir}
queue_directory=%{postfix_queue_dir} data_directory=%{postfix_data_dir}
sendmail_path=%{postfix_command_dir}/sendmail
newaliases_path=%{_bindir}/newaliases mailq_path=%{_bindir}/mailq
mail_owner=%{postfix_user} setgid_group=%{maildrop_group}
manpage_directory=%{_mandir}
sample_directory=%{postfix_sample_dir} readme_directory=%{postfix_readme_dir}
|| exit 1
install -c auxiliary/rmail/rmail $RPM_BUILD_ROOT%{_bindir}/rmail
for i in active bounce corrupt defer deferred flush incoming private saved
maildrop public pid saved trace; do
mkdir -p $RPM_BUILD_ROOT%{postfix_queue_dir}/$i
done
cat $RPM_BUILD_ROOT%{postfix_daemon_dir}/postfix-files
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/pam.d
install -m 644 %{SOURCE101} $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/smtp.postfix
mkdir -p $RPM_BUILD_ROOT%{postfix_doc_dir}
mkdir -p $RPM_BUILD_ROOT%{postfix_doc_dir}/examples{,/chroot-setup}
cp -pr examples/{qmail-local,smtpd-policy}
$RPM_BUILD_ROOT%{postfix_doc_dir}/examples
cp -p examples/chroot-setup/LINUX2
$RPM_BUILD_ROOT%{postfix_doc_dir}/examples/chroot-setup
mv $RPM_BUILD_ROOT/etc/postfix/bounce.cf.default
$RPM_BUILD_ROOT%{postfix_doc_dir}
mv $RPM_BUILD_ROOT/etc/postfix/main.cf.default $RPM_BUILD_ROOT%{postfix_doc_dir}
mv $RPM_BUILD_ROOT/etc/postfix/makedefs.out $RPM_BUILD_ROOT%{postfix_doc_dir}
rm -f $RPM_BUILD_ROOT%{postfix_config_dir}/{TLS_,}LICENSE
find $RPM_BUILD_ROOT%{postfix_doc_dir} -type f | xargs chmod 644
find $RPM_BUILD_ROOT%{postfix_doc_dir} -type d | xargs chmod 755
install -c -m 644 pflogsumm-%{pflogsumm_ver}/pflogsumm-faq.txt
$RPM_BUILD_ROOT%{postfix_doc_dir}/pflogsumm-faq.txt
install -c -m 644 pflogsumm-%{pflogsumm_ver}/pflogsumm.1
$RPM_BUILD_ROOT%{_mandir}/man1/pflogsumm.1
install -c pflogsumm-%{pflogsumm_ver}/pflogsumm.pl
$RPM_BUILD_ROOT%{postfix_command_dir}/pflogsumm
mantools/srctoman - auxiliary/qshape/qshape.pl > qshape.1
install -c qshape.1 $RPM_BUILD_ROOT%{_mandir}/man1/qshape.1
install -c auxiliary/qshape/qshape.pl
$RPM_BUILD_ROOT%{postfix_command_dir}/qshape
mkdir -p $RPM_BUILD_ROOT/%{_unitdir}/
install -m 0644 %{SOURCE500} $RPM_BUILD_ROOT/%{_unitdir}/
rm -f $RPM_BUILD_ROOT%{postfix_config_dir}/aliases
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/postfix/main.cf
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/postfix/master.cf
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/smtp
%post
/usr/bin/systemctl --system daemon-reload 2> /dev/null > /dev/null
%{_sbindir}/postfix set-permissions upgrade-configuration
daemon_directory=%{postfix_daemon_dir}
command_directory=%{postfix_command_dir} mail_owner=%{postfix_user}
setgid_group=%{maildrop_group}
manpage_directory=%{_mandir} sample_directory=%{postfix_sample_dir}
readme_directory=%{postfix_readme_dir} &> /dev/null
%{_bindir}/unlink /etc/alternatives/mta 2> /dev/null
%{_bindir}/unlink /etc/alternatives/mta-aliasesman 2> /dev/null
%{_bindir}/unlink /etc/alternatives/mta-mailq 2> /dev/null
%{_bindir}/unlink /etc/alternatives/mta-mailqman 2> /dev/null
%{_bindir}/unlink /etc/alternatives/mta-newaliases 2> /dev/null
%{_bindir}/unlink /etc/alternatives/mta-newaliasesman 2> /dev/null
%{_bindir}/unlink /etc/alternatives/mta-pam 2> /dev/null
%{_bindir}/unlink /etc/alternatives/mta-rmail 2> /dev/null
%{_bindir}/unlink /etc/alternatives/mta-sendmail 2> /dev/null
%{_bindir}/unlink /etc/alternatives/mta-sendmailman 2> /dev/null
exit 0
%pre
%{_sbindir}/groupadd -g %{maildrop_gid} -r %{maildrop_group} 2> /dev/null
%{_sbindir}/groupadd -g %{postfix_gid} -r %{postfix_group} 2> /dev/null
%{_sbindir}/groupadd -g 12 -r mail 2> /dev/null
%{_sbindir}/useradd -d %{postfix_queue_dir} -s /sbin/nologin -g
%{postfix_group} -G mail -M -r -u %{postfix_uid}
%{postfix_user} 2> /dev/null
exit 0
%preun
if [ "$1" == 0 ]; then
/usr/bin/systemctl --no-reload disable postfix.service 2> /dev/null > /dev/null
/usr/bin/systemctl stop postfix.service 2> /dev/null > /dev/null
fi
exit 0
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-, root, root)
%attr(0644, root, root) %{_unitdir}/postfix.service
%dir %attr(0755, root, root) %{postfix_config_dir}
%dir %attr(0755, root, root) %{postfix_daemon_dir}
%dir %attr(0755, root, root) %{postfix_queue_dir}
%dir %attr(0755, root, root) %{postfix_queue_dir}/pid
%dir %attr(0700, %{postfix_user}, root) %{postfix_data_dir}
%dir %attr(0700, %{postfix_user}, root) %{postfix_queue_dir}/active
%dir %attr(0700, %{postfix_user}, root) %{postfix_queue_dir}/bounce
%dir %attr(0700, %{postfix_user}, root) %{postfix_queue_dir}/corrupt
%dir %attr(0700, %{postfix_user}, root) %{postfix_queue_dir}/defer
%dir %attr(0700, %{postfix_user}, root) %{postfix_queue_dir}/deferred
%dir %attr(0700, %{postfix_user}, root) %{postfix_queue_dir}/flush
%dir %attr(0700, %{postfix_user}, root) %{postfix_queue_dir}/hold
%dir %attr(0700, %{postfix_user}, root) %{postfix_queue_dir}/incoming
%dir %attr(0700, %{postfix_user}, root) %{postfix_queue_dir}/saved
%dir %attr(0700, %{postfix_user}, root) %{postfix_queue_dir}/trace
%dir %attr(0730, %{postfix_user}, %{maildrop_group})
%{postfix_queue_dir}/maildrop
%dir %attr(0710, %{postfix_user}, %{maildrop_group}) %{postfix_queue_dir}/public
%dir %attr(0700, %{postfix_user}, root) %{postfix_queue_dir}/private
%attr(2755, root, %{maildrop_group}) %{postfix_command_dir}/postdrop
%attr(2755, root, %{maildrop_group}) %{postfix_command_dir}/postqueue
%attr(0755, root, root) %{postfix_command_dir}/sendmail
%attr(0755, root, root) %{postfix_command_dir}/postalias
%attr(0755, root, root) %{postfix_command_dir}/postcat
%attr(0755, root, root) %{postfix_command_dir}/postconf
%attr(0755, root, root) %{postfix_command_dir}/postfix
%attr(0755, root, root) %{postfix_command_dir}/postkick
%attr(0755, root, root) %{postfix_command_dir}/postlock
%attr(0755, root, root) %{postfix_command_dir}/postlog
%attr(0755, root, root) %{postfix_command_dir}/postmap
%attr(0755, root, root) %{postfix_command_dir}/postmulti
%attr(0755, root, root) %{postfix_command_dir}/postsuper
%attr(0755, root, root) %{postfix_command_dir}/qshape
%attr(0755, root, root) %{postfix_command_dir}/pflogsumm
%attr(0644, root, root) %config(noreplace) %{postfix_config_dir}/access
%attr(0644, root, root) %config(noreplace) %{postfix_config_dir}/canonical
%attr(0644, root, root) %config(noreplace) %{postfix_config_dir}/generic
%attr(0644, root, root) %config(noreplace) %{postfix_config_dir}/header_checks
%attr(0644, root, root) %config(noreplace) %{postfix_config_dir}/relocated
%attr(0644, root, root) %config(noreplace) %{postfix_config_dir}/transport
%attr(0644, root, root) %config(noreplace) %{postfix_config_dir}/virtual
%attr(0755, root, root) %{postfix_daemon_dir}/[^mp]*
%attr(0644, root, root) %{postfix_daemon_dir}/main.cf
%attr(0644, root, root) %{postfix_daemon_dir}/master.cf
%attr(0755, root, root) %{postfix_daemon_dir}/master
%attr(0755, root, root) %{postfix_daemon_dir}/pickup
%attr(0755, root, root) %{postfix_daemon_dir}/pipe
%attr(0755, root, root) %{postfix_daemon_dir}/post-install
%attr(0644, root, root) %{postfix_daemon_dir}/postfix-files
%attr(0755, root, root) %{postfix_daemon_dir}/postfix-script
%attr(0755, root, root) %{postfix_daemon_dir}/postfix-wrapper
%attr(0755, root, root) %{postfix_daemon_dir}/postmulti-script
%attr(0755, root, root) %{postfix_daemon_dir}/postscreen
%attr(0755, root, root) %{postfix_daemon_dir}/proxymap
%attr(0755, root, root) %{_bindir}/mailq
%attr(0755, root, root) %{_bindir}/newaliases
%attr(0755, root, root) %{_bindir}/rmail
%config(noreplace) %{_sysconfdir}/pam.d/smtp.postfix
%files manpages
%defattr(-, root, root)
%{postfix_doc_dir}
%attr(0644, root, root) %{_mandir}/man1/*
%attr(0644, root, root) %{_mandir}/man5/*
%attr(0644, root, root) %{_mandir}/man8/*
%changelog
* Fri Feb 1 2013 Reindl Harald <[email protected]>
- remove all the "alternatives" crap - we only use postfix
* Mon Jan 28 2013 Reindl Harald <[email protected]>
- remove distribution configs from package
* Thu Jan 24 2013 Reindl Harald <[email protected]>
- combine postfix and pflogsum in one package
- split out all manpages in a sub-package
signature.asc
Description: OpenPGP digital signature
