#!@perlexec@ # BEGIN COPYRIGHT BLOCK # This Program is free software; you can redistribute it and/or modify it under # the terms of the GNU General Public License as published by the Free Software # Foundation; version 2 of the License. # # This Program is distributed in the hope that it will be useful, but WITHOUT # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along with # this Program; if not, write to the Free Software Foundation, Inc., 59 Temple # Place, Suite 330, Boston, MA 02111-1307 USA. # # In addition, as a special exception, Red Hat, Inc. gives You the additional # right to link the code of this Program with code not covered under the GNU # General Public License ("Non-GPL Code") and to distribute linked combinations # including the two, subject to the limitations in this paragraph. Non-GPL Code # permitted under this exception must only link to the code of this Program # through those well defined interfaces identified in the file named EXCEPTION # found in the source code files (the "Approved Interfaces"). The files of # Non-GPL Code may instantiate templates or use macros or inline functions from # the Approved Interfaces without causing the resulting work to be covered by # the GNU General Public License. Only Red Hat, Inc. may make changes or # additions to the list of Approved Interfaces. You must obey the GNU General # Public License in all respects for all of the Program code and other code used # in conjunction with the Program except the Non-GPL Code covered by this # exception. If you modify this file, you may extend this exception to your # version of the file, but you are not obligated to do so. If you do not wish to # provide this exception without modification, you must delete this exception # statement from your version and license this file solely under the GPL without # exception. # # # Copyright (C) 2007 Red Hat, Inc. # All rights reserved. # END COPYRIGHT BLOCK # use lib qw(@perlpath@); use strict; use Setup; use SetupLog; use Inf; use Resource; use DialogManager; use DSUtil; use DSCreate; use DSUpdate; my $res = new Resource("@propertydir@/setup-ds.res"); my $setup = new Setup($res); if (!$setup->{silent}) { my $dialogmgr = new DialogManager($setup, $res, $TYPICAL); my @dialogs; if ($setup->{update}) { require DSUpdateDialogs; push @dialogs, DSUpdateDialogs->getDialogs(); } else { require SetupDialogs; require DSDialogs; push @dialogs, SetupDialogs->getDialogs(); push @dialogs, DSDialogs->getDialogs(); } $dialogmgr->addDialog(@dialogs); my $rc = $dialogmgr->run(); if ($rc) { $setup->doExit(); } } my @errs; if ($setup->{update}) { @errs = updateDS($setup); } else { @errs = createDSInstance($setup->{inf}); } if (@errs) { $setup->msg(@errs); if ($setup->{update}) { $setup->msg($FATAL, 'error_updating'); } else { $setup->msg($FATAL, 'error_creating_dsinstance', $setup->{inf}->{slapd}->{ServerIdentifier}); } $setup->doExit(1); } else { if ($setup->{update}) { $setup->msg('update_successful'); } else { $setup->msg('created_dsinstance', $setup->{inf}->{slapd}->{ServerIdentifier}); } } $setup->doExit(0); END { if ($setup and $setup->{keep}) { $setup->{inf}->write("__temp__"); } } # emacs settings # Local Variables: # mode:perl # indent-tabs-mode: nil # tab-width: 4 # End: