version 1.53, 2005/12/09 20:41:35
|
version 1.57, 2011/03/25 22:55:06
|
Line 86 Usage is for lpml file to come in throug
|
Line 86 Usage is for lpml file to come in throug
|
typical choices: default,redhat6.2,debian2.2,redhat7 |
typical choices: default,redhat6.2,debian2.2,redhat7 |
4th argument is to manually specify a sourceroot. |
4th argument is to manually specify a sourceroot. |
5th argument is to manually specify a targetroot. |
5th argument is to manually specify a targetroot. |
|
6th argument is to manually specify a shell. |
|
|
Only the 1st argument is mandatory for the program to run. |
Only the 1st argument is mandatory for the program to run. |
|
|
Line 100 END
|
Line 101 END
|
# ------------------------------------------------- Grab command line arguments |
# ------------------------------------------------- Grab command line arguments |
|
|
my $mode=''; |
my $mode=''; |
if (@ARGV==5) { |
if (@ARGV == 6 || @ARGV == 5) { |
$mode = shift @ARGV; |
$mode = shift @ARGV; |
} |
} |
else { |
else { |
Line 135 $targetroot=~s/\/$//; # remove trailing
|
Line 136 $targetroot=~s/\/$//; # remove trailing
|
$sourcerootarg=$sourceroot; |
$sourcerootarg=$sourceroot; |
$targetrootarg=$targetroot; |
$targetrootarg=$targetroot; |
|
|
|
my $shell = 'sh'; |
|
if (@ARGV) { |
|
$shell = shift @ARGV; |
|
} |
|
|
my $logcmd='| tee -a WARNINGS'; |
my $logcmd='| tee -a WARNINGS'; |
|
|
my $invocation; # Record how the program was invoked |
my $invocation; # Record how the program was invoked |
Line 147 if ($mode eq 'install' or $mode eq 'conf
|
Line 153 if ($mode eq 'install' or $mode eq 'conf
|
# 3rd argument (distribution) is: $dist |
# 3rd argument (distribution) is: $dist |
# 4th argument (sourceroot) is: described below |
# 4th argument (sourceroot) is: described below |
# 5th argument (targetroot) is: described below |
# 5th argument (targetroot) is: described below |
|
# 6th argument (shell) is: $shell |
END |
END |
} |
} |
|
|
Line 531 END
|
Line 538 END
|
print ' by Scott Harrison 2001'."\n"; |
print ' by Scott Harrison 2001'."\n"; |
print '# This file was automatically generated on '.`date`; |
print '# This file was automatically generated on '.`date`; |
print "\n".$invocation; |
print "\n".$invocation; |
$lpml .= "SHELL=\"/bin/bash\"\n\n"; |
$lpml .= "\n"; |
} |
} |
elsif ($mode eq 'configinstall') { |
elsif ($mode eq 'configinstall') { |
print '# LPML configuration file targets (configinstall).'."\n"; |
print '# LPML configuration file targets (configinstall).'."\n"; |
Line 539 END
|
Line 546 END
|
print ' by Scott Harrison 2001'."\n"; |
print ' by Scott Harrison 2001'."\n"; |
print '# This file was automatically generated on '.`date`; |
print '# This file was automatically generated on '.`date`; |
print "\n".$invocation; |
print "\n".$invocation; |
$lpml .= "SHELL=\"/bin/bash\"\n\n"; |
$lpml .= "\n"; |
} |
} |
elsif ($mode eq 'build') { |
elsif ($mode eq 'build') { |
$lpml = "# LPML build targets. Linux Packaging Markup Language,"; |
$lpml = "# LPML build targets. Linux Packaging Markup Language,"; |
$lpml .= ' by Scott Harrison 2001'."\n"; |
$lpml .= ' by Scott Harrison 2001'."\n"; |
$lpml .= '# This file was automatically generated on '.`date`; |
$lpml .= '# This file was automatically generated on '.`date`; |
$lpml .= "\n".$invocation; |
$lpml .= "\n".$invocation; |
$lpml .= "SHELL=\"/bin/sh\"\n\n"; |
$lpml .= "\n"; |
} |
} |
else { |
else { |
return ''; |
return ''; |
Line 1151 sub format_files {
|
Line 1158 sub format_files {
|
$tword=''; $tword=' alwaysrun' if $trigger eq 'always run'; |
$tword=''; $tword=' alwaysrun' if $trigger eq 'always run'; |
if ($command!~/\s/) { |
if ($command!~/\s/) { |
$command=~s/\/([^\/]*)$//; |
$command=~s/\/([^\/]*)$//; |
$command2="cd $command; sh ./$1;\\"; |
$command2="cd $command; $shell ./$1;\\"; |
} |
} |
else { |
else { |
$command=~s/(.*?\/)([^\/]+\s+.*)$/$1/; |
$command=~s/(.*?\/)([^\/]+\s+.*)$/$1/; |
$command2="cd $command; sh ./$2;\\"; |
$command2="cd $command; $shell ./$2;\\"; |
} |
} |
my $depstring; |
my $depstring; |
my $depstring2="\t\t\@echo '';\\\n"; |
my $depstring2="\t\t\@echo '';\\\n"; |
Line 1266 sub format_file {
|
Line 1273 sub format_file {
|
# "$build $status $dependencies" . |
# "$build $status $dependencies" . |
# "\nEND FILE"); |
# "\nEND FILE"); |
} |
} |
elsif ($mode eq 'install' && $categoryname ne 'conf') { |
elsif (($mode eq 'install') && (($categoryname ne 'conf') && |
|
($categoryname ne 'www conf'))) { |
if ($build) { |
if ($build) { |
my $bi=$sourceroot.'/'.$source.';'.$build.';'. |
my $bi=$sourceroot.'/'.$source.';'.$build.';'. |
$dependencies; |
$dependencies; |
my ($source2,$command,$trigger,@deps)=split(/\;/,$bi); |
my ($source2,$command,$trigger,@deps)=split(/\;/,$bi); |
$tword=''; $tword=' alwaysrun' if $trigger eq 'always run'; |
$tword=''; $tword=' alwaysrun' if $trigger eq 'always run'; |
$command=~s/\/([^\/]*)$//; |
$command=~s/\/([^\/]*)$//; |
$command2="cd $command; sh ./$1;\\"; |
$command2="cd $command; $shell ./$1;\\"; |
my $depstring; |
my $depstring; |
foreach my $dep (@deps) { |
foreach my $dep (@deps) { |
$depstring.=<<END; |
$depstring.=<<END; |
Line 1297 END
|
Line 1305 END
|
$buildtest.=<<END; |
$buildtest.=<<END; |
fi |
fi |
END |
END |
} |
} |
if ($installscript) { |
if ($installscript) { |
my $dir = $sourceroot.'/'.$source; |
my $dir = $sourceroot.'/'.$source; |
$dir =~ s|/([^/]*)$||; |
$dir =~ s|/([^/]*)$||; |
return <<"END"; |
my $result =" |
$buildtest cd $dir ; sh $installscript\\ |
$buildtest cd $dir ; $shell $installscript"; |
chmod -R $categoryhash{chmod.$categoryname} ${targetroot}/${target} \\ |
if ($categoryname |
chown -R $categoryhash{chown.$categoryname} ${targetroot}/${target} \\ |
&& exists($categoryhash{"chmod.$categoryname"}) ) { |
|
$result .="\\\n"; |
|
$result .=<<"END" |
|
chmod -R $categoryhash{"chmod.$categoryname"} ${targetroot}/${target} \\ |
|
chown -R $categoryhash{"chown.$categoryname"} ${targetroot}/${target} |
END |
END |
|
} else { |
|
$result.="\n"; |
|
} |
|
return $result; |
} |
} |
my $bflag='-b1'; |
my $bflag='-b1'; |
$bflag='-b3' if $dependencies or $buildlink; |
$bflag='-b3' if $dependencies or $buildlink; |
Line 1327 $buildtest \@if !(test -e "${sourceroot}
|
Line 1343 $buildtest \@if !(test -e "${sourceroot}
|
fi |
fi |
END |
END |
} |
} |
elsif ($mode eq 'configinstall' && $categoryname eq 'conf') { |
elsif ($mode eq 'configinstall' && (($categoryname eq 'conf') || |
|
($categoryname eq 'www conf'))) { |
push @configall,$targetroot.'/'.$target; |
push @configall,$targetroot.'/'.$target; |
return $targetroot.'/'.$target.': alwaysrun'."\n". |
return $targetroot.'/'.$target.': alwaysrun'."\n". |
"\t".'@# Compare source with target and intelligently respond'. |
"\t".'@# Compare source with target and intelligently respond'. |