otsuneさんのezjail-adminパッチ

otsuneさんのezjail-adminパッチFreeBSD 7.0-RELEASEに対応させた物を書きました。
uname -rでメジャーバージョンをチェックし、7以下の場合はmakeにSRCCONFを渡さないようになっています。

xrea.comの方にパッチファイルとしてアップしてあるので、必要な方はどうぞ。
http://cocelo.s201.xrea.com/patch/ezjail-2.1-ezjail-admin.patch

使い方は適当なディレクトリでfetch後、${PORTSDIR}/sysutils/ezjail/files/patch-ezjail-adminとして配置しておけばパッチがあたります。

--- ezjail-admin.orig	Tue Jul 31 07:38:40 2007
+++ ezjail-admin	Tue Mar 25 18:42:18 2008
@@ -19,10 +19,12 @@
 ezjail_jailfull=${ezjail_jailfull:-"${ezjail_jaildir}/fulljail"}
 ezjail_jailtemp=${ezjail_jailtemp:-"${ezjail_jaildir}/ezjailtemp"}
 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_srcconf=${ezjail_srcconf:-"/etc/src.conf"}
 ezjail_uglyperlhack=${ezjail_uglyperlhack:-"YES"}
 
 ezjail_mount_enable=${ezjail_mount_enable:-"YES"}
 ezjail_devfs_enable=${ezjail_devfs_enable:-"YES"}
 ezjail_devfs_ruleset=${ezjail_devfs_ruleset:-"devfsrules_jail"}
@@ -35,11 +37,11 @@
 # Synopsis messages
 ezjail_usage_ezjailadmin="Usage: ${ezjail_admin} [config|create|delete|install|list|update] {params}"
 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] [-r src.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"
 
 ################################
 # End of variable initialization
@@ -508,13 +510,15 @@
 setup|update)
   # Clean variables, prevent polution
   unset ezjail_provideports
   ezjail_installaction="world"
 
-  shift; while getopts :ipPs: arg; do case ${arg} in
+  shift; while getopts :ipPs:c:r: arg; do case ${arg} in
     i) ezjail_installaction="installworld";;
     s) ezjail_sourcetree="${OPTARG}";;
+    c) ezjail_makeconf="${OPTARG}";;
+    r) ezjail_srcconf="${OPTARG}";;
     p) ezjail_provideports="YES";;
     P) ezjail_provideports="YES"; ezjail_installaction="none";;
     ?) exerr ${ezjail_usage_update};;
   esac; done; shift $(( ${OPTIND} - 1 ))
 
@@ -534,12 +538,17 @@
     # However those may have failed
     [ -d "${ezjail_jailfull}" ] && chflags -R noschg ${ezjail_jailfull} && rm -rf ${ezjail_jailfull}
     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."
+    if [ `uname -r | sed -e 's/.[0-9]*-.*//'` -gt 7 ]; then
+      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 __MAKE_CONF=${ezjail_makeconf} distribution || exerr "make distribution failed."
+    else
+      cd ${ezjail_sourcetree} && env DESTDIR=${ezjail_jailfull} make __MAKE_CONF=${ezjail_makeconf} SRCCONF=${ezjail_srcconf} ${ezjail_installaction} || exerr "make ${ezjail_installaction} failed."
+      cd ${ezjail_sourcetree}/etc && env DESTDIR=${ezjail_jailfull} make __MAKE_CONF=${ezjail_makeconf} SRCCONF=${ezjail_srcconf} distribution || exerr "make distribution failed."
+    fi
     ezjail_splitworld
 
   fi # installaction="none"
 
   # Provide a copy of ports tree in basejail