diff options
| -rw-r--r-- | installer/OpenSLX/OSExport/Engine.pm | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/installer/OpenSLX/OSExport/Engine.pm b/installer/OpenSLX/OSExport/Engine.pm index 58ff3eb1..6c00e3fc 100644 --- a/installer/OpenSLX/OSExport/Engine.pm +++ b/installer/OpenSLX/OSExport/Engine.pm @@ -159,13 +159,20 @@ sub addExportToConfigDB my $openslxDB = instantiateClass("OpenSLX::ConfigDB"); $openslxDB->connect(); - # insert new export if it doesn't already exist in DB: - my $exportName = $self->{'vendor-os-name'}; - my $export - = $openslxDB->fetchExportByFilter({ - 'name' => $exportName, - 'type' => $self->{'export-type'}, - }); + my $exportName = $self->{'vendor-os-name'}; + my $export + = $openslxDB->fetchExportByFilter({ 'name' => $exportName }); + if (defined $export && $export->{type} ne $self->{'export-type'}) { + # export with default name already exists (with different type), + # so we try appending the type to generate a unique name: + $exportName = "$self->{'vendor-os-name'}-$self->{'export-type'}"; + $export + = $openslxDB->fetchExportByFilter({ + 'name' => $exportName, + 'type' => $self->{'export-type'}, + }); + } + # insert new export if it doesn't already exist in DB: if (defined $export) { vlog 0, _tr("No need to change export '%s' in OpenSLX-database.\n", $exportName); |
