portsのsysutils/ezjailでmake.confを指定できるパッチ

追記 2008/03/25
FreeBSD 7.0-RELEASE対応改訂版をid:cocelo:20080325:1206447371にエントリーしました。
FreeBSD 7.0-RELEASEをお使いの方はid:cocelo:20080325:1206447371のパッチをお使いください。


先日のコメントでezjail-admin update -c /etc/make.conf.jailとかするとエラーになるのでは?と指摘されたので書き直したパッチ。
xrea.comにパッチを置いてあるので使いたい方はfetchなりwgetなりでどうぞ。
元ネタはotsuneさんのezjail - otsune FreeStyleWikiです。

--- ezjail-2.1/ezjail-admin.orig	2008-02-24 15:57:37.000000000 +0900
+++ ezjail-2.1/ezjail-admin	2008-02-24 16:03:06.000000000 +0900
@@ -21,6 +21,7 @@
 ezjail_flavours=${ezjail_flavours:-"${ezjail_jaildir}/flavours"}
 ezjail_portscvsroot=${ezjail_portscvsroot:-":pserver:anoncvs@anoncvs.at.FreeBSD.org:/home/ncvs"}
 ezjail_sourcetree=${ezjail_sourcetree:-"/usr/src"}
+ezjail_makeconf=${ezjail_makeconf:-"/etc/make.conf"}
 ezjail_uglyperlhack=${ezjail_uglyperlhack:-"YES"}
 
 ezjail_mount_enable=${ezjail_mount_enable:-"YES"}
@@ -37,7 +38,7 @@
 ezjail_usage_install="Usage: ${ezjail_admin} install [-mps] [-h host] [-r release]"
 ezjail_usage_create="Usage: ${ezjail_admin} create [-xbi] [-f flavour] [-r jailroot] [-s size] [-c bde|eli] [-C args] jailname jailip"
 ezjail_usage_delete="Usage: ${ezjail_admin} delete [-w] jailname"
-ezjail_usage_update="Usage: ${ezjail_admin} update [-s sourcetree] [-i] [-pP]"
+ezjail_usage_update="Usage: ${ezjail_admin} update [-s sourcetree] [-c make.conf] [-i] [-pP]"
 ezjail_usage_config="Usage: ${ezjail_admin} config [-r run|norun] [-n newname] [-i attach|detach|fsck] jailname"
 ezjail_usage_list="Usage: ${ezjail_admin} list"
 
@@ -510,9 +511,10 @@
   unset ezjail_provideports
   ezjail_installaction="world"
 
-  shift; while getopts :ipPs: arg; do case ${arg} in
+  shift; while getopts :ipPsc: arg; do case ${arg} in
     i) ezjail_installaction="installworld";;
     s) ezjail_sourcetree="${OPTARG}";;
+    c) ezjail_makeconf="${OPTARG}";;
     p) ezjail_provideports="YES";;
     P) ezjail_provideports="YES"; ezjail_installaction="none";;
     ?) exerr ${ezjail_usage_update};;
@@ -536,8 +538,8 @@
     mkdir -p ${ezjail_jailfull} || exerr "Cannot create temporary Jail directory."
 
     # make and setup our world, then split basejail and newjail
-    cd ${ezjail_sourcetree} && env DESTDIR=${ezjail_jailfull} make ${ezjail_installaction} || exerr "make ${ezjail_installaction} failed."
-    cd ${ezjail_sourcetree}/etc && env DESTDIR=${ezjail_jailfull} make distribution || exerr "make distribution failed."
+    cd ${ezjail_sourcetree} && env DESTDIR=${ezjail_jailfull} make __MAKE_CONF=${ezjail_makeconf} ${ezjail_installaction} || exerr "make ${ezjail_installaction} failed."
+    cd ${ezjail_sourcetree}/etc && env DESTDIR=${ezjail_jailfull} make distribution __MAKE_CONF=${ezjail_makeconf} || exerr "make distribution failed."
     ezjail_splitworld
 
   fi # installaction="none"