summaryrefslogtreecommitdiff
path: root/mail-client/drac
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /mail-client/drac
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.xz
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'mail-client/drac')
-rw-r--r--mail-client/drac/Manifest1
-rw-r--r--mail-client/drac/drac-1.12-r1.ebuild72
-rw-r--r--mail-client/drac/files/drac_rotate99
-rw-r--r--mail-client/drac/files/dracd.rc621
-rw-r--r--mail-client/drac/metadata.xml5
5 files changed, 198 insertions, 0 deletions
diff --git a/mail-client/drac/Manifest b/mail-client/drac/Manifest
new file mode 100644
index 00000000000..bb9d93389f5
--- /dev/null
+++ b/mail-client/drac/Manifest
@@ -0,0 +1 @@
+DIST drac.tar.Z 20705 SHA256 2c184de422ae4b347464de5083c38cb8d3ab4d53b6584514c7a5bd67870729db
diff --git a/mail-client/drac/drac-1.12-r1.ebuild b/mail-client/drac/drac-1.12-r1.ebuild
new file mode 100644
index 00000000000..ca6b3c64c6b
--- /dev/null
+++ b/mail-client/drac/drac-1.12-r1.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit toolchain-funcs
+
+DESCRIPTION="A robust implementation of POP-before-SMTP"
+HOMEPAGE="http://mail.cc.umanitoba.ca/drac/"
+SRC_URI="ftp://ftp.cc.umanitoba.ca/src/${PN}.tar.Z"
+
+LICENSE="rc"
+SLOT="0"
+KEYWORDS="x86 sparc ppc hppa ~amd64 ppc64"
+IUSE="debug"
+
+DEPEND="virtual/mta
+ >=sys-libs/db-3.2.9
+ >=sys-apps/sed-4"
+RDEPEND="${DEPEND}
+ >=net-nds/portmap-5b-r6"
+
+S="${WORKDIR}"
+
+src_compile() {
+ local mysed
+ if use debug ; then
+ mysed="s:^CFLAGS.*:CFLAGS = \$(DEFS) -g ${CFLAGS}:"
+ else
+ mysed="s:^CFLAGS.*:CFLAGS = \$(DEFS) ${CFLAGS}:"
+ fi
+
+ sed -e "s:^INSTALL = .*:INSTALL = /usr/bin/install:" \
+ -e "s:^EBIN = .*:EBIN = /usr/sbin:" \
+ -e "s:^MAN = .*:MAN = /usr/share/man/man:" \
+ -e "s:^DEFS = .*:DEFS = -DSOCK_RPC -DFCNTL_LOCK -DGETHOST -DDASH_C:" \
+ -e "s:^CC = .*:CC = $(tc-getCC):" \
+ -e "s:^LDLIBS = .*:LDLIBS = -ldb:" \
+ -e "s:^TSTLIBS = .*:TSTLIBS = -L. -ldrac:" \
+ -e "s:^RPCGENFLAGS = .*:RPCGENFLAGS = -C -I:" \
+ -e "s:^MANADM = .*:MANADM = 8:" \
+ -e "${mysed}" \
+ -i Makefile || die "sed failed"
+
+ # Parallel build does not work.
+ emake -j1 || die "compile problem"
+}
+
+src_install() {
+ newsbin rpc.dracd dracd
+ dosbin "${FILESDIR}/drac_rotate"
+
+ dolib.a libdrac.a
+
+ newinitd "${FILESDIR}/dracd.rc6" dracd
+
+ dodoc Changes COPYRIGHT INSTALL PORTING README
+ newman rpc.dracd.1m dracd.8
+ doman dracauth.3
+
+ keepdir /var/lib/drac
+ fowners mail:mail /var/lib/drac
+ fperms 750 /var/lib/drac
+}
+
+pkg_postinst() {
+ elog "After configuring your IMAP/POP server for DRAC, and starting the"
+ elog "dracd server (e.g. by running /etc/init.d/dracd start) you can"
+ elog "set up your MTA to check for authenticated hosts in:"
+ elog " /var/lib/drac/drac"
+ elog "Please see the MTA documentation for more details."
+ echo
+}
diff --git a/mail-client/drac/files/drac_rotate b/mail-client/drac/files/drac_rotate
new file mode 100644
index 00000000000..45cce3a4dc4
--- /dev/null
+++ b/mail-client/drac/files/drac_rotate
@@ -0,0 +1,99 @@
+#!/bin/bash
+
+usage="[/path/to/real_file.db [/path/to/link_file.db]] [--debug] [--verbose]"
+help="
+A DRAC-enabled MTA performs better by using a seldomly, instead of
+constantly changing, access database. This script creates a link
+to a snapshotted database which the MTA can use. It is designed
+to run every minute from cron. Here is an example cron configuration:
+
+ * * * * * $(basename "$0")
+"
+
+for i in $* ; do
+ case "${i}" in
+ --verbose | -verbose | -v | --debug | -debug | -d)
+ debug=1
+ ;;
+ --usage | -usage | -u )
+ echo "usage: $(basename "$0") ${usage}"
+ exit 1
+ ;;
+ --help | -help | -h)
+ echo "${help}"
+ echo "usage: $(basename "$0") ${usage}"
+ echo
+ exit 1
+ ;;
+ *)
+ args[${#args}]="${i}"
+ ;;
+ esac
+done
+
+debug_print() {
+ if [ -n "${debug}" ] ; then
+ if [ -n "$2" ] ; then
+ echo -n "$1 ... "
+ else
+ echo "$1"
+ fi
+ fi
+}
+
+check_result() {
+ if [ "$?" -ne 0 ] ; then
+ debug_print
+ if [ -n "$1" ] ; then
+ echo "$(basename "$0"): $1, exiting ..."
+ else
+ echo "$(basename "$0"): exiting ..."
+ fi
+ exit 1
+ fi
+}
+
+debug_print "finding current minute" "1"
+min="$(date '+%-M')" && \
+[ -n "${min}" ]
+check_result "can't determine current minute"
+debug_print "success! (${min})"
+
+debug_print "finding drac database file" "1"
+real="${args[0]:-/var/lib/drac/drac.db}" && \
+[ -n "${real}" -a -f "${real}" ]
+check_result "can't find drac database file"
+debug_print "success! (${real})"
+
+debug_print "setting drac link file" "1"
+link="${args[1]:-/var/lib/drac/drac_link.db}" && \
+[ -n "${link}" -a -d "$(dirname "${link}")" ]
+check_result "can't set drac link file"
+debug_print "success! (${link})"
+
+debug_print "finding new drac database" "1"
+new="${real}$(( ${min} % 3 ))" && \
+[ "${new}" != "${real}" ]
+check_result "can't set new drac database"
+debug_print "success! (${new})"
+
+debug_print "finding old drac database" "1"
+old="${real}$(( (${min} + 1) % 3 ))" && \
+[ "${old}" != "${real}" -a "${old}" != "${new}" ]
+check_result "can't set old drac database"
+debug_print "success! (${old})"
+
+debug_print "creating new drac database" "1"
+cp "${real}" "${new}"
+check_result "can't create new drac database"
+debug_print "success! ($(basename "${real}") -> $(basename "${new}"))"
+
+debug_print "linking new drac database" "1"
+ln -sf "${new}" "${link}"
+check_result "can't link new drac database"
+debug_print "success! ($(basename "${new}") -> $(basename "${link}"))"
+
+debug_print "removing old drac database" "1"
+rm -f "${old}"
+check_result "can't remove old drac database"
+debug_print "success! (${old})"
diff --git a/mail-client/drac/files/dracd.rc6 b/mail-client/drac/files/dracd.rc6
new file mode 100644
index 00000000000..98a9de51cf1
--- /dev/null
+++ b/mail-client/drac/files/dracd.rc6
@@ -0,0 +1,21 @@
+#!/sbin/runscript
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+depend() {
+ need net portmap
+}
+
+start() {
+ ebegin "Starting dracd"
+ start-stop-daemon --start --quiet --exec /usr/sbin/dracd \
+ -- -i -e 5 /var/lib/drac/drac.db
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping dracd"
+ start-stop-daemon --stop --quiet --exec /usr/sbin/dracd
+ eend $?
+}
diff --git a/mail-client/drac/metadata.xml b/mail-client/drac/metadata.xml
new file mode 100644
index 00000000000..51f94e3fbe0
--- /dev/null
+++ b/mail-client/drac/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>net-mail</herd>
+</pkgmetadata>