diff options
| author | Oliver Tappe | 2007-04-21 17:53:11 +0200 |
|---|---|---|
| committer | Oliver Tappe | 2007-04-21 17:53:11 +0200 |
| commit | 989d9aa79227b085ed726837df515600f0807e74 (patch) | |
| tree | a27cfd10bca690bbb42fdf2734c27fa88ccd26e9 /installer | |
| parent | * removed syntax check of rsync-uri, as it wouldn't allow to use (diff) | |
| download | core-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.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); |
