mirror of
https://github.com/webmin/webmin.git
synced 2025-07-21 23:40:34 +00:00
Fix to properly delete and protect Debian dependencies
This commit is contained in:
@ -50,7 +50,7 @@ else {
|
||||
foreach my $pkg (@delpkgs) {
|
||||
print &text('dpkgs_doing', "<tt>$pkg->{'name'}</tt>",
|
||||
$pkg->{'phpver'}),"<br>\n";
|
||||
$err = &delete_php_base_package($pkg);
|
||||
$err = &delete_php_base_package($pkg, \@pkgs);
|
||||
if ($err) {
|
||||
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
|
||||
sub delete_php_base_package
|
||||
{
|
||||
my ($pkg) = @_;
|
||||
foreach my $p (&list_all_php_version_packages($pkg)) {
|
||||
my ($pkg, $installed) = @_;
|
||||
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);
|
||||
next if (!@info);
|
||||
my $err = &software::delete_package($p,
|
||||
{ 'nodeps' => 1, 'depstoo' => 1 });
|
||||
if ($err) {
|
||||
return &html_strip($err);
|
||||
}
|
||||
{ nodeps => 1,
|
||||
( !$deb_want_deps ? ( depstoo => 1 ) : () ) });
|
||||
return &html_strip($err) if ($err);
|
||||
}
|
||||
return undef;
|
||||
}
|
||||
|
Reference in New Issue
Block a user