From skv@FreeBSD.org  Fri Jun  9 16:23:53 2006
Return-Path: <skv@FreeBSD.org>
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id 290A316A41A
	for <FreeBSD-gnats-submit@freebsd.org>; Fri,  9 Jun 2006 16:23:53 +0000 (UTC)
	(envelope-from skv@FreeBSD.org)
Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21])
	by mx1.FreeBSD.org (Postfix) with ESMTP id F060743D72
	for <FreeBSD-gnats-submit@freebsd.org>; Fri,  9 Jun 2006 16:23:52 +0000 (GMT)
	(envelope-from skv@FreeBSD.org)
Received: from freefall.freebsd.org (skv@localhost [127.0.0.1])
	by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id k59GNqnd046316
	for <FreeBSD-gnats-submit@freebsd.org>; Fri, 9 Jun 2006 16:23:52 GMT
	(envelope-from skv@freefall.freebsd.org)
Received: (from skv@localhost)
	by freefall.freebsd.org (8.13.4/8.13.4/Submit) id k59GNqQe046315;
	Fri, 9 Jun 2006 16:23:52 GMT
	(envelope-from skv)
Message-Id: <200606091623.k59GNqQe046315@freefall.freebsd.org>
Date: Fri, 9 Jun 2006 16:23:52 GMT
From: skv@freebsd.org
Reply-To: skv@freebsd.org
To: FreeBSD-gnats-submit@freebsd.org
Subject: Templatize 'jail_fstab' in /etc/rc.d/jail 
X-Send-Pr-Version: 3.2

>Number:         98758
>Category:       conf
>Synopsis:       [jail] [patch] Templatize 'jail_fstab' in /etc/rc.d/jail
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    bz
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Fri Jun 09 16:30:07 GMT 2006
>Closed-Date:    Sat Nov 29 17:42:35 UTC 2008
>Last-Modified:  Sat Nov 29 17:42:35 UTC 2008
>Originator:     Sergey Skvortsov
>Release:        FreeBSD 6.1-STABLE i386
>Organization:
<Organization of PR author (multiple lines)>
>Environment:

>Description:

Allow define template for jail's fstab.

>How-To-Repeat:

/etc/rc.conf.d/jail:
jail_fstab="/etc/fstab.jail"            # TEMPLATE
jail_list="host1 host2"

jail_host1_rootdir="/data/jails/host1"
jail_host2_rootdir="/data/jails/host2"

/etc/fstab.jail:
# Device        Mountpoint              FStype  Options         Dump    Pass#
/usr/ports      %%JAIL_ROOT%%/usr/ports nullfs  rw              0       0

Mounts will be maded accordingly to the template:

/usr/ports on /data/jails/host1/usr/ports (nullfs, local)
/usr/ports on /data/jails/host2/usr/ports (nullfs, local)

>Fix:

--- jail.orig	Fri Jun  9 20:04:50 2006
+++ jail	Fri Jun  9 20:08:22 2006
@@ -150,7 +150,8 @@
 	fi
 	if checkyesno _mount; then
 		[ -f "${_fstab}" ] || warn "${_fstab} does not exist"
-		umount -a -F "${_fstab}" >/dev/null 2>&1
+		sed -e "s=%%JAIL_ROOT%%=${_rootdir}=" "${_fstab}" | \
+			umount -a -F /dev/fd/0 >/dev/null 2>&1
 	fi
 }
 
@@ -183,7 +184,8 @@
 			if [ ! -f "${_fstab}" ]; then
 				err 3 "$name: ${_fstab} does not exist"
 			fi
-			mount -a -F "${_fstab}"
+			sed -e "s=%%JAIL_ROOT%%=${_rootdir}=" "${_fstab}" | \
+				mount -a -F /dev/fd/0
 		fi
 		if checkyesno _devfs; then
 			# If devfs is already mounted here, skip it.
>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->freebsd-rc 
Responsible-Changed-By: linimon 
Responsible-Changed-When: Fri Jun 9 18:14:17 UTC 2006 
Responsible-Changed-Why:  
Over to maintainer(s). 

http://www.freebsd.org/cgi/query-pr.cgi?pr=98758 
Responsible-Changed-From-To: freebsd-rc->flz 
Responsible-Changed-By: flz 
Responsible-Changed-When: Mon Jun 26 18:57:58 UTC 2006 
Responsible-Changed-Why:  
Grab. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=98758 
Responsible-Changed-From-To: flz->freebsd-rc 
Responsible-Changed-By: flz 
Responsible-Changed-When: Mon Sep 25 23:01:16 UTC 2006 
Responsible-Changed-Why:  
Submitter refused my own patch, and I don't have any particular 
interest in this matter. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=98758 
State-Changed-From-To: open->closed 
State-Changed-By: bz 
State-Changed-When: Sat Nov 29 17:40:26 UTC 2008 
State-Changed-Why:  
Our startup scripts are no template system or management 
framework. Please use something from ports or elsewhere 
to manage jails if you want features like this. 


Responsible-Changed-From-To: freebsd-rc->bz 
Responsible-Changed-By: bz 
Responsible-Changed-When: Sat Nov 29 17:40:26 UTC 2008 
Responsible-Changed-Why:  
I'll track possible follow-ups. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=98758 
>Unformatted:
