summaryrefslogtreecommitdiffstats
path: root/config-db/OpenSLX/ConfigDB.pm
diff options
context:
space:
mode:
Diffstat (limited to 'config-db/OpenSLX/ConfigDB.pm')
-rw-r--r--config-db/OpenSLX/ConfigDB.pm9
1 files changed, 9 insertions, 0 deletions
diff --git a/config-db/OpenSLX/ConfigDB.pm b/config-db/OpenSLX/ConfigDB.pm
index 8ec9983b..9d876880 100644
--- a/config-db/OpenSLX/ConfigDB.pm
+++ b/config-db/OpenSLX/ConfigDB.pm
@@ -1029,6 +1029,15 @@ sub removeVendorOS
my $self = shift;
my $vendorOSIDs = _aref(shift);
+ # drop all installed plugins before removing the vendor-OS
+ foreach my $vendorOSID (@$vendorOSIDs) {
+ my @installedPlugins
+ = $self->{'meta-db'}->fetchInstalledPlugins($vendorOSID);
+ foreach my $plugin (@installedPlugins) {
+ my $pluginName = $plugin->{plugin_name};
+ $self->{'meta-db'}->removeInstalledPlugin($vendorOSID, $pluginName);
+ }
+ }
return $self->{'meta-db'}->removeVendorOS($vendorOSIDs);
}