aboutsummaryrefslogtreecommitdiff
path: root/sysutils/qjail
diff options
context:
space:
mode:
authorChris Rees <crees@FreeBSD.org>2011-06-11 21:22:20 +0000
committerChris Rees <crees@FreeBSD.org>2011-06-11 21:22:20 +0000
commit7b182efc57673224fa0a0df9288e053f802e09ee (patch)
treef0221b516f42a4d1427d73bf2f01bbd3e5afb141 /sysutils/qjail
parentce07f86b848b688fed1ae00e302ef6a2ec122596 (diff)
downloadports-7b182efc57673224fa0a0df9288e053f802e09ee.tar.gz
ports-7b182efc57673224fa0a0df9288e053f802e09ee.zip
Qjail [ q = quick ] is a 4th generation wrapper for the basic chroot jail
system that includes security and performance enhancements. Plus a new level of "user friendliness" enhancements dealing with deploying just a few jails or large jail environments consisting of 100's of jails. Qjail requires no knowledge of the jail command usage. It uses "nullfs" for read-only system binaries, sharing one copy of them with all the jails. Uses "mdconfig" to create sparse image jails. Sparse image jails provide a method to limit the total disk space a jail can consume, while only occupying the physical disk space of the sum size of the files in the image jail. Ability to assign ip address with their network device name, so aliases are auto created on jail start and auto removed on jail stop. Ability to create "ZONE"s of identical qjail systems, each with their own group of jails. Ability to designate a portion of the jail name as a group prefix so the command being executed will apply to only those jail names matching that prefix. WWW: http://sourceforge.net/projects/qjail/ http://qjail.sourceforge.net/ PR: ports/148777 Submitted by: Joe Barbish <joeb@a1poweruser.com> Approved by: rene (mentor)
Notes
Notes: svn path=/head/; revision=275405
Diffstat (limited to 'sysutils/qjail')
-rw-r--r--sysutils/qjail/Makefile43
-rw-r--r--sysutils/qjail/distinfo2
-rw-r--r--sysutils/qjail/pkg-descr23
-rw-r--r--sysutils/qjail/pkg-message5
-rw-r--r--sysutils/qjail/pkg-plist26
5 files changed, 99 insertions, 0 deletions
diff --git a/sysutils/qjail/Makefile b/sysutils/qjail/Makefile
new file mode 100644
index 000000000000..f92fd877cb93
--- /dev/null
+++ b/sysutils/qjail/Makefile
@@ -0,0 +1,43 @@
+# New ports collection makefile for: qjail
+# Date created: July 22 2010
+# Whom: Joe Barbish
+#
+# $FreeBSD$
+
+PORTNAME= qjail
+PORTVERSION= 1.0
+CATEGORIES= sysutils
+MASTER_SITES= SF/${PORTNAME}
+
+MAINTAINER= qjail@a1poweruser.com
+COMMENT= Utility to quickly deploy and manage large numbers of jails
+
+LICENSE= BSD
+
+USE_BZIP2= yes
+NO_BUILD= yes
+
+MAN8= qjail.8 qjail-intro.8 qjail.conf.8
+
+post-patch:
+ @${FIND} ${WRKSRC} -type f | ${XARGS} ${REINPLACE_CMD} \
+ -e 's|/usr/local|${PREFIX}|'
+ @${FIND} ${WRKSRC}/examples -name '*.bak' -delete
+
+do-install:
+ @${INSTALL_SCRIPT} ${WRKSRC}/qjail ${PREFIX}/bin
+ @${INSTALL_SCRIPT} ${WRKSRC}/qjail2 ${PREFIX}/etc/rc.d
+ @${INSTALL_SCRIPT} ${WRKSRC}/qjail-jail2 ${PREFIX}/etc/rc.d
+ @${INSTALL_DATA} ${WRKSRC}/qjail.conf.sample ${PREFIX}/etc
+ @${INSTALL_MAN} ${WRKSRC}/qjail.8 ${MAN8PREFIX}/man/man8
+ @${INSTALL_MAN} ${WRKSRC}/qjail-intro.8 ${MAN8PREFIX}/man/man8
+ @${INSTALL_MAN} ${WRKSRC}/qjail.conf.8 ${MAN8PREFIX}/man/man8
+# note examples are mandatory. qjail will not function without them
+ @${MKDIR} ${EXAMPLESDIR}
+ @(cd ${WRKSRC}/examples/ \
+ && ${COPYTREE_SHARE} \* ${EXAMPLESDIR})
+
+post-install:
+ @${CAT} ${PKGMESSAGE}
+
+.include <bsd.port.mk>
diff --git a/sysutils/qjail/distinfo b/sysutils/qjail/distinfo
new file mode 100644
index 000000000000..d474e63fb731
--- /dev/null
+++ b/sysutils/qjail/distinfo
@@ -0,0 +1,2 @@
+SHA256 (qjail-1.0.tar.bz2) = c28fd8663f96c5bb03f6a497d7a1953ed7ecc2f8f2690ed17a8760f73a10cf94
+SIZE (qjail-1.0.tar.bz2) = 40214
diff --git a/sysutils/qjail/pkg-descr b/sysutils/qjail/pkg-descr
new file mode 100644
index 000000000000..4f86d56bb462
--- /dev/null
+++ b/sysutils/qjail/pkg-descr
@@ -0,0 +1,23 @@
+Qjail [ q = quick ] is a 4th generation wrapper for the basic chroot jail
+system that includes security and performance enhancements. Plus a new level
+of "user friendliness" enhancements dealing with deploying just a few jails or
+large jail environments consisting of 100's of jails.
+
+Qjail requires no knowledge of the jail command usage. It uses "nullfs" for
+read-only system binaries, sharing one copy of them with all the jails.
+
+Uses "mdconfig" to create sparse image jails. Sparse image jails provide a
+method to limit the total disk space a jail can consume, while only occupying
+the physical disk space of the sum size of the files in the image jail.
+
+Ability to assign ip address with their network device name,
+so aliases are auto created on jail start and auto removed on jail stop.
+
+Ability to create "ZONE"s of identical qjail systems, each with their own
+group of jails.
+
+Ability to designate a portion of the jail name as a group prefix so the
+command being executed will apply to only those jail names matching that prefix.
+
+WWW: http://sourceforge.net/projects/qjail/
+ http://qjail.sourceforge.net/
diff --git a/sysutils/qjail/pkg-message b/sysutils/qjail/pkg-message
new file mode 100644
index 000000000000..f7db3991750e
--- /dev/null
+++ b/sysutils/qjail/pkg-message
@@ -0,0 +1,5 @@
+Use the qjail utility to deploy small or large numbers of jails quickly.
+
+First issue "rehash" command to enable the qjail command (if using csh).
+Then issue "man qjail-intro" to read the qjail introduction.
+After reading that do "man qjail" for the usage details.
diff --git a/sysutils/qjail/pkg-plist b/sysutils/qjail/pkg-plist
new file mode 100644
index 000000000000..d1076ddd0757
--- /dev/null
+++ b/sysutils/qjail/pkg-plist
@@ -0,0 +1,26 @@
+bin/qjail
+etc/qjail.conf.sample
+etc/rc.d/qjail-jail2
+etc/rc.d/qjail2
+%%EXAMPLESDIR%%/default/qjail.flavor
+%%EXAMPLESDIR%%/default/etc/make.conf
+%%EXAMPLESDIR%%/default/etc/periodic.conf
+%%EXAMPLESDIR%%/default/etc/rc.conf
+%%EXAMPLESDIR%%/default/usr/local/etc/sudoers
+%%EXAMPLESDIR%%/nullmailer-example/qjail.flavor
+%%EXAMPLESDIR%%/nullmailer-example/etc/rc.conf
+%%EXAMPLESDIR%%/nullmailer-example/etc/mail/mailer.conf
+%%EXAMPLESDIR%%/nullmailer-example/usr/local/etc/nullmailer/remotes
+@dirrm %%EXAMPLESDIR%%/default/usr/local/etc
+@dirrm %%EXAMPLESDIR%%/default/usr/local
+@dirrm %%EXAMPLESDIR%%/default/usr
+@dirrm %%EXAMPLESDIR%%/default/etc
+@dirrm %%EXAMPLESDIR%%/default
+@dirrm %%EXAMPLESDIR%%/nullmailer-example/usr/local/etc/nullmailer
+@dirrm %%EXAMPLESDIR%%/nullmailer-example/usr/local/etc
+@dirrm %%EXAMPLESDIR%%/nullmailer-example/usr/local
+@dirrm %%EXAMPLESDIR%%/nullmailer-example/usr
+@dirrm %%EXAMPLESDIR%%/nullmailer-example/etc/mail
+@dirrm %%EXAMPLESDIR%%/nullmailer-example/etc
+@dirrm %%EXAMPLESDIR%%/nullmailer-example
+@dirrm %%EXAMPLESDIR%%