summaryrefslogtreecommitdiff
path: root/mail
diff options
context:
space:
mode:
authorNeil Blakey-Milner <nbm@FreeBSD.org>2000-09-21 13:01:40 +0000
committerNeil Blakey-Milner <nbm@FreeBSD.org>2000-09-21 13:01:40 +0000
commit25d71de54f714c720bd489935f505966c0775673 (patch)
treee14a0d156dd5a4ecbe879bd48527fc5628ddab70 /mail
parentuse /usr/bin/perl, instead of ${LOCAL_BASE}/bin/perl (diff)
Add vpopmail, a virtual host and virtual user manager for qmail, at
version 4.9. This port reserves uid 89 and gid 89, as mentioned in the porters-handbook.
Notes
Notes: svn path=/head/; revision=32927
Diffstat (limited to 'mail')
-rw-r--r--mail/Makefile1
-rw-r--r--mail/vpopmail-devel/Makefile47
-rw-r--r--mail/vpopmail-devel/distinfo1
-rw-r--r--mail/vpopmail-devel/pkg-comment1
-rw-r--r--mail/vpopmail-devel/pkg-descr21
-rw-r--r--mail/vpopmail-devel/pkg-install87
-rw-r--r--mail/vpopmail-devel/pkg-plist45
-rw-r--r--mail/vpopmail-stable/Makefile47
-rw-r--r--mail/vpopmail-stable/distinfo1
-rw-r--r--mail/vpopmail-stable/pkg-comment1
-rw-r--r--mail/vpopmail-stable/pkg-descr21
-rw-r--r--mail/vpopmail-stable/pkg-install87
-rw-r--r--mail/vpopmail-stable/pkg-plist45
-rw-r--r--mail/vpopmail/Makefile47
-rw-r--r--mail/vpopmail/distinfo1
-rw-r--r--mail/vpopmail/pkg-comment1
-rw-r--r--mail/vpopmail/pkg-descr21
-rw-r--r--mail/vpopmail/pkg-install87
-rw-r--r--mail/vpopmail/pkg-plist45
19 files changed, 607 insertions, 0 deletions
diff --git a/mail/Makefile b/mail/Makefile
index 0dba282f6acc..3a69daf6be16 100644
--- a/mail/Makefile
+++ b/mail/Makefile
@@ -126,6 +126,7 @@
SUBDIR += teapop
SUBDIR += tkrat
SUBDIR += tkrat2
+ SUBDIR += vpopmail
SUBDIR += vrfy
SUBDIR += wanderlust-emacs
SUBDIR += wanderlust-emacs20
diff --git a/mail/vpopmail-devel/Makefile b/mail/vpopmail-devel/Makefile
new file mode 100644
index 000000000000..a7dd9b4c5774
--- /dev/null
+++ b/mail/vpopmail-devel/Makefile
@@ -0,0 +1,47 @@
+# New ports collection makefile for: vpopmail
+# Date created: 21 Sep 2000
+# Whom: makeport.pl
+#
+# $FreeBSD$
+#
+
+PORTNAME= vpopmail
+PORTVERSION= 4.9
+CATEGORIES= mail
+MASTER_SITES= http://www.inter7.com/vpopmail/
+
+MAINTAINER= nbm@FreeBSD.org
+
+BUILD_DEPENDS= ${QMAIL_DIR}/bin/qmail-send:${PORTSDIR}/mail/qmail \
+ ${LOCALBASE}/bin/tcprules:${PORTSDIR}/sysutils/ucspi-tcp
+RUN_DEPENDS= ${QMAIL_DIR}/bin/qmail-send:${PORTSDIR}/mail/qmail \
+ ${LOCALBASE}/bin/tcprules:${PORTSDIR}/sysutils/ucspi-tcp
+
+GNU_CONFIGURE= YES
+USE_GMAKE= YES
+
+CONFIGURE_ARGS= --enable-qmail-dir=${QMAIL_DIR} \
+ --enable-tcprules-bin=${LOCALBASE}/bin/tcprules \
+ --enable-tcpserver-file=~vpopmail/etc/tcp.smtp
+
+#
+# Attempt to set the location of qmail by a simple check. Override this
+# if your qmail lives elsewhere.
+#
+
+.if exists(${LOCALBASE}/qmail/bin/qmail-send)
+QMAIL_DIR?= ${LOCALBASE}/qmail
+.else
+QMAIL_DIR?= /var/qmail
+.endif
+
+#
+# This port doesn't honour PREFIX, it honours vpopmail's home directory.
+# Since we create vpopmail if it doesn't exist, we set it so that it
+# does honour PREFIX. -- nbm
+#
+
+pre-configure:
+ @PKG_PREFIX=${PREFIX}/vpopmail ${PERL5} ${PKGDIR}/INSTALL
+
+.include <bsd.port.mk>
diff --git a/mail/vpopmail-devel/distinfo b/mail/vpopmail-devel/distinfo
new file mode 100644
index 000000000000..cd3c85023f67
--- /dev/null
+++ b/mail/vpopmail-devel/distinfo
@@ -0,0 +1 @@
+MD5 (vpopmail-4.9.tar.gz) = 2b9d71ea69cbeacedce9654fc439ee19
diff --git a/mail/vpopmail-devel/pkg-comment b/mail/vpopmail-devel/pkg-comment
new file mode 100644
index 000000000000..3a0300b4b781
--- /dev/null
+++ b/mail/vpopmail-devel/pkg-comment
@@ -0,0 +1 @@
+Easy virtual domain and authentication package for use with qmail
diff --git a/mail/vpopmail-devel/pkg-descr b/mail/vpopmail-devel/pkg-descr
new file mode 100644
index 000000000000..a98ec621541b
--- /dev/null
+++ b/mail/vpopmail-devel/pkg-descr
@@ -0,0 +1,21 @@
+vpopmail provides an easy way to manage virtual domains and virtual
+accounts on a qmail mail server.
+
+Features:
+
+. Automates all qmail file modifications into documented command line
+ programs
+
+. Support for named and IP-based virtual domains
+
+. NFS safe
+
+. dynamic directory creation for scalability using fill-in balanced 3
+ level tree
+
+. understands standard qmail .qmail directives
+
+. interacts well with qmailadmin for web-based administration, courier-imap
+ for IMAP support, and sqwebmail for web-based mail.
+
+WWW: http://inter7.com/vpopmail/
diff --git a/mail/vpopmail-devel/pkg-install b/mail/vpopmail-devel/pkg-install
new file mode 100644
index 000000000000..f3004e7de913
--- /dev/null
+++ b/mail/vpopmail-devel/pkg-install
@@ -0,0 +1,87 @@
+#!/usr/bin/perl
+#
+
+@groups = ("vchkpw");
+%users = ('vpopmail', "vchkpw");
+# daemon, local, pop, queue, remote, deliver, respectively.
+# alias is a special case above...
+%gids = ("vchkpw", 89);
+%uids = ('vpopmail', 89);
+
+if ($ENV{PACKAGE_BUILDING} || $ARGV[1] eq "PRE-INSTALL") {
+ $doguid=1; # Make sure we get the assigned guids.
+}
+
+foreach $group (@groups) {
+ if (! getgrnam ($group)) {
+ do checkrpw; # May exit
+
+ $x = "-g $gids{$group}";
+ $result = system ("/usr/sbin/pw groupadd $group $x");
+ if ($result) {
+ die "Failed to add group $group as gid $gids{$group}\n";
+ }
+ }
+}
+
+if (! getpwnam ("alias")) {
+ do checkrpw; # May exit
+
+ $x = "-u $uids{'alias'}";
+ $result = system ("/usr/sbin/pw useradd alias -g qnofiles -d \"$ENV{PKG_PREFIX}/alias\" -s /nonexistent $x");
+ if ($result) {
+ die "Failed to add user alias as uid $uids{'alias'}\n";
+ }
+}
+
+foreach $user (keys %users) {
+ if (! getpwnam ($user)) {
+ do checkrpw; # May exit
+
+ $x = "-u $uids{$user}";
+ $result = system ("/usr/sbin/pw useradd $user -g $users{$user} -d \"$ENV{PKG_PREFIX}\" -s /nonexistent $x");
+ if ($result) {
+ die "Failed to add user $user as uid $uids{$user}\n";
+ }
+ }
+}
+
+# Check that all gids/uids are as they should be...
+# If we are being installed as a package...
+if ($doguid) {
+ foreach $group (@groups) {
+ if (getgrnam($group) != $gids{$group}) {
+ die "Group $group should have gid $gids{$group}\n";
+ }
+ }
+
+ foreach $user (keys %users) {
+ if (getpwnam($user) != $uids{$user}) {
+ die "User $user should have uid $uids{$user}\n";
+ }
+ }
+}
+
+exit 0;
+
+sub checkrpw {
+ if (! -x "/usr/sbin/pw") {
+ print <<'EOM';
+This system looks like a pre-2.2 version of FreeBSD. We see that it
+is missing the "pw" utility. We need this utility. Please get and
+install it, and try again. You can get the source from:
+
+ ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/src/usr.sbin/pw.tar.gz
+
+EOM
+ die "No /usr/sbin/pw";
+ }
+
+ if ($> != 0) {
+ print "It is necessary to add missing vpopmail users/groups at";
+ print "this stage. Please either add them manually or retry";
+ print "as root.";
+ # Let pw(1) signal the failure so the user can see which
+ # group/user is actually missing.
+ }
+}
diff --git a/mail/vpopmail-devel/pkg-plist b/mail/vpopmail-devel/pkg-plist
new file mode 100644
index 000000000000..a8c5eace203d
--- /dev/null
+++ b/mail/vpopmail-devel/pkg-plist
@@ -0,0 +1,45 @@
+vpopmail/bin/clearopensmtp
+vpopmail/bin/vaddaliasdomain
+vpopmail/bin/vadddomain
+vpopmail/bin/vadduser
+vpopmail/bin/vchkpw
+vpopmail/bin/vconvert
+vpopmail/bin/vdeldomain
+vpopmail/bin/vdelivermail
+vpopmail/bin/vdeluser
+vpopmail/bin/vmkpasswd
+vpopmail/bin/vmoduser
+vpopmail/bin/vpasswd
+vpopmail/bin/vpopbull
+vpopmail/bin/vsetuserquota
+vpopmail/bin/vuserinfo
+vpopmail/doc/doc_html/vpopmail.html
+vpopmail/doc/doc_html/vpopmailapi.png
+vpopmail/doc/man_html/clearopensmtp.html
+vpopmail/doc/man_html/index.html
+vpopmail/doc/man_html/vaddaliasdomain.html
+vpopmail/doc/man_html/vadddomain.html
+vpopmail/doc/man_html/vadduser.html
+vpopmail/doc/man_html/vchkpw.html
+vpopmail/doc/man_html/vconvert.html
+vpopmail/doc/man_html/vdeldomain.html
+vpopmail/doc/man_html/vdelivermail.html
+vpopmail/doc/man_html/vdeluser.html
+vpopmail/doc/man_html/vpasswd.html
+vpopmail/doc/man_html/vpopbull.html
+vpopmail/doc/man_html/vsetuserquota.html
+vpopmail/include/config.h
+vpopmail/include/vauth.h
+vpopmail/include/vpopmail.h
+vpopmail/include/vpopmail_config.h
+vpopmail/lib/libvpopmail.a
+@dirrm vpopmail/users
+@dirrm vpopmail/lib
+@dirrm vpopmail/include
+@dirrm vpopmail/etc
+@dirrm vpopmail/domains
+@dirrm vpopmail/doc/man_html
+@dirrm vpopmail/doc/doc_html
+@dirrm vpopmail/doc
+@dirrm vpopmail/bin
+@dirrm vpopmail
diff --git a/mail/vpopmail-stable/Makefile b/mail/vpopmail-stable/Makefile
new file mode 100644
index 000000000000..a7dd9b4c5774
--- /dev/null
+++ b/mail/vpopmail-stable/Makefile
@@ -0,0 +1,47 @@
+# New ports collection makefile for: vpopmail
+# Date created: 21 Sep 2000
+# Whom: makeport.pl
+#
+# $FreeBSD$
+#
+
+PORTNAME= vpopmail
+PORTVERSION= 4.9
+CATEGORIES= mail
+MASTER_SITES= http://www.inter7.com/vpopmail/
+
+MAINTAINER= nbm@FreeBSD.org
+
+BUILD_DEPENDS= ${QMAIL_DIR}/bin/qmail-send:${PORTSDIR}/mail/qmail \
+ ${LOCALBASE}/bin/tcprules:${PORTSDIR}/sysutils/ucspi-tcp
+RUN_DEPENDS= ${QMAIL_DIR}/bin/qmail-send:${PORTSDIR}/mail/qmail \
+ ${LOCALBASE}/bin/tcprules:${PORTSDIR}/sysutils/ucspi-tcp
+
+GNU_CONFIGURE= YES
+USE_GMAKE= YES
+
+CONFIGURE_ARGS= --enable-qmail-dir=${QMAIL_DIR} \
+ --enable-tcprules-bin=${LOCALBASE}/bin/tcprules \
+ --enable-tcpserver-file=~vpopmail/etc/tcp.smtp
+
+#
+# Attempt to set the location of qmail by a simple check. Override this
+# if your qmail lives elsewhere.
+#
+
+.if exists(${LOCALBASE}/qmail/bin/qmail-send)
+QMAIL_DIR?= ${LOCALBASE}/qmail
+.else
+QMAIL_DIR?= /var/qmail
+.endif
+
+#
+# This port doesn't honour PREFIX, it honours vpopmail's home directory.
+# Since we create vpopmail if it doesn't exist, we set it so that it
+# does honour PREFIX. -- nbm
+#
+
+pre-configure:
+ @PKG_PREFIX=${PREFIX}/vpopmail ${PERL5} ${PKGDIR}/INSTALL
+
+.include <bsd.port.mk>
diff --git a/mail/vpopmail-stable/distinfo b/mail/vpopmail-stable/distinfo
new file mode 100644
index 000000000000..cd3c85023f67
--- /dev/null
+++ b/mail/vpopmail-stable/distinfo
@@ -0,0 +1 @@
+MD5 (vpopmail-4.9.tar.gz) = 2b9d71ea69cbeacedce9654fc439ee19
diff --git a/mail/vpopmail-stable/pkg-comment b/mail/vpopmail-stable/pkg-comment
new file mode 100644
index 000000000000..3a0300b4b781
--- /dev/null
+++ b/mail/vpopmail-stable/pkg-comment
@@ -0,0 +1 @@
+Easy virtual domain and authentication package for use with qmail
diff --git a/mail/vpopmail-stable/pkg-descr b/mail/vpopmail-stable/pkg-descr
new file mode 100644
index 000000000000..a98ec621541b
--- /dev/null
+++ b/mail/vpopmail-stable/pkg-descr
@@ -0,0 +1,21 @@
+vpopmail provides an easy way to manage virtual domains and virtual
+accounts on a qmail mail server.
+
+Features:
+
+. Automates all qmail file modifications into documented command line
+ programs
+
+. Support for named and IP-based virtual domains
+
+. NFS safe
+
+. dynamic directory creation for scalability using fill-in balanced 3
+ level tree
+
+. understands standard qmail .qmail directives
+
+. interacts well with qmailadmin for web-based administration, courier-imap
+ for IMAP support, and sqwebmail for web-based mail.
+
+WWW: http://inter7.com/vpopmail/
diff --git a/mail/vpopmail-stable/pkg-install b/mail/vpopmail-stable/pkg-install
new file mode 100644
index 000000000000..f3004e7de913
--- /dev/null
+++ b/mail/vpopmail-stable/pkg-install
@@ -0,0 +1,87 @@
+#!/usr/bin/perl
+#
+
+@groups = ("vchkpw");
+%users = ('vpopmail', "vchkpw");
+# daemon, local, pop, queue, remote, deliver, respectively.
+# alias is a special case above...
+%gids = ("vchkpw", 89);
+%uids = ('vpopmail', 89);
+
+if ($ENV{PACKAGE_BUILDING} || $ARGV[1] eq "PRE-INSTALL") {
+ $doguid=1; # Make sure we get the assigned guids.
+}
+
+foreach $group (@groups) {
+ if (! getgrnam ($group)) {
+ do checkrpw; # May exit
+
+ $x = "-g $gids{$group}";
+ $result = system ("/usr/sbin/pw groupadd $group $x");
+ if ($result) {
+ die "Failed to add group $group as gid $gids{$group}\n";
+ }
+ }
+}
+
+if (! getpwnam ("alias")) {
+ do checkrpw; # May exit
+
+ $x = "-u $uids{'alias'}";
+ $result = system ("/usr/sbin/pw useradd alias -g qnofiles -d \"$ENV{PKG_PREFIX}/alias\" -s /nonexistent $x");
+ if ($result) {
+ die "Failed to add user alias as uid $uids{'alias'}\n";
+ }
+}
+
+foreach $user (keys %users) {
+ if (! getpwnam ($user)) {
+ do checkrpw; # May exit
+
+ $x = "-u $uids{$user}";
+ $result = system ("/usr/sbin/pw useradd $user -g $users{$user} -d \"$ENV{PKG_PREFIX}\" -s /nonexistent $x");
+ if ($result) {
+ die "Failed to add user $user as uid $uids{$user}\n";
+ }
+ }
+}
+
+# Check that all gids/uids are as they should be...
+# If we are being installed as a package...
+if ($doguid) {
+ foreach $group (@groups) {
+ if (getgrnam($group) != $gids{$group}) {
+ die "Group $group should have gid $gids{$group}\n";
+ }
+ }
+
+ foreach $user (keys %users) {
+ if (getpwnam($user) != $uids{$user}) {
+ die "User $user should have uid $uids{$user}\n";
+ }
+ }
+}
+
+exit 0;
+
+sub checkrpw {
+ if (! -x "/usr/sbin/pw") {
+ print <<'EOM';
+This system looks like a pre-2.2 version of FreeBSD. We see that it
+is missing the "pw" utility. We need this utility. Please get and
+install it, and try again. You can get the source from:
+
+ ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/src/usr.sbin/pw.tar.gz
+
+EOM
+ die "No /usr/sbin/pw";
+ }
+
+ if ($> != 0) {
+ print "It is necessary to add missing vpopmail users/groups at";
+ print "this stage. Please either add them manually or retry";
+ print "as root.";
+ # Let pw(1) signal the failure so the user can see which
+ # group/user is actually missing.
+ }
+}
diff --git a/mail/vpopmail-stable/pkg-plist b/mail/vpopmail-stable/pkg-plist
new file mode 100644
index 000000000000..a8c5eace203d
--- /dev/null
+++ b/mail/vpopmail-stable/pkg-plist
@@ -0,0 +1,45 @@
+vpopmail/bin/clearopensmtp
+vpopmail/bin/vaddaliasdomain
+vpopmail/bin/vadddomain
+vpopmail/bin/vadduser
+vpopmail/bin/vchkpw
+vpopmail/bin/vconvert
+vpopmail/bin/vdeldomain
+vpopmail/bin/vdelivermail
+vpopmail/bin/vdeluser
+vpopmail/bin/vmkpasswd
+vpopmail/bin/vmoduser
+vpopmail/bin/vpasswd
+vpopmail/bin/vpopbull
+vpopmail/bin/vsetuserquota
+vpopmail/bin/vuserinfo
+vpopmail/doc/doc_html/vpopmail.html
+vpopmail/doc/doc_html/vpopmailapi.png
+vpopmail/doc/man_html/clearopensmtp.html
+vpopmail/doc/man_html/index.html
+vpopmail/doc/man_html/vaddaliasdomain.html
+vpopmail/doc/man_html/vadddomain.html
+vpopmail/doc/man_html/vadduser.html
+vpopmail/doc/man_html/vchkpw.html
+vpopmail/doc/man_html/vconvert.html
+vpopmail/doc/man_html/vdeldomain.html
+vpopmail/doc/man_html/vdelivermail.html
+vpopmail/doc/man_html/vdeluser.html
+vpopmail/doc/man_html/vpasswd.html
+vpopmail/doc/man_html/vpopbull.html
+vpopmail/doc/man_html/vsetuserquota.html
+vpopmail/include/config.h
+vpopmail/include/vauth.h
+vpopmail/include/vpopmail.h
+vpopmail/include/vpopmail_config.h
+vpopmail/lib/libvpopmail.a
+@dirrm vpopmail/users
+@dirrm vpopmail/lib
+@dirrm vpopmail/include
+@dirrm vpopmail/etc
+@dirrm vpopmail/domains
+@dirrm vpopmail/doc/man_html
+@dirrm vpopmail/doc/doc_html
+@dirrm vpopmail/doc
+@dirrm vpopmail/bin
+@dirrm vpopmail
diff --git a/mail/vpopmail/Makefile b/mail/vpopmail/Makefile
new file mode 100644
index 000000000000..a7dd9b4c5774
--- /dev/null
+++ b/mail/vpopmail/Makefile
@@ -0,0 +1,47 @@
+# New ports collection makefile for: vpopmail
+# Date created: 21 Sep 2000
+# Whom: makeport.pl
+#
+# $FreeBSD$
+#
+
+PORTNAME= vpopmail
+PORTVERSION= 4.9
+CATEGORIES= mail
+MASTER_SITES= http://www.inter7.com/vpopmail/
+
+MAINTAINER= nbm@FreeBSD.org
+
+BUILD_DEPENDS= ${QMAIL_DIR}/bin/qmail-send:${PORTSDIR}/mail/qmail \
+ ${LOCALBASE}/bin/tcprules:${PORTSDIR}/sysutils/ucspi-tcp
+RUN_DEPENDS= ${QMAIL_DIR}/bin/qmail-send:${PORTSDIR}/mail/qmail \
+ ${LOCALBASE}/bin/tcprules:${PORTSDIR}/sysutils/ucspi-tcp
+
+GNU_CONFIGURE= YES
+USE_GMAKE= YES
+
+CONFIGURE_ARGS= --enable-qmail-dir=${QMAIL_DIR} \
+ --enable-tcprules-bin=${LOCALBASE}/bin/tcprules \
+ --enable-tcpserver-file=~vpopmail/etc/tcp.smtp
+
+#
+# Attempt to set the location of qmail by a simple check. Override this
+# if your qmail lives elsewhere.
+#
+
+.if exists(${LOCALBASE}/qmail/bin/qmail-send)
+QMAIL_DIR?= ${LOCALBASE}/qmail
+.else
+QMAIL_DIR?= /var/qmail
+.endif
+
+#
+# This port doesn't honour PREFIX, it honours vpopmail's home directory.
+# Since we create vpopmail if it doesn't exist, we set it so that it
+# does honour PREFIX. -- nbm
+#
+
+pre-configure:
+ @PKG_PREFIX=${PREFIX}/vpopmail ${PERL5} ${PKGDIR}/INSTALL
+
+.include <bsd.port.mk>
diff --git a/mail/vpopmail/distinfo b/mail/vpopmail/distinfo
new file mode 100644
index 000000000000..cd3c85023f67
--- /dev/null
+++ b/mail/vpopmail/distinfo
@@ -0,0 +1 @@
+MD5 (vpopmail-4.9.tar.gz) = 2b9d71ea69cbeacedce9654fc439ee19
diff --git a/mail/vpopmail/pkg-comment b/mail/vpopmail/pkg-comment
new file mode 100644
index 000000000000..3a0300b4b781
--- /dev/null
+++ b/mail/vpopmail/pkg-comment
@@ -0,0 +1 @@
+Easy virtual domain and authentication package for use with qmail
diff --git a/mail/vpopmail/pkg-descr b/mail/vpopmail/pkg-descr
new file mode 100644
index 000000000000..a98ec621541b
--- /dev/null
+++ b/mail/vpopmail/pkg-descr
@@ -0,0 +1,21 @@
+vpopmail provides an easy way to manage virtual domains and virtual
+accounts on a qmail mail server.
+
+Features:
+
+. Automates all qmail file modifications into documented command line
+ programs
+
+. Support for named and IP-based virtual domains
+
+. NFS safe
+
+. dynamic directory creation for scalability using fill-in balanced 3
+ level tree
+
+. understands standard qmail .qmail directives
+
+. interacts well with qmailadmin for web-based administration, courier-imap
+ for IMAP support, and sqwebmail for web-based mail.
+
+WWW: http://inter7.com/vpopmail/
diff --git a/mail/vpopmail/pkg-install b/mail/vpopmail/pkg-install
new file mode 100644
index 000000000000..f3004e7de913
--- /dev/null
+++ b/mail/vpopmail/pkg-install
@@ -0,0 +1,87 @@
+#!/usr/bin/perl
+#
+
+@groups = ("vchkpw");
+%users = ('vpopmail', "vchkpw");
+# daemon, local, pop, queue, remote, deliver, respectively.
+# alias is a special case above...
+%gids = ("vchkpw", 89);
+%uids = ('vpopmail', 89);
+
+if ($ENV{PACKAGE_BUILDING} || $ARGV[1] eq "PRE-INSTALL") {
+ $doguid=1; # Make sure we get the assigned guids.
+}
+
+foreach $group (@groups) {
+ if (! getgrnam ($group)) {
+ do checkrpw; # May exit
+
+ $x = "-g $gids{$group}";
+ $result = system ("/usr/sbin/pw groupadd $group $x");
+ if ($result) {
+ die "Failed to add group $group as gid $gids{$group}\n";
+ }
+ }
+}
+
+if (! getpwnam ("alias")) {
+ do checkrpw; # May exit
+
+ $x = "-u $uids{'alias'}";
+ $result = system ("/usr/sbin/pw useradd alias -g qnofiles -d \"$ENV{PKG_PREFIX}/alias\" -s /nonexistent $x");
+ if ($result) {
+ die "Failed to add user alias as uid $uids{'alias'}\n";
+ }
+}
+
+foreach $user (keys %users) {
+ if (! getpwnam ($user)) {
+ do checkrpw; # May exit
+
+ $x = "-u $uids{$user}";
+ $result = system ("/usr/sbin/pw useradd $user -g $users{$user} -d \"$ENV{PKG_PREFIX}\" -s /nonexistent $x");
+ if ($result) {
+ die "Failed to add user $user as uid $uids{$user}\n";
+ }
+ }
+}
+
+# Check that all gids/uids are as they should be...
+# If we are being installed as a package...
+if ($doguid) {
+ foreach $group (@groups) {
+ if (getgrnam($group) != $gids{$group}) {
+ die "Group $group should have gid $gids{$group}\n";
+ }
+ }
+
+ foreach $user (keys %users) {
+ if (getpwnam($user) != $uids{$user}) {
+ die "User $user should have uid $uids{$user}\n";
+ }
+ }
+}
+
+exit 0;
+
+sub checkrpw {
+ if (! -x "/usr/sbin/pw") {
+ print <<'EOM';
+This system looks like a pre-2.2 version of FreeBSD. We see that it
+is missing the "pw" utility. We need this utility. Please get and
+install it, and try again. You can get the source from:
+
+ ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/src/usr.sbin/pw.tar.gz
+
+EOM
+ die "No /usr/sbin/pw";
+ }
+
+ if ($> != 0) {
+ print "It is necessary to add missing vpopmail users/groups at";
+ print "this stage. Please either add them manually or retry";
+ print "as root.";
+ # Let pw(1) signal the failure so the user can see which
+ # group/user is actually missing.
+ }
+}
diff --git a/mail/vpopmail/pkg-plist b/mail/vpopmail/pkg-plist
new file mode 100644
index 000000000000..a8c5eace203d
--- /dev/null
+++ b/mail/vpopmail/pkg-plist
@@ -0,0 +1,45 @@
+vpopmail/bin/clearopensmtp
+vpopmail/bin/vaddaliasdomain
+vpopmail/bin/vadddomain
+vpopmail/bin/vadduser
+vpopmail/bin/vchkpw
+vpopmail/bin/vconvert
+vpopmail/bin/vdeldomain
+vpopmail/bin/vdelivermail
+vpopmail/bin/vdeluser
+vpopmail/bin/vmkpasswd
+vpopmail/bin/vmoduser
+vpopmail/bin/vpasswd
+vpopmail/bin/vpopbull
+vpopmail/bin/vsetuserquota
+vpopmail/bin/vuserinfo
+vpopmail/doc/doc_html/vpopmail.html
+vpopmail/doc/doc_html/vpopmailapi.png
+vpopmail/doc/man_html/clearopensmtp.html
+vpopmail/doc/man_html/index.html
+vpopmail/doc/man_html/vaddaliasdomain.html
+vpopmail/doc/man_html/vadddomain.html
+vpopmail/doc/man_html/vadduser.html
+vpopmail/doc/man_html/vchkpw.html
+vpopmail/doc/man_html/vconvert.html
+vpopmail/doc/man_html/vdeldomain.html
+vpopmail/doc/man_html/vdelivermail.html
+vpopmail/doc/man_html/vdeluser.html
+vpopmail/doc/man_html/vpasswd.html
+vpopmail/doc/man_html/vpopbull.html
+vpopmail/doc/man_html/vsetuserquota.html
+vpopmail/include/config.h
+vpopmail/include/vauth.h
+vpopmail/include/vpopmail.h
+vpopmail/include/vpopmail_config.h
+vpopmail/lib/libvpopmail.a
+@dirrm vpopmail/users
+@dirrm vpopmail/lib
+@dirrm vpopmail/include
+@dirrm vpopmail/etc
+@dirrm vpopmail/domains
+@dirrm vpopmail/doc/man_html
+@dirrm vpopmail/doc/doc_html
+@dirrm vpopmail/doc
+@dirrm vpopmail/bin
+@dirrm vpopmail