diff options
author | Dirk von Suchodoletz | 2007-04-24 15:43:15 +0200 |
---|---|---|
committer | Dirk von Suchodoletz | 2007-04-24 15:43:15 +0200 |
commit | eaa98b5bf5782f5d867cdaad895a9074f76753ef (patch) | |
tree | fd7d6542dc71bd23ed5b5d7dcfba2432f6f64fdf /initramfs/distro-specs/suse/functions-default | |
parent | * changed semantics of slxos-export (back) to add/update/remove (diff) | |
download | core-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-default | 65 |
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" |