#! @SHELL@ set -evx apache_cgibindir=@libexecdir@/cgi-bin mkdir -p debian/tmp/etc/pam.d cp libs/imap/imapd.pam debian/tmp/etc/pam.d/imap cp libs/imap/pop3d.pam debian/tmp/etc/pam.d/pop3 cp courier/module.esmtp/esmtp.authpam debian/tmp/etc/pam.d/esmtp cp libs/sqwebmail/webmail.authpam debian/tmp/etc/pam.d/webmail cp libs/sqwebmail/webmail.authpam debian/tmp/etc/pam.d/calendar cat >README.Debian <filelist.man # # We're going to create some more config files later, so let's just make # sure they're processed as all other Courier config files # echo '/etc/profile.d/courier.sh 755 bin bin config' >>permissions.dat echo '/etc/profile.d/courier.csh 755 bin bin config' >>permissions.dat echo '@datadir@/courier.sysvinit 755 bin bin' >>permissions.dat # # Translate permissions.dat to spec file format # @PERL@ -e ' $buildroot="debian/tmp"; $prefix="@prefix@"; $exec_prefix="@exec_prefix@"; while (<>) { chop if /\n$/; my ($file,$mode,$uid,$gid,$special)=split(/ +/); $file=$prefix if $file eq "$prefix/."; next if $special eq "doc"; next if $file eq "$prefix/doc"; # Ignore dir/. entries next if $file =~ /\/\.$/; # Ignore man directories next if $file eq "@mandir@"; next if substr($file, 0, length("@mandir@")) eq "@mandir@" && substr($file, length("@mandir@")) =~ /^\/man[1-9]$/; $special="dir" if ! -l "$buildroot/$file" && -d "$buildroot/$file"; my $islink = -l "$buildroot/$file"; $special //= "file"; if ($islink) { $special="link"; $mode=$uid=$gid="-"; } print "$file $mode $uid $gid $special\n"; } ' filelist1 || exit 1 ############################################################################ # # Break up a single filelist into multiple packages right here. This is # going to be ugly. # sed -n '/imap[\.a-z0-9]* /p;/imapd-ssl/p' filelist.imap sed -n '/pop3[\.a-z0-9]* /p;/pop3d-ssl/p' filelist.pop3 sed -n '/couriermlm/p' filelist.mlm sed -n '/webmlmd/p' filelist.webmlm sed -n '/maildrop[^/]* /p;/mailbot/p;/reformail[^/]* /p' filelist.maildrop sed -n '/15ldap/p;/ldapsearch/p;/courierldapalias/p' filelist.ldap sed -n '/15mysql/p' filelist.mysql sed -n '/15pgsql/p' filelist.pgsql sed -n '/faxmail/p;/35fax/p;/34fax/p' filelist.fax # Delete all of the above, AND ldapaddressbook+webmail from the filelist. # Do not install esmtp.authpam, taken care of elsewhere. # Do not install htmldoc, taken care of elsewhere sed '/imap[\.a-z0-9]* /d;/imapd-ssl/d;/pop3[\.a-z0-9]* /d;/pop3d-ssl/d;/couriermlm/d;/webmail/d;/webmlm/d;/authsystem\.passwd/d;/ldapsearch/d;/ldapaddressbook.dist /d;/pcpd/d;/calendar/d;/maildrop[^/]* /d;/mailbot/d;/reformail[^/]* /d;/15ldap/d;/47webmail/d;/sqwebpasswd/d;/courierldapalias/d;/15mysql/d;/15pgsql/d;/faxmail/d;/35fax/d;/34fax/d;/esmtp\.authpam/d;/htmldoc/d' filelist sed -n '/47webmail/p;/sqwebmail/p;/sqwebpasswd/p;/authsystem\.passwd/p;/webmail-logincache/p;/ldapaddressbook.dist /p;/pcpd/p;/calendar/p' filelist.webmail echo "@sbindir@/webmaild 755 root bin file" >>filelist.webmail # Note that we delete all 'webmail's, but extract only 'sqwebmail's. # This removes all webmail-related stuff from the main filelist, # and adds everything except the executable, webmail, to filelist.webmail. # Here's why, we move the webmail binary directly into the cgibindir. echo "$apache_cgibindir 755 bin bin dir" >>filelist mkdir -p debian/tmp$apache_cgibindir cp debian/tmp@libexecdir@/courier/webmail/webmail \ debian/tmp$apache_cgibindir/webmail cp debian/tmp@libexecdir@/courier/webmail/webadmin \ debian/tmp$apache_cgibindir/webadmin cp debian/tmp@libexecdir@/courier/webmail/webmlm \ debian/tmp$apache_cgibindir/webmlm rm -rf debian/tmp@libexecdir@/courier/webmail echo "systemctl try-restart courier.service &" >debian/tmp@sysconfdir@/webadmin/restartcmd echo "systemctl restart libcourier-auth.service" >debian/tmp@sysconfdir@/webadmin/restartauthcmd # Remove the webadmin wrapper from filelist (but keep all html and pl files # there. sed '/courier\/webmail\/webadmin /d' filelist.tmp mv filelist.tmp filelist # Do we need to install a cron job to clean out webmail's cache? if test -f libs/sqwebmail/cron.cmd then rm -f debian/courier-webmail.cron.hourly cat >debian/courier-webmail.cron.hourly <debian/tmp@sysconfdir@/pop3d.new mv debian/tmp@sysconfdir@/pop3d.new debian/tmp@sysconfdir@/pop3d.dist sed 's/^POP3DSSLSTART.*/POP3DSSLSTART=YES/' debian/tmp@sysconfdir@/pop3d-ssl.new mv debian/tmp@sysconfdir@/pop3d-ssl.new debian/tmp@sysconfdir@/pop3d-ssl.dist sed 's/^IMAPDSTART.*/IMAPDSTART=YES/' debian/tmp@sysconfdir@/imapd.new mv debian/tmp@sysconfdir@/imapd.new debian/tmp@sysconfdir@/imapd.dist sed 's/^IMAPDSSLSTART.*/IMAPDSSLSTART=YES/' debian/tmp@sysconfdir@/imapd.new-ssl mv debian/tmp@sysconfdir@/imapd.new-ssl debian/tmp@sysconfdir@/imapd-ssl.dist # Convenient init file. cp courier.sysvinit debian/tmp@datadir@/courier.sysvinit @PERL@ -p -i -e 's@^webadmin=.*@webadmin="'$apache_cgibindir/webadmin'"@' \ debian/tmp@datadir@/courier.sysvinit sed '/mail-transfer-agent.target/d' debian/courier.service # Create an initial default DH paramter file, and install a # monthly script to generate DH parameters cat >debian/tmp@datadir@/dhparams.pem.dist <libs/imap/mkdhparams.tmp TLS_DHPARAMS=debian/tmp@datadir@/dhparams.pem.dist.tmp @SHELL@ libs/imap/mkdhparams.tmp rm -f libs/imap/mkdhparams.tmp cat debian/tmp@datadir@/dhparams.pem.dist.tmp >>debian/tmp@datadir@/dhparams.pem.dist rm -f debian/tmp@datadir@/dhparams.pem.dist.tmp courier/courier-config | grep '^mail' >uidgid . ./uidgid rm -f uidgid echo "@datadir@/dhparams.pem.dist 600 $mailuser $mailgroup file" >>filelist rm -f debian/courier.cron.monthly cat >debian/courier.cron.monthly <debian/tmp/etc/profile.d/courier.sh <debian/tmp/etc/profile.d/courier.csh <>filelist echo "AUTHORS 444 bin bin doc" >>filelist echo "COPYING 444 bin bin doc" >>filelist echo 'htmldoc/* 444 bin bin doc' >>filelist echo '@datadir@/sysconftool 555 bin bin' >>filelist echo '@datadir@/configlist 444 bin bin' >>filelist echo '/etc/skel/Maildir - root root' >>filelist echo '/etc/profile.d/courier.sh 644 root root' >>filelist echo '/etc/profile.d/courier.csh 644 root root' >>filelist echo '/etc/pam.d/pop3 644 root root' >>filelist.pop3 echo '@datadir@/configlist.pop3 444 bin bin' >>filelist.pop3 echo '/etc/pam.d/imap 644 root root' >>filelist.imap echo '@datadir@/configlist.imap 444 bin bin' >>filelist.imap cat >README.new_fax <>filelist.fax ##################### ## ## sysconftool support. Instead of doing make install-configure, grab all ## the config .dists from the filelists, and arrange to run sysconftool in ## the postinstallation scripts. This is done by saving the .dists into ## a file that's included in the installation package. sysconftool is also ## added to the installation package, and we run the whole thing from ## post for f in filelist filelist.pop3 filelist.imap filelist.webmail do ff=`echo $f | sed 's/filelist/configlist/'` /usr/bin/perl -e ' while (<>) { chop; next unless /(.*\.dist) .*config$/; print "$1\n"; } ' < $f >debian/tmp@datadir@/$ff done cp sysconftool debian/tmp@datadir@/sysconftool mkdir -p debian/tmp/etc/apache2/conf-available cat >debian/tmp/etc/apache2/conf-available/courier-webmail.conf < Define ENABLE_COURIER_WEBMAIL Define ENABLE_COURIER_WEBMAIL Alias /webmail $apache_cgibindir/webmail Alias $imageurl @datadir@/sqwebmail/images SetHandler cgi-script Options +ExecCGI Require all granted Require all granted EOF dh_install --package courier-webmail-apache2 debian/tmp/etc/apache2/conf-available/courier-webmail.conf cat >README.Debian <>filelist.webmail $apache_cgibindir/webmail 555 bin bin file /etc/pam.d/webmail 644 root root config /etc/pam.d/calendar 644 root root config @datadir@/configlist.webmail 444 bin bin file ZZ cat >debian/tmp/etc/apache2/conf-available/courier-mlm-web.conf < Define ENABLE_COURIER_WEBMLM Define ENABLE_COURIER_WEBMLM Alias /webmlm $apache_cgibindir/webmlm SetHandler cgi-script Options +ExecCGI Require all granted EOF dh_install --package courier-mlm-web-apache2 debian/tmp/etc/apache2/conf-available/courier-mlm-web.conf cat >README.Debian <>filelist.webmlm <debian/tmp/etc/apache2/conf-available/courier-webadmin.conf < Define ENABLE_COURIER_WEBADMIN Define ENABLE_COURIER_WEBADMIN Alias /webadmin $apache_cgibindir/webadmin SetHandler cgi-script Options +ExecCGI Require all granted EOF dh_install --package courier-webadmin-apache2 debian/tmp/etc/apache2/conf-available/courier-webadmin.conf echo "$apache_cgibindir/webadmin 511 root bin file" >filelist.webadmin cat >README.Debian <debian/courier.triggers echo "interest-noawait courier-start" >>debian/courier.triggers cat >debian/courier.postinst <debian/courier.prerm <debian/courier.postrm <debian/courier-imapd.prerm <debian/courier-imapd.postrm <debian/courier-imapd.postinst <debian/courier-pop3d.prerm <debian/courier-pop3d.postrm <debian/courier-pop3d.postinst <debian/courier-webmail.prerm <debian/courier-webmail-apache2.prerm <debian/courier-webmail.postrm <debian/courier-webmail.postinst <debian/courier-mlm-web.prerm <debian/courier-mlm-web-apache2.prerm <debian/courier-mlm-web.postrm <debian/courier-mlm-web.postinst <debian/courier-webadmin.prerm <debian/courier-webadmin-apache2.prerm <debian/courier-webadmin.postrm <debian/courier-webadmin.postinst </dev/null | tr -d -c '[A-Za-z0-9]' 2>/dev/null | dd bs=16 count=1 2>/dev/null >@sysconfdir@/webadmin/password.tmp echo >>@sysconfdir@/webadmin/password.tmp mv @sysconfdir@/webadmin/password.tmp @sysconfdir@/webadmin/password chmod 400 @sysconfdir@/webadmin/password chown --reference=@sysconfdir@/webadmin @sysconfdir@/webadmin/password fi dpkg-trigger courier-restart fi #DEBHELPER# EOF debian/mkinstall.pl courier install.sh @SHELL@ install.sh debian/mkinstall.pl courier-pop3d install.sh @SHELL@ install.sh debian/mkinstall.pl courier-imapd install.sh @SHELL@ install.sh debian/mkinstall.pl courier-webmail install.sh @SHELL@ install.sh debian/mkinstall.pl courier-mlm-web install.sh @SHELL@ install.sh debian/mkinstall.pl courier-webadmin install.sh @SHELL@ install.sh debian/mkinstall.pl courier-maildrop install.sh @SHELL@ install.sh debian/mkinstall.pl courier-mlm install.sh @SHELL@ install.sh debian/mkinstall.pl courier-ldap install.sh @SHELL@ install.sh debian/mkinstall.pl courier-mysql install.sh @SHELL@ install.sh debian/mkinstall.pl courier-pgsql install.sh @SHELL@ install.sh debian/mkinstall.pl courier-fax install.sh @SHELL@ install.sh rm -f debian/tmp/etc/courier/*.authpam