From 1c7c233776462a5639f81f53bf7a293cc6e131a8 Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Wed, 30 Jul 2014 13:07:22 +0000 Subject: [PATCH] Copy archiveopteryx to -devel to make it easy to track development progress. Historically aox development is very reliable, but please be aware that this port does not track stable releases. --- mail/Makefile | 1 + mail/archiveopteryx-devel/Makefile | 63 +++++++++++++++++ mail/archiveopteryx-devel/distinfo | 2 + .../files/archiveopteryx.in | 70 +++++++++++++++++++ mail/archiveopteryx-devel/files/patch-Jamfile | 47 +++++++++++++ .../files/patch-Jamsettings | 55 +++++++++++++++ .../files/patch-installer_Jamfile | 14 ++++ .../files/patch-schema_Jamfile | 14 ++++ .../files/patch-scripts_Jamfile | 14 ++++ .../archiveopteryx-devel/files/pkg-message.in | 23 ++++++ mail/archiveopteryx-devel/pkg-descr | 8 +++ mail/archiveopteryx-devel/pkg-plist | 27 +++++++ 12 files changed, 338 insertions(+) create mode 100644 mail/archiveopteryx-devel/Makefile create mode 100644 mail/archiveopteryx-devel/distinfo create mode 100644 mail/archiveopteryx-devel/files/archiveopteryx.in create mode 100644 mail/archiveopteryx-devel/files/patch-Jamfile create mode 100644 mail/archiveopteryx-devel/files/patch-Jamsettings create mode 100644 mail/archiveopteryx-devel/files/patch-installer_Jamfile create mode 100644 mail/archiveopteryx-devel/files/patch-schema_Jamfile create mode 100644 mail/archiveopteryx-devel/files/patch-scripts_Jamfile create mode 100644 mail/archiveopteryx-devel/files/pkg-message.in create mode 100644 mail/archiveopteryx-devel/pkg-descr create mode 100644 mail/archiveopteryx-devel/pkg-plist diff --git a/mail/Makefile b/mail/Makefile index d714209dc1d1..5041f61ac907 100644 --- a/mail/Makefile +++ b/mail/Makefile @@ -17,6 +17,7 @@ SUBDIR += anubis SUBDIR += archivemail SUBDIR += archiveopteryx + SUBDIR += archiveopteryx-devel SUBDIR += archivesmtp SUBDIR += archmbox SUBDIR += ask diff --git a/mail/archiveopteryx-devel/Makefile b/mail/archiveopteryx-devel/Makefile new file mode 100644 index 000000000000..8fc3491884a1 --- /dev/null +++ b/mail/archiveopteryx-devel/Makefile @@ -0,0 +1,63 @@ +# Created by: Ashish SHUKLA +# $FreeBSD$ + +PORTNAME= archiveopteryx +PORTVERSION= 3.2.99.20140730 +CATEGORIES= mail +PKGNAMESUFFIX= -devel + +MAINTAINER= feld@FreeBSD.org +COMMENT= Advanced PostgreSQL-based IMAP/POP server + +LICENSE= MIT + +BUILD_DEPENDS= jam:${PORTSDIR}/devel/jam + +USE_GITHUB= yes +GH_ACCOUNT= aox +GH_PROJECT= aox +GH_TAGNAME= ${GH_COMMIT} +GH_COMMIT= 39bdb8b + +USES= perl5 tar:bzip2 +USE_PERL5= build +USE_PGSQL= yes +WANT_PGSQL_VER= 91+ + +PORTDOCS= COPYING README bsd.txt + +SUB_FILES= pkg-message + +USE_RC_SUBR= ${PORTNAME} + +CONFLICTS= archiveopteryx-[0-9]* + +USERS= aox +GROUPS= aox +PLIST_SUB+= USERS="${USERS}" +PLIST_SUB+= GROUPS="${GROUPS}" + +JAM?= ${LOCALBASE}/bin/jam + +.include + +# force Clang when on FreeBSD 10+ +.if ${OSVERSION} >= 1000000 +JAMARG= "-sCLANG=1" +.endif + +post-patch: + @${GREP} -Rl '%%[[:alpha:]]\+%%' ${WRKSRC} |${XARGS} ${REINPLACE_CMD} \ + -e 's,%%PREFIX%%,${PREFIX},g' + ${REINPLACE_CMD} "s|INSTALLROOT ?= \"\" ;|INSTALLROOT = \"${STAGEDIR}\" ;|" ${WRKSRC}/Jamsettings + +do-build: + @cd ${WRKSRC} && ${JAM} ${JAMARG} + +do-install: + @cd ${WRKSRC} && ${JAM} ${JAMARG} install + +post-install: + @${CAT} ${PKGMESSAGE} + +.include diff --git a/mail/archiveopteryx-devel/distinfo b/mail/archiveopteryx-devel/distinfo new file mode 100644 index 000000000000..7be49a445b38 --- /dev/null +++ b/mail/archiveopteryx-devel/distinfo @@ -0,0 +1,2 @@ +SHA256 (archiveopteryx-3.2.99.20140730.tar.bz2) = b64824ad2f36cebd8636a32f4b7cf8fd72ee366f06cbd4db15e28fae7b0529ac +SIZE (archiveopteryx-3.2.99.20140730.tar.bz2) = 1798570 diff --git a/mail/archiveopteryx-devel/files/archiveopteryx.in b/mail/archiveopteryx-devel/files/archiveopteryx.in new file mode 100644 index 000000000000..cd7b8e76ad65 --- /dev/null +++ b/mail/archiveopteryx-devel/files/archiveopteryx.in @@ -0,0 +1,70 @@ +#!/bin/sh + +# $FreeBSD$ +# +# PROVIDE: archiveopteryx +# REQUIRE: login +# KEYWORD: shutdown +# +# Add the following lines to /etc/rc.conf.local or /etc/rc.conf +# to enable this service: +# +# archiveopteryx_enable (bool): Set to NO by default. +# Set it to YES to enable archiveopteryx. +# + +. /etc/rc.subr + +name=archiveopteryx +rcvar=archiveopteryx_enable + +load_rc_config $name + +archiveopteryx_enable=${archiveopteryx_enable:-"NO"} +pidfile=/var/run/${name}.pid +config_file=%%PREFIX%%/etc/archiveopteryx/archiveopteryx.conf +required_files=$config_file + +command=%%PREFIX%%/bin/aox +extra_commands=status +status_cmd="${command} show status" +start_cmd=do_start +start_precmd=do_prestart +stop_cmd=do_stop +restart_cmd=do_restart + +do_prestart() +{ + if [ ! -d /var/db/aox/jail ] ; then + install -d -o root -g wheel -m 001 /var/db/aox/jail + fi + + for i in /var/run/aox /var/db/aox/messages /var/db/aox/jail/var/run /var/db/aox/jail/messages ; do + if [ ! -d ${i} ] ; then + install -d -o aox -g aox ${i} ; + fi + done +} + +do_start() +{ + echo -n "Starting Archiveopteryx: " + ${command} start + echo "done." +} + +do_stop() +{ + echo -n "Stopping Archiveopteryx: " + ${command} stop + echo "done." +} + +do_restart() +{ + echo -n "Restarting Archiveopteryx: " + ${command} restart + echo "done." +} + +run_rc_command "$1" diff --git a/mail/archiveopteryx-devel/files/patch-Jamfile b/mail/archiveopteryx-devel/files/patch-Jamfile new file mode 100644 index 000000000000..ffece5428ecb --- /dev/null +++ b/mail/archiveopteryx-devel/files/patch-Jamfile @@ -0,0 +1,47 @@ +$FreeBSD$ + +--- Jamfile.orig 2013-11-27 03:31:12.000000000 -0600 ++++ Jamfile 2013-11-28 11:35:43.262503298 -0600 +@@ -47,10 +47,10 @@ + } + + +-Prepare $(INSTALLROOT)$(JAILDIR) ; +-Prepare $(INSTALLROOT)$(JAILDIR)/var/run ; +-Prepare $(INSTALLROOT)$(MESSAGEDIR) ; +-Prepare $(INSTALLROOT)$(PIDFILEDIR) ; ++#Prepare $(INSTALLROOT)$(JAILDIR) ; ++#Prepare $(INSTALLROOT)$(JAILDIR)/var/run ; ++#Prepare $(INSTALLROOT)$(MESSAGEDIR) ; ++#Prepare $(INSTALLROOT)$(PIDFILEDIR) ; + Prepare $(INSTALLROOT)$(CONFIGDIR) ; + Prepare $(INSTALLROOT)$(LIBDIR)/contrib ; + if ( $(LOGFILE:D) != "" && $(LOGFILE:D) != "syslog" ) { +@@ -59,14 +59,14 @@ + + + # if we make JAILDIR, we should chmod it so noone can read it: +-MODE on $(INSTALLROOT)$(JAILDIR) = 701 ; +-Chmod $(INSTALLROOT)$(JAILDIR) ; ++#MODE on $(INSTALLROOT)$(JAILDIR) = 701 ; ++#Chmod $(INSTALLROOT)$(JAILDIR) ; + + # if we make MESSAGEDIR, we should chmod it similarly. AOXUSER needs to + # be able to write to it, but we can't chown here, because the user may + # not exist yet. +-MODE on $(INSTALLROOT)$(MESSAGEDIR) = 700 ; +-Chmod $(INSTALLROOT)$(MESSAGEDIR) ; ++#MODE on $(INSTALLROOT)$(MESSAGEDIR) = 700 ; ++#Chmod $(INSTALLROOT)$(MESSAGEDIR) ; + + + actions Message { +@@ -90,7 +90,7 @@ + EOM + } + +-Message install ; ++#Message install ; + + + if $(BUILDDOC) { diff --git a/mail/archiveopteryx-devel/files/patch-Jamsettings b/mail/archiveopteryx-devel/files/patch-Jamsettings new file mode 100644 index 000000000000..f9113684a759 --- /dev/null +++ b/mail/archiveopteryx-devel/files/patch-Jamsettings @@ -0,0 +1,55 @@ +$FreeBSD$ + +--- Jamsettings.orig 2012-07-10 08:45:55.000000000 -0500 ++++ Jamsettings 2012-12-26 18:19:56.434350066 -0600 +@@ -12,7 +12,7 @@ + + # A convenient prefix used by most directory and file names,. + # +-PREFIX ?= /usr/local/archiveopteryx ; ++PREFIX ?= %%PREFIX%% ; + + # The directory for user and sysadmin tools + # +@@ -28,32 +28,34 @@ + + # Supporting files + # +-LIBDIR = $(PREFIX)/lib ; ++LIBDIR = $(PREFIX)/libexec/aox ; ++ ++LIBDATADIR = $(PREFIX)/libdata/aox ; + + # The startup/shutdown script's directory + # +-INITDIR = $(LIBDIR) ; ++INITDIR = $(PREFIX)/etc/rc.d ; + + # Where to write pid files for the servers + # +-PIDFILEDIR ?= $(PREFIX)/lib/pidfiles ; ++PIDFILEDIR ?= /var/run/aox ; + + # The servers chroot to an empty, unreadable jail directory at + # startup. + # +-JAILDIR = $(PREFIX)/jail ; ++JAILDIR = /var/db/aox/jail ; + + # This is the default message-copy-directory. + # +-MESSAGEDIR = $(JAILDIR)/messages ; ++MESSAGEDIR = /var/db/aox/messages ; + + # The directory where the configuration file is located. + # +-CONFIGDIR = $(PREFIX) ; ++CONFIGDIR = $(PREFIX)/etc/archiveopteryx ; + + # The directory where the README and other files are installed. + # +-READMEDIR = $(PREFIX) ; ++READMEDIR = $(PREFIX)/share/doc/archiveopteryx ; + + # The log file's default name. (This can be a file name or syslog/x, + # where x is a facility.) diff --git a/mail/archiveopteryx-devel/files/patch-installer_Jamfile b/mail/archiveopteryx-devel/files/patch-installer_Jamfile new file mode 100644 index 000000000000..4fa8d1a8bb37 --- /dev/null +++ b/mail/archiveopteryx-devel/files/patch-installer_Jamfile @@ -0,0 +1,14 @@ + +$FreeBSD$ + +--- installer/Jamfile.orig ++++ installer/Jamfile +@@ -5,7 +5,7 @@ + Build installer : installer.cpp ; + + ObjectDefines installer.cpp : +- LIBDIR='\"$(LIBDIR)\"' ++ LIBDIR='\"$(LIBDATADIR)\"' + CONFIGDIR='\"$(CONFIGDIR)\"' + LOGFILE='\"$(LOGFILE)\"' + LOGFILEMODE='\"$(LOGFILEMODE)\"' diff --git a/mail/archiveopteryx-devel/files/patch-schema_Jamfile b/mail/archiveopteryx-devel/files/patch-schema_Jamfile new file mode 100644 index 000000000000..b5fb640c2a56 --- /dev/null +++ b/mail/archiveopteryx-devel/files/patch-schema_Jamfile @@ -0,0 +1,14 @@ + +$FreeBSD$ + +--- schema/Jamfile.orig ++++ schema/Jamfile +@@ -9,7 +9,7 @@ + SEARCH on $(<) = $(SEARCH_SOURCE) ; + EngraveConfig $(e) : $(<) ; + +- InstallFile $(INSTALLROOT)$(LIBDIR) : $(e) ; ++ InstallFile $(INSTALLROOT)$(LIBDATADIR) : $(e) ; + } + + SchemaFile schema.pg ; diff --git a/mail/archiveopteryx-devel/files/patch-scripts_Jamfile b/mail/archiveopteryx-devel/files/patch-scripts_Jamfile new file mode 100644 index 000000000000..bdf3adf05fd8 --- /dev/null +++ b/mail/archiveopteryx-devel/files/patch-scripts_Jamfile @@ -0,0 +1,14 @@ + +$FreeBSD$ + +--- scripts/Jamfile.orig ++++ scripts/Jamfile +@@ -15,7 +15,7 @@ + } + + +-ShellScript archiveopteryx ; ++# ShellScript archiveopteryx ; + + + rule ContribScript { diff --git a/mail/archiveopteryx-devel/files/pkg-message.in b/mail/archiveopteryx-devel/files/pkg-message.in new file mode 100644 index 000000000000..c8f21fb325a2 --- /dev/null +++ b/mail/archiveopteryx-devel/files/pkg-message.in @@ -0,0 +1,23 @@ +******************************************************************************** + +Please install PostgreSQL client/server (databases/postgresqlXX-client +and databases/postgresqlXX-server) separately. The latest 9.x version +is recommended but any version newer than 9.1.0 should work. + +To set up the database and generate a configuration file, run +%%PREFIX%%/libexec/aox/installer as root. The new configuration file will be in +%%ETCDIR%%/archiveopteryx.conf. + +%%PREFIX%%/libexec/aox/installer -n shows what it would do, without making any +changes. (If you are just upgrading from an older version, +%%PREFIX%%/bin/aox upgrade schema may be enough. +%%PREFIX%%/bin/aox upgrade schema -n shows what it would do, without making +any changes.) + +The logfile is syslog/mail by default. + +If you have any problems, the FAQ is at +http://www.archiveopteryx.org/faq/ and you can always ask +info@aox.org for help. + +******************************************************************************** diff --git a/mail/archiveopteryx-devel/pkg-descr b/mail/archiveopteryx-devel/pkg-descr new file mode 100644 index 000000000000..7ea23215088e --- /dev/null +++ b/mail/archiveopteryx-devel/pkg-descr @@ -0,0 +1,8 @@ +Archiveopteryx is an Internet mail server, optimised to support +long-term archival storage. It seeks to make it practical not only to +manage large archives, but to use the information therein on a daily +basis instead of relegating it to offline storage. + +This is the development version. + +WWW: http://www.archiveopteryx.org/ diff --git a/mail/archiveopteryx-devel/pkg-plist b/mail/archiveopteryx-devel/pkg-plist new file mode 100644 index 000000000000..4675590df747 --- /dev/null +++ b/mail/archiveopteryx-devel/pkg-plist @@ -0,0 +1,27 @@ +bin/aox +bin/aoxdeliver +bin/aoxexport +bin/aoximport +libdata/aox/downgrades +libdata/aox/field-names +libdata/aox/flag-names +libdata/aox/fts.pg +libdata/aox/schema.pg +libexec/aox/contrib/rrdglue +libexec/aox/installer +man/man5/aoxsuper.conf.5.gz +man/man5/archiveopteryx.conf.5.gz +man/man8/aox.8.gz +man/man8/aoxdeliver.8.gz +man/man8/aoximport.8.gz +man/man8/archiveopteryx.8.gz +man/man8/installer.8.gz +man/man8/logd.8.gz +man/man8/recorder.8.gz +sbin/archiveopteryx +sbin/logd +sbin/recorder +@dirrm libexec/aox/contrib +@dirrm libexec/aox +@dirrm libdata/aox +@dirrm %%ETCDIR%%