summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMichael Janczyk2012-11-07 18:48:54 +0100
committerMichael Janczyk2012-11-07 18:48:54 +0100
commit9cbaf3a23a9791bc2d2c3a7fd3516922debfb464 (patch)
treef4a31ac193db18c77a4e42700242be247f0a77fd /src
parentplymouth plugin updated to set the theme to the target system (diff)
downloadcore-9cbaf3a23a9791bc2d2c3a7fd3516922debfb464.tar.gz
core-9cbaf3a23a9791bc2d2c3a7fd3516922debfb464.tar.xz
core-9cbaf3a23a9791bc2d2c3a7fd3516922debfb464.zip
added rhel, centos, scientific linux 5 and 6.
centos and sl are depending on rhel. simple pxe menu for default blue look. firmwares of other nw cards are copied now.
Diffstat (limited to 'src')
-rw-r--r--src/boot-env/OpenSLX/BootEnvironment/PXE.pm8
-rw-r--r--src/boot-env/OpenSLX/MakeInitRamFS/Distro/Centos.pm36
-rw-r--r--src/boot-env/OpenSLX/MakeInitRamFS/Distro/Rhel.pm58
-rw-r--r--src/boot-env/OpenSLX/MakeInitRamFS/Distro/Scientific.pm36
-rw-r--r--src/boot-env/OpenSLX/MakeInitRamFS/Engine/Base.pm23
-rw-r--r--src/boot-env/syslinux/themes/simple/theme.conf19
-rw-r--r--src/initramfs/distro-specs/centos/functions-default311
-rw-r--r--src/initramfs/distro-specs/rhel/functions-default311
-rw-r--r--src/initramfs/distro-specs/scientific/functions-default311
-rw-r--r--src/installer/OpenSLX/OSExport/Distro/Centos.pm35
-rw-r--r--src/installer/OpenSLX/OSExport/Distro/Rhel.pm94
-rw-r--r--src/installer/OpenSLX/OSExport/Distro/Scientific.pm35
-rw-r--r--src/installer/OpenSLX/OSSetup/Distro/Centos.pm27
-rw-r--r--src/installer/OpenSLX/OSSetup/Distro/Rhel.pm48
-rw-r--r--src/installer/OpenSLX/OSSetup/Distro/Scientific.pm27
-rw-r--r--src/installer/OpenSLX/OSSetup/Engine.pm14
-rw-r--r--src/lib/distro-info/centos-5/export-filter.example15
-rw-r--r--src/lib/distro-info/centos-5/prereqfiles/etc/group33
-rw-r--r--src/lib/distro-info/centos-5/prereqfiles/etc/hosts1
-rw-r--r--src/lib/distro-info/centos-5/prereqfiles/etc/passwd14
-rw-r--r--src/lib/distro-info/centos-5/prereqfiles/etc/shadow14
-rw-r--r--src/lib/distro-info/centos-5/settings.default30
-rw-r--r--src/lib/distro-info/centos-5/settings.example17
-rw-r--r--src/lib/distro-info/centos-6/export-filter.example15
-rw-r--r--src/lib/distro-info/centos-6/prereqfiles/etc/group33
-rw-r--r--src/lib/distro-info/centos-6/prereqfiles/etc/hosts1
-rw-r--r--src/lib/distro-info/centos-6/prereqfiles/etc/passwd14
-rw-r--r--src/lib/distro-info/centos-6/prereqfiles/etc/shadow14
-rw-r--r--src/lib/distro-info/centos-6/settings.default30
-rw-r--r--src/lib/distro-info/centos-6/settings.example17
-rw-r--r--src/lib/distro-info/rhel-5/export-filter.example15
-rw-r--r--src/lib/distro-info/rhel-5/prereqfiles/etc/group33
-rw-r--r--src/lib/distro-info/rhel-5/prereqfiles/etc/hosts1
-rw-r--r--src/lib/distro-info/rhel-5/prereqfiles/etc/passwd14
-rw-r--r--src/lib/distro-info/rhel-5/prereqfiles/etc/shadow14
-rw-r--r--src/lib/distro-info/rhel-5/settings.default30
-rw-r--r--src/lib/distro-info/rhel-5/settings.example17
-rw-r--r--src/lib/distro-info/rhel-6/export-filter.example15
-rw-r--r--src/lib/distro-info/rhel-6/prereqfiles/etc/group33
-rw-r--r--src/lib/distro-info/rhel-6/prereqfiles/etc/hosts1
-rw-r--r--src/lib/distro-info/rhel-6/prereqfiles/etc/passwd14
-rw-r--r--src/lib/distro-info/rhel-6/prereqfiles/etc/shadow14
-rw-r--r--src/lib/distro-info/rhel-6/settings.default30
-rw-r--r--src/lib/distro-info/rhel-6/settings.example17
-rw-r--r--src/lib/distro-info/scientific-5/export-filter.example15
-rw-r--r--src/lib/distro-info/scientific-5/prereqfiles/etc/group33
-rw-r--r--src/lib/distro-info/scientific-5/prereqfiles/etc/hosts1
-rw-r--r--src/lib/distro-info/scientific-5/prereqfiles/etc/passwd14
-rw-r--r--src/lib/distro-info/scientific-5/prereqfiles/etc/shadow14
-rw-r--r--src/lib/distro-info/scientific-5/settings.default30
-rw-r--r--src/lib/distro-info/scientific-5/settings.example17
-rw-r--r--src/lib/distro-info/scientific-6/export-filter.example15
-rw-r--r--src/lib/distro-info/scientific-6/prereqfiles/etc/group33
-rw-r--r--src/lib/distro-info/scientific-6/prereqfiles/etc/hosts1
-rw-r--r--src/lib/distro-info/scientific-6/prereqfiles/etc/passwd14
-rw-r--r--src/lib/distro-info/scientific-6/prereqfiles/etc/shadow14
-rw-r--r--src/lib/distro-info/scientific-6/settings.default30
-rw-r--r--src/lib/distro-info/scientific-6/settings.example17
58 files changed, 2121 insertions, 16 deletions
diff --git a/src/boot-env/OpenSLX/BootEnvironment/PXE.pm b/src/boot-env/OpenSLX/BootEnvironment/PXE.pm
index 507ca9dc..56549bf4 100644
--- a/src/boot-env/OpenSLX/BootEnvironment/PXE.pm
+++ b/src/boot-env/OpenSLX/BootEnvironment/PXE.pm
@@ -216,7 +216,11 @@ sub _getTemplate
# generate PXE-Menu
my $pxeTemplate =
"# generated by slxconfig-demuxer (on $callDate at $callTime)\n";
- $pxeTemplate .= "\nDEFAULT vesamenu.c32\n";
+ if ($pxeTheme eq "simple") {
+ $pxeTemplate .= "\nDEFAULT menu.c32\n";
+ } else {
+ $pxeTemplate .= "\nDEFAULT vesamenu.c32\n";
+ }
# include static defaults
$pxeTemplate .= "\n# static configuration (override with include file)\n";
$pxeTemplate .= "NOESCAPE 0\n";
@@ -292,7 +296,7 @@ sub _prepareBootloaderConfigFolder
rmtree($pxeConfigPath);
mkpath($pxeConfigPath);
- for my $file ('pxelinux.0', 'pxechain.com', 'vesamenu.c32',
+ for my $file ('pxelinux.0', 'pxechain.com', 'vesamenu.c32', 'menu.c32',
'mboot.c32', 'kernel-shutdown', 'initramfs-shutdown') {
if (!-e "$pxePath/$file") {
slxsystem(
diff --git a/src/boot-env/OpenSLX/MakeInitRamFS/Distro/Centos.pm b/src/boot-env/OpenSLX/MakeInitRamFS/Distro/Centos.pm
new file mode 100644
index 00000000..abfaf622
--- /dev/null
+++ b/src/boot-env/OpenSLX/MakeInitRamFS/Distro/Centos.pm
@@ -0,0 +1,36 @@
+# Copyright (c) 2012 - 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/
+# -----------------------------------------------------------------------------
+# MakeInitRamFS::Distro::Centos.pm
+# - provides CentOS Linux specific overrides of the
+# MakeInitRamFS::Distro API.
+# -----------------------------------------------------------------------------
+package OpenSLX::MakeInitRamFS::Distro::Centos;
+
+use strict;
+use warnings;
+
+use base qw(OpenSLX::MakeInitRamFS::Distro::Rhel);
+
+use OpenSLX::Basics;
+
+################################################################################
+### implementation
+################################################################################
+sub new
+{
+ my $class = shift;
+ my $self = {
+ 'base-name' => 'centos',
+ };
+ return bless $self, $class;
+}
+
+1;
diff --git a/src/boot-env/OpenSLX/MakeInitRamFS/Distro/Rhel.pm b/src/boot-env/OpenSLX/MakeInitRamFS/Distro/Rhel.pm
new file mode 100644
index 00000000..54bb2c6d
--- /dev/null
+++ b/src/boot-env/OpenSLX/MakeInitRamFS/Distro/Rhel.pm
@@ -0,0 +1,58 @@
+# Copyright (c) 2012 - 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/
+# -----------------------------------------------------------------------------
+# MakeInitRamFS::Distro::Rhel.pm
+# - provides RHEL specific overrides of the MakeInitRamFS::Distro API.
+# -----------------------------------------------------------------------------
+package OpenSLX::MakeInitRamFS::Distro::Rhel;
+
+use strict;
+use warnings;
+
+use base qw(OpenSLX::MakeInitRamFS::Distro::Base);
+
+use OpenSLX::Basics;
+
+################################################################################
+### implementation
+################################################################################
+sub new
+{
+ my $class = shift;
+ my $self = {
+ 'base-name' => 'rhel',
+ };
+ return bless $self, $class;
+}
+
+sub applyChanges
+{
+ my $self = shift;
+ my $engine = shift;
+ # filter modules which are part of the main kernel already
+ $engine->_addFilteredKernelModules( qw( af_packet hid hid-bright usbhid unix vesafb fbcon ));
+
+ return;
+}
+
+sub determineMatchingHwinfoVersion
+{
+ my $self = shift;
+ my $distroVersion = shift;
+
+ my %versionMap = (
+ '5.x' => '16.0',
+ '6.x' => '16.0',
+ );
+ return $versionMap{$distroVersion}
+ || $self->SUPER::determineMatchingHwinfoVersion($distroVersion);
+}
+
+1;
diff --git a/src/boot-env/OpenSLX/MakeInitRamFS/Distro/Scientific.pm b/src/boot-env/OpenSLX/MakeInitRamFS/Distro/Scientific.pm
new file mode 100644
index 00000000..5b2d7613
--- /dev/null
+++ b/src/boot-env/OpenSLX/MakeInitRamFS/Distro/Scientific.pm
@@ -0,0 +1,36 @@
+# Copyright (c) 2012 - 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/
+# -----------------------------------------------------------------------------
+# MakeInitRamFS::Distro::Scientific.pm
+# - provides Scientific Linux specific overrides of the
+# MakeInitRamFS::Distro API.
+# -----------------------------------------------------------------------------
+package OpenSLX::MakeInitRamFS::Distro::Scientific;
+
+use strict;
+use warnings;
+
+use base qw(OpenSLX::MakeInitRamFS::Distro::Rhel);
+
+use OpenSLX::Basics;
+
+################################################################################
+### implementation
+################################################################################
+sub new
+{
+ my $class = shift;
+ my $self = {
+ 'base-name' => 'scientific',
+ };
+ return bless $self, $class;
+}
+
+1;
diff --git a/src/boot-env/OpenSLX/MakeInitRamFS/Engine/Base.pm b/src/boot-env/OpenSLX/MakeInitRamFS/Engine/Base.pm
index 1771784c..9fd2c8bc 100644
--- a/src/boot-env/OpenSLX/MakeInitRamFS/Engine/Base.pm
+++ b/src/boot-env/OpenSLX/MakeInitRamFS/Engine/Base.pm
@@ -278,23 +278,28 @@ sub _copyKernelModules
# build a list of required firmwares out of the list of modules - not
# totally optimal
my @firmwares;
- $self->addCMD("mkdir -p $self->{'build-path'}/lib/firmware/$self->{'kernel-version'}");
+ $self->addCMD("mkdir -p $self->{'build-path'}/lib/firmware");
+ $self->addCMD("ln -s . $self->{'build-path'}/lib/firmware/$self->{'kernel-version'}");
foreach my $moduleToBeCopied(%modulesToBeCopied) {
$moduleToBeCopied =~ /.*\/(.*?)$/;
# implies usage of switch
vlog(1,$1);
switch ($1){
+ # nic modules fw
+ case "bnx2.ko" {push @firmwares, split ' ', "bnx2/"}
+ case "bnx2x.ko" {push @firmwares, split ' ', "bnx2x/"}
case "e100.ko" {push @firmwares, split ' ', "e100"}
+ case "r8169.ko" {push @firmwares, split ' ', "rtl_nic/"}
+ case "tg3.ko" {push @firmwares, split ' ', "tigon/"}
+ # wifi fw
case "iwlwifi" {
push @firmwares, split ' ',
"iwlwifi-3945-1.ucode iwlwifi-3945-2.ucode iwlwifi-4965-1.ucode iwlwifi-4965-2.ucode iwlwifi-5000-1.ucode"
}
- case "tg3.ko" {push @firmwares, split ' ', "tigon/"}
# modules required for graphic adaptors (bootsplash, Xorg)
case "radeon.ko" {push @firmwares, split ' ', "radeon/"}
case "mga.ko" {push @firmwares, split ' ', "matrox/"}
case "r128.ko" {push @firmwares, split ' ', "r128/"}
- case "r8169.ko" {push @firmwares, split ' ', "rtl_nic/"}
}
}
# copy all the firmwares that we think are required
@@ -305,18 +310,16 @@ sub _copyKernelModules
my $alternative_source = followLink(
"$self->{'root-path'}/lib/firmware/$firmwareToBeCopied", $self->{'root-path'}
);
+ my $target = "$self->{'build-path'}/lib/firmware/";
if (-e $source){
- my $target = "$self->{'build-path'}/lib/firmware/$self->{'kernel-version'}/";
-
$self->addCMD("cp -pr --dereference $source $target");
- } else {
- vlog(3,"unable to find $source for copying purposes");
}
- if (-e $alternative_source){
- my $target = "$self->{'build-path'}/lib/firmware/";
-
+ elsif (-e $alternative_source){
$self->addCMD("cp -pr --dereference $alternative_source $target");
}
+ else {
+ vlog(3,"unable to find $source for copying purposes");
+ }
}
# copy all the modules that we think are required
diff --git a/src/boot-env/syslinux/themes/simple/theme.conf b/src/boot-env/syslinux/themes/simple/theme.conf
new file mode 100644
index 00000000..97cc153e
--- /dev/null
+++ b/src/boot-env/syslinux/themes/simple/theme.conf
@@ -0,0 +1,19 @@
+# openslx theme style definition
+# please define only look of your theme
+# for non-theme definitions use slxsettings
+# or include file in /etc/opt/openslx/boot-env/syslinux/pxemenu-include
+
+MENU WIDTH 78
+MENU MARGIN 9
+MENU PASSWORDMARGIN 9
+MENU ROWS 10
+MENU TABMSGROW 16
+MENU CMDLINEROW 16
+MENU ENDROW -1
+MENU PASSWORDROW 16
+MENU TIMEOUTROW 20
+MENU HELPMSGROW 16
+MENU HELPMSGENDROW -1
+MENU HSHIFT 0
+MENU VSHIFT 7
+
diff --git a/src/initramfs/distro-specs/centos/functions-default b/src/initramfs/distro-specs/centos/functions-default
new file mode 100644
index 00000000..a5234a95
--- /dev/null
+++ b/src/initramfs/distro-specs/centos/functions-default
@@ -0,0 +1,311 @@
+# Copyright (c) 2012 - OpenSLX GmbH
+#
+# This program/file 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 feedback to feedback@openslx.org
+#
+# General information about OpenSLX can be found under http://openslx.org
+#
+# configuration script for general CentOS Linux to configure linux
+# stateless clients (included by init, hwautocfg, servconfig within Initial-
+# RamFS after inclusion of the main functions file). This file is the main
+# base for the several RedHat based Scientific Linux versions.
+
+# settings of central variables
+# D_DIRINBINDMNT - lists of directories to be created in bind mounted rw
+# part of the client filesystem
+# D_RODIRSINRW - ReadOnly Directories in RW part of filesystem to save on
+# TempFS usage
+# D_DIRINDXS - directories in client filesystem which should be present
+# anyhow
+D_BINDMPTS="tmp root media home"
+D_DIRINBINDMNT="/var/run /var/log /var/tmp"
+D_RODIRSINRW="/etc/bootsplash /etc/gconf /var/adm /var/lib/texmf /var/lib/rpm \
+/var/cache/fontconfig"
+D_DIRINDXS="/var/lib/rpm /var/lib/nobody /var/lib/alternatives/ /var/db/nscd \
+/var/lib/bluetooth /var/lib/scrollkeeper /var/lib/nfs/sm /var/lib/nfs/sm.bak \
+/var/lib/misc /var/spool/cron"
+
+# empty functions are defined at the beginning of /etc/functions
+
+# distro specific function called from servconfig script
+config_distro () {
+ # clean the runlevel directories which will be populated by the stage3 setup
+ for dir in rc0.d rc1.d rc2.d rc3.d rc4.d rc5.d rc6.d ; do
+ rm -rf /mnt/etc/${dir}/*
+ done
+ # set some system/environment information
+ echo -e "SLX VERSION = $SLXVERSION\nINITRAMFS GENERATION DATE = $date" \
+ >>/mnt/etc/redhat-release
+ # simple bash configuration for root
+ echo -e "# Generated in OpenSLX stage3\n. /etc/bashrc" >/mnt/root/.profile
+ # enable sysrq
+ sed -e "1i# Configuration modified by $0 during stage3 bootup." \
+ -e "s/kernel.sysrq =.*/kernel.sysrq = 1/" -i /mnt/etc/sysctl.conf
+ # set some networking stuff if needed
+ [ -e /mnt/etc/sysconfig/network ] && \
+ sed -e "s/HOSTNAME=.*/HOSTNAME=$host_name/" \
+ -e "s/GATEWAY=.*/GATEWAY=$gateway/" -i /mnt/etc/sysconfig/network
+ # check for inittab file
+ #test -f /mnt/etc/inittab || error "$df_erritab"
+}
+
+# initial (boot time) runlevel scripts
+initial_boot () {
+# delete all classical disk base rootfs stuff from rc.sysinit
+sed -e "6i# Script modified by $0 during stage3 bootup." \
+ -e "/relabel_se/,/^}/d" \
+ -e "/# Start up swap/,/# Set up bin/d" \
+ -e "/^remount_needed/,/^fi$/d" -e "/^# Clean out/,/in_sysinit/d" \
+ -e "/# Mount all o/,/# Start the g/d" \
+ -e "/# Boot time/,/# let's/d" -i /mnt/etc/rc.d/rc.sysinit
+# delete all classical disk base rootfs stuff from halt
+sed -e "7i# Modified by $0 during stage3 bootup." \
+ -e "/# Save mixer/,/Saving random/d" -e "/quotaoff/,/^# Now halt/d" \
+ -i /mnt/etc/init.d/halt
+# boot.slx is a special runlevel script generated within initialramfs which
+# should be executed before the normal runlevel scripts.
+echo -e "# Run OpenSLX init runlevel script\n/etc/init.d/boot.slx" \
+ >>/mnt/etc/rc.d/rc.sysinit
+# switch off SElinux enforcing
+sed -e "1i# Configuration modified by $0 during stage3 bootup." \
+ -e "s/SELINUX=.*/SELINUX=permissive/" -i /mnt/etc/selinux/config
+# switch off display manager start via inittab
+sed -e "s/x:5:re.*/# line deleted in stage3, re-enable via desktop plugin/" \
+ -i /mnt/etc/inittab
+# link halt and reboot scripts
+ln -s ../init.d/killall /mnt/etc/rc.d/rc0.d/S00killall
+ln -s ../init.d/halt /mnt/etc/rc.d/rc0.d/S01halt
+ln -s ../init.d/killall /mnt/etc/rc.d/rc6.d/S00killall
+ln -s ../init.d/halt /mnt/etc/rc.d/rc6.d/S01reboot
+}
+
+# linking runlevel scripts
+rllinker () {
+local script="$1"
+if [ $2 -lt 10 ] ; then
+ local start="0$2"; else local start="$2"
+fi
+if [ $3 -lt 10 ] ; then
+ local stop="0$3"; else local stop="$3"
+fi
+# empty runlevel links - decision on running certain services is passed via
+# configuration
+for i in rc3.d/K$stop$script rc5.d/K$stop$script \
+ rc3.d/S$start$script rc5.d/S$start$script ; do
+ ln -sf ../init.d/$script /mnt/etc/$i
+done
+}
+
+# group of functions for the normal runlevels - first parameter is start
+# second stop
+# function for ntp configuration
+config_ntp () {
+if [ -e /mnt/etc/init.d/ntpd ] ; then
+ if ! strinfile "ntp:" /mnt/etc/passwd ; then
+ echo -e "ntp:x:38:38:NTP daemon:/var/lib/ntp:/sbin/nologin" \
+ >>/mnt/etc/passwd
+ echo -e "ntp:!:13099:0:99999:7:::" >>/mnt/etc/shadow
+ fi
+ testmkd /mnt/var/lib/ntp ntp:ntp
+ if [ "x$start_ntp" = "xyes" ] ; then
+ rllinker "ntpd" 7 14
+ fi
+fi
+}
+# function for atd
+config_atd () {
+if [ "x$start_atd" = "xyes" ]; then
+ rllinker "atd" 14 4
+fi
+}
+# function for configuration of cron services
+config_cron () {
+if [ "x$start_cron" = "xyes" ] ; then
+ if [ -f /mnt/etc/init.d/cron ] ; then
+ rllinker "cron" 18 2
+ testmkd /mnt/var/spool/anacron
+ echo -e "# /etc/crontab - file generated by $0:\n\
+" >/mnt/etc/crontab
+ else
+ error "$df_errcron" nonfatal
+ fi
+fi
+}
+# name service caching daemon (useful in most cases)
+config_nscd () {
+ if [ -f /mnt/etc/init.d/nscd ] ; then
+ testmkd /mnt/var/db/nscd
+ rllinker "nscd" 20 5
+ fi
+}
+# secure shell service
+config_sshd () {
+if [ "x$start_sshd" = "xyes" ] ; then
+ if [ -f /mnt/etc/init.d/sshd ] ; then
+ testmkd /mnt/var/empty/sshd/dev
+ if ! strinfile "sshd:" /mnt/etc/passwd ; then
+ echo -e "sshd:x:74:74::/var/empty/sshd:/sbin/nologin" \
+ >>/mnt/etc/passwd
+ echo -e "sshd:!:13099:0:99999:7:::" >>/mnt/etc/shadow
+ fi
+ rllinker "sshd" 25 10
+ else
+ error "$df_errsshd" nonfatal
+ fi
+fi
+}
+# snmp agent for remote monitoring
+config_snmp () {
+if [ "x$start_snmp" = "xyes" ] ; then
+ if [ -f /mnt/etc/init.d/snmpd ] ; then
+ rllinker "snmpd" 24 2
+ testmkd /mnt/var/lib/net-snmp
+ fi
+ # fixme!!
+ # write service monitor depending on services started
+ fi
+}
+# configure print server (lpd or cups)
+config_printer () {
+if [ "x${start_printdaemon}" != "x" ] && \
+ [ "x${start_printdaemon}" != "xno" ]; then
+ case ${start_printdaemon} in
+ yes|cups*|CUPS*)
+ rllinker "cups" 25 1
+ testmkd /mnt/var/spool/cups/tmp root:sys
+ ;;
+ lp*|LP*|PLP*)
+ rllinker "lpd" 25 1
+ testmkd /mnt/var/spool/lpd
+ ;;
+ *)
+ #logwrite "Do not know print-server $start_printdaemon; \
+ #specify 'cups' or 'lpd'."
+ ;;
+ esac
+fi
+# configure cups printer client, avoid to overwrite admin provided printer
+# configuration file
+if [ "x$lpr_servers" != "x" ] && [ ! -e /rootfs/etc/cups/client.conf ] ; then
+ echo -e "# /etc/cups/client.conf - file generated by\n#\t$0:\n\
+#\t$date\n#\nServerName\t$lpr_servers" >/mnt/etc/cups/client.conf
+fi
+}
+# configure bluetooth services
+config_bt () {
+if [ -e /mnt/etc/sysconfig/bluetooth ] ; then
+ sed -e "1i# /etc/sysconfig/bluetooth - file modified by $0" \
+ -e "s,HID2HCI_ENABLE.*,HID2HCI_ENABLE=true," \
+ -i /mnt/etc/sysconfig/bluetooth
+else
+ : # no bluetooth components installed
+fi
+}
+# set up localization like keytable and consolefont
+dlocale () {
+echo -e "\t# entries added by $0: $date" >> /mnt/etc/init.d/boot.slx
+sed -e "s,KEYTABLE=.*,KEYTABLE=\"${KEYTABLE}\"," \
+ -i /mnt/etc/sysconfig/keyboard
+#echo -e "\tsetfont ${CONSOLE_FONT} >${LOGFILE} 2>&1\n" \
+# >>/mnt/etc/init.d/boot.slx
+}
+# acpi and powersave daemons, required e.g. to shutdown the machine via
+# power button, no need for early start
+config_acpi () {
+rllinker acpid 01 22
+}
+# configure dbus (inter application communication for kde and gnome), hal
+# (hardware abstraction layer - used e.g. by powersaved) and resmgr
+# (resource manager - the user gets permissions to devices when loggin on)
+# runlevel script for haldaemon is now haldaemon instead of hal
+config_dreshal () {
+local start=4
+local stop=18
+if [ "x$start_dreshal" = "xyes" ]; then
+ testmkd /mnt/var/run/dbus
+ if [ -f /mnt/etc/init.d/messagebus ] ; then
+ testmkd /mnt/var/lib/dbus
+ strinfile "dbus:" /mnt/etc/passwd || \
+ echo "dbus:x:81:81:System Message Bus:/var/run/dbus:/sbin/nologin" \
+ >> /mnt/etc/passwd
+ strinfile "dbus:" /mnt/etc/group || echo "dbus:!:81:" >> /mnt/etc/group
+ rllinker "messagebus" $start $stop
+ fi
+ if [ -f /mnt/etc/init.d/haldaemon ] ; then
+ testmkd /mnt/var/lib/hal
+ strinfile "haldaemon:" /mnt/etc/passwd || \
+ echo "haldaemon:x:68:68:User for haldaemon:/var/run/hal:/sbin/nologin" \
+ >> /mnt/etc/passwd
+ strinfile "haldaemon:" /mnt/etc/group || \
+ echo "haldaemon:!:103:" >> /mnt/etc/group
+ start=$(($start + 1))
+ stop=$(($stop - 1))
+ rllinker "haldaemon" $start $stop
+ fi
+fi
+}
+# configure automounter (fixme: to be moved into plugin)
+config_automount () {
+if [ -e /mnt/etc/sysconfig/autofs ] ; then
+ testmkd /mnt/var/lock/subsys
+ sed -e "1i# /etc/sysconfig/autofs - file modified by\n#\t$0:\n#" \
+ -e "s,DAEMONOPTIONS.*,DAEMONOPTIONS=\"--timeout 3\"," \
+ -i /mnt/etc/sysconfig/autofs
+ rllinker "autofs" 18 4
+else
+ error "$df_erramt" nonfatal
+fi
+}
+# start name service caching daemon
+config_nscd () {
+if [ -e /mnt/etc/init.d/nscd ] ; then
+ testmkd /mnt/var/run/nscd
+ rllinker "nscd" 16 16
+else
+ error "$df_errnsc" nonfatal
+fi
+}
+# start portmapper (needed at least for nfs and nis services)
+config_portmap () {
+ rllinker "portmap" 2 20
+}
+# start NIS (mostly deprecated)
+config_nis () {
+if [ -f /mnt/etc/init.d/ypbind ] ; then
+ rllinker "ypbind" 6 16
+ config_portmap
+ testmkd /mnt/var/yp/nicknames
+else
+ error "$df_erryp" nonfatal
+fi
+}
+# initialize runlevel skript to be executed during system startup
+# (before most of the normal boot init scripts)
+# this script should operate like a normal runlevel script
+d_mkrlscript () {
+local switch="$1"
+local name="$2"
+local info="$3"
+case "$1" in
+ init)
+ echo -e "#!/bin/sh\n# skeleton of /etc/init.d/${name} created \
+by $0\n# after you applied changes to the creation scripts you have to \
+rerun\n# the mkdxsinitrd script to get them applied\n\
+. /etc/rc.d/init.d/functions\n#. /etc/sysconfig/logfile\ncase \
+\"\$1\" in\n start)\n\techo -n \"$info\"" >>/mnt/etc/init.d/${name}
+ chmod u+x /mnt/etc/init.d/${name}
+ ;;
+ entry)
+ echo -e "\t${info}" >>/mnt/etc/init.d/${name}
+ ;;
+ close)
+ echo -e "\t;;\n stop)\n\t;;\nesac" \
+ >>/mnt/etc/init.d/${name}
+ ;;
+esac
+}
+
+
diff --git a/src/initramfs/distro-specs/rhel/functions-default b/src/initramfs/distro-specs/rhel/functions-default
new file mode 100644
index 00000000..0ea8ce90
--- /dev/null
+++ b/src/initramfs/distro-specs/rhel/functions-default
@@ -0,0 +1,311 @@
+# Copyright (c) 2012 - OpenSLX GmbH
+#
+# This program/file 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 feedback to feedback@openslx.org
+#
+# General information about OpenSLX can be found under http://openslx.org
+#
+# configuration script for general RHEL to configure linux
+# stateless clients (included by init, hwautocfg, servconfig within Initial-
+# RamFS after inclusion of the main functions file). This file is the main
+# base for the several RedHat based Scientific Linux versions.
+
+# settings of central variables
+# D_DIRINBINDMNT - lists of directories to be created in bind mounted rw
+# part of the client filesystem
+# D_RODIRSINRW - ReadOnly Directories in RW part of filesystem to save on
+# TempFS usage
+# D_DIRINDXS - directories in client filesystem which should be present
+# anyhow
+D_BINDMPTS="tmp root media home"
+D_DIRINBINDMNT="/var/run /var/log /var/tmp"
+D_RODIRSINRW="/etc/bootsplash /etc/gconf /var/adm /var/lib/texmf /var/lib/rpm \
+/var/cache/fontconfig"
+D_DIRINDXS="/var/lib/rpm /var/lib/nobody /var/lib/alternatives/ /var/db/nscd \
+/var/lib/bluetooth /var/lib/scrollkeeper /var/lib/nfs/sm /var/lib/nfs/sm.bak \
+/var/lib/misc /var/spool/cron"
+
+# empty functions are defined at the beginning of /etc/functions
+
+# distro specific function called from servconfig script
+config_distro () {
+ # clean the runlevel directories which will be populated by the stage3 setup
+ for dir in rc0.d rc1.d rc2.d rc3.d rc4.d rc5.d rc6.d ; do
+ rm -rf /mnt/etc/${dir}/*
+ done
+ # set some system/environment information
+ echo -e "SLX VERSION = $SLXVERSION\nINITRAMFS GENERATION DATE = $date" \
+ >>/mnt/etc/redhat-release
+ # simple bash configuration for root
+ echo -e "# Generated in OpenSLX stage3\n. /etc/bashrc" >/mnt/root/.profile
+ # enable sysrq
+ sed -e "1i# Configuration modified by $0 during stage3 bootup." \
+ -e "s/kernel.sysrq =.*/kernel.sysrq = 1/" -i /mnt/etc/sysctl.conf
+ # set some networking stuff if needed
+ [ -e /mnt/etc/sysconfig/network ] && \
+ sed -e "s/HOSTNAME=.*/HOSTNAME=$host_name/" \
+ -e "s/GATEWAY=.*/GATEWAY=$gateway/" -i /mnt/etc/sysconfig/network
+ # check for inittab file
+ #test -f /mnt/etc/inittab || error "$df_erritab"
+}
+
+# initial (boot time) runlevel scripts
+initial_boot () {
+# delete all classical disk base rootfs stuff from rc.sysinit
+sed -e "6i# Script modified by $0 during stage3 bootup." \
+ -e "/relabel_se/,/^}/d" \
+ -e "/# Start up swap/,/# Set up bin/d" \
+ -e "/^remount_needed/,/^fi$/d" -e "/^# Clean out/,/in_sysinit/d" \
+ -e "/# Mount all o/,/# Start the g/d" \
+ -e "/# Boot time/,/# let's/d" -i /mnt/etc/rc.d/rc.sysinit
+# delete all classical disk base rootfs stuff from halt
+sed -e "7i# Modified by $0 during stage3 bootup." \
+ -e "/# Save mixer/,/Saving random/d" -e "/quotaoff/,/^# Now halt/d" \
+ -i /mnt/etc/init.d/halt
+# boot.slx is a special runlevel script generated within initialramfs which
+# should be executed before the normal runlevel scripts.
+echo -e "# Run OpenSLX init runlevel script\n/etc/init.d/boot.slx" \
+ >>/mnt/etc/rc.d/rc.sysinit
+# switch off SElinux enforcing
+sed -e "1i# Configuration modified by $0 during stage3 bootup." \
+ -e "s/SELINUX=.*/SELINUX=permissive/" -i /mnt/etc/selinux/config
+# switch off display manager start via inittab
+sed -e "s/x:5:re.*/# line deleted in stage3, re-enable via desktop plugin/" \
+ -i /mnt/etc/inittab
+# link halt and reboot scripts
+ln -s ../init.d/killall /mnt/etc/rc.d/rc0.d/S00killall
+ln -s ../init.d/halt /mnt/etc/rc.d/rc0.d/S01halt
+ln -s ../init.d/killall /mnt/etc/rc.d/rc6.d/S00killall
+ln -s ../init.d/halt /mnt/etc/rc.d/rc6.d/S01reboot
+}
+
+# linking runlevel scripts
+rllinker () {
+local script="$1"
+if [ $2 -lt 10 ] ; then
+ local start="0$2"; else local start="$2"
+fi
+if [ $3 -lt 10 ] ; then
+ local stop="0$3"; else local stop="$3"
+fi
+# empty runlevel links - decision on running certain services is passed via
+# configuration
+for i in rc3.d/K$stop$script rc5.d/K$stop$script \
+ rc3.d/S$start$script rc5.d/S$start$script ; do
+ ln -sf ../init.d/$script /mnt/etc/$i
+done
+}
+
+# group of functions for the normal runlevels - first parameter is start
+# second stop
+# function for ntp configuration
+config_ntp () {
+if [ -e /mnt/etc/init.d/ntpd ] ; then
+ if ! strinfile "ntp:" /mnt/etc/passwd ; then
+ echo -e "ntp:x:38:38:NTP daemon:/var/lib/ntp:/sbin/nologin" \
+ >>/mnt/etc/passwd
+ echo -e "ntp:!:13099:0:99999:7:::" >>/mnt/etc/shadow
+ fi
+ testmkd /mnt/var/lib/ntp ntp:ntp
+ if [ "x$start_ntp" = "xyes" ] ; then
+ rllinker "ntpd" 7 14
+ fi
+fi
+}
+# function for atd
+config_atd () {
+if [ "x$start_atd" = "xyes" ]; then
+ rllinker "atd" 14 4
+fi
+}
+# function for configuration of cron services
+config_cron () {
+if [ "x$start_cron" = "xyes" ] ; then
+ if [ -f /mnt/etc/init.d/cron ] ; then
+ rllinker "cron" 18 2
+ testmkd /mnt/var/spool/anacron
+ echo -e "# /etc/crontab - file generated by $0:\n\
+" >/mnt/etc/crontab
+ else
+ error "$df_errcron" nonfatal
+ fi
+fi
+}
+# name service caching daemon (useful in most cases)
+config_nscd () {
+ if [ -f /mnt/etc/init.d/nscd ] ; then
+ testmkd /mnt/var/db/nscd
+ rllinker "nscd" 20 5
+ fi
+}
+# secure shell service
+config_sshd () {
+if [ "x$start_sshd" = "xyes" ] ; then
+ if [ -f /mnt/etc/init.d/sshd ] ; then
+ testmkd /mnt/var/empty/sshd/dev
+ if ! strinfile "sshd:" /mnt/etc/passwd ; then
+ echo -e "sshd:x:74:74::/var/empty/sshd:/sbin/nologin" \
+ >>/mnt/etc/passwd
+ echo -e "sshd:!:13099:0:99999:7:::" >>/mnt/etc/shadow
+ fi
+ rllinker "sshd" 25 10
+ else
+ error "$df_errsshd" nonfatal
+ fi
+fi
+}
+# snmp agent for remote monitoring
+config_snmp () {
+if [ "x$start_snmp" = "xyes" ] ; then
+ if [ -f /mnt/etc/init.d/snmpd ] ; then
+ rllinker "snmpd" 24 2
+ testmkd /mnt/var/lib/net-snmp
+ fi
+ # fixme!!
+ # write service monitor depending on services started
+ fi
+}
+# configure print server (lpd or cups)
+config_printer () {
+if [ "x${start_printdaemon}" != "x" ] && \
+ [ "x${start_printdaemon}" != "xno" ]; then
+ case ${start_printdaemon} in
+ yes|cups*|CUPS*)
+ rllinker "cups" 25 1
+ testmkd /mnt/var/spool/cups/tmp root:sys
+ ;;
+ lp*|LP*|PLP*)
+ rllinker "lpd" 25 1
+ testmkd /mnt/var/spool/lpd
+ ;;
+ *)
+ #logwrite "Do not know print-server $start_printdaemon; \
+ #specify 'cups' or 'lpd'."
+ ;;
+ esac
+fi
+# configure cups printer client, avoid to overwrite admin provided printer
+# configuration file
+if [ "x$lpr_servers" != "x" ] && [ ! -e /rootfs/etc/cups/client.conf ] ; then
+ echo -e "# /etc/cups/client.conf - file generated by\n#\t$0:\n\
+#\t$date\n#\nServerName\t$lpr_servers" >/mnt/etc/cups/client.conf
+fi
+}
+# configure bluetooth services
+config_bt () {
+if [ -e /mnt/etc/sysconfig/bluetooth ] ; then
+ sed -e "1i# /etc/sysconfig/bluetooth - file modified by $0" \
+ -e "s,HID2HCI_ENABLE.*,HID2HCI_ENABLE=true," \
+ -i /mnt/etc/sysconfig/bluetooth
+else
+ : # no bluetooth components installed
+fi
+}
+# set up localization like keytable and consolefont
+dlocale () {
+echo -e "\t# entries added by $0: $date" >> /mnt/etc/init.d/boot.slx
+sed -e "s,KEYTABLE=.*,KEYTABLE=\"${KEYTABLE}\"," \
+ -i /mnt/etc/sysconfig/keyboard
+#echo -e "\tsetfont ${CONSOLE_FONT} >${LOGFILE} 2>&1\n" \
+# >>/mnt/etc/init.d/boot.slx
+}
+# acpi and powersave daemons, required e.g. to shutdown the machine via
+# power button, no need for early start
+config_acpi () {
+rllinker acpid 01 22
+}
+# configure dbus (inter application communication for kde and gnome), hal
+# (hardware abstraction layer - used e.g. by powersaved) and resmgr
+# (resource manager - the user gets permissions to devices when loggin on)
+# runlevel script for haldaemon is now haldaemon instead of hal
+config_dreshal () {
+local start=4
+local stop=18
+if [ "x$start_dreshal" = "xyes" ]; then
+ testmkd /mnt/var/run/dbus
+ if [ -f /mnt/etc/init.d/messagebus ] ; then
+ testmkd /mnt/var/lib/dbus
+ strinfile "dbus:" /mnt/etc/passwd || \
+ echo "dbus:x:81:81:System Message Bus:/var/run/dbus:/sbin/nologin" \
+ >> /mnt/etc/passwd
+ strinfile "dbus:" /mnt/etc/group || echo "dbus:!:81:" >> /mnt/etc/group
+ rllinker "messagebus" $start $stop
+ fi
+ if [ -f /mnt/etc/init.d/haldaemon ] ; then
+ testmkd /mnt/var/lib/hal
+ strinfile "haldaemon:" /mnt/etc/passwd || \
+ echo "haldaemon:x:68:68:User for haldaemon:/var/run/hal:/sbin/nologin" \
+ >> /mnt/etc/passwd
+ strinfile "haldaemon:" /mnt/etc/group || \
+ echo "haldaemon:!:103:" >> /mnt/etc/group
+ start=$(($start + 1))
+ stop=$(($stop - 1))
+ rllinker "haldaemon" $start $stop
+ fi
+fi
+}
+# configure automounter (fixme: to be moved into plugin)
+config_automount () {
+if [ -e /mnt/etc/sysconfig/autofs ] ; then
+ testmkd /mnt/var/lock/subsys
+ sed -e "1i# /etc/sysconfig/autofs - file modified by\n#\t$0:\n#" \
+ -e "s,DAEMONOPTIONS.*,DAEMONOPTIONS=\"--timeout 3\"," \
+ -i /mnt/etc/sysconfig/autofs
+ rllinker "autofs" 18 4
+else
+ error "$df_erramt" nonfatal
+fi
+}
+# start name service caching daemon
+config_nscd () {
+if [ -e /mnt/etc/init.d/nscd ] ; then
+ testmkd /mnt/var/run/nscd
+ rllinker "nscd" 16 16
+else
+ error "$df_errnsc" nonfatal
+fi
+}
+# start portmapper (needed at least for nfs and nis services)
+config_portmap () {
+ rllinker "portmap" 2 20
+}
+# start NIS (mostly deprecated)
+config_nis () {
+if [ -f /mnt/etc/init.d/ypbind ] ; then
+ rllinker "ypbind" 6 16
+ config_portmap
+ testmkd /mnt/var/yp/nicknames
+else
+ error "$df_erryp" nonfatal
+fi
+}
+# initialize runlevel skript to be executed during system startup
+# (before most of the normal boot init scripts)
+# this script should operate like a normal runlevel script
+d_mkrlscript () {
+local switch="$1"
+local name="$2"
+local info="$3"
+case "$1" in
+ init)
+ echo -e "#!/bin/sh\n# skeleton of /etc/init.d/${name} created \
+by $0\n# after you applied changes to the creation scripts you have to \
+rerun\n# the mkdxsinitrd script to get them applied\n\
+. /etc/rc.d/init.d/functions\n#. /etc/sysconfig/logfile\ncase \
+\"\$1\" in\n start)\n\techo -n \"$info\"" >>/mnt/etc/init.d/${name}
+ chmod u+x /mnt/etc/init.d/${name}
+ ;;
+ entry)
+ echo -e "\t${info}" >>/mnt/etc/init.d/${name}
+ ;;
+ close)
+ echo -e "\t;;\n stop)\n\t;;\nesac" \
+ >>/mnt/etc/init.d/${name}
+ ;;
+esac
+}
+
+
diff --git a/src/initramfs/distro-specs/scientific/functions-default b/src/initramfs/distro-specs/scientific/functions-default
new file mode 100644
index 00000000..311814c9
--- /dev/null
+++ b/src/initramfs/distro-specs/scientific/functions-default
@@ -0,0 +1,311 @@
+# Copyright (c) 2012 - OpenSLX GmbH
+#
+# This program/file 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 feedback to feedback@openslx.org
+#
+# General information about OpenSLX can be found under http://openslx.org
+#
+# configuration script for general Scientific Linux to configure linux
+# stateless clients (included by init, hwautocfg, servconfig within Initial-
+# RamFS after inclusion of the main functions file). This file is the main
+# base for the several RedHat based Scientific Linux versions.
+
+# settings of central variables
+# D_DIRINBINDMNT - lists of directories to be created in bind mounted rw
+# part of the client filesystem
+# D_RODIRSINRW - ReadOnly Directories in RW part of filesystem to save on
+# TempFS usage
+# D_DIRINDXS - directories in client filesystem which should be present
+# anyhow
+D_BINDMPTS="tmp root media home"
+D_DIRINBINDMNT="/var/run /var/log /var/tmp"
+D_RODIRSINRW="/etc/bootsplash /etc/gconf /var/adm /var/lib/texmf /var/lib/rpm \
+/var/cache/fontconfig"
+D_DIRINDXS="/var/lib/rpm /var/lib/nobody /var/lib/alternatives/ /var/db/nscd \
+/var/lib/bluetooth /var/lib/scrollkeeper /var/lib/nfs/sm /var/lib/nfs/sm.bak \
+/var/lib/misc /var/spool/cron"
+
+# empty functions are defined at the beginning of /etc/functions
+
+# distro specific function called from servconfig script
+config_distro () {
+ # clean the runlevel directories which will be populated by the stage3 setup
+ for dir in rc0.d rc1.d rc2.d rc3.d rc4.d rc5.d rc6.d ; do
+ rm -rf /mnt/etc/${dir}/*
+ done
+ # set some system/environment information
+ echo -e "SLX VERSION = $SLXVERSION\nINITRAMFS GENERATION DATE = $date" \
+ >>/mnt/etc/redhat-release
+ # simple bash configuration for root
+ echo -e "# Generated in OpenSLX stage3\n. /etc/bashrc" >/mnt/root/.profile
+ # enable sysrq
+ sed -e "1i# Configuration modified by $0 during stage3 bootup." \
+ -e "s/kernel.sysrq =.*/kernel.sysrq = 1/" -i /mnt/etc/sysctl.conf
+ # set some networking stuff if needed
+ [ -e /mnt/etc/sysconfig/network ] && \
+ sed -e "s/HOSTNAME=.*/HOSTNAME=$host_name/" \
+ -e "s/GATEWAY=.*/GATEWAY=$gateway/" -i /mnt/etc/sysconfig/network
+ # check for inittab file
+ #test -f /mnt/etc/inittab || error "$df_erritab"
+}
+
+# initial (boot time) runlevel scripts
+initial_boot () {
+# delete all classical disk base rootfs stuff from rc.sysinit
+sed -e "6i# Script modified by $0 during stage3 bootup." \
+ -e "/relabel_se/,/^}/d" \
+ -e "/# Start up swap/,/# Set up bin/d" \
+ -e "/^remount_needed/,/^fi$/d" -e "/^# Clean out/,/in_sysinit/d" \
+ -e "/# Mount all o/,/# Start the g/d" \
+ -e "/# Boot time/,/# let's/d" -i /mnt/etc/rc.d/rc.sysinit
+# delete all classical disk base rootfs stuff from halt
+sed -e "7i# Modified by $0 during stage3 bootup." \
+ -e "/# Save mixer/,/Saving random/d" -e "/quotaoff/,/^# Now halt/d" \
+ -i /mnt/etc/init.d/halt
+# boot.slx is a special runlevel script generated within initialramfs which
+# should be executed before the normal runlevel scripts.
+echo -e "# Run OpenSLX init runlevel script\n/etc/init.d/boot.slx" \
+ >>/mnt/etc/rc.d/rc.sysinit
+# switch off SElinux enforcing
+sed -e "1i# Configuration modified by $0 during stage3 bootup." \
+ -e "s/SELINUX=.*/SELINUX=permissive/" -i /mnt/etc/selinux/config
+# switch off display manager start via inittab
+sed -e "s/x:5:re.*/# line deleted in stage3, re-enable via desktop plugin/" \
+ -i /mnt/etc/inittab
+# link halt and reboot scripts
+ln -s ../init.d/killall /mnt/etc/rc.d/rc0.d/S00killall
+ln -s ../init.d/halt /mnt/etc/rc.d/rc0.d/S01halt
+ln -s ../init.d/killall /mnt/etc/rc.d/rc6.d/S00killall
+ln -s ../init.d/halt /mnt/etc/rc.d/rc6.d/S01reboot
+}
+
+# linking runlevel scripts
+rllinker () {
+local script="$1"
+if [ $2 -lt 10 ] ; then
+ local start="0$2"; else local start="$2"
+fi
+if [ $3 -lt 10 ] ; then
+ local stop="0$3"; else local stop="$3"
+fi
+# empty runlevel links - decision on running certain services is passed via
+# configuration
+for i in rc3.d/K$stop$script rc5.d/K$stop$script \
+ rc3.d/S$start$script rc5.d/S$start$script ; do
+ ln -sf ../init.d/$script /mnt/etc/$i
+done
+}
+
+# group of functions for the normal runlevels - first parameter is start
+# second stop
+# function for ntp configuration
+config_ntp () {
+if [ -e /mnt/etc/init.d/ntpd ] ; then
+ if ! strinfile "ntp:" /mnt/etc/passwd ; then
+ echo -e "ntp:x:38:38:NTP daemon:/var/lib/ntp:/sbin/nologin" \
+ >>/mnt/etc/passwd
+ echo -e "ntp:!:13099:0:99999:7:::" >>/mnt/etc/shadow
+ fi
+ testmkd /mnt/var/lib/ntp ntp:ntp
+ if [ "x$start_ntp" = "xyes" ] ; then
+ rllinker "ntpd" 7 14
+ fi
+fi
+}
+# function for atd
+config_atd () {
+if [ "x$start_atd" = "xyes" ]; then
+ rllinker "atd" 14 4
+fi
+}
+# function for configuration of cron services
+config_cron () {
+if [ "x$start_cron" = "xyes" ] ; then
+ if [ -f /mnt/etc/init.d/cron ] ; then
+ rllinker "cron" 18 2
+ testmkd /mnt/var/spool/anacron
+ echo -e "# /etc/crontab - file generated by $0:\n\
+" >/mnt/etc/crontab
+ else
+ error "$df_errcron" nonfatal
+ fi
+fi
+}
+# name service caching daemon (useful in most cases)
+config_nscd () {
+ if [ -f /mnt/etc/init.d/nscd ] ; then
+ testmkd /mnt/var/db/nscd
+ rllinker "nscd" 20 5
+ fi
+}
+# secure shell service
+config_sshd () {
+if [ "x$start_sshd" = "xyes" ] ; then
+ if [ -f /mnt/etc/init.d/sshd ] ; then
+ testmkd /mnt/var/empty/sshd/dev
+ if ! strinfile "sshd:" /mnt/etc/passwd ; then
+ echo -e "sshd:x:74:74::/var/empty/sshd:/sbin/nologin" \
+ >>/mnt/etc/passwd
+ echo -e "sshd:!:13099:0:99999:7:::" >>/mnt/etc/shadow
+ fi
+ rllinker "sshd" 25 10
+ else
+ error "$df_errsshd" nonfatal
+ fi
+fi
+}
+# snmp agent for remote monitoring
+config_snmp () {
+if [ "x$start_snmp" = "xyes" ] ; then
+ if [ -f /mnt/etc/init.d/snmpd ] ; then
+ rllinker "snmpd" 24 2
+ testmkd /mnt/var/lib/net-snmp
+ fi
+ # fixme!!
+ # write service monitor depending on services started
+ fi
+}
+# configure print server (lpd or cups)
+config_printer () {
+if [ "x${start_printdaemon}" != "x" ] && \
+ [ "x${start_printdaemon}" != "xno" ]; then
+ case ${start_printdaemon} in
+ yes|cups*|CUPS*)
+ rllinker "cups" 25 1
+ testmkd /mnt/var/spool/cups/tmp root:sys
+ ;;
+ lp*|LP*|PLP*)
+ rllinker "lpd" 25 1
+ testmkd /mnt/var/spool/lpd
+ ;;
+ *)
+ #logwrite "Do not know print-server $start_printdaemon; \
+ #specify 'cups' or 'lpd'."
+ ;;
+ esac
+fi
+# configure cups printer client, avoid to overwrite admin provided printer
+# configuration file
+if [ "x$lpr_servers" != "x" ] && [ ! -e /rootfs/etc/cups/client.conf ] ; then
+ echo -e "# /etc/cups/client.conf - file generated by\n#\t$0:\n\
+#\t$date\n#\nServerName\t$lpr_servers" >/mnt/etc/cups/client.conf
+fi
+}
+# configure bluetooth services
+config_bt () {
+if [ -e /mnt/etc/sysconfig/bluetooth ] ; then
+ sed -e "1i# /etc/sysconfig/bluetooth - file modified by $0" \
+ -e "s,HID2HCI_ENABLE.*,HID2HCI_ENABLE=true," \
+ -i /mnt/etc/sysconfig/bluetooth
+else
+ : # no bluetooth components installed
+fi
+}
+# set up localization like keytable and consolefont
+dlocale () {
+echo -e "\t# entries added by $0: $date" >> /mnt/etc/init.d/boot.slx
+sed -e "s,KEYTABLE=.*,KEYTABLE=\"${KEYTABLE}\"," \
+ -i /mnt/etc/sysconfig/keyboard
+#echo -e "\tsetfont ${CONSOLE_FONT} >${LOGFILE} 2>&1\n" \
+# >>/mnt/etc/init.d/boot.slx
+}
+# acpi and powersave daemons, required e.g. to shutdown the machine via
+# power button, no need for early start
+config_acpi () {
+rllinker acpid 01 22
+}
+# configure dbus (inter application communication for kde and gnome), hal
+# (hardware abstraction layer - used e.g. by powersaved) and resmgr
+# (resource manager - the user gets permissions to devices when loggin on)
+# runlevel script for haldaemon is now haldaemon instead of hal
+config_dreshal () {
+local start=4
+local stop=18
+if [ "x$start_dreshal" = "xyes" ]; then
+ testmkd /mnt/var/run/dbus
+ if [ -f /mnt/etc/init.d/messagebus ] ; then
+ testmkd /mnt/var/lib/dbus
+ strinfile "dbus:" /mnt/etc/passwd || \
+ echo "dbus:x:81:81:System Message Bus:/var/run/dbus:/sbin/nologin" \
+ >> /mnt/etc/passwd
+ strinfile "dbus:" /mnt/etc/group || echo "dbus:!:81:" >> /mnt/etc/group
+ rllinker "messagebus" $start $stop
+ fi
+ if [ -f /mnt/etc/init.d/haldaemon ] ; then
+ testmkd /mnt/var/lib/hal
+ strinfile "haldaemon:" /mnt/etc/passwd || \
+ echo "haldaemon:x:68:68:User for haldaemon:/var/run/hal:/sbin/nologin" \
+ >> /mnt/etc/passwd
+ strinfile "haldaemon:" /mnt/etc/group || \
+ echo "haldaemon:!:103:" >> /mnt/etc/group
+ start=$(($start + 1))
+ stop=$(($stop - 1))
+ rllinker "haldaemon" $start $stop
+ fi
+fi
+}
+# configure automounter (fixme: to be moved into plugin)
+config_automount () {
+if [ -e /mnt/etc/sysconfig/autofs ] ; then
+ testmkd /mnt/var/lock/subsys
+ sed -e "1i# /etc/sysconfig/autofs - file modified by\n#\t$0:\n#" \
+ -e "s,DAEMONOPTIONS.*,DAEMONOPTIONS=\"--timeout 3\"," \
+ -i /mnt/etc/sysconfig/autofs
+ rllinker "autofs" 18 4
+else
+ error "$df_erramt" nonfatal
+fi
+}
+# start name service caching daemon
+config_nscd () {
+if [ -e /mnt/etc/init.d/nscd ] ; then
+ testmkd /mnt/var/run/nscd
+ rllinker "nscd" 16 16
+else
+ error "$df_errnsc" nonfatal
+fi
+}
+# start portmapper (needed at least for nfs and nis services)
+config_portmap () {
+ rllinker "portmap" 2 20
+}
+# start NIS (mostly deprecated)
+config_nis () {
+if [ -f /mnt/etc/init.d/ypbind ] ; then
+ rllinker "ypbind" 6 16
+ config_portmap
+ testmkd /mnt/var/yp/nicknames
+else
+ error "$df_erryp" nonfatal
+fi
+}
+# initialize runlevel skript to be executed during system startup
+# (before most of the normal boot init scripts)
+# this script should operate like a normal runlevel script
+d_mkrlscript () {
+local switch="$1"
+local name="$2"
+local info="$3"
+case "$1" in
+ init)
+ echo -e "#!/bin/sh\n# skeleton of /etc/init.d/${name} created \
+by $0\n# after you applied changes to the creation scripts you have to \
+rerun\n# the mkdxsinitrd script to get them applied\n\
+. /etc/rc.d/init.d/functions\n#. /etc/sysconfig/logfile\ncase \
+\"\$1\" in\n start)\n\techo -n \"$info\"" >>/mnt/etc/init.d/${name}
+ chmod u+x /mnt/etc/init.d/${name}
+ ;;
+ entry)
+ echo -e "\t${info}" >>/mnt/etc/init.d/${name}
+ ;;
+ close)
+ echo -e "\t;;\n stop)\n\t;;\nesac" \
+ >>/mnt/etc/init.d/${name}
+ ;;
+esac
+}
+
+
diff --git a/src/installer/OpenSLX/OSExport/Distro/Centos.pm b/src/installer/OpenSLX/OSExport/Distro/Centos.pm
new file mode 100644
index 00000000..664e54bd
--- /dev/null
+++ b/src/installer/OpenSLX/OSExport/Distro/Centos.pm
@@ -0,0 +1,35 @@
+# Copyright (c) 2012 - 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/
+# -----------------------------------------------------------------------------
+# OSExport/Distro/Centos.pm
+# - provides CentOS Linux specific overrides of the OSExport Distro API.
+# -----------------------------------------------------------------------------
+package OpenSLX::OSExport::Distro::Centos;
+
+use strict;
+use warnings;
+
+use base qw(OpenSLX::OSExport::Distro::Rhel);
+
+use OpenSLX::Basics;
+
+################################################################################
+### implementation
+################################################################################
+sub new
+{
+ my $class = shift;
+ my $self = {
+ 'base-name' => 'centos',
+ };
+ return bless $self, $class;
+}
+
+1;
diff --git a/src/installer/OpenSLX/OSExport/Distro/Rhel.pm b/src/installer/OpenSLX/OSExport/Distro/Rhel.pm
new file mode 100644
index 00000000..a2cd9a86
--- /dev/null
+++ b/src/installer/OpenSLX/OSExport/Distro/Rhel.pm
@@ -0,0 +1,94 @@
+# Copyright (c) 2012 - 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/
+# -----------------------------------------------------------------------------
+# OSExport/Distro/Rhel.pm
+# - provides RHEL specific overrides of the OSExport Distro API.
+# -----------------------------------------------------------------------------
+package OpenSLX::OSExport::Distro::Rhel;
+
+use strict;
+use warnings;
+
+use base qw(OpenSLX::OSExport::Distro::Base);
+
+use OpenSLX::Basics;
+
+################################################################################
+### implementation
+################################################################################
+sub new
+{
+ my $class = shift;
+ my $self = {
+ 'base-name' => 'rhel',
+ };
+ return bless $self, $class;
+}
+
+sub initDistroInfo
+{
+ my $self = shift;
+
+ $self->{'export-filter'} = "
+ - /var/tmp/*
+ - /var/spool/*
+ - /var/run/*
+ - /var/mail
+ - /var/log/*
+ - /var/lock/*
+ - /var/lib/xdm
+ - /var/lib/vm*
+ - /var/lib/suspend*
+ - /var/lib/smart
+ - /var/lib/gdm/*
+ - /var/lib/dhcp*
+ - /var/lib/bluetooth/
+ - /var/cache/yum
+ - /var/cache/man/*
+ - /var/cache/zypp/*
+ + /usr/lib/python*/*/*.o
+ + /usr/lib/perl5/*/*/*/*.o
+ + /usr/lib/gcc/*/*/*.o
+ + /usr/lib/*.o
+ + /usr/X11R6/lib/modules/drivers/*.o
+ + /usr/X11R6/lib/modules/drivers/linux/*.o
+ - /usr/bin/BackGround
+ - /tmp/*
+ - /sys/*
+ - /proc/*
+ - /opt/kde3/share/apps/kdm/read_sysconfig.sh
+ - /opt/kde3/share/autostart/runupdater.desktop
+ - /opt/kde3/share/autostart/profile_chooser-autostart.desktop
+ - /opt/kde3/share/autostart/kinternet.desktop
+ - /usr/share/gnome/autostart/gpk-update-icon*.desktop
+ - /mnt/*
+ - /media/*
+ + /media
+ + /lib/modules/*/misc/vmblock.o
+ + /lib/modules/*/misc/vmnet.o
+ + /lib/modules/*/misc/vmmon.o
+ - /etc/*rpmnew
+ - /etc/*rpmorig
+ - /etc/*pptp*
+ - /etc/*ppp*
+ - /etc/dhcp*
+ - /etc/cron.*/*
+ - /etc/netplug*
+ - /etc/sysconfig/network-scripts/ifcfg-*
+ - /etc/X11/xkb
+ - /boot/initrd*
+ - /boot/grub
+ - *.rpmsave
+ - *.rpmnew
+ ";
+ return;
+}
+
+1;
diff --git a/src/installer/OpenSLX/OSExport/Distro/Scientific.pm b/src/installer/OpenSLX/OSExport/Distro/Scientific.pm
new file mode 100644
index 00000000..3c239d52
--- /dev/null
+++ b/src/installer/OpenSLX/OSExport/Distro/Scientific.pm
@@ -0,0 +1,35 @@
+# Copyright (c) 2012 - 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/
+# -----------------------------------------------------------------------------
+# OSExport/Distro/Scientific.pm
+# - provides Scientific Linux specific overrides of the OSExport Distro API.
+# -----------------------------------------------------------------------------
+package OpenSLX::OSExport::Distro::Scientific;
+
+use strict;
+use warnings;
+
+use base qw(OpenSLX::OSExport::Distro::Rhel);
+
+use OpenSLX::Basics;
+
+################################################################################
+### implementation
+################################################################################
+sub new
+{
+ my $class = shift;
+ my $self = {
+ 'base-name' => 'scientific',
+ };
+ return bless $self, $class;
+}
+
+1;
diff --git a/src/installer/OpenSLX/OSSetup/Distro/Centos.pm b/src/installer/OpenSLX/OSSetup/Distro/Centos.pm
new file mode 100644
index 00000000..f98f19e6
--- /dev/null
+++ b/src/installer/OpenSLX/OSSetup/Distro/Centos.pm
@@ -0,0 +1,27 @@
+# Copyright (c) 2012 - 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/
+# -----------------------------------------------------------------------------
+# OSSetup/Distro/Centos.pm
+# - provides CentOS Linux specific overrides of the OSSetup Distro API.
+# -----------------------------------------------------------------------------
+package OpenSLX::OSSetup::Distro::Centos;
+
+use strict;
+use warnings;
+
+use base qw(OpenSLX::OSSetup::Distro::Rhel);
+
+use OpenSLX::Basics;
+
+################################################################################
+### interface methods
+################################################################################
+
+1;
diff --git a/src/installer/OpenSLX/OSSetup/Distro/Rhel.pm b/src/installer/OpenSLX/OSSetup/Distro/Rhel.pm
new file mode 100644
index 00000000..151542ee
--- /dev/null
+++ b/src/installer/OpenSLX/OSSetup/Distro/Rhel.pm
@@ -0,0 +1,48 @@
+# Copyright (c) 2012 - 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/
+# -----------------------------------------------------------------------------
+# OSSetup/Distro/Rhel.pm
+# - provides RHEL specific overrides of the OSSetup Distro API.
+# -----------------------------------------------------------------------------
+package OpenSLX::OSSetup::Distro::Rhel;
+
+use strict;
+use warnings;
+
+use base qw(OpenSLX::OSSetup::Distro::Base);
+
+use OpenSLX::Basics;
+
+################################################################################
+### interface methods
+################################################################################
+sub new
+{
+ my $class = shift;
+ my $self = {};
+ 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;
+}
+
+1;
diff --git a/src/installer/OpenSLX/OSSetup/Distro/Scientific.pm b/src/installer/OpenSLX/OSSetup/Distro/Scientific.pm
new file mode 100644
index 00000000..c8f0364c
--- /dev/null
+++ b/src/installer/OpenSLX/OSSetup/Distro/Scientific.pm
@@ -0,0 +1,27 @@
+# Copyright (c) 2012 - 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/
+# -----------------------------------------------------------------------------
+# OSSetup/Distro/Scientific.pm
+# - provides Scientific Linux specific overrides of the OSSetup Distro API.
+# -----------------------------------------------------------------------------
+package OpenSLX::OSSetup::Distro::Scientific;
+
+use strict;
+use warnings;
+
+use base qw(OpenSLX::OSSetup::Distro::Rhel);
+
+use OpenSLX::Basics;
+
+################################################################################
+### interface methods
+################################################################################
+
+1;
diff --git a/src/installer/OpenSLX/OSSetup/Engine.pm b/src/installer/OpenSLX/OSSetup/Engine.pm
index 1ad30ba4..2a4463e5 100644
--- a/src/installer/OpenSLX/OSSetup/Engine.pm
+++ b/src/installer/OpenSLX/OSSetup/Engine.pm
@@ -1,4 +1,4 @@
-# Copyright (c) 2006..2011 - OpenSLX GmbH
+# Copyright (c) 2006..2012 - OpenSLX GmbH
#
# This program is free software distributed under the GPL version 2.
# See http://openslx.org/COPYING
@@ -39,6 +39,8 @@ use OpenSLX::Utils;
use vars qw(%supportedDistros);
%supportedDistros = (
+ 'centos-5' => 'clone,update,shell',
+ 'centos-6' => 'clone,update,shell',
'debian-3.1' => 'clone,install,update,shell',
'debian-4.0' => 'clone,install,update,shell',
'debian-4.0_amd64' => 'clone,install,update,shell',
@@ -47,6 +49,13 @@ use vars qw(%supportedDistros);
'fedora-15_x86_64' => 'clone,update,shell',
'fedora-16' => 'clone,update,shell',
'gentoo-2007.X' => 'clone',
+ 'linuxmint-10' => 'clone,update,shell',
+ 'linuxmint-11' => 'clone,update,shell',
+ 'linuxmint-12' => 'clone,update,shell',
+ 'rhel-5' => 'clone,update,shell',
+ 'rhel-6' => 'clone,update,shell',
+ 'scientific-5' => 'clone,update,shell',
+ 'scientific-6' => 'clone,update,shell',
'suse-10.1' => 'clone,install,update,shell',
'suse-10.1_x86_64' => 'clone,install,update,shell',
'suse-10.2' => 'clone,install,update,shell',
@@ -82,9 +91,6 @@ use vars qw(%supportedDistros);
'ubuntu-11.04' => 'clone,install,update,shell',
'ubuntu-11.10' => 'clone,install,update,shell',
'ubuntu-12.04' => 'clone,install,update,shell',
- 'linuxmint-10' => 'clone,update,shell',
- 'linuxmint-11' => 'clone,update,shell',
- 'linuxmint-12' => 'clone,update,shell',
);
my %localHttpServers;
diff --git a/src/lib/distro-info/centos-5/export-filter.example b/src/lib/distro-info/centos-5/export-filter.example
new file mode 100644
index 00000000..a414fef4
--- /dev/null
+++ b/src/lib/distro-info/centos-5/export-filter.example
@@ -0,0 +1,15 @@
+# this file defines the filter rules used when exporting a vendor-OS
+# of this distro
+#
+# copy this file to 'export-filter' and add your own filters to it
+# in order to overrule the filters provided by openslx
+#
+#Examples:
+# the following line would include anything below /var/spool/
+#+ /var/spool/*
+#
+# this would exclude anything in /etc that starts with dhcpd.conf
+#- /etc/dhcpd.conf*
+#
+# and this would exclude all rpmnew-files:
+#- *.rpmnew
diff --git a/src/lib/distro-info/centos-5/prereqfiles/etc/group b/src/lib/distro-info/centos-5/prereqfiles/etc/group
new file mode 100644
index 00000000..505cb221
--- /dev/null
+++ b/src/lib/distro-info/centos-5/prereqfiles/etc/group
@@ -0,0 +1,33 @@
+root:x:0:
+bin:x:1:daemon
+daemon:x:2:
+sys:x:3:
+tty:x:5:
+disk:x:6:
+lp:x:7:
+www:x:8:
+kmem:x:9:
+wheel:x:10:
+mail:x:12:
+news:x:13:
+uucp:x:14:
+shadow:x:15:
+dialout:x:16:
+audio:x:17:
+floppy:x:19:
+cdrom:x:20:
+console:x:21:
+utmp:x:22:
+public:x:32:
+video:x:33:
+games:x:40:
+xok:x:41:
+trusted:x:42:
+modem:x:43:
+ftp:x:49:
+man:x:62:
+users:x:100:
+nobody:x:65533:
+nogroup:x:65534:nobody
+messagebus:!:101:
+haldaemon:!:102:
diff --git a/src/lib/distro-info/centos-5/prereqfiles/etc/hosts b/src/lib/distro-info/centos-5/prereqfiles/etc/hosts
new file mode 100644
index 00000000..75721cd5
--- /dev/null
+++ b/src/lib/distro-info/centos-5/prereqfiles/etc/hosts
@@ -0,0 +1 @@
+127.0.0.1 localhost
diff --git a/src/lib/distro-info/centos-5/prereqfiles/etc/passwd b/src/lib/distro-info/centos-5/prereqfiles/etc/passwd
new file mode 100644
index 00000000..9b8fc4fe
--- /dev/null
+++ b/src/lib/distro-info/centos-5/prereqfiles/etc/passwd
@@ -0,0 +1,14 @@
+root:x:0:0:root:/root:/bin/bash
+bin:x:1:1:bin:/bin:/bin/bash
+daemon:x:2:2:Daemon:/sbin:/bin/bash
+lp:x:4:7:Printing daemon:/var/spool/lpd:/bin/bash
+mail:x:8:12:Mailer daemon:/var/spool/clientmqueue:/bin/false
+news:x:9:13:News system:/etc/news:/bin/bash
+uucp:x:10:14:Unix-to-Unix CoPy system:/etc/uucp:/bin/bash
+games:x:12:100:Games account:/var/games:/bin/bash
+man:x:13:62:Manual pages viewer:/var/cache/man:/bin/bash
+wwwrun:x:30:8:WWW daemon apache:/var/lib/wwwrun:/bin/false
+ftp:x:40:49:FTP account:/srv/ftp:/bin/bash
+nobody:x:65534:65533:nobody:/var/lib/nobody:/bin/bash
+messagebus:x:100:101:User for D-Bus:/var/run/dbus:/bin/false
+haldaemon:x:101:102:User for haldaemon:/var/run/hal:/bin/false
diff --git a/src/lib/distro-info/centos-5/prereqfiles/etc/shadow b/src/lib/distro-info/centos-5/prereqfiles/etc/shadow
new file mode 100644
index 00000000..cd100a5a
--- /dev/null
+++ b/src/lib/distro-info/centos-5/prereqfiles/etc/shadow
@@ -0,0 +1,14 @@
+root::13481::::::
+bin:*:13481::::::
+daemon:*:13481::::::
+lp:*:13481::::::
+mail:*:13481::::::
+news:*:13481::::::
+uucp:*:13481::::::
+games:*:13481::::::
+man:*:13481::::::
+wwwrun:*:13481::::::
+ftp:*:13481::::::
+nobody:*:13481::::::
+messagebus:!:13481:0::7:::
+haldaemon:!:13481:0::7:::
diff --git a/src/lib/distro-info/centos-5/settings.default b/src/lib/distro-info/centos-5/settings.default
new file mode 100644
index 00000000..b101d6c5
--- /dev/null
+++ b/src/lib/distro-info/centos-5/settings.default
@@ -0,0 +1,30 @@
+bootstrap-packages = <<END
+ to-be-filled-in (List of base RPMs)
+END
+<metapackager yum>
+ packages = <<END
+ to-be-filled-in (List of RPMs for the YUM packager)
+ END
+</metapackager>
+package-subdir = ???
+prereq-packages = <<END
+ to-be-filled-in (List of needed RPMs)
+END
+<repository base>
+ name = CentOS 5
+ repo-subdir = ?
+ file-for-speedtest = ?
+</repository>
+<selection minimal>
+ packages = <<END
+ glibc-locale
+ END
+</selection>
+<selection kde>
+ base = minimal
+ packages = <<END
+ END
+</selection>
+<selection default>
+ base = minimal
+</selection>
diff --git a/src/lib/distro-info/centos-5/settings.example b/src/lib/distro-info/centos-5/settings.example
new file mode 100644
index 00000000..5ae02428
--- /dev/null
+++ b/src/lib/distro-info/centos-5/settings.example
@@ -0,0 +1,17 @@
+# rename this file to 'settings' and edit it as you please
+#
+# for a list of all options, have a look at the corresponding
+# settings.default in /opt/openslx/share/distro-info
+
+# use local installation source
+#<repository base>
+# local-url = /srv/ftp/pub/some-distribution/inst-source
+#</repository>
+
+# add a new selection:
+#<selection my_number_crunsher>
+# base = minimal
+# packages = <<END
+# crunsher_app
+# END
+#</selection>
diff --git a/src/lib/distro-info/centos-6/export-filter.example b/src/lib/distro-info/centos-6/export-filter.example
new file mode 100644
index 00000000..a414fef4
--- /dev/null
+++ b/src/lib/distro-info/centos-6/export-filter.example
@@ -0,0 +1,15 @@
+# this file defines the filter rules used when exporting a vendor-OS
+# of this distro
+#
+# copy this file to 'export-filter' and add your own filters to it
+# in order to overrule the filters provided by openslx
+#
+#Examples:
+# the following line would include anything below /var/spool/
+#+ /var/spool/*
+#
+# this would exclude anything in /etc that starts with dhcpd.conf
+#- /etc/dhcpd.conf*
+#
+# and this would exclude all rpmnew-files:
+#- *.rpmnew
diff --git a/src/lib/distro-info/centos-6/prereqfiles/etc/group b/src/lib/distro-info/centos-6/prereqfiles/etc/group
new file mode 100644
index 00000000..505cb221
--- /dev/null
+++ b/src/lib/distro-info/centos-6/prereqfiles/etc/group
@@ -0,0 +1,33 @@
+root:x:0:
+bin:x:1:daemon
+daemon:x:2:
+sys:x:3:
+tty:x:5:
+disk:x:6:
+lp:x:7:
+www:x:8:
+kmem:x:9:
+wheel:x:10:
+mail:x:12:
+news:x:13:
+uucp:x:14:
+shadow:x:15:
+dialout:x:16:
+audio:x:17:
+floppy:x:19:
+cdrom:x:20:
+console:x:21:
+utmp:x:22:
+public:x:32:
+video:x:33:
+games:x:40:
+xok:x:41:
+trusted:x:42:
+modem:x:43:
+ftp:x:49:
+man:x:62:
+users:x:100:
+nobody:x:65533:
+nogroup:x:65534:nobody
+messagebus:!:101:
+haldaemon:!:102:
diff --git a/src/lib/distro-info/centos-6/prereqfiles/etc/hosts b/src/lib/distro-info/centos-6/prereqfiles/etc/hosts
new file mode 100644
index 00000000..75721cd5
--- /dev/null
+++ b/src/lib/distro-info/centos-6/prereqfiles/etc/hosts
@@ -0,0 +1 @@
+127.0.0.1 localhost
diff --git a/src/lib/distro-info/centos-6/prereqfiles/etc/passwd b/src/lib/distro-info/centos-6/prereqfiles/etc/passwd
new file mode 100644
index 00000000..9b8fc4fe
--- /dev/null
+++ b/src/lib/distro-info/centos-6/prereqfiles/etc/passwd
@@ -0,0 +1,14 @@
+root:x:0:0:root:/root:/bin/bash
+bin:x:1:1:bin:/bin:/bin/bash
+daemon:x:2:2:Daemon:/sbin:/bin/bash
+lp:x:4:7:Printing daemon:/var/spool/lpd:/bin/bash
+mail:x:8:12:Mailer daemon:/var/spool/clientmqueue:/bin/false
+news:x:9:13:News system:/etc/news:/bin/bash
+uucp:x:10:14:Unix-to-Unix CoPy system:/etc/uucp:/bin/bash
+games:x:12:100:Games account:/var/games:/bin/bash
+man:x:13:62:Manual pages viewer:/var/cache/man:/bin/bash
+wwwrun:x:30:8:WWW daemon apache:/var/lib/wwwrun:/bin/false
+ftp:x:40:49:FTP account:/srv/ftp:/bin/bash
+nobody:x:65534:65533:nobody:/var/lib/nobody:/bin/bash
+messagebus:x:100:101:User for D-Bus:/var/run/dbus:/bin/false
+haldaemon:x:101:102:User for haldaemon:/var/run/hal:/bin/false
diff --git a/src/lib/distro-info/centos-6/prereqfiles/etc/shadow b/src/lib/distro-info/centos-6/prereqfiles/etc/shadow
new file mode 100644
index 00000000..cd100a5a
--- /dev/null
+++ b/src/lib/distro-info/centos-6/prereqfiles/etc/shadow
@@ -0,0 +1,14 @@
+root::13481::::::
+bin:*:13481::::::
+daemon:*:13481::::::
+lp:*:13481::::::
+mail:*:13481::::::
+news:*:13481::::::
+uucp:*:13481::::::
+games:*:13481::::::
+man:*:13481::::::
+wwwrun:*:13481::::::
+ftp:*:13481::::::
+nobody:*:13481::::::
+messagebus:!:13481:0::7:::
+haldaemon:!:13481:0::7:::
diff --git a/src/lib/distro-info/centos-6/settings.default b/src/lib/distro-info/centos-6/settings.default
new file mode 100644
index 00000000..9a9f3dd3
--- /dev/null
+++ b/src/lib/distro-info/centos-6/settings.default
@@ -0,0 +1,30 @@
+bootstrap-packages = <<END
+ to-be-filled-in (List of base RPMs)
+END
+<metapackager yum>
+ packages = <<END
+ to-be-filled-in (List of RPMs for the YUM packager)
+ END
+</metapackager>
+package-subdir = ???
+prereq-packages = <<END
+ to-be-filled-in (List of needed RPMs)
+END
+<repository base>
+ name = CentOS 6
+ repo-subdir = ?
+ file-for-speedtest = ?
+</repository>
+<selection minimal>
+ packages = <<END
+ glibc-locale
+ END
+</selection>
+<selection kde>
+ base = minimal
+ packages = <<END
+ END
+</selection>
+<selection default>
+ base = minimal
+</selection>
diff --git a/src/lib/distro-info/centos-6/settings.example b/src/lib/distro-info/centos-6/settings.example
new file mode 100644
index 00000000..5ae02428
--- /dev/null
+++ b/src/lib/distro-info/centos-6/settings.example
@@ -0,0 +1,17 @@
+# rename this file to 'settings' and edit it as you please
+#
+# for a list of all options, have a look at the corresponding
+# settings.default in /opt/openslx/share/distro-info
+
+# use local installation source
+#<repository base>
+# local-url = /srv/ftp/pub/some-distribution/inst-source
+#</repository>
+
+# add a new selection:
+#<selection my_number_crunsher>
+# base = minimal
+# packages = <<END
+# crunsher_app
+# END
+#</selection>
diff --git a/src/lib/distro-info/rhel-5/export-filter.example b/src/lib/distro-info/rhel-5/export-filter.example
new file mode 100644
index 00000000..a414fef4
--- /dev/null
+++ b/src/lib/distro-info/rhel-5/export-filter.example
@@ -0,0 +1,15 @@
+# this file defines the filter rules used when exporting a vendor-OS
+# of this distro
+#
+# copy this file to 'export-filter' and add your own filters to it
+# in order to overrule the filters provided by openslx
+#
+#Examples:
+# the following line would include anything below /var/spool/
+#+ /var/spool/*
+#
+# this would exclude anything in /etc that starts with dhcpd.conf
+#- /etc/dhcpd.conf*
+#
+# and this would exclude all rpmnew-files:
+#- *.rpmnew
diff --git a/src/lib/distro-info/rhel-5/prereqfiles/etc/group b/src/lib/distro-info/rhel-5/prereqfiles/etc/group
new file mode 100644
index 00000000..505cb221
--- /dev/null
+++ b/src/lib/distro-info/rhel-5/prereqfiles/etc/group
@@ -0,0 +1,33 @@
+root:x:0:
+bin:x:1:daemon
+daemon:x:2:
+sys:x:3:
+tty:x:5:
+disk:x:6:
+lp:x:7:
+www:x:8:
+kmem:x:9:
+wheel:x:10:
+mail:x:12:
+news:x:13:
+uucp:x:14:
+shadow:x:15:
+dialout:x:16:
+audio:x:17:
+floppy:x:19:
+cdrom:x:20:
+console:x:21:
+utmp:x:22:
+public:x:32:
+video:x:33:
+games:x:40:
+xok:x:41:
+trusted:x:42:
+modem:x:43:
+ftp:x:49:
+man:x:62:
+users:x:100:
+nobody:x:65533:
+nogroup:x:65534:nobody
+messagebus:!:101:
+haldaemon:!:102:
diff --git a/src/lib/distro-info/rhel-5/prereqfiles/etc/hosts b/src/lib/distro-info/rhel-5/prereqfiles/etc/hosts
new file mode 100644
index 00000000..75721cd5
--- /dev/null
+++ b/src/lib/distro-info/rhel-5/prereqfiles/etc/hosts
@@ -0,0 +1 @@
+127.0.0.1 localhost
diff --git a/src/lib/distro-info/rhel-5/prereqfiles/etc/passwd b/src/lib/distro-info/rhel-5/prereqfiles/etc/passwd
new file mode 100644
index 00000000..9b8fc4fe
--- /dev/null
+++ b/src/lib/distro-info/rhel-5/prereqfiles/etc/passwd
@@ -0,0 +1,14 @@
+root:x:0:0:root:/root:/bin/bash
+bin:x:1:1:bin:/bin:/bin/bash
+daemon:x:2:2:Daemon:/sbin:/bin/bash
+lp:x:4:7:Printing daemon:/var/spool/lpd:/bin/bash
+mail:x:8:12:Mailer daemon:/var/spool/clientmqueue:/bin/false
+news:x:9:13:News system:/etc/news:/bin/bash
+uucp:x:10:14:Unix-to-Unix CoPy system:/etc/uucp:/bin/bash
+games:x:12:100:Games account:/var/games:/bin/bash
+man:x:13:62:Manual pages viewer:/var/cache/man:/bin/bash
+wwwrun:x:30:8:WWW daemon apache:/var/lib/wwwrun:/bin/false
+ftp:x:40:49:FTP account:/srv/ftp:/bin/bash
+nobody:x:65534:65533:nobody:/var/lib/nobody:/bin/bash
+messagebus:x:100:101:User for D-Bus:/var/run/dbus:/bin/false
+haldaemon:x:101:102:User for haldaemon:/var/run/hal:/bin/false
diff --git a/src/lib/distro-info/rhel-5/prereqfiles/etc/shadow b/src/lib/distro-info/rhel-5/prereqfiles/etc/shadow
new file mode 100644
index 00000000..cd100a5a
--- /dev/null
+++ b/src/lib/distro-info/rhel-5/prereqfiles/etc/shadow
@@ -0,0 +1,14 @@
+root::13481::::::
+bin:*:13481::::::
+daemon:*:13481::::::
+lp:*:13481::::::
+mail:*:13481::::::
+news:*:13481::::::
+uucp:*:13481::::::
+games:*:13481::::::
+man:*:13481::::::
+wwwrun:*:13481::::::
+ftp:*:13481::::::
+nobody:*:13481::::::
+messagebus:!:13481:0::7:::
+haldaemon:!:13481:0::7:::
diff --git a/src/lib/distro-info/rhel-5/settings.default b/src/lib/distro-info/rhel-5/settings.default
new file mode 100644
index 00000000..5a64cca9
--- /dev/null
+++ b/src/lib/distro-info/rhel-5/settings.default
@@ -0,0 +1,30 @@
+bootstrap-packages = <<END
+ to-be-filled-in (List of base RPMs)
+END
+<metapackager yum>
+ packages = <<END
+ to-be-filled-in (List of RPMs for the YUM packager)
+ END
+</metapackager>
+package-subdir = ???
+prereq-packages = <<END
+ to-be-filled-in (List of needed RPMs)
+END
+<repository base>
+ name = RHEL 5
+ repo-subdir = ?
+ file-for-speedtest = ?
+</repository>
+<selection minimal>
+ packages = <<END
+ glibc-locale
+ END
+</selection>
+<selection kde>
+ base = minimal
+ packages = <<END
+ END
+</selection>
+<selection default>
+ base = minimal
+</selection>
diff --git a/src/lib/distro-info/rhel-5/settings.example b/src/lib/distro-info/rhel-5/settings.example
new file mode 100644
index 00000000..5ae02428
--- /dev/null
+++ b/src/lib/distro-info/rhel-5/settings.example
@@ -0,0 +1,17 @@
+# rename this file to 'settings' and edit it as you please
+#
+# for a list of all options, have a look at the corresponding
+# settings.default in /opt/openslx/share/distro-info
+
+# use local installation source
+#<repository base>
+# local-url = /srv/ftp/pub/some-distribution/inst-source
+#</repository>
+
+# add a new selection:
+#<selection my_number_crunsher>
+# base = minimal
+# packages = <<END
+# crunsher_app
+# END
+#</selection>
diff --git a/src/lib/distro-info/rhel-6/export-filter.example b/src/lib/distro-info/rhel-6/export-filter.example
new file mode 100644
index 00000000..a414fef4
--- /dev/null
+++ b/src/lib/distro-info/rhel-6/export-filter.example
@@ -0,0 +1,15 @@
+# this file defines the filter rules used when exporting a vendor-OS
+# of this distro
+#
+# copy this file to 'export-filter' and add your own filters to it
+# in order to overrule the filters provided by openslx
+#
+#Examples:
+# the following line would include anything below /var/spool/
+#+ /var/spool/*
+#
+# this would exclude anything in /etc that starts with dhcpd.conf
+#- /etc/dhcpd.conf*
+#
+# and this would exclude all rpmnew-files:
+#- *.rpmnew
diff --git a/src/lib/distro-info/rhel-6/prereqfiles/etc/group b/src/lib/distro-info/rhel-6/prereqfiles/etc/group
new file mode 100644
index 00000000..505cb221
--- /dev/null
+++ b/src/lib/distro-info/rhel-6/prereqfiles/etc/group
@@ -0,0 +1,33 @@
+root:x:0:
+bin:x:1:daemon
+daemon:x:2:
+sys:x:3:
+tty:x:5:
+disk:x:6:
+lp:x:7:
+www:x:8:
+kmem:x:9:
+wheel:x:10:
+mail:x:12:
+news:x:13:
+uucp:x:14:
+shadow:x:15:
+dialout:x:16:
+audio:x:17:
+floppy:x:19:
+cdrom:x:20:
+console:x:21:
+utmp:x:22:
+public:x:32:
+video:x:33:
+games:x:40:
+xok:x:41:
+trusted:x:42:
+modem:x:43:
+ftp:x:49:
+man:x:62:
+users:x:100:
+nobody:x:65533:
+nogroup:x:65534:nobody
+messagebus:!:101:
+haldaemon:!:102:
diff --git a/src/lib/distro-info/rhel-6/prereqfiles/etc/hosts b/src/lib/distro-info/rhel-6/prereqfiles/etc/hosts
new file mode 100644
index 00000000..75721cd5
--- /dev/null
+++ b/src/lib/distro-info/rhel-6/prereqfiles/etc/hosts
@@ -0,0 +1 @@
+127.0.0.1 localhost
diff --git a/src/lib/distro-info/rhel-6/prereqfiles/etc/passwd b/src/lib/distro-info/rhel-6/prereqfiles/etc/passwd
new file mode 100644
index 00000000..9b8fc4fe
--- /dev/null
+++ b/src/lib/distro-info/rhel-6/prereqfiles/etc/passwd
@@ -0,0 +1,14 @@
+root:x:0:0:root:/root:/bin/bash
+bin:x:1:1:bin:/bin:/bin/bash
+daemon:x:2:2:Daemon:/sbin:/bin/bash
+lp:x:4:7:Printing daemon:/var/spool/lpd:/bin/bash
+mail:x:8:12:Mailer daemon:/var/spool/clientmqueue:/bin/false
+news:x:9:13:News system:/etc/news:/bin/bash
+uucp:x:10:14:Unix-to-Unix CoPy system:/etc/uucp:/bin/bash
+games:x:12:100:Games account:/var/games:/bin/bash
+man:x:13:62:Manual pages viewer:/var/cache/man:/bin/bash
+wwwrun:x:30:8:WWW daemon apache:/var/lib/wwwrun:/bin/false
+ftp:x:40:49:FTP account:/srv/ftp:/bin/bash
+nobody:x:65534:65533:nobody:/var/lib/nobody:/bin/bash
+messagebus:x:100:101:User for D-Bus:/var/run/dbus:/bin/false
+haldaemon:x:101:102:User for haldaemon:/var/run/hal:/bin/false
diff --git a/src/lib/distro-info/rhel-6/prereqfiles/etc/shadow b/src/lib/distro-info/rhel-6/prereqfiles/etc/shadow
new file mode 100644
index 00000000..cd100a5a
--- /dev/null
+++ b/src/lib/distro-info/rhel-6/prereqfiles/etc/shadow
@@ -0,0 +1,14 @@
+root::13481::::::
+bin:*:13481::::::
+daemon:*:13481::::::
+lp:*:13481::::::
+mail:*:13481::::::
+news:*:13481::::::
+uucp:*:13481::::::
+games:*:13481::::::
+man:*:13481::::::
+wwwrun:*:13481::::::
+ftp:*:13481::::::
+nobody:*:13481::::::
+messagebus:!:13481:0::7:::
+haldaemon:!:13481:0::7:::
diff --git a/src/lib/distro-info/rhel-6/settings.default b/src/lib/distro-info/rhel-6/settings.default
new file mode 100644
index 00000000..c40e46a4
--- /dev/null
+++ b/src/lib/distro-info/rhel-6/settings.default
@@ -0,0 +1,30 @@
+bootstrap-packages = <<END
+ to-be-filled-in (List of base RPMs)
+END
+<metapackager yum>
+ packages = <<END
+ to-be-filled-in (List of RPMs for the YUM packager)
+ END
+</metapackager>
+package-subdir = ???
+prereq-packages = <<END
+ to-be-filled-in (List of needed RPMs)
+END
+<repository base>
+ name = RHEL 6
+ repo-subdir = ?
+ file-for-speedtest = ?
+</repository>
+<selection minimal>
+ packages = <<END
+ glibc-locale
+ END
+</selection>
+<selection kde>
+ base = minimal
+ packages = <<END
+ END
+</selection>
+<selection default>
+ base = minimal
+</selection>
diff --git a/src/lib/distro-info/rhel-6/settings.example b/src/lib/distro-info/rhel-6/settings.example
new file mode 100644
index 00000000..5ae02428
--- /dev/null
+++ b/src/lib/distro-info/rhel-6/settings.example
@@ -0,0 +1,17 @@
+# rename this file to 'settings' and edit it as you please
+#
+# for a list of all options, have a look at the corresponding
+# settings.default in /opt/openslx/share/distro-info
+
+# use local installation source
+#<repository base>
+# local-url = /srv/ftp/pub/some-distribution/inst-source
+#</repository>
+
+# add a new selection:
+#<selection my_number_crunsher>
+# base = minimal
+# packages = <<END
+# crunsher_app
+# END
+#</selection>
diff --git a/src/lib/distro-info/scientific-5/export-filter.example b/src/lib/distro-info/scientific-5/export-filter.example
new file mode 100644
index 00000000..a414fef4
--- /dev/null
+++ b/src/lib/distro-info/scientific-5/export-filter.example
@@ -0,0 +1,15 @@
+# this file defines the filter rules used when exporting a vendor-OS
+# of this distro
+#
+# copy this file to 'export-filter' and add your own filters to it
+# in order to overrule the filters provided by openslx
+#
+#Examples:
+# the following line would include anything below /var/spool/
+#+ /var/spool/*
+#
+# this would exclude anything in /etc that starts with dhcpd.conf
+#- /etc/dhcpd.conf*
+#
+# and this would exclude all rpmnew-files:
+#- *.rpmnew
diff --git a/src/lib/distro-info/scientific-5/prereqfiles/etc/group b/src/lib/distro-info/scientific-5/prereqfiles/etc/group
new file mode 100644
index 00000000..505cb221
--- /dev/null
+++ b/src/lib/distro-info/scientific-5/prereqfiles/etc/group
@@ -0,0 +1,33 @@
+root:x:0:
+bin:x:1:daemon
+daemon:x:2:
+sys:x:3:
+tty:x:5:
+disk:x:6:
+lp:x:7:
+www:x:8:
+kmem:x:9:
+wheel:x:10:
+mail:x:12:
+news:x:13:
+uucp:x:14:
+shadow:x:15:
+dialout:x:16:
+audio:x:17:
+floppy:x:19:
+cdrom:x:20:
+console:x:21:
+utmp:x:22:
+public:x:32:
+video:x:33:
+games:x:40:
+xok:x:41:
+trusted:x:42:
+modem:x:43:
+ftp:x:49:
+man:x:62:
+users:x:100:
+nobody:x:65533:
+nogroup:x:65534:nobody
+messagebus:!:101:
+haldaemon:!:102:
diff --git a/src/lib/distro-info/scientific-5/prereqfiles/etc/hosts b/src/lib/distro-info/scientific-5/prereqfiles/etc/hosts
new file mode 100644
index 00000000..75721cd5
--- /dev/null
+++ b/src/lib/distro-info/scientific-5/prereqfiles/etc/hosts
@@ -0,0 +1 @@
+127.0.0.1 localhost
diff --git a/src/lib/distro-info/scientific-5/prereqfiles/etc/passwd b/src/lib/distro-info/scientific-5/prereqfiles/etc/passwd
new file mode 100644
index 00000000..9b8fc4fe
--- /dev/null
+++ b/src/lib/distro-info/scientific-5/prereqfiles/etc/passwd
@@ -0,0 +1,14 @@
+root:x:0:0:root:/root:/bin/bash
+bin:x:1:1:bin:/bin:/bin/bash
+daemon:x:2:2:Daemon:/sbin:/bin/bash
+lp:x:4:7:Printing daemon:/var/spool/lpd:/bin/bash
+mail:x:8:12:Mailer daemon:/var/spool/clientmqueue:/bin/false
+news:x:9:13:News system:/etc/news:/bin/bash
+uucp:x:10:14:Unix-to-Unix CoPy system:/etc/uucp:/bin/bash
+games:x:12:100:Games account:/var/games:/bin/bash
+man:x:13:62:Manual pages viewer:/var/cache/man:/bin/bash
+wwwrun:x:30:8:WWW daemon apache:/var/lib/wwwrun:/bin/false
+ftp:x:40:49:FTP account:/srv/ftp:/bin/bash
+nobody:x:65534:65533:nobody:/var/lib/nobody:/bin/bash
+messagebus:x:100:101:User for D-Bus:/var/run/dbus:/bin/false
+haldaemon:x:101:102:User for haldaemon:/var/run/hal:/bin/false
diff --git a/src/lib/distro-info/scientific-5/prereqfiles/etc/shadow b/src/lib/distro-info/scientific-5/prereqfiles/etc/shadow
new file mode 100644
index 00000000..cd100a5a
--- /dev/null
+++ b/src/lib/distro-info/scientific-5/prereqfiles/etc/shadow
@@ -0,0 +1,14 @@
+root::13481::::::
+bin:*:13481::::::
+daemon:*:13481::::::
+lp:*:13481::::::
+mail:*:13481::::::
+news:*:13481::::::
+uucp:*:13481::::::
+games:*:13481::::::
+man:*:13481::::::
+wwwrun:*:13481::::::
+ftp:*:13481::::::
+nobody:*:13481::::::
+messagebus:!:13481:0::7:::
+haldaemon:!:13481:0::7:::
diff --git a/src/lib/distro-info/scientific-5/settings.default b/src/lib/distro-info/scientific-5/settings.default
new file mode 100644
index 00000000..fe38a531
--- /dev/null
+++ b/src/lib/distro-info/scientific-5/settings.default
@@ -0,0 +1,30 @@
+bootstrap-packages = <<END
+ to-be-filled-in (List of base RPMs)
+END
+<metapackager yum>
+ packages = <<END
+ to-be-filled-in (List of RPMs for the YUM packager)
+ END
+</metapackager>
+package-subdir = ???
+prereq-packages = <<END
+ to-be-filled-in (List of needed RPMs)
+END
+<repository base>
+ name = Scientific Linux 5
+ repo-subdir = ?
+ file-for-speedtest = ?
+</repository>
+<selection minimal>
+ packages = <<END
+ glibc-locale
+ END
+</selection>
+<selection kde>
+ base = minimal
+ packages = <<END
+ END
+</selection>
+<selection default>
+ base = minimal
+</selection>
diff --git a/src/lib/distro-info/scientific-5/settings.example b/src/lib/distro-info/scientific-5/settings.example
new file mode 100644
index 00000000..5ae02428
--- /dev/null
+++ b/src/lib/distro-info/scientific-5/settings.example
@@ -0,0 +1,17 @@
+# rename this file to 'settings' and edit it as you please
+#
+# for a list of all options, have a look at the corresponding
+# settings.default in /opt/openslx/share/distro-info
+
+# use local installation source
+#<repository base>
+# local-url = /srv/ftp/pub/some-distribution/inst-source
+#</repository>
+
+# add a new selection:
+#<selection my_number_crunsher>
+# base = minimal
+# packages = <<END
+# crunsher_app
+# END
+#</selection>
diff --git a/src/lib/distro-info/scientific-6/export-filter.example b/src/lib/distro-info/scientific-6/export-filter.example
new file mode 100644
index 00000000..a414fef4
--- /dev/null
+++ b/src/lib/distro-info/scientific-6/export-filter.example
@@ -0,0 +1,15 @@
+# this file defines the filter rules used when exporting a vendor-OS
+# of this distro
+#
+# copy this file to 'export-filter' and add your own filters to it
+# in order to overrule the filters provided by openslx
+#
+#Examples:
+# the following line would include anything below /var/spool/
+#+ /var/spool/*
+#
+# this would exclude anything in /etc that starts with dhcpd.conf
+#- /etc/dhcpd.conf*
+#
+# and this would exclude all rpmnew-files:
+#- *.rpmnew
diff --git a/src/lib/distro-info/scientific-6/prereqfiles/etc/group b/src/lib/distro-info/scientific-6/prereqfiles/etc/group
new file mode 100644
index 00000000..505cb221
--- /dev/null
+++ b/src/lib/distro-info/scientific-6/prereqfiles/etc/group
@@ -0,0 +1,33 @@
+root:x:0:
+bin:x:1:daemon
+daemon:x:2:
+sys:x:3:
+tty:x:5:
+disk:x:6:
+lp:x:7:
+www:x:8:
+kmem:x:9:
+wheel:x:10:
+mail:x:12:
+news:x:13:
+uucp:x:14:
+shadow:x:15:
+dialout:x:16:
+audio:x:17:
+floppy:x:19:
+cdrom:x:20:
+console:x:21:
+utmp:x:22:
+public:x:32:
+video:x:33:
+games:x:40:
+xok:x:41:
+trusted:x:42:
+modem:x:43:
+ftp:x:49:
+man:x:62:
+users:x:100:
+nobody:x:65533:
+nogroup:x:65534:nobody
+messagebus:!:101:
+haldaemon:!:102:
diff --git a/src/lib/distro-info/scientific-6/prereqfiles/etc/hosts b/src/lib/distro-info/scientific-6/prereqfiles/etc/hosts
new file mode 100644
index 00000000..75721cd5
--- /dev/null
+++ b/src/lib/distro-info/scientific-6/prereqfiles/etc/hosts
@@ -0,0 +1 @@
+127.0.0.1 localhost
diff --git a/src/lib/distro-info/scientific-6/prereqfiles/etc/passwd b/src/lib/distro-info/scientific-6/prereqfiles/etc/passwd
new file mode 100644
index 00000000..9b8fc4fe
--- /dev/null
+++ b/src/lib/distro-info/scientific-6/prereqfiles/etc/passwd
@@ -0,0 +1,14 @@
+root:x:0:0:root:/root:/bin/bash
+bin:x:1:1:bin:/bin:/bin/bash
+daemon:x:2:2:Daemon:/sbin:/bin/bash
+lp:x:4:7:Printing daemon:/var/spool/lpd:/bin/bash
+mail:x:8:12:Mailer daemon:/var/spool/clientmqueue:/bin/false
+news:x:9:13:News system:/etc/news:/bin/bash
+uucp:x:10:14:Unix-to-Unix CoPy system:/etc/uucp:/bin/bash
+games:x:12:100:Games account:/var/games:/bin/bash
+man:x:13:62:Manual pages viewer:/var/cache/man:/bin/bash
+wwwrun:x:30:8:WWW daemon apache:/var/lib/wwwrun:/bin/false
+ftp:x:40:49:FTP account:/srv/ftp:/bin/bash
+nobody:x:65534:65533:nobody:/var/lib/nobody:/bin/bash
+messagebus:x:100:101:User for D-Bus:/var/run/dbus:/bin/false
+haldaemon:x:101:102:User for haldaemon:/var/run/hal:/bin/false
diff --git a/src/lib/distro-info/scientific-6/prereqfiles/etc/shadow b/src/lib/distro-info/scientific-6/prereqfiles/etc/shadow
new file mode 100644
index 00000000..cd100a5a
--- /dev/null
+++ b/src/lib/distro-info/scientific-6/prereqfiles/etc/shadow
@@ -0,0 +1,14 @@
+root::13481::::::
+bin:*:13481::::::
+daemon:*:13481::::::
+lp:*:13481::::::
+mail:*:13481::::::
+news:*:13481::::::
+uucp:*:13481::::::
+games:*:13481::::::
+man:*:13481::::::
+wwwrun:*:13481::::::
+ftp:*:13481::::::
+nobody:*:13481::::::
+messagebus:!:13481:0::7:::
+haldaemon:!:13481:0::7:::
diff --git a/src/lib/distro-info/scientific-6/settings.default b/src/lib/distro-info/scientific-6/settings.default
new file mode 100644
index 00000000..966675de
--- /dev/null
+++ b/src/lib/distro-info/scientific-6/settings.default
@@ -0,0 +1,30 @@
+bootstrap-packages = <<END
+ to-be-filled-in (List of base RPMs)
+END
+<metapackager yum>
+ packages = <<END
+ to-be-filled-in (List of RPMs for the YUM packager)
+ END
+</metapackager>
+package-subdir = ???
+prereq-packages = <<END
+ to-be-filled-in (List of needed RPMs)
+END
+<repository base>
+ name = Scientific Linux 6
+ repo-subdir = ?
+ file-for-speedtest = ?
+</repository>
+<selection minimal>
+ packages = <<END
+ glibc-locale
+ END
+</selection>
+<selection kde>
+ base = minimal
+ packages = <<END
+ END
+</selection>
+<selection default>
+ base = minimal
+</selection>
diff --git a/src/lib/distro-info/scientific-6/settings.example b/src/lib/distro-info/scientific-6/settings.example
new file mode 100644
index 00000000..5ae02428
--- /dev/null
+++ b/src/lib/distro-info/scientific-6/settings.example
@@ -0,0 +1,17 @@
+# rename this file to 'settings' and edit it as you please
+#
+# for a list of all options, have a look at the corresponding
+# settings.default in /opt/openslx/share/distro-info
+
+# use local installation source
+#<repository base>
+# local-url = /srv/ftp/pub/some-distribution/inst-source
+#</repository>
+
+# add a new selection:
+#<selection my_number_crunsher>
+# base = minimal
+# packages = <<END
+# crunsher_app
+# END
+#</selection>