summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2003-12-26 01:56:20 +0000
committerRobin H. Johnson <robbat2@gentoo.org>2003-12-26 01:56:20 +0000
commitb9359ec9a9334dc86798f7b873f14e97b76e5201 (patch)
treed9653894217298b1c51790d22479afe2e625b0a5 /net-mail
parentfix .keep from bug #35308. do changeover to new storage style, including upgr... (diff)
downloadgentoo-2-b9359ec9a9334dc86798f7b873f14e97b76e5201.tar.gz
gentoo-2-b9359ec9a9334dc86798f7b873f14e97b76e5201.tar.bz2
gentoo-2-b9359ec9a9334dc86798f7b873f14e97b76e5201.zip
fix .keep from bug #35308. do changeover to new storage style, including upgrade script.
Diffstat (limited to 'net-mail')
-rw-r--r--net-mail/vpopmail/ChangeLog9
-rw-r--r--net-mail/vpopmail/Manifest6
-rw-r--r--net-mail/vpopmail/files/digest-vpopmail-5.2.1-r92
-rw-r--r--net-mail/vpopmail/files/vpopmail-Maildir-dotmaildir-fix.sh33
-rw-r--r--net-mail/vpopmail/vpopmail-5.2.1-r9.ebuild233
5 files changed, 279 insertions, 4 deletions
diff --git a/net-mail/vpopmail/ChangeLog b/net-mail/vpopmail/ChangeLog
index 8b9a24ea178b..23233e652eb4 100644
--- a/net-mail/vpopmail/ChangeLog
+++ b/net-mail/vpopmail/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for net-mail/vpopmail
# Copyright 2002-2003 Gentoo Technologies, Inc.; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-mail/vpopmail/ChangeLog,v 1.23 2003/12/08 22:31:03 robbat2 Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-mail/vpopmail/ChangeLog,v 1.24 2003/12/26 01:56:07 robbat2 Exp $
+
+*vpopmail-5.2.1-r9 (25 Dec 2003)
+
+ 25 Dec 2003; Robin H. Johnson <robbat2@gentoo.org> vpopmail-5.2.1-r9.ebuild,
+ files/vpopmail-Maildir-dotmaildir-fix.sh:
+ fix .keep from bug #35308. do changeover to new storage style, including
+ upgrade script.
08 Dec 2003; Robin H. Johnson <robbat2@gentoo.org> vpopmail-5.2.1-r5.ebuild,
vpopmail-5.2.1-r6.ebuild, vpopmail-5.2.1-r7.ebuild,
diff --git a/net-mail/vpopmail/Manifest b/net-mail/vpopmail/Manifest
index 945e6e851840..5a0cfcb33300 100644
--- a/net-mail/vpopmail/Manifest
+++ b/net-mail/vpopmail/Manifest
@@ -1,9 +1,9 @@
-# $Header: /var/cvsroot/gentoo-x86/net-mail/vpopmail/Manifest,v 1.25 2003/12/26 01:56:07 robbat2 Exp $
-MD5 b32e35575e9e95ec6b6c9ee73909e960 vpopmail-5.2.1-r9.ebuild 7435
+# $Header: /var/cvsroot/gentoo-x86/net-mail/vpopmail/Manifest,v 1.26 2003/12/26 01:56:20 robbat2 Exp $
+MD5 25a76d617426d9b8ecfd020b80ba6016 vpopmail-5.2.1-r9.ebuild 7435
MD5 23d5189f50d18117f8e65ab1b027df9c vpopmail-5.2.1-r6.ebuild 6370
MD5 0d0b597b0be51f05b73072576b2c64a9 vpopmail-5.2.1-r8.ebuild 6700
MD5 891b1414afd92b3c8ee75ec39ae317c9 vpopmail-5.2.1-r5.ebuild 6035
-MD5 7a2fe970138b82d252bfe2b2040b2874 ChangeLog 4156
+MD5 4d0603212359169055062f5010d6f200 ChangeLog 4156
MD5 5721b86fd871bdfab77231abc6e02f68 metadata.xml 161
MD5 122d629b4ce8f06e71f75215bd143fdb vpopmail-5.2.1-r7.ebuild 6369
MD5 c8f37f4f0e61e7c848351d7e4a38478f files/vpopmail-Maildir-dotmaildir-fix.sh 931
diff --git a/net-mail/vpopmail/files/digest-vpopmail-5.2.1-r9 b/net-mail/vpopmail/files/digest-vpopmail-5.2.1-r9
new file mode 100644
index 000000000000..a6a45f2be1e6
--- /dev/null
+++ b/net-mail/vpopmail/files/digest-vpopmail-5.2.1-r9
@@ -0,0 +1,2 @@
+MD5 1e299a467db955c95c2966c7aa0ef6e5 vpopmail-5.2.1.tar.gz 273353
+MD5 9d12d36935643050617a76c5104c4d28 vpopmail-5.2.1-mysql.diff 5211
diff --git a/net-mail/vpopmail/files/vpopmail-Maildir-dotmaildir-fix.sh b/net-mail/vpopmail/files/vpopmail-Maildir-dotmaildir-fix.sh
new file mode 100644
index 000000000000..bacb3faf22d1
--- /dev/null
+++ b/net-mail/vpopmail/files/vpopmail-Maildir-dotmaildir-fix.sh
@@ -0,0 +1,33 @@
+#!/bin/bash
+OLDNAME='Maildir'
+NEWNAME='.maildir'
+SEARCHPATH=/var/vpopmail/domains/
+
+if [ "${1}" == '--revert' ]; then
+ SEARCHNAME="${NEWNAME}"
+ REPLACENAME="${OLDNAME}"
+else
+ SEARCHNAME="${OLDNAME}"
+ REPLACENAME="${NEWNAME}"
+fi
+
+echo "Doing '${SEARCHNAME}' '${REPLACENAME}' changeover"
+for i in `find ${SEARCHPATH} -name "${SEARCHNAME}" -maxdepth 3 -mindepth 3 -type d`; do
+ foundname=${i}
+ todoname=${foundname/${SEARCHNAME}/${REPLACENAME}}
+ base="`dirname $i`"
+ echo "Fixing `echo $base | sed -e "s|${SEARCHPATH}||g"`"
+ chmod +t $base
+ if [ -L ${todoname} ]; then
+ echo Removing symlink "${todoname}"
+ rm ${todoname}
+ fi
+ if [ -e ${todoname} ]; then
+ echo "Error! Cannot move ${i} as destination exists!"
+ continue
+ fi
+ mv "${foundname}" "${todoname}"
+ ln -s "${todoname}" "${foundname}"
+ chown vpopmail:vpopmail "${foundname}"
+ chmod -t $base
+done;
diff --git a/net-mail/vpopmail/vpopmail-5.2.1-r9.ebuild b/net-mail/vpopmail/vpopmail-5.2.1-r9.ebuild
new file mode 100644
index 000000000000..c090b73ac357
--- /dev/null
+++ b/net-mail/vpopmail/vpopmail-5.2.1-r9.ebuild
@@ -0,0 +1,233 @@
+# Copyright 1999-2003 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-mail/vpopmail/vpopmail-5.2.1-r9.ebuild,v 1.1 2003/12/26 01:56:07 robbat2 Exp $
+
+IUSE="mysql ipalias clearpasswd"
+
+inherit eutils
+
+# TODO: all ldap, sybase support
+HOMEPAGE="http://www.inter7.com/vpopmail"
+DESCRIPTION="A collection of programs to manage virtual email domains and accounts on your Qmail or Postfix mail servers."
+SRC_URI="http://www.inter7.com/${PN}/${P}.tar.gz
+ mysql? ( http://gentoo.twobit.net/misc/${P}-mysql.diff )"
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="x86 sparc"
+DEPEND_COMMON="net-mail/qmail
+ mysql? ( >=dev-db/mysql-3.23* )"
+DEPEND="sys-apps/sed
+ sys-apps/ucspi-tcp
+ ${DEPEND_COMMON}"
+RDEPEND="${DEPEND_COMMON}
+ virtual/cron"
+
+# Define vpopmail home dir in /etc/password if different
+VPOP_DEFAULT_HOME="/var/vpopmail"
+VPOP_HOME="$VPOP_DEFAULT_HOME"
+
+# This makes sure the variable is set, and that it isn't null.
+vpopmail_set_homedir() {
+ VPOP_HOME=`getent passwd vpopmail | cut -d: -f6`
+ if [ -z "$VPOP_HOME" ]; then
+ echo -ne "\a"
+ eerror "vpopmail's home directory is null in passwd data!"
+ eerror "You probably want to check that out."
+ eerror "Continuing with default."
+ sleep 1; echo -ne "\a"; sleep 1; echo -ne "\a"
+ VPOP_HOME="${VPOP_DEFAULT_HOME}"
+ else
+ einfo "Setting VPOP_HOME to: $VPOP_HOME"
+ fi
+}
+
+pkg_setup() {
+ if [ -z `getent group vpopmail` ]; then
+ (groupadd -g 89 vpopmail 2>/dev/null || groupadd vpopmail ) || die "problem adding vpopmail group"
+ fi
+ if [ -z `getent passwd vpopmail` ]; then
+ useradd -g vpopmail -u 89 -d ${VPOP_DEFAULT_HOME} -c "vpopmail_directory" -s /bin/false -m vpopmail || \
+ useradd -g vpopmail -u `getent group vpopmail | awk -F":" '{ print $3 }'` -d ${VPOP_DEFAULT_HOME} -c "vpopmail_directory" \
+ -s /bin/false -m vpopmail || die "problem adding vpopmail user"
+ fi
+}
+
+src_unpack() {
+ cd ${WORKDIR}
+ unpack ${P}.tar.gz
+ cd ${S}
+
+ epatch ${FILESDIR}/vpopmail-5.2.1-showall.patch
+
+ if use mysql; then
+ einfo "Applying MySQL patch..."
+ # Thanks to Nicholas Jones (carpaski@gentoo.org)
+ epatch ${DISTDIR}/vpopmail-5.2.1-mysql.diff
+ # gcc3.3 fix
+ epatch ${FILESDIR}/vpopmail-5.2.1-gcc33mysql.diff
+ fi
+
+ # Thanks to Vadim Berezniker (vadim@berezniker.com)
+ # This patch backports a bug fix from the devel version re: logons
+ epatch ${FILESDIR}/vpopmail.diff
+
+ for i in vchkpw.c vconvert.c vdelivermail.c vpopbull.c vpopmail.c vqmaillocal.c vuserinfo.c; do
+ sed -e 's|Maildir|.maildir|g' -i $i || die "Failed to change s/Maildir/.maildir/g in $i"
+ done
+}
+
+src_compile() {
+ vpopmail_set_homedir
+
+ use ipalias && myopts="${myopts} --enable-ip-alias-domains=y" \
+ || myopts="${myopts} --enable-ip-alias-domains=n"
+
+ use mysql && myopts="${myopts} --enable-mysql=y \
+ --enable-libs=/usr/include/mysql \
+ --enable-sqllibdir=/usr/lib/mysql \
+ --enable-mysql-logging=y \
+ --enable-auth-logging=y \
+ --enable-valias=y \
+ --enable-mysql-replication=n" \
+ || myopts="${myopts} --enable-mysql=n"
+
+ # the configure script tries to force root and make directories not using ${D}
+ sed -e '1282,1289d' -e '1560,1567d' -e '2349d' -e '2107d' -e '2342d' configure > configure.new
+ mv --force configure.new configure
+ chmod u+x configure
+
+ # Bug 20127
+ use clearpasswd &&
+ myopts="${myopts} --enable-clear-passwd=y" ||
+ myopts="${myopts} --enable-clear-passwd=n"
+
+ econf ${myopts} --sbindir=/usr/sbin \
+ --bindir=/usr/bin \
+ --sysconfdir=${VPOP_HOME}/etc \
+ --enable-qmaildir=/var/qmail \
+ --enable-qmail-newu=/var/qmail/bin/qmail-newu \
+ --enable-qmail-inject=/var/qmail/bin/qmail-inject \
+ --enable-qmail-newmrh=/var/qmail/bin/qmail-newmrh \
+ --enable-vpopuser=vpopmail \
+ --enable-many-domains=y \
+ --enable-vpopgroup=vpopmail \
+ --enable-file-locking=y \
+ --enable-file-sync=y \
+ --enable-md5-passwords=y \
+ --enable-defaultquota=30000000,1000C \
+ --enable-roaming-users=y --enable-relay-clear-minutes=60 \
+ --enable-tcprules-prog=/usr/bin/tcprules --enable-tcpserver-file=/etc/tcp.smtp \
+ --enable-logging=y \
+ --enable-log-name=vpopmail
+
+ use mysql && echo '#define MYSQL_PASSWORD_FILE "/etc/vpopmail.conf"' >> config.h
+
+ emake || die "Make failed."
+}
+
+src_install () {
+ vpopmail_set_homedir
+
+ make DESTDIR=${D} install-strip || die
+
+ into /var/vpopmail
+ dobin ${FILESDIR}/vpopmail-Maildir-dotmaildir-fix.sh
+ into /usr
+
+ # Install documentation.
+ dodoc AUTHORS ChangeLog COPYING FAQ INSTALL NEWS TODO
+ dodoc README README.* RELEASE.NOTES UPGRADE.*
+ dodoc doc/doc_html/* doc/man_html/*
+ rm -rf ${D}/${VPOP_HOME}/doc
+ dosym /usr/share/doc/${PF}/ ${VPOP_HOME}/doc
+
+ # Create /etc/vpopmail.conf
+ if use mysql; then
+ einfo "Installing vpopmail mysql configuration file"
+ dodir /etc
+ insinto /etc
+ doins ${FILESDIR}/vpopmail.conf
+ fowners vpopmail:vpopmail /etc/vpopmail.conf
+ fperms 600 /etc/vpopmail.conf
+ fi
+
+ # Install a proper cronjob instead of the old nastiness
+ einfo "Installing cronjob"
+ dodir /etc/cron.hourly
+ insinto /etc/cron.hourly
+ doins ${FILESDIR}/vpopmail.clearopensmtp
+ fperms +x /etc/cron.hourly/vpopmail.clearopensmtp
+
+ einfo "Installing env.d entry"
+ dodir /etc/env.d
+ insinto /etc/env.d
+ doins ${FILESDIR}/99vpopmail
+
+ # Configure b0rked. We'll do this manually
+ echo "-I${VPOP_HOME}/include" > ${D}/${VPOP_HOME}/etc/inc_deps
+ local libs_extra
+ use mysql && libs_extra="-L/usr/lib/mysql -lmysqlclient -lz" || libs_extra=""
+ echo "-L${VPOP_HOME}/lib -lvpopmail ${libs_extra}" > ${D}/${VPOP_HOME}/etc/lib_deps
+
+ einfo "Locking down vpopmail permissions"
+ # secure things more, i don't want the vpopmail user being able to write this stuff!
+ chown -R root:root ${D}${VPOP_HOME}/{bin,etc,include}
+
+}
+
+pkg_preinst() {
+ vpopmail_set_homedir
+
+ # Keep DATA
+ keepdir ${VPOP_HOME}/domains
+
+ # This is a workaround until portage handles binary packages+users better.
+ pkg_setup
+
+ upgradewarning
+}
+
+pkg_postinst() {
+ einfo "Performing post-installation routines for ${P}."
+
+ if use mysql; then
+ echo
+ einfo "You have 'mysql' turned on in your USE"
+ einfo "Vpopmail needs a VALID MySQL USER. Let's call it 'vpopmail'"
+ einfo "You MUST add it and then specify its passwd in the /etc/vpopmail.conf file"
+ echo
+ einfo "First log into mysql as your mysql root user and pass. Then:"
+ einfo "> create database vpopmail;"
+ einfo "> use mysql;"
+ einfo "> grant select, insert, update, delete, create, drop on vpopmail.* to"
+ einfo " vpopmail@localhost identified by 'your password';"
+ einfo "> flush privileges;"
+ echo
+ einfo "If you have problems with vpopmail not accepting mail properly,"
+ einfo "please ensure that /etc/vpopmail.conf is chmod 600 and"
+ einfo "owned by vpopmail:vpopmail"
+ fi
+ # do this for good measure
+ if [ -e /etc/vpopmail.conf ]; then
+ chmod 600 /etc/vpopmail.conf
+ chown vpopmail:vpopmail /etc/vpopmail.conf
+ fi
+
+ upgradewarning
+}
+
+pkg_postrm() {
+ vpopmail_set_homedir
+
+ einfo "The vpopmail DATA will NOT be removed automatically."
+ einfo "You can delete them manually by removing the ${VPOP_HOME} directory."
+}
+
+upgradewarning() {
+ ewarn "Massive important warning if you are upgrading to 5.2.1-r8 or older"
+ ewarn "The internal structure of the mail storage has changed for"
+ ewarn "consistancy with the rest of Gentoo! Please review and utilize the "
+ ewarn "script at /var/vpopmail/bin/vpopmail-Maildir-dotmaildir-fix.sh"
+ ewarn "to upgrade your system!"
+ ewarn "You should be able to run it right away without any changes."
+}