summaryrefslogblamecommitdiffstats
path: root/initramfs/distro-specs/suse/functions-default
blob: 9adedaae7243b01dbdc7452fbc1d667221a71f11 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11










                                                                         

                                                                             

                                                                           




                                                                
                                          
                                         


                                                                            
                                      
                                                                    



                                                         
                                                                        
                          












                                                                       
                                                       

                                                    



                                                                         
                                                 
                                    

                                                                        
                                     




                          





                                          

















                                                                        
                                      
                                      
                       


    


                                   
                     

  



                                             
                        










                                                                              
                                                 
                  
                                       


                                                                            
                                               


                                                              

                                                      
                        




                                



                                             
                             
                              








                                                                              




                                



                                              
                         





                                                         





                                            
                          
                                     
                                     

                 
                         
                                
                                    













                                                                             


                                   
                            
                                                                    

                       




























                                                                            



                                                                   

                                                           


                                                                
                                                              

                                                
                                                               
 



                                                                  















                                                                             


                                                                  































                                                                              
                                   























































                                               


                                                         



                                                                            
      
                                             

                                      
                                         

                                                                    
    

  

                                  
                   


                                      



                              
                                                   


                                                                     


                                       
 
                                             

                                                                     
             

                                                  
                                                     
                                  
 
                                                      

                                                        
                                  


                                                              


                                                                       

                         


                                              




                                                                          

             
                                       



                                                                 





                                                                           

                                                                       
                                      
                                

                                               


                                  






                                                                             
                                              
                                 

                                                                       


                                     


    
                                                                           


                                                


                                                                          
                        







                                           
                       



                             

                                                             
                       
 


                                             
                        

                               



                            

                  
                                             
                        



                            





















                                                                          
                                                          
                





                                                           
 
 
# Copyright (c) 2003 - 2006 - RZ Uni Freiburg
# Copyright (c) 2006, 2007 - 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 SuSE to configure linux stateless clients 
# (included by init, hwautocfg, servconfig within InitialRamFS after 
# inclusion of the main functions file). This file is the main base for the
# several SuSE distro versions

# empty functions are defined at the beginning of /etc/functions

# distro specific function called from servconfig script
config_distro () {
# no need to run start scripts in parallel
# enable magic sysrequest for the clients
sed -e "1i# /etc/${D_SYSCONFDIR}/sysctl - modified by $0 version $version" \
    -e "s,ENABLE_SYSRQ=.*,ENABLE_SYSRQ=\"yes\"," \
    -i /mnt/etc/${D_SYSCONFDIR}/sysctl
# add specific path /var/X11R6/bin ...
echo -e "# stuff generated by $0 (out of InitRamFS written $date)\n\
PATH=\"\$PATH:/var/X11R6/bin\"\n\
test \"\$UID\" -ge 100 && PATH=\"\$PATH:.\"\n\
QTDIR=/usr/lib/qt3\nexport QTDIR\nno_proxy='localhost'\n\
export no_proxy" > /mnt/etc/SuSEconfig/profile
echo -e "SLX VERSION = $SLXVERSION\nINITRAMFS GENERATION DATE = $date" \
  >> /mnt/etc/SuSE-release
# create a stateless specific halt script
echo -e '#!/bin/sh\n# script generated in InitRamFS (SLX stage3)
. /etc/rc.status\n
trap "echo" SIGINT SIGSEGV SIGQUIT SIGTERM\nset +e\n\n
case "$0" in\n\t*halt)
\t   message="The system will be halted immediately."
\t   command="halt -p"\n\t   ;;\n\t*reboot)\n
\t   message="Please stand by while rebooting the system..."
\t   command="reboot"\n\t   ;;\nesac\n
rc_reset\ntest -e /etc/init.d/halt.local && {
\techo Running /etc/init.d/halt.local\n\t/bin/sh /etc/init.d/halt.local
\trc_status -v1 -r\n}
echo $message\nexec $command -d -f' > /mnt/etc/${D_INITDIR}/halt
# add the halt link to the 0 and 6 runlevel directories
ln -sf ../halt /mnt/etc/${D_INITDIR}/rc0.d/S20halt
ln -sf ../halt /mnt/etc/${D_INITDIR}/rc6.d/S20reboot
# enable execution of all important start scripts
# running stuff in parallel seems to be rather useless and generates some
# difficult to solve problems. If you want to try nevertheless enable the
# following line and disable the latter one (switching off that feature)
sed -e "s,RUN_PARALLEL=.*,RUN_PARALLEL=\"no\"," \
    -i /mnt/etc/${D_SYSCONFDIR}/boot
# if YaST2 should be runnable (without much effect anyway) on the client
testmkd /mnt/var/log/YaST2
echo "$host_name" > /mnt/etc/HOSTNAME
}

# 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 ../$script /mnt/etc/${D_INITDIR}/$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/${D_INITDIR}/ntp ] ; then
  if ! strinfile "ntp:" /mnt/etc/passwd ; then
    echo -e "ntp:x:74:65534:NTP daemon:/var/lib/ntp:/bin/false" \
      >>/mnt/etc/passwd
    echo -e "ntp:!:13099:0:99999:7:::" >>/mnt/etc/shadow
  fi
  testmkd /mnt/var/lib/ntp/var/run/ntp
  if [ "x$start_ntp" = "xyes" ] ; then
    rllinker "ntp" 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/${D_INITDIR}/cron ] ; then
    rllinker "cron" 18 2
    testmkd /mnt/var/spool/cron/lastrun
    testmkd /mnt/var/spool/cron/tabs
    echo -e "# /etc/crontab - file generated by $0:\n\
#\t$date\nSHELL=/bin/sh\nPATH=/usr/bin:/usr/sbin:/sbin:/bin:/usr/lib/news/bin\
\nMAILTO=\n-*/15 * * * *\troot\ttest -x /usr/lib/cron/run-crons && \
/usr/lib/cron/run-crons >/dev/null 2>&1" >/mnt/etc/crontab
  else
    error "$df_errcron" nonfatal
  fi 
fi
}
# syslog service (use syslog-ng for all versions)
config_syslog () {
if [ "x$start_syslog" != "xno" ] ; then
  # enable basic logging to console tty10; file logging could be enabled via
  # setting of config_syslog="file"
  start_syslog="yes"
  if [ -f /mnt/etc/${D_INITDIR}/syslog ] ; then
    sed -e "1i# modified in InitRamFS by $0" \
        -e "s,SYSLOG_DAEMON=.*,SYSLOG_DAEMON=\"syslog-ng\"," \
        -i /mnt/etc/sysconfig/syslog
    # logoutput depending on $start_syslog definitions
    sysngwriter /mnt/etc/syslog-ng/syslog-ng.conf
    rllinker syslog 2 20
  else
    error "$df_errsysl" nonfatal
  fi
fi
}
# secure shell service
config_sshd () {
if [ "x$start_sshd" = "xyes" ] ; then
  if [ -f /mnt/etc/${D_INITDIR}/sshd ] ; then
    testmkd /mnt/var/run/sshd
    testmkd /mnt/var/lib/empty
    if ! strinfile "sshd:" /mnt/etc/passwd ; then
      echo -e "sshd:x:117:65534::/var/run/sshd:/usr/sbin/nologin" \
        >>/mnt/etc/passwd
      echo -e "sshd:!:13099:0:99999:7:::" >>/mnt/etc/shadow
    fi
    # set permissions with userid
    #echo -e "\tchown sshd:nogroup /var/run/sshd /var/lib/empty 2>/dev/null" \
    #  >>/mnt/etc/${D_INITDIR}/boot.slx 
    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/${D_INITDIR}/snmpd ] ; then
    rllinker "snmpd" 24 2
    testmkd /mnt/var/lib/net-snmp >/dev/null 2>&1
  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
      #chown -R lp:lp /var/spool/cups
    ;;
    lp*|LP*|PLP*)
      rllinker "lpd" 25 1
      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
  testmkd /mnt/var/run/samba
  if [ "$start_samba" = "yes" ] && [ -f /mnt/etc/init.d/smb ] ; then
    rllinker "smb" 27 2
    rllinker "nmb" 28 2
  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"  
# should be stated that entries were made (fixmee how??)
# autologin is defined some other way ...
#    -e "s,.*_AUTOLOGIN.*,DISPLAYMANAGER_AUTOLOGIN=\"\"," \
sed -e "s,DISPLAYMANAGER=.*,DISPLAYMANAGER=\"$start_xdmcp\"," \
    -e "s,.*_XSERVER.*,DISPLAYMANAGER_STARTS_XSERVER=\"$dm\"," \
    -i /mnt/etc/${D_SYSCONFDIR}/displaymanager
# start the display manager as early as possible in runlevel 5
ln -sf ../xdm /mnt/etc/${D_INITDIR}/rc5.d/S01xdm
ln -sf ../xdm /mnt/etc/${D_INITDIR}/rc5.d/K18xdm
sed -e "s,xdm: .*,xdm:," -i /mnt/etc/${D_INITDIR}/.depend.start
}
# configure X display manager (runlevel links and kind of manager)
config_xdm () {
config_dm_entry yes
}
# configure gdm as display manager
config_gdm () {
config_dm_entry yes
testmkd /mnt/var/lib/gdm
testmkd /mnt/var/log/gdm
strinfile "gdm:" /mnt/etc/passwd || echo "gdm:x:50:15:Gnome Display Manager \
Daemon:/var/lib/gdm:/bin/false" >>/mnt/etc/passwd
# hack - gdm should be user 50 and shadow group 15
chown 50:15 /mnt/var/lib/gdm /mnt/var/log/gdm
chmod 0750 /mnt/var/lib/gdm /mnt/var/log/gdm
xdmcp_hosts=`echo $x_display_manager|sed -e "s; ;,;"`
if [ "${DEBUGLEVEL}" -gt 0 ] ; then
  local debug="true"
else
  local debug="false"
fi
# check if a gdm.conf was provided via ConfTGZ
if [ ! -f /etc/opt/gnome/gdm/gdm.conf ] ; then
  echo -e "# /etc/opt/gnome/gdm/gdm.conf - file generated by $0\n\
[daemon]
AutomaticLoginEnable=false
TimedLoginEnable=false
#AlwaysRestartServer=false
Chooser=/opt/gnome/lib/gdm/gdmchooser
Greeter=/opt/gnome/lib/gdm/gdmgreeter
RemoteGreeter=/opt/gnome/lib/gdm/gdmgreeter
DefaultPath=/usr/local/bin:/usr/bin:/usr/X11R6/bin:/bin:/usr/games:/opt/bin:\
/opt/gnome/bin:/opt/kde3/bin:/opt/kde/bin:/usr/openwin/bin
RootPath=/usr/local/bin:/usr/bin:/usr/X11R6/bin:/bin:/usr/local/bin:/usr/bin:\
/usr/X11R6/bin:/bin:/usr/games:/opt/bin:/opt/gnome/bin:/opt/kde3/bin:\
/opt/kde/bin:/usr/openwin/bin:/opt/cross/bin
User=gdm
Group=shadow
#KillInitClients=true
LogDir=/var/lib/gdm
ServAuthDir=/var/lib/gdm
PostLoginScriptDir=/etc/opt/gnome/gdm/PostLogin/
PreSessionScriptDir=/etc/opt/gnome/gdm/PreSession/
PostSessionScriptDir=/etc/opt/gnome/gdm/PostSession/
DisplayInitDir=/etc/opt/gnome/gdm/Init
XKeepsCrashing=/etc/opt/gnome/gdm/XKeepsCrashing
RebootCommand=/sbin/shutdown -r now
HaltCommand=/sbin/shutdown -h now
SuspendCommand=/usr/bin/powersave --suspend-to-disk
BaseXsession=/etc/opt/gnome/gdm/Xsession
SessionDesktopDir=/usr/share/xsessions/:/etc/X11/sessions/:\
/etc/opt/gnome/dm/Sessions/:/opt/gnome/share/gdm/BuiltInSessions/:\
$vmsessions
BaseXsession=/etc/opt/gnome/gdm/Xsession
UserAuthFBDir=/tmp
UserAuthFile=.Xauthority
StandardXServer=${D_XORGBIN} +kb -I
Xnest=/usr/X11R6/bin/Xnest -audit 0 -name Xnest

[security]
AllowRoot=true
AllowRemoteRoot=true
AllowRemoteAutoLogin=false
CheckDirOwner=true
#UserMaxFile=65536
RetryDelay=1
#SessionMaxFile=524388
NeverPlaceCookiesOnNFS=true

[xdmcp]
Enable=$xdmcp
HonorIndirect=true
MaxPending=4
MaxPendingIndirect=4
MaxSessions=10
MaxWait=15
MaxWaitIndirect=15
DisplaysPerHost=2
Willing=/etc/X11/xdm/Xwilling

[gui]
#MaxIconWidth=128
#MaxIconWidth=128

[greeter]
Browser=false
#TitleBar=true
MinimalUID=500
Quiver=true
Welcome=Welcome to %n
LockPosition=true
BackgroundImage=0
BackgroundColor=#000000
ShowGnomeFailsafeSession=false
ShowXtermFailsafeSession=false
ShowLastSession=false
Use24Clock=true
GraphicalTheme=GDM-SuSE
GraphicalTheme=circles
GraphicalThemeDir=/opt/gnome/share/gdm/themes/
GraphicalThemeRand=false
#SystemMenu=true
InfoMsgFile=/opt/gnome/share/gdm/UserInfo
InfoMsgFont=monospace 10
SoundOnLogin=false
[chooser]
HostImageDir=/opt/gnome/share/hosts/
Broadcast=false
Multicast=false
Hosts=$xdmcp_hosts

[debug]
Enable=$debug" >/mnt/etc/opt/gnome/gdm/gdm.conf
  if [ "x$start_x" = "xindirect" ] ; then
    # when X server consumes to much mem set X -terminate
    echo -e "\n[servers]\n0=Terminal -audit 0 -indirect \
$host_name\n\n\
[server-Terminal]\nname=Terminal server\ncommand=/usr/X11R6/bin/X \
-audit 0\n\
flexible=true\nhandled=true\nchooser=true" >>/mnt/etc/opt/gnome/gdm/gdm.conf
  else
    if [ ! -d /mnt/etc/opt/gnome/gdm ] ; then
       testmkd /mnt/etc/opt/gnome/gdm 
    fi
    echo -e "\n[servers]\n0=Standard\n\n\
[server-Standard]\nname=Standard server\ncommand=/usr/X11R6/bin/X\n\
flexible=true\nhandled=true" >>/mnt/etc/opt/gnome/gdm/gdm.conf
  fi
fi
}
# configure kdm as display manager
config_kdm () {
config_dm_entry yes
# write configuration file
# use general config in /etc/functions
config_kdm_template
}

# configure bluetooth services
config_bt () {
if [ -e /mnt/etc/${D_SYSCONFDIR}/bluetooth ] ; then
  sed -e "1i# /etc/${D_SYSCONFDIR}/bluetooth - file modified by $0" \
      -e "s,START_SERVICES.*,START_SERVICES=\"yes\"," \
      -i /mnt/etc/${D_SYSCONFDIR}/bluetooth
else
  : # no bluetooth components installed
fi
}
# set up keytable (function run in hwautocfg)
# kbd runlevel link is set via config_distro to avoid clashes between
# servconfig and hwautocfg settings
keytable () {
sed -e "s,KEYTABLE=.*,KEYTABLE=\"${KEYTABLE}\"," \
  -i /mnt/etc/${D_SYSCONFDIR}/keyboard
echo -e "\tloadkeys ${KEYTABLE} >${LOGFILE} 2>&1\n" \
  >>/mnt/etc/${D_INITDIR}/boot.slx
}
# consolefont and language (function run in hwautocfg)
consolefont () {
echo -e "\tsetfont ${CONSOLE_FONT} >${LOGFILE} 2>&1\n" \
  >>/mnt/etc/${D_INITDIR}/boot.slx
sed -e "s,RC_LANG=.*,RC_LANG=\"${LANG}\" # added in initrd," \
    -i /mnt/etc/${D_SYSCONFDIR}/language
}
# acpi and powersave daemons, required e.g. to shutdown the machine via
# power button, no need for early start
config_acpi () {
rllinker acpid 22 12
rllinker powersaved 23 11
# dbus is required to run acpid and powersaved
start_dreshal="yes"
}
# 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=5
local stop=18
if [ "x$start_dreshal" = "xyes" ]; then
  for dir in /var/run/dbus /var/run/resmgr/classes /var/run/hal \
             /var/cache/hald /var/lib/PolicyKit; do
    testmkd /mnt/$dir
  done
  if [ -f /mnt/etc/${D_INITDIR}/dbus ] ; then
    strinfile "messagebus:" /mnt/etc/passwd || \
      echo "messagebus:x:100:101:User for D-BUS:/var/run/dbus:/bin/false" \
        >> /mnt/etc/passwd
    strinfile "messagebus:" /mnt/etc/group || \
      echo "messagebus:!:101:" >> /mnt/etc/group
    # set permissions with userid
    echo -e "\tchown messagebus:messagebus /var/run/dbus 2>/dev/null" \
      >>/mnt/etc/${D_INITDIR}/boot.slx
    rllinker "dbus" $start $stop
  fi
  if [ -f /mnt/etc/${D_INITDIR}/resmgr ] ; then
    start=$(($start + 1))
    stop=$(($stop - 1))
    rllinker "resmgr" $start $stop
  fi
  if [ -f /mnt/etc/${D_INITDIR}/haldaemon ] ; then
    strinfile "haldaemon:" /mnt/etc/passwd || \
      echo "haldaemon:x:105:103:User for haldaemon:/var/run/hal:/bin/false" \
        >> /mnt/etc/passwd
    strinfile "haldaemon:" /mnt/etc/group || \
      echo "haldaemon:!:103:" >> /mnt/etc/group
    echo -n "" > /mnt/var/lib/PolicyKit/reload
    # set permissions with userid
    echo -e "\tchown haldaemon:haldaemon /var/run/hal /var/cache/hald \
      2>/dev/null" >>/mnt/etc/${D_INITDIR}/boot.slx
    start=$(($start + 1))
    stop=$(($stop - 1))
    rllinker "haldaemon" $start $stop
  fi
fi
}
# configure automounter (fixme: config version for NFSv4 might be required)
config_automount () {
if [ -e /mnt/etc/${D_SYSCONFDIR}/autofs ] ; then
  testmkd /var/lock/subsys
  sed -e "1i# /etc/${D_SYSCONFDIR}/autofs - file modified by\n#\t$0:\n#" \
      -e "s,AUTOFS_OPTIONS.*,AUTOFS_OPTIONS=\"--timeout 3\"," \
      -i /mnt/etc/${D_SYSCONFDIR}/autofs
  rllinker "autofs" 18 4
else
  error "$df_erramt" nonfatal
fi
}
# start name service caching daemon
config_nscd () {
if [ -e /mnt/etc/${D_INITDIR}/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
config_nis () {
if [ -f /mnt/etc/${D_INITDIR}/ypbind ] ; then
  rllinker "ypbind" 6 16
  config_portmap
  testmkd /mnt/var/yp/nicknames
else
  error "$df_erryp" nonfatal
fi
}
# start vmware
config_vmware () {
if [ -f /mnt/etc/${D_INITDIR}/vmware ] ; then
  rllinker "vmware" 20 2
else
  error "df_errvmw" 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/${D_INITDIR}/$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.status\n. /etc/${D_SYSCONFDIR}/logfile\nrc_reset\ncase \
\"\$1\" in\n    start)\n\techo -n \"$info\"" >>/mnt/etc/${D_INITDIR}/$name
    chmod u+x /mnt/etc/${D_INITDIR}/$name
  ;;
  close)
    echo -e "\trc_status -v\n\t;;\n    stop)\n\t;;\nesac\nrc_exit" \
      >>/mnt/etc/${D_INITDIR}/$name
  ;;
esac
}
# Xorg variable settings. Lots of stuff changed since 10.2
displayvars () {
Files='\tModulePath\t"/etc/X11/modules"\n
\tModulePath\t"/usr/lib/xorg/modules"\n
\tFontPath\t"/usr/share/fonts/misc/:unscaled"\n
\tFontPath\t"/usr/share/fonts/75dpi/:unscaled"\n
\tFontPath\t"/usr/share/fonts/100dpi/:unscaled"'
synapticsdrv="/usr/lib/xorg/modules/input/synaptics_drv.so"
}