aboutsummaryrefslogtreecommitdiff
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
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
-rw-r--r--sysutils/Makefile1
-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
6 files changed, 100 insertions, 0 deletions
diff --git a/sysutils/Makefile b/sysutils/Makefile
index 918ce900753b..cc123a634e21 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -682,6 +682,7 @@
SUBDIR += py-zfs
SUBDIR += pydf
SUBDIR += pyrenamer
+ SUBDIR += qjail
SUBDIR += qlogtools
SUBDIR += qpxtool
SUBDIR += quicksynergy
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%%