ports/93269: [maintainer update] courier/pkg-plist fixup for pkg_create directroy permissions bugs.
Yarema
yds at CoolRat.org
Mon Feb 13 08:10:09 UTC 2006
>Number: 93269
>Category: ports
>Synopsis: [maintainer update] courier/pkg-plist fixup for pkg_create directroy permissions bugs.
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: maintainer-update
>Submitter-Id: current-users
>Arrival-Date: Mon Feb 13 08:10:07 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator: Yarema
>Release: FreeBSD 6.1-PRERELEASE i386
>Organization:
>Environment:
System: FreeBSD 6.1-PRERELEASE i386
>Description:
pkg_create does not seem to restore empty directories even when
listed with @dirrm nor can it be relied upon to always restore
correct ownership and permissions. Hence all the
'@exec install -o %%MAILOWN%% -g %%MAILGRP%% -m 0??? -d ' and
'@exec chmod 0??? %D' fixups in courier/pkg-plist.
With the new patch courier installs with identical permissions
via pkg_add or make install.
New file: courier/files/sharedindexupdate.in
and Makefile adjustments to install this new file.
And
@${REINPLACE_CMD} -e 's|^PROG=\./|PROG=exec ./|g' \
${WRKSRC}/courier/module.*/courier.config
to save some RAM instead of having a parent /bin/sh proc for each
configured module hanging around for no apparent good reason.
>How-To-Repeat:
cd /usr/ports/mail/courier && make install package
>Fix:
diff -u -r -N courier/Makefile courier-0.52.2_1/Makefile
--- courier/Makefile Sun Feb 12 04:05:17 2006
+++ courier/Makefile Mon Feb 13 02:25:19 2006
@@ -7,6 +7,7 @@
PORTNAME= courier
PORTVERSION= 0.52.2
+PORTREVISION= 1
CATEGORIES= mail ipv6
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= courier
@@ -59,16 +60,15 @@
MIMETYPES= ${LOCALBASE}/etc/mime.types
WITH_TRANSPORT= local esmtp dsn
+USE_AUTOTOOLS= libtool:15
USE_BZIP2= yes
-USE_SUBMAKE= yes
-USE_PERL5= yes
+USE_FAM= yes
USE_GETTEXT= yes
USE_GMAKE= yes
USE_OPENSSL= yes
+USE_PERL5= yes
USE_REINPLACE= yes
-USE_AUTOTOOLS= libtool:15
-USE_FAM= yes
-WANT_FAM_SYSTEM=fam
+USE_SUBMAKE= yes
.if defined(WITH_RCORDER)
USE_RCORDER= courier.sh
@@ -118,7 +118,7 @@
CACHEOWN="${CACHEOWN}" CACHEDIR="${CACHEDIR}" \
CALENDIR="${CALENDIR}" LOCALSTATEDIR="${LOCALSTATEDIR}"
SUB_LIST:= ${PLIST_SUB}
-SUB_FILES+= pkg-install pkg-message crontab
+SUB_FILES+= pkg-install pkg-message crontab sharedindexupdate
OPTIONS+=LDAP "LDAP-based mail aliasing support"
.if (exists(${LOCALBASE}/lib/libldap.a) && exists(${LOCALBASE}/lib/liblber.a)) || defined(WITH_LDAP)
@@ -272,6 +272,8 @@
@${CP} ${TEMPLATES}/config.guess ${TEMPLATES}/config.sub ${WRKSRC}
post-patch:
+ @${REINPLACE_CMD} -e 's|^PROG=\./|PROG=exec ./|g' \
+ ${WRKSRC}/courier/module.*/courier.config
@${REINPLACE_CMD} -e 's|@datadir@|@sysconfdir@|g' \
${WRKSRC}/*/mk*cert.* \
${WRKSRC}/*/*/mk*cert.*
@@ -321,7 +323,8 @@
post-install:
@${LN} -f ${SYSCONFDIR}/maildrop ${SYSCONFDIR}/maildropfilter
@${INSTALL_DATA} /dev/null ${SYSCONFDIR}/locallowercase
- @${INSTALL_DATA} ${WRKDIR}/crontab ${PREFIX}/etc/courier/
+ @${INSTALL_DATA} ${WRKDIR}/crontab ${SYSCONFDIR}/
+ @${INSTALL_SCRIPT} ${WRKDIR}/sharedindexupdate ${DATADIR}/
.for file in ${OWNER0}
@-${CHOWN} -Rh ${BINOWN}:${BINGRP} ${PREFIX}/${file}
.endfor
diff -u -r -N courier/files/pkg-message.in courier-0.52.2_1/files/pkg-message.in
--- courier/files/pkg-message.in Sat Jul 16 18:52:35 2005
+++ courier/files/pkg-message.in Fri Feb 10 18:35:41 2006
@@ -38,3 +38,11 @@
Documentation (if installed locally) is located in
%%DOCSDIR%%/ otherwise see
http://www.Courier-MTA.org/
+
+ If you are planning to serve shared maildirs, then
+ you should create a cron job that runs at regular
+ intervals (once every few hours is fine) that
+ executes the following script to update the
+ shared folder index:
+
+ %%PREFIX%%/share/courier/sharedindexupdate
diff -u -r -N courier/files/sharedindexupdate.in courier-0.52.2_1/files/sharedindexupdate.in
--- courier/files/sharedindexupdate.in Wed Dec 31 19:00:00 1969
+++ courier/files/sharedindexupdate.in Fri Feb 10 18:08:31 2006
@@ -0,0 +1,26 @@
+#!/bin/sh
+#
+# $NetBSD: sharedindexupdate.sh,v 1.2 2005/02/18 22:12:50 jlam Exp $
+# $FreeBSD: $
+#
+# This script updates the index of shared folders on the system and is
+# only needed if Courier-IMAP or SqWebMail used to serve mail and shared
+# folders are used. If so, then this script should be run regularly as a
+# system process to ensure the shared folder index is kept up-to-date.
+#
+# The courier-authlib package must be separately installed to provide the
+# "authenumerate" program used in this script.
+
+prefix="%%PREFIX%%"
+exec_prefix="${prefix}"
+sysconfdir="${prefix}/etc/courier"
+sbindir="${exec_prefix}/sbin"
+
+rm -rf ${sysconfdir}/shared.tmp
+mkdir ${sysconfdir}/shared.tmp || exit 1
+
+test -x ${sbindir}/authenumerate || exit 1
+${sbindir}/authenumerate > ${sysconfdir}/shared.tmp/.tmplist || exit 1
+${sbindir}/sharedindexsplit ${sysconfdir}/shared.tmp 1 < ${sysconfdir}/shared.tmp/.tmplist || exit 1
+rm -f ${sysconfdir}/shared.tmp/.tmplist
+${sbindir}/sharedindexinstall
diff -u -r -N courier/pkg-plist courier-0.52.2_1/pkg-plist
--- courier/pkg-plist Sun Feb 12 04:05:17 2006
+++ courier/pkg-plist Fri Feb 10 18:22:41 2006
@@ -13,10 +13,12 @@
@exec install -o %%MAILOWN%% -g %%MAILGRP%% -m 0750 -d %D/etc/courier/aliases
@exec install -o %%MAILOWN%% -g %%MAILGRP%% -m 0755 -d %D/etc/courier/esmtpacceptmailfor.dir
@exec install -o %%MAILOWN%% -g %%MAILGRP%% -m 0755 -d %D/etc/courier/esmtppercentrelay.dir
+ at exec install -o %%MAILOWN%% -g %%MAILGRP%% -m 0750 -d %D/etc/courier/filters
@exec install -o %%MAILOWN%% -g %%MAILGRP%% -m 0750 -d %D/etc/courier/filters/active
@exec install -o %%MAILOWN%% -g %%MAILGRP%% -m 0755 -d %D/etc/courier/shared
@exec install -o %%MAILOWN%% -g %%MAILGRP%% -m 0755 -d %D/etc/courier/shared.tmp
@exec install -o %%MAILOWN%% -g %%MAILGRP%% -m 0755 -d %D/etc/courier/smtpaccess
+ at exec install -o %%MAILOWN%% -g %%MAILGRP%% -m 0700 -d %D/etc/courier/webadmin
@exec install -o %%MAILOWN%% -g %%MAILGRP%% -m 0700 -d %D/etc/courier/webadmin/added
@exec install -o %%MAILOWN%% -g %%MAILGRP%% -m 0700 -d %D/etc/courier/webadmin/removed
@unexec rm -f %D/etc/courier/*.dat 2>/dev/null || true
@@ -495,6 +497,7 @@
share/courier/rootcerts/visa-ecommerce-root.pem
share/courier/rootcerts/xramp-global-certification-authority.pem
@dirrm share/courier/rootcerts
+share/courier/sharedindexupdate
share/courier/sqwebmail/cleancache.pl
share/courier/sqwebmail/html/en-us/CHARSET
share/courier/sqwebmail/html/en-us/ISPELLDICT
@@ -733,5 +736,23 @@
@exec chown %%MAILOWN%%:%%MAILGRP%% %D/libexec/courier/submit
@exec chown %%MAILOWN%%:%%MAILGRP%% %D/libexec/courier/submitmkdir
@exec chown %%MAILOWN%%:%%MAILGRP%% %D/sbin/showmodules
+ at exec chmod 0555 %D/libexec/courier
+ at exec chmod 0555 %D/libexec/courier/modules
+ at exec chmod 0555 %D/libexec/courier/modules/dsn
+ at exec chmod 0555 %D/libexec/courier/modules/esmtp
+%%WITHFAX%%@exec chmod 0555 %D/libexec/courier/modules/fax
+ at exec chmod 0555 %D/libexec/courier/modules/local
+%%WITHUUCP%%@exec chmod 0555 %D/libexec/courier/modules/uucp
+ at exec chmod 0555 %D/libexec/courier/webmail
+ at exec chmod 0555 %D/libexec/filters
+ at exec chmod 0555 %D/share/courier
+ at exec chmod 0555 %D/share/courier/couriermlm
+ at exec chmod 0555 %D/share/courier/courierwebadmin
+%%WITHFAX%%@exec chmod 0555 %D/share/courier/faxmail
+ at exec chmod 0555 %D/share/courier/rootcerts
+ at exec chmod 0555 %D/share/courier/sqwebmail
+ at exec chmod 0555 %D/share/courier/sqwebmail/html
+ at exec chmod 0555 %D/share/courier/sqwebmail/html/en-us
+ at exec chmod 0555 %D/share/courier/sqwebmail/images
@unexec echo y | crontab -u %%CACHEOWN%% -r 2>/dev/null || true
@unexec rm -rf %%CALENDIR%% %%CACHEDIR%% 2>/dev/null || true
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list