not export buildkit -n option by default.

git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16560 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
This commit is contained in:
wanghuaz 2013-06-06 00:47:28 +00:00
parent b1c996ad2e
commit 0479d3682c
3 changed files with 66 additions and 8 deletions

View File

@ -1376,7 +1376,7 @@ kitrepo => {
},
},
kitcomponent => {
cols => [qw(kitcompname description kitname kitreponame basename version release serverroles kitpkgdeps driverpacks kitcompdeps postbootscripts genimage_postinstall exlist comments disable)],
cols => [qw(kitcompname description kitname kitreponame basename version release serverroles kitpkgdeps prerequisite driverpacks kitcompdeps postbootscripts genimage_postinstall exlist comments disable)],
keys => [qw(kitcompname)],
tablespace =>'XCATTBS16K',
table_desc => 'This table stores all kit components added to the xCAT cluster.',
@ -1390,6 +1390,7 @@ kitcomponent => {
release => 'Kit Component release.',
serverroles => 'The types of servers that this Kit Component can install on. Valid types are: mgtnode, servicenode, compute',
kitpkgdeps => 'Comma-separated list of packages that this kit component depends on.',
prerequisite => 'Prerequisite for this kit component, the prerequisite includes ospkgdeps,preinstall,preupgrade,preuninstall scripts',
driverpacks => 'Comma-separated List of driver package names. These must be full names like: pkg1-1.0-1.x86_64.rpm.',
kitcompdeps => 'Comma-separated list of kit components that this kit component depends on.',
postbootscripts => 'Comma-separated list of postbootscripts that will run during the node boot.',
@ -1512,6 +1513,7 @@ foreach my $tabname (keys(%xCAT::ExtTab::ext_tabspec)) {
rack => { attrs => [], attrhash => {}, objkey => 'rackname' },
osdistro=> { attrs => [], attrhash => {}, objkey => 'osdistroname' },
osdistroupdate=> { attrs => [], attrhash => {}, objkey => 'osupdatename' },
);

View File

@ -352,7 +352,7 @@ if (
'h|help' => \$::HELP,
'v|version' => \$::VERSION,
'V|verbose' => \$::VERBOSE,
'n|noprerequisite' => \$::NOPREREQUISITE,
'n|noprerequisite' => \$::PREREQUISITE,
'p|pkgdir=s' => \$::PKGDIR,
'k|kitversion=s' => \$::KITVERSION,
'r|kitrelease=s' => \$::KITRELEASE,
@ -1946,7 +1946,7 @@ sub build_kitcomp
# specifically reference it's version-release
if ( &update_kitcomp_kitpkgdeps($comp,$repodir) ) { return 1; }
if ( $::NOPREREQUISITE ) {
if ( !$::PREREQUISITE ) {
if ( $comp->{ospkgdeps} || $comp->{preinstall} || $comp->{preupgrade} || $comp->{preuninstall} ) {
if ( &gen_kitcomp_spec($comp,\%repo, 'PREREQUISITE') ) { return 1; }
@ -2608,7 +2608,7 @@ sub create_kitconf
$se->{kitcompname};
$::kit_config->{$s}{entries}[$li]->{kitreponame} =
$se->{kitreponame};
if ( $::NOPREREQUISITE and $se->{ospkgdeps} || $se->{preinstall} || $se->{preupgrade} || $se->{preuninstall} ) {
if ( !$::PREREQUISITE and ($se->{ospkgdeps} || $se->{preinstall} || $se->{preupgrade} || $se->{preuninstall}) ) {
$::kit_config->{$s}{entries}[$li]->{prerequisite} =
"prep_" . $se->{basename};
}
@ -3165,7 +3165,7 @@ sub kit_addpkgs
next;
}
if ($l =~ /prerequisite/ ) {
$::NOPREREQUISITE = 1;
$::PREREQUISITE = 1;
}
}

View File

@ -748,9 +748,19 @@ sub assign_to_osimage
last;
}
}
if ( $line =~ /^-prep_$basename$/ ) {
$matched = 1;
$changed = 1;
}
unless ( $matched ) {
push @l, "$line\n";
}
my $lastline = pop @l;
while ( $lastline =~ /^#NEW_INSTALL_LIST#$/ ) {
$lastline = pop @l;
}
push @l, $lastline if ( $lastline );
}
if ( $changed ) {
@ -1967,11 +1977,12 @@ sub rmkitcomp
foreach my $kitcomponent (@kitcomponents) {
# Check if it is a kitcompname or basename
(my $kitcomptable) = $tabs{kitcomponent}->getAttribs({kitcompname => $kitcomponent}, 'kitname', 'kitpkgdeps', 'postbootscripts', 'genimage_postinstall', 'kitreponame', 'exlist', 'basename', 'driverpacks');
(my $kitcomptable) = $tabs{kitcomponent}->getAttribs({kitcompname => $kitcomponent}, 'kitname', 'kitpkgdeps', 'prerequisite', 'postbootscripts', 'genimage_postinstall', 'kitreponame', 'exlist', 'basename', 'driverpacks');
if ( $kitcomptable and $kitcomptable->{'kitname'}){
$kitcomps{$kitcomponent}{name} = $kitcomponent;
$kitcomps{$kitcomponent}{kitname} = $kitcomptable->{kitname};
$kitcomps{$kitcomponent}{kitpkgdeps} = $kitcomptable->{kitpkgdeps};
$kitcomps{$kitcomponent}{prerequisite} = $kitcomptable->{prerequisite};
$kitcomps{$kitcomponent}{basename} = $kitcomptable->{basename};
$kitcomps{$kitcomponent}{exlist} = $kitcomptable->{exlist};
$kitcomps{$kitcomponent}{postbootscripts} = $kitcomptable->{postbootscripts};
@ -1989,9 +2000,10 @@ sub rmkitcomp
my $highest = get_highest_version('kitcompname', 'version', 'release', @entries);
$kitcomps{$highest}{name} = $highest;
(my $kitcomptable) = $tabs{kitcomponent}->getAttribs({kitcompname => $highest}, 'kitname', 'kitpkgdeps', 'postbootscripts', 'genimage_postinstall', 'kitreponame', 'exlist', 'basename', 'driverpacks');
(my $kitcomptable) = $tabs{kitcomponent}->getAttribs({kitcompname => $highest}, 'kitname', 'kitpkgdeps', 'prerequisite', 'postbootscripts', 'genimage_postinstall', 'kitreponame', 'exlist', 'basename', 'driverpacks');
$kitcomps{$highest}{kitname} = $kitcomptable->{kitname};
$kitcomps{$highest}{kitpkgdeps} = $kitcomptable->{kitpkgdeps};
$kitcomps{$highest}{prerequisite} = $kitcomptable->{prerequisite};
$kitcomps{$highest}{basename} = $kitcomptable->{basename};
$kitcomps{$highest}{exlist} = $kitcomptable->{exlist};
$kitcomps{$highest}{postbootscripts} = $kitcomptable->{postbootscripts};
@ -2358,6 +2370,17 @@ sub rmkitcomp
$num = 1;
$inlist = 1;
}
if ( $kitcomps{$kitcomponent}{prerequisite} ) {
if ( $line =~ /^$kitreponame\/prep_$basename$/ ) {
if ( $inlist ) {
$num--;
foreach ( 1..$num ) {
pop @newlines;
}
}
next;
}
}
if ( $line =~ /^$kitreponame\/$basename$/ ) {
if ( $inlist ) {
$num--;
@ -2423,7 +2446,29 @@ sub rmkitcomp
push @kitpkgdeps, $basename;
my $update = 0;
#check if prerequisite rpm is already added to RMPKGS.otherpkgs.pkglist.
my $matched = 0;
foreach my $line ( @lines ) {
chomp $line;
if ( $line =~ /^-prep_$basename$/ ) {
$matched = 1;
last;
}
}
unless ( $matched ) {
# add the prerequisite rpm to #NEW_INSTALL_LIST# session
# so they can be removed in a seperate command
if ( $kitcomps{$kitcomponent}{prerequisite} ) {
push @l, "#NEW_INSTALL_LIST#\n";
push @l, "-prep_$basename\n";
}
$update = 1;
}
my $added_mark = 0;
foreach my $kitpkgdep ( @kitpkgdeps ) {
next if ( $kitpkgdep =~ /^$/ );
my $matched = 0;
foreach my $line ( @lines ) {
chomp $line;
@ -2434,12 +2479,23 @@ sub rmkitcomp
}
unless ( $matched ) {
push @l, "-$kitpkgdep\n";
# add the prerequisite rpm to #NEW_INSTALL_LIST# session
# so they can be removed in a seperate command
if ( $kitcomps{$kitcomponent}{prerequisite} ) {
if (!$added_mark) {
push @l, "#NEW_INSTALL_LIST#\n";
$added_mark = 1;
}
push @l, "-$kitpkgdep\n";
} else {
unshift @l, "-$kitpkgdep\n";
}
$update = 1;
}
}
if ( $update and open(RMPKGLIST, ">", "$installdir/osimages/$osimage/kits/KIT_RMPKGS.otherpkgs.pkglist") ) {
print RMPKGLIST @l;
close(RMPKGLIST);