summaryrefslogtreecommitdiffstats
path: root/config-db/slxsetup.pl
diff options
context:
space:
mode:
authorOliver Tappe2006-10-28 16:23:49 +0200
committerOliver Tappe2006-10-28 16:23:49 +0200
commit1417b305c990fb428f4089052826a5ba1329c7cf (patch)
tree9193fc1af8da1f66c41b4b555e113d702fafd8be /config-db/slxsetup.pl
parentDon't overwrite an existing settings.local file. (diff)
downloadcore-1417b305c990fb428f4089052826a5ba1329c7cf.tar.gz
core-1417b305c990fb428f4089052826a5ba1329c7cf.tar.xz
core-1417b305c990fb428f4089052826a5ba1329c7cf.zip
* renamed several scripts to our new convention: no .pl for
user-executable stuff... git-svn-id: http://svn.openslx.org/svn/openslx/trunk@475 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'config-db/slxsetup.pl')
-rwxr-xr-xconfig-db/slxsetup.pl317
1 files changed, 0 insertions, 317 deletions
diff --git a/config-db/slxsetup.pl b/config-db/slxsetup.pl
deleted file mode 100755
index 4c82be28..00000000
--- a/config-db/slxsetup.pl
+++ /dev/null
@@ -1,317 +0,0 @@
-#! /usr/bin/perl
-#
-# slxsetup.pl - OpenSLX-script to show & change local settings
-#
-# (c) 2006 - OpenSLX.com
-#
-# Oliver Tappe <ot@openslx.com>
-#
-use strict;
-
-my $abstract = q[
-slxsetup.pl
- This script can be used to show or change the local settings for OpenSLX.
-
- Any cmdline-argument passed to this script will change the local OpenSLX
- settings file (usually /etc/opt/openslx/settings.local).
-
- If you invoke the script without any arguments, it will print the current
- settings and exit.
-
- Please use the --man option in order to read the full manual.
-];
-
-use Getopt::Long qw(:config pass_through);
-use Pod::Usage;
-
-# add the lib-folder and the folder this script lives in to perl's search
-# path for modules:
-use FindBin;
-use lib "$FindBin::RealBin/../lib";
- # production path
-use lib "$FindBin::RealBin";
- # development path
-
-use OpenSLX::Basics;
-
-my (
- $noShow,
- $quiet,
- @remove,
- $helpReq,
- $manReq,
- $versionReq,
-);
-
-GetOptions(
- 'noshow' => \$noShow,
- # will display current configuration
- 'quiet' => \$quiet,
- # will avoid printing anything
- 'remove=s' => \@remove,
- # will avoid printing anything
-
- 'help|?' => \$helpReq,
- 'man' => \$manReq,
- 'version' => \$versionReq,
-);
-pod2usage(-msg => $abstract, -verbose => 0, -exitval => 1) if $helpReq;
-pod2usage(-verbose => 2) if $manReq;
-if ($versionReq) {
- system('slxversion');
- exit 1;
-}
-
-openslxInit() or pod2usage(2);
-
-# fetch current content of local settings file...
-open(SETTINGS, "< $openslxConfig{'config-path'}/settings.local");
-$/ = undef;
-my $settings = <SETTINGS>;
-close(SETTINGS);
-
-my $changeCount;
-
-# ...set new values...
-foreach my $key (sort keys %cmdlineConfig) {
- next if $key eq 'config-path';
- # config-path can't be changed, it is used to find settings.local
- my $value = $cmdlineConfig{$key};
- next if !defined $value;
- vlog 0, _tr('setting %s to <%s>', $key, $value) unless $quiet;
- $key =~ tr[-][_];
- my $externalKey = "SLX_".uc($key);
- if (!($settings =~ s[^\s*$externalKey=.*?$][$externalKey=$value]ms)) {
- $settings .= "$externalKey=$value\n";
- }
- $changeCount++;
-}
-
-# ...remove any keys we should do away with...
-foreach my $key (@remove) {
- if (!exists $cmdlineConfig{$key}) {
- vlog 0, _tr('ignoring unknown key <%s>', $key);
- next;
- }
- vlog 0, _tr('removing %s', $key) unless $quiet;
- $key =~ tr[-][_];
- my $externalKey = "SLX_".uc($key);
- $settings =~ s[^\s*$externalKey=.*?$][]ms;
- $changeCount++;
-}
-
-# ... and write local settings file if necessary
-if ($changeCount) {
- my $f = "$openslxConfig{'config-path'}/settings.local";
- open(SETTINGS, "> $f")
- or die _tr('Unable to write local settings file <%s> (%s)', $f, $!);
- print SETTINGS $settings;
- close(SETTINGS);
-}
-
-if (!($noShow || $quiet)) {
- print "\n"._tr("resulting settings:")."\n";
- foreach my $key (sort keys %openslxConfig) {
- print "\t$key=$openslxConfig{$key}\n";
- }
-}
-
-__END__
-
-=head1 NAME
-
-slxsetup.pl - OpenSLX-script to show & change local settings
-
-=head1 SYNOPSIS
-
-slxsetup.pl [options]
-
- Script Options:
- --noshow do not print resulting settings
- --quiet do not print anything
- --remove=<string> remove given key from settings
-
- OpenSLX Options:
- --base-path=<string> basic path to project files
- --bin-path=<string> path to binaries and scripts
- --config-path=<string> path to configuration files
- --db-basepath=<string> basic path to openslx database
- --db-datadir=<string> data folder created under db-basepath
- --db-name=<string> name of database
- --db-spec=<string> full DBI-specification of database
- --db-type=<string> type of database to connect to
- --export-path=<string> path to root of all exported filesystems
- --locale=<string> locale to use for translations
- --logfile=<string> file to write logging output to
- --private-path=<string> path to private data
- --public-path=<string> path to public (client-accesible) data
- --share-path=<string> path to sharable data
- --temp-path=<string> path to temporary data
- --tftpboot-path=<string> path to root of tftp-server
- --verbose-level=<int> level of logging verbosity (0-3)
-
- General Options:
- --help brief help message
- --man full documentation
- --version show version
-
-=head1 OPTIONS
-
-=head3 Script Options
-
-=over 8
-
-=item B<--noshow>
-
-Avoids printing the resulting settings after any changes have been applied.
-
-=item B<--quiet>
-
-Runs the script without printing anything.
-
-=item B<--remove=<string>>
-
-Removes given key from settings (apply more than once to remove several keys).
-
-=back
-
-=head3 OpenSLX Options
-
-=over 8
-
-=item B<--base-path=<string>>
-
-Sets basic path to project files.
-
-Default is $SLX_BASE_PATH (usually F</opt/openslx>).
-
-=item B<--bin-path=<string>>
-
-Sets path to binaries and scripts.
-
-Default is $SLX_BASE_PATH/bin (usually F</opt/openslx/bin>).
-
-=item B<--config-path=<string>>
-
-Sets path to configuration files.
-
-Default is $SLX_CONFIG_PATH (usually F</etc/opt/openslx>).
-
-=item B<--db-basepath=<string>>
-
-Sets basic path to openslx database.
-
-Default is $SLX_DB_PATH (usually F</var/opt/openslx/db>).
-
-=item B<--db-datadir=<string>>
-
-Sets data folder created under db-basepath.
-
-Default is $SLX_DB_DATADIR (usually empty as it depends on db-type
-whether or not such a directory is required at all).
-
-=item B<--db-name=<string>>
-
-Gives the name of the database to connect to.
-
-Default is $SLX_DB_NAME (usually C<openslx>).
-
-=item B<--db-spec=<string>>
-
-Gives the full DBI-specification of database to connect to. Content depends
-on the db-type.
-
-Default is $SLX_DB_SPEC (usually empty as it will be built automatically).
-
-=item B<--db-type=<string>>
-
-Sets the type of database to connect to (CSV, SQLite, mysql, ...).
-
-Default $SLX_DB_TYPE (usually C<CSV>).
-
-=item B<--export-path=<string>>
-
-Sets path to root of all exported filesystems. For each type of export (NFS,
-NBD, ...) a separate folder will be created in here.
-
-Default is $SLX_EXPORT_PATH (usually F</srv/openslx/export>.
-
-=item B<--locale=<string>>
-
-Sets the locale to use for translations.
-
-Defaults to the system's standard locale.
-
-=item B<--logfile=<string>>
-
-Specifies a file where logging output will be written to.
-
-Default is to log to STDERR.
-
-=item B<--private-path=<string>>
-
-Sets path to private data, where the config-db, vendor_oses and configurational
-extensions will be stored.
-
-Default is $SLX_PRIVATE_PATH (usually F</var/opt/openslx>.
-
-=item B<--public-path=<string>>
-
-Sets path to public (client-accesible) data.
-
-Default is $SLX_PUBLIC_PATH (usually F</srv/openslx>.
-
-=item B<--share-path=<string>>
-
-Sets path to sharable data, where distro-specs and functionality templates
-will be stored.
-
-Default is $SLX_SHARE_PATH (usually F</opt/openslx/share>.
-
-=item B<--temp-path=<string>>
-
-Sets path to temporary data.
-
-Default is $SLX_TEMP_PATH (usually F</tmp>.
-
-=item B<--tftpboot-path=<string>>
-
-Sets path to root of tftp-server from which clients will access their files.
-
-Default is $SLX_TFTPBOOT_PATH (usually F</srv/openslx/tftpboot>.
-
-=item B<--verbose-level=<int>>
-
-Sets the level of logging verbosity (0-3).
-
-Default is $SLX_VERBOSE_LEVEL (usually 0, no logging).
-
-=back
-
-=head3 General Options
-
-=over 8
-
-=item B<--help>
-
-Prints a brief help message and exits.
-
-=item B<--man>
-
-Prints the manual page and exits.
-
-=item B<--version>
-
-Prints the version and exits.
-
-=back
-
-=head1 DESCRIPTION
-
-B<slxsetup.pl> can be used to show or change the local settings for OpenSLX.
-
-Any cmdline-argument passed to this script will change the local OpenSLX
-settings file (usually /etc/opt/openslx/settings.local).
-
-If you invoke the script without any arguments, it will print the current
-settings and exit.