diff options
author | Oliver Tappe | 2007-02-12 22:44:09 +0100 |
---|---|---|
committer | Oliver Tappe | 2007-02-12 22:44:09 +0100 |
commit | 1455d67711a5353adabdba8183d3bc603ea7f216 (patch) | |
tree | aff1e168c4e7bc30860613581bf472794cf621ff /installer/OpenSLX/OSSetup/Distro | |
parent | Inserted start script for policykitd (needed for device access in KDE (diff) | |
download | core-1455d67711a5353adabdba8183d3bc603ea7f216.tar.gz core-1455d67711a5353adabdba8183d3bc603ea7f216.tar.xz core-1455d67711a5353adabdba8183d3bc603ea7f216.zip |
* added perl-ified slxos-setup script and the relevant perl-modules, still not done, but
nearly there
git-svn-id: http://svn.openslx.org/svn/openslx/trunk@698 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'installer/OpenSLX/OSSetup/Distro')
-rw-r--r-- | installer/OpenSLX/OSSetup/Distro/Base.pm | 90 | ||||
-rw-r--r-- | installer/OpenSLX/OSSetup/Distro/SUSE_10_1.pm | 52 | ||||
-rw-r--r-- | installer/OpenSLX/OSSetup/Distro/SUSE_10_2.pm | 52 |
3 files changed, 194 insertions, 0 deletions
diff --git a/installer/OpenSLX/OSSetup/Distro/Base.pm b/installer/OpenSLX/OSSetup/Distro/Base.pm new file mode 100644 index 00000000..cc0f7fd9 --- /dev/null +++ b/installer/OpenSLX/OSSetup/Distro/Base.pm @@ -0,0 +1,90 @@ +# Base.pm - provides empty base of the OpenSLX OSSetup API. +# +# (c) 2006 - OpenSLX.com +# +# Oliver Tappe <ot@openslx.com> +# +package OpenSLX::OSSetup::Distro::Base; + +use vars qw($VERSION); +$VERSION = 1.01; # API-version . implementation-version + +use strict; +use Carp; +use File::Basename; +use OpenSLX::Basics; + +################################################################################ +### interface methods +################################################################################ +sub new +{ + confess "Creating OpenSLX::OSSetup::System::Base-objects directly makes no sense!"; +} + +sub initialize +{ + my $self = shift; + my $engine = shift; + + $self->{'engine'} = $engine; + + $self->{'stage1a-binaries'} = { + "$openslxConfig{'share-path'}/busybox/busybox" => 'bin', + }; + + $self->{'stage1b-faked-files'} = [ + '/etc/mtab', + ]; + + $self->{'stage1c-faked-files'} = [ + ]; +} + +sub fixPrerequiredFiles +{ +} + +1; +################################################################################ + +=pod + +=head1 NAME + +OpenSLX::OSSetup::System::Base - the base class for all OSSetup backends + +=head1 SYNOPSIS + + package OpenSLX::OSSetup::coolnewOS; + + use vars qw(@ISA $VERSION); + @ISA = ('OpenSLX::OSSetup::Base'); + $VERSION = 1.01; + + use coolnewOS; + + sub new + { + my $class = shift; + my $self = {}; + return bless $self, $class; + } + + # override all methods of OpenSLX::OSSetup::Base in order to implement + # a full OS-setup backend + ... + +I<The synopsis above outlines a class that implements a +OSSetup backend for the (imaginary) operating system B<coolnewOS>> + +=head1 DESCRIPTION + +This class defines the OSSetup interface for the OpenSLX. + +Aim of the OSSetup abstraction is to make it possible to install a large set +of different operating systems transparently. + +... + +=cut diff --git a/installer/OpenSLX/OSSetup/Distro/SUSE_10_1.pm b/installer/OpenSLX/OSSetup/Distro/SUSE_10_1.pm new file mode 100644 index 00000000..ebf8902b --- /dev/null +++ b/installer/OpenSLX/OSSetup/Distro/SUSE_10_1.pm @@ -0,0 +1,52 @@ +# SUSE_10_2.pm +# - provides SUSE-10.1-specific overrides of the OpenSLX OSSetup API. +# +# (c) 2006 - OpenSLX.com +# +# Oliver Tappe <ot@openslx.com> +# +package OpenSLX::OSSetup::Distro::SUSE_10_1; + +use vars qw(@ISA $VERSION); +@ISA = ('OpenSLX::OSSetup::Distro::Base'); +$VERSION = 1.01; # API-version . implementation-version + +use strict; +use Carp; +use OpenSLX::Basics; +use OpenSLX::OSSetup::Distro::Base 1.01; + +################################################################################ +### implementation +################################################################################ +sub new +{ + my $class = shift; + my $self = { + 'base-name' => 'suse-10.1', + }; + return bless $self, $class; +} + +sub initialize +{ + my $self = shift; + my $engine = shift; + + $self->SUPER::initialize($engine); + $self->{'packager-type'} = 'rpm'; + $self->{'meta-packager-type'} = $ENV{SLX_META_PACKAGER} || 'yum'; + $ENV{YAST_IS_RUNNING} = "instsys"; +} + +sub fixPrerequiredFiles +{ + my $self = shift; + my $stage1cDir = shift; + + if (system("chown root: $stage1cDir/etc/{group,passwd,shadow}")) { + die _tr("unable to fix pre-required files (%s)", $!); + } +} + +1;
\ No newline at end of file diff --git a/installer/OpenSLX/OSSetup/Distro/SUSE_10_2.pm b/installer/OpenSLX/OSSetup/Distro/SUSE_10_2.pm new file mode 100644 index 00000000..59c2353c --- /dev/null +++ b/installer/OpenSLX/OSSetup/Distro/SUSE_10_2.pm @@ -0,0 +1,52 @@ +# SUSE_10_2.pm +# - provides SUSE-10.2-specific overrides of the OpenSLX OSSetup API. +# +# (c) 2006 - OpenSLX.com +# +# Oliver Tappe <ot@openslx.com> +# +package OpenSLX::OSSetup::Distro::SUSE_10_2; + +use vars qw(@ISA $VERSION); +@ISA = ('OpenSLX::OSSetup::Distro::Base'); +$VERSION = 1.01; # API-version . implementation-version + +use strict; +use Carp; +use OpenSLX::Basics; +use OpenSLX::OSSetup::Distro::Base 1.01; + +################################################################################ +### implementation +################################################################################ +sub new +{ + my $class = shift; + my $self = { + 'base-name' => 'suse-10.2', + }; + return bless $self, $class; +} + +sub initialize +{ + my $self = shift; + my $engine = shift; + + $self->SUPER::initialize($engine); + $self->{'packager-type'} = 'rpm'; + $self->{'meta-packager-type'} = $ENV{SLX_META_PACKAGER} || 'yum'; + $ENV{YAST_IS_RUNNING} = "instsys"; +} + +sub fixPrerequiredFiles +{ + my $self = shift; + my $stage1cDir = shift; + + if (system("chown root: $stage1cDir/etc/{group,passwd,shadow}")) { + die _tr("unable to fix pre-required files (%s)", $!); + } +} + +1;
\ No newline at end of file |