summaryrefslogtreecommitdiffstats
path: root/installer
diff options
context:
space:
mode:
authorOliver Tappe2007-04-21 17:53:11 +0200
committerOliver Tappe2007-04-21 17:53:11 +0200
commit989d9aa79227b085ed726837df515600f0807e74 (patch)
treea27cfd10bca690bbb42fdf2734c27fa88ccd26e9 /installer
parent* removed syntax check of rsync-uri, as it wouldn't allow to use (diff)
downloadcore-989d9aa79227b085ed726837df515600f0807e74.tar.gz
core-989d9aa79227b085ed726837df515600f0807e74.tar.xz
core-989d9aa79227b085ed726837df515600f0807e74.zip
* exports no longer make use of a two-valued key, but require
a unqiue name. The current scheme is to name an export like the corresponding vendor-OS if possible and append the export type to that name if such an export already exists. git-svn-id: http://svn.openslx.org/svn/openslx/trunk@916 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'installer')
-rw-r--r--installer/OpenSLX/OSExport/Engine.pm21
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);