From 73c420eefc3b2360fcd0f3374eb888a6e221a23d Mon Sep 17 00:00:00 2001 From: daniceexi Date: Thu, 12 Jun 2014 09:04:39 -0400 Subject: [PATCH] make subvars could handle the var in #INCLUDE --- xCAT-server/lib/perl/xCAT/Template.pm | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/xCAT-server/lib/perl/xCAT/Template.pm b/xCAT-server/lib/perl/xCAT/Template.pm index b5822e0c3..fc1eb4097 100644 --- a/xCAT-server/lib/perl/xCAT/Template.pm +++ b/xCAT-server/lib/perl/xCAT/Template.pm @@ -154,6 +154,25 @@ sub subvars { #do *all* includes, recursive and all my $doneincludes=0; while (not $doneincludes) { + $doneincludes=1; + $inc =~ s/#ENV:([^#]+)#/envvar($1)/eg; # handle the variable in #INCLUDE + if ($inc =~ /#INCLUDE_PKGLIST:[^#^\n]+#/) { + $doneincludes=0; + $inc =~ s/#INCLUDE_PKGLIST:([^#^\n]+)#/includefile($1, 0, 1)/eg; + } + if ($inc =~ /#INCLUDE_PTRNLIST:[^#^\n]+#/) { + $doneincludes=0; + $inc =~ s/#INCLUDE_PTRNLIST:([^#^\n]+)#/includefile($1, 0, 2)/eg; + } + if ($inc =~ /#INCLUDE_RMPKGLIST:[^#^\n]+#/) { + $doneincludes=0; + $inc =~ s/#INCLUDE_RMPKGLIST:([^#^\n]+)#/includefile($1, 0, 3)/eg; + } + if ($inc =~ /#INCLUDE:[^#^\n]+#/) { + $doneincludes=0; + $inc =~ s/#INCLUDE:([^#^\n]+)#/includefile($1, 0, 0)/eg; + } + #support multiple paths of osimage in rh/sles diskfull installation my @pkgdirs; if ( defined($media_dir) ) { @@ -239,7 +258,7 @@ sub subvars { $partcontent .= $_; } close ($inh); - + #the content of the specified file is a script which can write partition definition into /tmp/partitionfile if ($scriptflag){ #for redhat/sl/centos/kvm/fedora @@ -278,7 +297,7 @@ sub subvars { } } - $doneincludes=1; + $inc =~ s/#ENV:([^#]+)#/envvar($1)/eg; # handle the variable in #INCLUDE if ($inc =~ /#INCLUDE_PKGLIST:[^#^\n]+#/) { $doneincludes=0; $inc =~ s/#INCLUDE_PKGLIST:([^#^\n]+)#/includefile($1, 0, 1)/eg;