mirror of
https://github.com/webmin/webmin.git
synced 2026-02-03 14:13:29 +00:00
Fix to properly delete and protect Debian dependencies
This commit is contained in:
@@ -50,7 +50,7 @@ else {
|
|||||||
foreach my $pkg (@delpkgs) {
|
foreach my $pkg (@delpkgs) {
|
||||||
print &text('dpkgs_doing', "<tt>$pkg->{'name'}</tt>",
|
print &text('dpkgs_doing', "<tt>$pkg->{'name'}</tt>",
|
||||||
$pkg->{'phpver'}),"<br>\n";
|
$pkg->{'phpver'}),"<br>\n";
|
||||||
$err = &delete_php_base_package($pkg);
|
$err = &delete_php_base_package($pkg, \@pkgs);
|
||||||
if ($err) {
|
if ($err) {
|
||||||
print &text('dpkgs_failed', $err),"<p>\n";
|
print &text('dpkgs_failed', $err),"<p>\n";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1037,19 +1037,20 @@ foreach my $pkg (@$pkgs) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# delete_php_base_package(&package)
|
# delete_php_base_package(&package, &installed)
|
||||||
# Delete a PHP package, and return undef on success or an error on failure
|
# Delete a PHP package, and return undef on success or an error on failure
|
||||||
sub delete_php_base_package
|
sub delete_php_base_package
|
||||||
{
|
{
|
||||||
my ($pkg) = @_;
|
my ($pkg, $installed) = @_;
|
||||||
foreach my $p (&list_all_php_version_packages($pkg)) {
|
my @targets = &list_all_php_version_packages($pkg);
|
||||||
|
my $deb_want_deps = (grep { $_ eq 'php-common' } @targets) && @{$installed} > 1;
|
||||||
|
foreach my $p (@targets) {
|
||||||
my @info = &software::package_info($p);
|
my @info = &software::package_info($p);
|
||||||
next if (!@info);
|
next if (!@info);
|
||||||
my $err = &software::delete_package($p,
|
my $err = &software::delete_package($p,
|
||||||
{ 'nodeps' => 1, 'depstoo' => 1 });
|
{ nodeps => 1,
|
||||||
if ($err) {
|
( !$deb_want_deps ? ( depstoo => 1 ) : () ) });
|
||||||
return &html_strip($err);
|
return &html_strip($err) if ($err);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return undef;
|
return undef;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user