summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xrescue/tree/etc/oem17
-rwxr-xr-xtools/oem-prepare17
2 files changed, 24 insertions, 10 deletions
diff --git a/rescue/tree/etc/oem b/rescue/tree/etc/oem
index 973c3b440..b38660019 100755
--- a/rescue/tree/etc/oem
+++ b/rescue/tree/etc/oem
@@ -601,10 +601,16 @@ sub select_packages {
eval { install_any::getFile("XXX") }; #- close out any still opened filehandle..
#- first select closure, package that will be selected for closure at least.
- $o->{compssUsersChoice}{$_} = 1 foreach qw(BURNER DVD PCMCIA HIGH_SECURITY BIGMEM SMP 3D TV SCANNER PHOTO SOUND INSTALL);
+ $o->{compssUsersChoice}{$_} = 1 foreach qw(BURNER DVD PCMCIA HIGH_SECURITY BIGMEM SMP 3D TV SCANNER PHOTO SOUND);
pkgs::setSelectedFromCompssList($o->{packages}, $o->{compssUsersChoice}, 4, 0);
- $o->{compssUsersChoice}{$_} = 0 foreach qw(BURNER DVD PCMCIA HIGH_SECURITY BIGMEM SMP 3D TV SCANNER PHOTO SOUND INSTALL);
+ $o->{compssUsersChoice}{$_} = 0 foreach qw(BURNER DVD PCMCIA HIGH_SECURITY BIGMEM SMP 3D TV SCANNER PHOTO SOUND);
+ #- INSTALL class need to be copied as closure (unless installed after).
+ foreach (@{$o->{packages}{needToCopy}}) {
+ my $pkg = pkgs::packageByName($packages, $_);
+ pkgs::selectPackage($packages, $pkg);
+ }
+
#- first select package that have to go to closure according to their names.
foreach my $pkg (@{$o->{packages}{depslist}}) {
$pkg->{name} =~ /kernel-(\d|smp|enterprise|secure)/ and pkgs::selectPackage($o->{packages}, $pkg);
@@ -841,15 +847,16 @@ sub read_rpmsrate {
foreach (split ' ', $data) {
if ($packages) {
my $p = packageByName($packages, $_) or next;
-
my @m2 =
map { if_($_ && packageName($_) =~ /locales-(.*)/, qq(LOCALES"$1")) }
map { packageById($packages, $_) } packageDepsId($p);
my @m3 = ((grep { !/^\d$/ } @m), @m2);
+ if (@m3 == 1 && $m3[0] eq 'INSTALL') {
+ push @{$packages->{needToCopy} ||= []}, $_;
+ next; #- don't need to put INSTALL flag for a package.
+ }
if (packageRate($p)) {
- next if @m3 == 1 && $m3[0] eq 'INSTALL';
-
my ($rate2, @m4) = packageRateRFlags($p);
if (@m3 > 1 || @m4 > 1) {
log::l("can't handle complicate flags for packages appearing twice ($_)");
diff --git a/tools/oem-prepare b/tools/oem-prepare
index 5d5b80daa..d1c7d521c 100755
--- a/tools/oem-prepare
+++ b/tools/oem-prepare
@@ -119,10 +119,16 @@ sub select_packages {
eval { install_any::getFile("XXX") }; #- close out any still opened filehandle..
#- first select closure, package that will be selected for closure at least.
- $o->{compssUsersChoice}{$_} = 1 foreach qw(BURNER DVD PCMCIA HIGH_SECURITY BIGMEM SMP 3D TV SCANNER PHOTO SOUND INSTALL);
+ $o->{compssUsersChoice}{$_} = 1 foreach qw(BURNER DVD PCMCIA HIGH_SECURITY BIGMEM SMP 3D TV SCANNER PHOTO SOUND);
pkgs::setSelectedFromCompssList($o->{packages}, $o->{compssUsersChoice}, 4, 0);
- $o->{compssUsersChoice}{$_} = 0 foreach qw(BURNER DVD PCMCIA HIGH_SECURITY BIGMEM SMP 3D TV SCANNER PHOTO SOUND INSTALL);
+ $o->{compssUsersChoice}{$_} = 0 foreach qw(BURNER DVD PCMCIA HIGH_SECURITY BIGMEM SMP 3D TV SCANNER PHOTO SOUND);
+ #- INSTALL class need to be copied as closure (unless installed after).
+ foreach (@{$o->{packages}{needToCopy}}) {
+ my $pkg = pkgs::packageByName($packages, $_);
+ pkgs::selectPackage($packages, $pkg);
+ }
+
#- first select package that have to go to closure according to their names.
foreach my $pkg (@{$o->{packages}{depslist}}) {
$pkg->{name} =~ /kernel-(\d|smp|enterprise|secure)/ and pkgs::selectPackage($o->{packages}, $pkg);
@@ -358,15 +364,16 @@ sub read_rpmsrate {
foreach (split ' ', $data) {
if ($packages) {
my $p = packageByName($packages, $_) or next;
-
my @m2 =
map { if_($_ && packageName($_) =~ /locales-(.*)/, qq(LOCALES"$1")) }
map { packageById($packages, $_) } packageDepsId($p);
my @m3 = ((grep { !/^\d$/ } @m), @m2);
+ if (@m3 == 1 && $m3[0] eq 'INSTALL') {
+ push @{$packages->{needToCopy} ||= []}, $_;
+ next; #- don't need to put INSTALL flag for a package.
+ }
if (packageRate($p)) {
- next if @m3 == 1 && $m3[0] eq 'INSTALL';
-
my ($rate2, @m4) = packageRateRFlags($p);
if (@m3 > 1 || @m4 > 1) {
log::l("can't handle complicate flags for packages appearing twice ($_)");