summaryrefslogtreecommitdiffstats
path: root/initramfs/distro-specs/suse/functions-default
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 /initramfs/distro-specs/suse/functions-default
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
Diffstat (limited to 'initramfs/distro-specs/suse/functions-default')
-rw-r--r--initramfs/distro-specs/suse/functions-default65
1 files changed, 65 insertions, 0 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"