summaryrefslogtreecommitdiffstats
path: root/installer/OpenSLX/OSSetup/Distro
diff options
context:
space:
mode:
Diffstat (limited to 'installer/OpenSLX/OSSetup/Distro')
-rw-r--r--installer/OpenSLX/OSSetup/Distro/Debian.pm38
-rw-r--r--installer/OpenSLX/OSSetup/Distro/Debian_3_1.pm21
-rw-r--r--installer/OpenSLX/OSSetup/Distro/Debian_4_0.pm21
-rw-r--r--installer/OpenSLX/OSSetup/Distro/Fedora.pm41
-rw-r--r--installer/OpenSLX/OSSetup/Distro/Fedora_6.pm17
-rw-r--r--installer/OpenSLX/OSSetup/Distro/Fedora_6_x86_64.pm17
-rw-r--r--installer/OpenSLX/OSSetup/Distro/SUSE.pm65
-rw-r--r--installer/OpenSLX/OSSetup/Distro/SUSE_10_1.pm40
-rw-r--r--installer/OpenSLX/OSSetup/Distro/SUSE_10_1_x86_64.pm40
-rw-r--r--installer/OpenSLX/OSSetup/Distro/SUSE_10_2.pm40
-rw-r--r--installer/OpenSLX/OSSetup/Distro/SUSE_10_2_x86_64.pm40
-rw-r--r--installer/OpenSLX/OSSetup/Distro/Ubuntu.pm45
-rw-r--r--installer/OpenSLX/OSSetup/Distro/Ubuntu_6_10.pm65
13 files changed, 262 insertions, 228 deletions
diff --git a/installer/OpenSLX/OSSetup/Distro/Debian.pm b/installer/OpenSLX/OSSetup/Distro/Debian.pm
new file mode 100644
index 00000000..48391f55
--- /dev/null
+++ b/installer/OpenSLX/OSSetup/Distro/Debian.pm
@@ -0,0 +1,38 @@
+# Copyright (c) 2006, 2007 - OpenSLX GmbH
+#
+# This program is free software distributed under the GPL version 2.
+# See http://openslx.org/COPYING
+#
+# If you have any feedback please consult http://openslx.org/feedback and
+# send your suggestions, praise, or complaints to feedback@openslx.org
+#
+# General information about OpenSLX can be found at http://openslx.org/
+# -----------------------------------------------------------------------------
+# Debian.pm
+# - provides Debian-specific overrides of the OpenSLX OSSetup API.
+# -----------------------------------------------------------------------------
+package OpenSLX::OSSetup::Distro::Debian;
+
+use strict;
+use warnings;
+
+use base qw(OpenSLX::OSSetup::Distro::Base);
+
+use OpenSLX::Basics;
+
+################################################################################
+### implementation
+################################################################################
+sub initialize
+{
+ my $self = shift;
+ my $engine = shift;
+
+ $self->SUPER::initialize($engine);
+ $self->{'packager-type'} = 'dpkg';
+ $self->{'meta-packager-type'} = $ENV{SLX_META_PACKAGER} || 'apt';
+ $self->{'stage1c-faked-files'} = [];
+ return;
+}
+
+1; \ No newline at end of file
diff --git a/installer/OpenSLX/OSSetup/Distro/Debian_3_1.pm b/installer/OpenSLX/OSSetup/Distro/Debian_3_1.pm
index 30882c8d..c9476d25 100644
--- a/installer/OpenSLX/OSSetup/Distro/Debian_3_1.pm
+++ b/installer/OpenSLX/OSSetup/Distro/Debian_3_1.pm
@@ -16,7 +16,7 @@ package OpenSLX::OSSetup::Distro::Debian_3_1;
use strict;
use warnings;
-use base qw(OpenSLX::OSSetup::Distro::Base);
+use base qw(OpenSLX::OSSetup::Distro::Debian);
use OpenSLX::Basics;
@@ -32,25 +32,6 @@ sub new
return bless $self, $class;
}
-sub initialize
-{
- my $self = shift;
- my $engine = shift;
-
- $self->SUPER::initialize($engine);
- $self->{'packager-type'} = 'dpkg';
- $self->{'meta-packager-type'} = $ENV{SLX_META_PACKAGER} || 'apt';
- $self->{'stage1c-faked-files'} = [];
- return;
-}
-
-sub fixPrerequiredFiles
-{
- my $self = shift;
- my $stage1cDir = shift;
- return;
-}
-
sub initDistroInfo
{
my $self = shift;
diff --git a/installer/OpenSLX/OSSetup/Distro/Debian_4_0.pm b/installer/OpenSLX/OSSetup/Distro/Debian_4_0.pm
index 23ca8a77..2326f342 100644
--- a/installer/OpenSLX/OSSetup/Distro/Debian_4_0.pm
+++ b/installer/OpenSLX/OSSetup/Distro/Debian_4_0.pm
@@ -16,7 +16,7 @@ package OpenSLX::OSSetup::Distro::Debian_4_0;
use strict;
use warnings;
-use base qw(OpenSLX::OSSetup::Distro::Base);
+use base qw(OpenSLX::OSSetup::Distro::Debian);
use OpenSLX::Basics;
@@ -32,25 +32,6 @@ sub new
return bless $self, $class;
}
-sub initialize
-{
- my $self = shift;
- my $engine = shift;
-
- $self->SUPER::initialize($engine);
- $self->{'packager-type'} = 'dpkg';
- $self->{'meta-packager-type'} = $ENV{SLX_META_PACKAGER} || 'apt';
- $self->{'stage1c-faked-files'} = [];
- return;
-}
-
-sub fixPrerequiredFiles
-{
- my $self = shift;
- my $stage1cDir = shift;
- return;
-}
-
sub initDistroInfo
{
my $self = shift;
diff --git a/installer/OpenSLX/OSSetup/Distro/Fedora.pm b/installer/OpenSLX/OSSetup/Distro/Fedora.pm
new file mode 100644
index 00000000..5206a07e
--- /dev/null
+++ b/installer/OpenSLX/OSSetup/Distro/Fedora.pm
@@ -0,0 +1,41 @@
+# Copyright (c) 2006, 2007 - OpenSLX GmbH
+#
+# This program is free software distributed under the GPL version 2.
+# See http://openslx.org/COPYING
+#
+# If you have any feedback please consult http://openslx.org/feedback and
+# send your suggestions, praise, or complaints to feedback@openslx.org
+#
+# General information about OpenSLX can be found at http://openslx.org/
+# -----------------------------------------------------------------------------
+# Fedora.pm
+# - provides Fedora-specific overrides of the OpenSLX OSSetup API.
+# -----------------------------------------------------------------------------
+package OpenSLX::OSSetup::Distro::Fedora;
+
+use strict;
+use warnings;
+
+use base qw(OpenSLX::OSSetup::Distro::Base);
+
+use OpenSLX::Basics;
+
+################################################################################
+### implementation
+################################################################################
+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';
+ $self->{'stage1c-faked-files'} = [
+ '/etc/fstab',
+ '/etc/mtab',
+ ];
+ return;
+}
+
+1; \ No newline at end of file
diff --git a/installer/OpenSLX/OSSetup/Distro/Fedora_6.pm b/installer/OpenSLX/OSSetup/Distro/Fedora_6.pm
index 6b384ebd..4417136a 100644
--- a/installer/OpenSLX/OSSetup/Distro/Fedora_6.pm
+++ b/installer/OpenSLX/OSSetup/Distro/Fedora_6.pm
@@ -16,7 +16,7 @@ package OpenSLX::OSSetup::Distro::Fedora_6;
use strict;
use warnings;
-use base qw(OpenSLX::OSSetup::Distro::Base);
+use base qw(OpenSLX::OSSetup::Distro::Fedora);
use OpenSLX::Basics;
@@ -32,21 +32,6 @@ sub new
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';
- $self->{'stage1c-faked-files'} = [
- '/etc/fstab',
- '/etc/mtab',
- ];
- return;
-}
-
sub initDistroInfo
{
my $self = shift;
diff --git a/installer/OpenSLX/OSSetup/Distro/Fedora_6_x86_64.pm b/installer/OpenSLX/OSSetup/Distro/Fedora_6_x86_64.pm
index a4addcdb..8cd64775 100644
--- a/installer/OpenSLX/OSSetup/Distro/Fedora_6_x86_64.pm
+++ b/installer/OpenSLX/OSSetup/Distro/Fedora_6_x86_64.pm
@@ -16,7 +16,7 @@ package OpenSLX::OSSetup::Distro::Fedora_6_x86_64;
use strict;
use warnings;
-use base qw(OpenSLX::OSSetup::Distro::Base);
+use base qw(OpenSLX::OSSetup::Distro::Fedora);
use OpenSLX::Basics;
@@ -32,21 +32,6 @@ sub new
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';
- $self->{'stage1c-faked-files'} = [
- '/etc/fstab',
- '/etc/mtab',
- ];
- return;
-}
-
sub initDistroInfo
{
my $self = shift;
diff --git a/installer/OpenSLX/OSSetup/Distro/SUSE.pm b/installer/OpenSLX/OSSetup/Distro/SUSE.pm
new file mode 100644
index 00000000..065fbf2c
--- /dev/null
+++ b/installer/OpenSLX/OSSetup/Distro/SUSE.pm
@@ -0,0 +1,65 @@
+# Copyright (c) 2006, 2007 - OpenSLX GmbH
+#
+# This program is free software distributed under the GPL version 2.
+# See http://openslx.org/COPYING
+#
+# If you have any feedback please consult http://openslx.org/feedback and
+# send your suggestions, praise, or complaints to feedback@openslx.org
+#
+# General information about OpenSLX can be found at http://openslx.org/
+# -----------------------------------------------------------------------------
+# SUSE.pm
+# - provides SUSE-specific overrides of the OpenSLX OSSetup API.
+# -----------------------------------------------------------------------------
+package OpenSLX::OSSetup::Distro::SUSE;
+
+use strict;
+use warnings;
+
+use base qw(OpenSLX::OSSetup::Distro::Base);
+
+use OpenSLX::Basics;
+
+################################################################################
+### implementation
+################################################################################
+sub initialize
+{
+ my $self = shift;
+ my $engine = shift;
+
+ $self->SUPER::initialize($engine);
+ $self->{'packager-type'} = 'rpm';
+ $self->{'meta-packager-type'} = $ENV{SLX_META_PACKAGER} || 'smart';
+ $ENV{YAST_IS_RUNNING} = "instsys";
+ return;
+}
+
+sub fixPrerequiredFiles
+{
+ my $self = shift;
+ my $stage1cDir = shift;
+
+ chown(0, 0, "$stage1cDir/etc/group", "$stage1cDir/etc/passwd",
+ "$stage1cDir/etc/shadow");
+ return;
+}
+
+sub updateDistroConfig
+{
+ my $self = shift;
+
+ # make sure there's a /dev/zero, as SuSEconfig requires it:
+ if (!-e "/dev/zero" && slxsystem("mknod /dev/zero c 1 5")) {
+ die _tr("unable to create node '%s' (%s)\n", "/dev/zero", $!);
+ }
+ # invoke SuSEconfig in order to allow it to update the configuration:
+ if (slxsystem("SuSEconfig")) {
+ die _tr("unable to run SuSEconfig (%s)", $!);
+ }
+ $self->SUPER::updateDistroConfig();
+ return;
+}
+
+
+1;
diff --git a/installer/OpenSLX/OSSetup/Distro/SUSE_10_1.pm b/installer/OpenSLX/OSSetup/Distro/SUSE_10_1.pm
index b25b167d..27125f41 100644
--- a/installer/OpenSLX/OSSetup/Distro/SUSE_10_1.pm
+++ b/installer/OpenSLX/OSSetup/Distro/SUSE_10_1.pm
@@ -16,7 +16,7 @@ package OpenSLX::OSSetup::Distro::SUSE_10_1;
use strict;
use warnings;
-use base qw(OpenSLX::OSSetup::Distro::Base);
+use base qw(OpenSLX::OSSetup::Distro::SUSE);
use OpenSLX::Basics;
@@ -32,44 +32,6 @@ sub new
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} || 'smart';
- $ENV{YAST_IS_RUNNING} = "instsys";
- return;
-}
-
-sub fixPrerequiredFiles
-{
- my $self = shift;
- my $stage1cDir = shift;
-
- chown(0, 0, "$stage1cDir/etc/group", "$stage1cDir/etc/passwd",
- "$stage1cDir/etc/shadow");
- return;
-}
-
-sub updateDistroConfig
-{
- my $self = shift;
-
- # make sure there's a /dev/zero, as SuSEconfig requires it:
- if (!-e "/dev/zero" && slxsystem("mknod /dev/zero c 1 5")) {
- die _tr("unable to create node '%s' (%s)\n", "/dev/zero", $!);
- }
- # invoke SuSEconfig in order to allow it to update the configuration:
- if (slxsystem("SuSEconfig")) {
- die _tr("unable to run SuSEconfig (%s)", $!);
- }
- $self->SUPER::updateDistroConfig();
- return;
-}
-
sub initDistroInfo
{
my $self = shift;
diff --git a/installer/OpenSLX/OSSetup/Distro/SUSE_10_1_x86_64.pm b/installer/OpenSLX/OSSetup/Distro/SUSE_10_1_x86_64.pm
index 91210146..5f73887d 100644
--- a/installer/OpenSLX/OSSetup/Distro/SUSE_10_1_x86_64.pm
+++ b/installer/OpenSLX/OSSetup/Distro/SUSE_10_1_x86_64.pm
@@ -16,7 +16,7 @@ package OpenSLX::OSSetup::Distro::SUSE_10_1_x86_64;
use strict;
use warnings;
-use base qw(OpenSLX::OSSetup::Distro::Base);
+use base qw(OpenSLX::OSSetup::Distro::SUSE);
use OpenSLX::Basics;
@@ -32,44 +32,6 @@ sub new
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} || 'smart';
- $ENV{YAST_IS_RUNNING} = "instsys";
- return;
-}
-
-sub fixPrerequiredFiles
-{
- my $self = shift;
- my $stage1cDir = shift;
-
- chown(0, 0, "$stage1cDir/etc/group", "$stage1cDir/etc/passwd",
- "$stage1cDir/etc/shadow");
- return;
-}
-
-sub updateDistroConfig
-{
- my $self = shift;
-
- # make sure there's a /dev/zero, as SuSEconfig requires it:
- if (!-e "/dev/zero" && slxsystem("mknod /dev/zero c 1 5")) {
- die _tr("unable to create node '%s' (%s)\n", "/dev/zero", $!);
- }
- # invoke SuSEconfig in order to allow it to update the configuration:
- if (slxsystem("SuSEconfig")) {
- die _tr("unable to run SuSEconfig (%s)", $!);
- }
- $self->SUPER::updateDistroConfig();
- return;
-}
-
sub initDistroInfo
{
my $self = shift;
diff --git a/installer/OpenSLX/OSSetup/Distro/SUSE_10_2.pm b/installer/OpenSLX/OSSetup/Distro/SUSE_10_2.pm
index 71f4b57b..0513050f 100644
--- a/installer/OpenSLX/OSSetup/Distro/SUSE_10_2.pm
+++ b/installer/OpenSLX/OSSetup/Distro/SUSE_10_2.pm
@@ -16,7 +16,7 @@ package OpenSLX::OSSetup::Distro::SUSE_10_2;
use strict;
use warnings;
-use base qw(OpenSLX::OSSetup::Distro::Base);
+use base qw(OpenSLX::OSSetup::Distro::SUSE);
use OpenSLX::Basics;
@@ -30,44 +30,6 @@ sub new
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} || 'smart';
- $ENV{YAST_IS_RUNNING} = "instsys";
- return;
-}
-
-sub fixPrerequiredFiles
-{
- my $self = shift;
- my $stage1cDir = shift;
-
- chown(0, 0, "$stage1cDir/etc/group", "$stage1cDir/etc/passwd",
- "$stage1cDir/etc/shadow");
- return;
-}
-
-sub updateDistroConfig
-{
- my $self = shift;
-
- # make sure there's a /dev/zero, as SuSEconfig requires it:
- if (!-e "/dev/zero" && slxsystem("mknod /dev/zero c 1 5")) {
- die _tr("unable to create node '%s' (%s)\n", "/dev/zero", $!);
- }
- # invoke SuSEconfig in order to allow it to update the configuration:
- if (slxsystem("SuSEconfig")) {
- die _tr("unable to run SuSEconfig (%s)", $!);
- }
- $self->SUPER::updateDistroConfig();
- return;
-}
-
sub initDistroInfo
{
my $self = shift;
diff --git a/installer/OpenSLX/OSSetup/Distro/SUSE_10_2_x86_64.pm b/installer/OpenSLX/OSSetup/Distro/SUSE_10_2_x86_64.pm
index 85715e40..2b6d4d7b 100644
--- a/installer/OpenSLX/OSSetup/Distro/SUSE_10_2_x86_64.pm
+++ b/installer/OpenSLX/OSSetup/Distro/SUSE_10_2_x86_64.pm
@@ -16,7 +16,7 @@ package OpenSLX::OSSetup::Distro::SUSE_10_2_x86_64;
use strict;
use warnings;
-use base qw(OpenSLX::OSSetup::Distro::Base);
+use base qw(OpenSLX::OSSetup::Distro::SUSE);
use OpenSLX::Basics;
@@ -32,44 +32,6 @@ sub new
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} || 'smart';
- $ENV{YAST_IS_RUNNING} = "instsys";
- return;
-}
-
-sub fixPrerequiredFiles
-{
- my $self = shift;
- my $stage1cDir = shift;
-
- chown(0, 0, "$stage1cDir/etc/group", "$stage1cDir/etc/passwd",
- "$stage1cDir/etc/shadow");
- return;
-}
-
-sub updateDistroConfig
-{
- my $self = shift;
-
- # make sure there's a /dev/zero, as SuSEconfig requires it:
- if (!-e "/dev/zero" && slxsystem("mknod /dev/zero c 1 5")) {
- die _tr("unable to create node '%s' (%s)\n", "/dev/zero", $!);
- }
- # invoke SuSEconfig in order to allow it to update the configuration:
- if (slxsystem("SuSEconfig")) {
- die _tr("unable to run SuSEconfig (%s)", $!);
- }
- $self->SUPER::updateDistroConfig();
- return;
-}
-
sub initDistroInfo
{
my $self = shift;
diff --git a/installer/OpenSLX/OSSetup/Distro/Ubuntu.pm b/installer/OpenSLX/OSSetup/Distro/Ubuntu.pm
new file mode 100644
index 00000000..17c30662
--- /dev/null
+++ b/installer/OpenSLX/OSSetup/Distro/Ubuntu.pm
@@ -0,0 +1,45 @@
+# Copyright (c) 2006, 2007 - OpenSLX GmbH
+#
+# This program is free software distributed under the GPL version 2.
+# See http://openslx.org/COPYING
+#
+# If you have any feedback please consult http://openslx.org/feedback and
+# send your suggestions, praise, or complaints to feedback@openslx.org
+#
+# General information about OpenSLX can be found at http://openslx.org/
+# -----------------------------------------------------------------------------
+# Ubuntu.pm
+# - provides Ubuntu-specific overrides of the OpenSLX OSSetup API.
+# -----------------------------------------------------------------------------
+package OpenSLX::OSSetup::Distro::Ubuntu;
+
+use strict;
+use warnings;
+
+use base qw(OpenSLX::OSSetup::Distro::Base);
+
+use OpenSLX::Basics;
+
+################################################################################
+### implementation
+################################################################################
+sub initialize
+{
+ my $self = shift;
+ my $engine = shift;
+
+ $self->SUPER::initialize($engine);
+ $self->{'packager-type'} = 'dpkg';
+ $self->{'meta-packager-type'} = $ENV{SLX_META_PACKAGER} || 'apt';
+ $self->{'stage1c-faked-files'} = [];
+ return;
+}
+
+sub fixPrerequiredFiles
+{
+ my $self = shift;
+ my $stage1cDir = shift;
+ return;
+}
+
+1; \ No newline at end of file
diff --git a/installer/OpenSLX/OSSetup/Distro/Ubuntu_6_10.pm b/installer/OpenSLX/OSSetup/Distro/Ubuntu_6_10.pm
new file mode 100644
index 00000000..4225b9aa
--- /dev/null
+++ b/installer/OpenSLX/OSSetup/Distro/Ubuntu_6_10.pm
@@ -0,0 +1,65 @@
+# Copyright (c) 2006, 2007 - OpenSLX GmbH
+#
+# This program is free software distributed under the GPL version 2.
+# See http://openslx.org/COPYING
+#
+# If you have any feedback please consult http://openslx.org/feedback and
+# send your suggestions, praise, or complaints to feedback@openslx.org
+#
+# General information about OpenSLX can be found at http://openslx.org/
+# -----------------------------------------------------------------------------
+# Ubuntu_6_10.pm
+# - provides Ubuntu-6.10-specific overrides of the OpenSLX OSSetup API.
+# -----------------------------------------------------------------------------
+package OpenSLX::OSSetup::Distro::Ubuntu_6_10;
+
+use strict;
+use warnings;
+
+use base qw(OpenSLX::OSSetup::Distro::Ubuntu);
+
+use OpenSLX::Basics;
+
+################################################################################
+### implementation
+################################################################################
+sub new
+{
+ my $class = shift;
+ my $self = {
+ 'base-name' => 'ubuntu-6.10',
+ };
+ return bless $self, $class;
+}
+
+sub initDistroInfo
+{
+ my $self = shift;
+ $self->{config}->{'repository'} = {
+ 'base' => {
+ 'urls' => "
+ ",
+ 'name' => 'Ubuntu 6.10',
+ 'repo-subdir' => 'dists/edgy',
+ },
+ };
+
+ $self->{config}->{'package-subdir'} = 'pool';
+
+ $self->{config}->{'prereq-packages'} = "
+ main/d/debootstrap/debootstrap_0.3.3.0ubuntu7_all.deb
+ ";
+
+ $self->{config}->{'bootstrap-prereq-packages'} = "
+ ";
+
+ $self->{config}->{'bootstrap-packages'} = "
+ ";
+
+ $self->{config}->{'selection'} = {
+ 'default' => "kmail",
+ };
+ return;
+}
+
+1; \ No newline at end of file