diff options
author | Michael Janczyk | 2012-11-07 18:48:54 +0100 |
---|---|---|
committer | Michael Janczyk | 2012-11-07 18:48:54 +0100 |
commit | 9cbaf3a23a9791bc2d2c3a7fd3516922debfb464 (patch) | |
tree | f4a31ac193db18c77a4e42700242be247f0a77fd /src | |
parent | plymouth plugin updated to set the theme to the target system (diff) | |
download | core-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')
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> |