summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDirk von Suchodoletz2007-04-24 15:43:15 +0200
committerDirk von Suchodoletz2007-04-24 15:43:15 +0200
commiteaa98b5bf5782f5d867cdaad895a9074f76753ef (patch)
treefd7d6542dc71bd23ed5b5d7dcfba2432f6f64fdf
parent* changed semantics of slxos-export (back) to add/update/remove (diff)
downloadcore-eaa98b5bf5782f5d867cdaad895a9074f76753ef.tar.gz
core-eaa98b5bf5782f5d867cdaad895a9074f76753ef.tar.xz
core-eaa98b5bf5782f5d867cdaad895a9074f76753ef.zip
Support the setup (basic functionality only) of printer and samba (SuSE
only at the moment) ... git-svn-id: http://svn.openslx.org/svn/openslx/trunk@923 95ad53e4-c205-0410-b2fa-d234c58c8868
-rw-r--r--initramfs/distro-specs/suse/functions-default65
-rwxr-xr-xinitramfs/initrd-stuff/bin/servconfig12
-rw-r--r--initramfs/initrd-stuff/etc/functions13
-rw-r--r--installer/default_files/machine-setup.default4
4 files changed, 89 insertions, 5 deletions
diff --git a/initramfs/distro-specs/suse/functions-default b/initramfs/distro-specs/suse/functions-default
index a072a493..9ab14815 100644
--- a/initramfs/distro-specs/suse/functions-default
+++ b/initramfs/distro-specs/suse/functions-default
@@ -159,6 +159,71 @@ if [ "x$start_snmp" = "xyes" ] ; then
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" "01"
+ testmkd /mnt/var/spool/cups/tmp
+ chown -R lp:lp /var/spool/cups
+ ;;
+ lp*|LP*|PLP*)
+ rllinker "lpd" "25" "01"
+ testmkd /mnt/var/spool/lpd
+ chown -R lp:lp /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 samba service
+config_samba () {
+if [ "$start_samba" != "no" ]; then
+ if [ "$start_samba" = "yes" ] && [ -f /mnt/etc/init.d/smb ] ; then
+ rllinker "smb" "27" "02"
+ rllinker "nmb" "28" "02"
+ fi
+ # set up samba configuration with NetBIOS name servers etc.
+ if [ "x$netbios_name_servers" != "x" ]; then
+ wins_server="\\twins server = $netbios_name_servers"
+ else
+ wins_server=";\\twins server = 127.0.0.1"
+ fi
+ if [ "x$netbios_workgroup" != "x" ]; then
+ workgroup="workgroup = $new_netbios_workgroup"
+ else
+ workgroup="workgroup = openslx"
+ fi
+ # avoid to overwrite admin provided samba configuration file
+ [ ! -f /rootfs/etc/samba/smb.conf ] && [ -f /mnt/etc/samba/smb.conf ] && \
+ sed -e "1i# modified in InitRamFS by $0" \
+ -e "s,\s*netbios name.*,netbios name = ${host_name},g" \
+ -e "s,\s*interfaces.*,interfaces = ${clientip}/${subnet_mask},g" \
+ -e "s,;.*wins server.*,$wins_server,g" \
+ -e "s,\s*workgroup =.*,$workgroup,g" \
+ -i /mnt/etc/samba/smb.conf;
+ # special kde network discovery service
+ [ -f /mnt/etc/lisarc ] && [ ! -f /rootfs/etc/lisarc ] &&
+ sed -e "1i# modified in InitRamFS by $0" \
+ -e "s,AllowedA.*,AllowedAddresses=${clientip}/${subnet_mask};,g" \
+ -e "s,BroadcastN.*,BroadcastNetwork=${clientip}/${subnet_mask};,g" \
+ -e "s,PingAdd.*,PingAddresses=${clientip}/${subnet_mask};,g" \
+ -i /mnt/etc/lisarc
+fi
+}
+
# configure X display manager (/etc/${D_SYSCONFDIR}/displaymanager)
config_dm_entry () {
local dm="$1"
diff --git a/initramfs/initrd-stuff/bin/servconfig b/initramfs/initrd-stuff/bin/servconfig
index 51b66b68..2354cfb8 100755
--- a/initramfs/initrd-stuff/bin/servconfig
+++ b/initramfs/initrd-stuff/bin/servconfig
@@ -174,8 +174,8 @@ test -n "$domain_name_servers" && {
#############################################################################
# initial boot scripts
-# delete and create runlevel links for initial booting (SuSE, Debian,
-# ...)
+# delete and create runlevel links for initial booting (SuSE, Debian, Ubuntu,
+# Fedora, ...)
initial_boot
#############################################################################
@@ -251,6 +251,9 @@ fi
config_automount
# fi
+# configure print services / start requested printer daemon
+config_printer
+
# configure bluetooth services
config_bt
@@ -283,9 +286,10 @@ config_snmp
config_afs
# setup nfsv4/krb stuff
-# if nfsv4 required
config_nfsv4
-# fi
+
+# configure samba service
+config_samba
#############################################################################
# NIS
diff --git a/initramfs/initrd-stuff/etc/functions b/initramfs/initrd-stuff/etc/functions
index 1fa21a35..9265eedb 100644
--- a/initramfs/initrd-stuff/etc/functions
+++ b/initramfs/initrd-stuff/etc/functions
@@ -1170,11 +1170,16 @@ config_dreshal () {
:
}
-# configure automounter
+# configure automounter, simple NFSv3 imports only
config_automount () {
:
}
+# configure print services / start requested printer daemon
+config_printer () {
+:
+}
+
# configure bluetooth services
config_bt () {
:
@@ -1200,6 +1205,12 @@ config_automount () {
:
}
+# configure samba service (not winbind, but nmbd, smbd)
+config_samba () {
+:
+}
+
+
# start portmapper (needed at least for nfs and nis services)
config_portmap () {
:
diff --git a/installer/default_files/machine-setup.default b/installer/default_files/machine-setup.default
index 4f5b8529..80bec1c5 100644
--- a/installer/default_files/machine-setup.default
+++ b/installer/default_files/machine-setup.default
@@ -73,6 +73,10 @@ start_atd="no"
# simple network management protocol for system monitoring
start_snmp="no"
+# configure print service (may require additional files in ConfTGZ)
+# cups|lpd|no
+start_printer="no"
+
# dbus, resource manager, hal (hardware abstraction layer) interoperate
# tighly. There might be little different solutions within each distro
start_dreshal="yes"