Implement recursive lookup of Recommends and Suggests
Everywhere where we call add_missing() on Depends, we must do it also on Recommends and Suggests based on $add_rec and $add_sug. Closes: #601203
This commit is contained in:
parent
c9489cd926
commit
8513b237af
|
@ -14,6 +14,8 @@ debian-cd (3.1.36) UNRELEASED; urgency=medium
|
||||||
* Add cryptsetup-initramfs to tools/generate_di+k_list as cryptsetup 2.4.0
|
* Add cryptsetup-initramfs to tools/generate_di+k_list as cryptsetup 2.4.0
|
||||||
dropped the recommends on the package and it's needed by d-i.
|
dropped the recommends on the package and it's needed by d-i.
|
||||||
* Fix install_firmwares_initrd to not fail when the firmware is not found.
|
* Fix install_firmwares_initrd to not fail when the firmware is not found.
|
||||||
|
* Implement recursive lookup of Recommends and Suggests in sort_deps.
|
||||||
|
Closes: #601203
|
||||||
|
|
||||||
[ Wolfgang Schweer ]
|
[ Wolfgang Schweer ]
|
||||||
* data/bookworm: Use Debian Edu 12 installer logo and syslinux splash image
|
* data/bookworm: Use Debian Edu 12 installer logo and syslinux splash image
|
||||||
|
|
|
@ -984,12 +984,25 @@ sub get_missing {
|
||||||
my @parents = ();
|
my @parents = ();
|
||||||
my %t;
|
my %t;
|
||||||
my $dep_text;
|
my $dep_text;
|
||||||
|
my $found_missing = 0;
|
||||||
|
|
||||||
$t{"Package"} = $p;
|
$t{"Package"} = $p;
|
||||||
$t{"CmpOp"} = "";
|
$t{"CmpOp"} = "";
|
||||||
$t{"Version"} = "";
|
$t{"Version"} = "";
|
||||||
|
|
||||||
if (not add_missing (\@deps_list, $packages{$p}{"Depends"}, \%t, 0, \@parents, $check_backports)) {
|
if (add_missing (\@deps_list, $packages{$p}{"Depends"}, \%t, 0, \@parents, $check_backports)) {
|
||||||
|
$found_missing = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($add_rec and add_missing (\@deps_list, $packages{$p}{"Recommends"}, \%t, 1, \@parents, $check_backports)) {
|
||||||
|
$found_missing = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($add_sug and add_missing (\@deps_list, $packages{$p}{"Suggests"}, \%t, 1, \@parents, $check_backports)) {
|
||||||
|
$found_missing = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (not $found_missing) {
|
||||||
return ();
|
return ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1125,6 +1138,12 @@ sub add_missing {
|
||||||
push (@{$list}, $pkg);
|
push (@{$list}, $pkg);
|
||||||
if (add_missing ($list, $packages{$pkgname}{"Depends"}, $pkg, $soft_depend, $parents, $check_backports)) {
|
if (add_missing ($list, $packages{$pkgname}{"Depends"}, $pkg, $soft_depend, $parents, $check_backports)) {
|
||||||
$or_ok = 1;
|
$or_ok = 1;
|
||||||
|
if ($add_rec) {
|
||||||
|
add_missing ($list, $packages{$pkgname}{"Recommends"}, $pkg, 1, $parents, $check_backports);
|
||||||
|
}
|
||||||
|
if ($add_sug) {
|
||||||
|
add_missing ($list, $packages{$pkgname}{"Suggests"}, $pkg, 1, $parents, $check_backports);
|
||||||
|
}
|
||||||
remove_entry($pkg, $list);
|
remove_entry($pkg, $list);
|
||||||
push @{$list}, $pkg;
|
push @{$list}, $pkg;
|
||||||
last;
|
last;
|
||||||
|
@ -1181,6 +1200,13 @@ sub add_missing {
|
||||||
pop @{$list};
|
pop @{$list};
|
||||||
$ok = 0;
|
$ok = 0;
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
if ($add_rec) {
|
||||||
|
add_missing ($list, $packages{$t{"Package"}}{"Recommends"}, \%t, 1, $parents, $check_backports);
|
||||||
|
}
|
||||||
|
if ($add_sug) {
|
||||||
|
add_missing ($list, $packages{$t{"Package"}}{"Suggests"}, \%t, 1, $parents, $check_backports);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
remove_entry(\%t, $list);
|
remove_entry(\%t, $list);
|
||||||
push @{$list}, \%t;
|
push @{$list}, \%t;
|
||||||
|
|
Loading…
Reference in New Issue