From 8538236bf31cbcb8acf1b7256202539f90d3fe48 Mon Sep 17 00:00:00 2001 From: hugo Date: Tue, 23 Feb 2010 07:25:28 +0000 Subject: [PATCH] Installation xdm --- packages-list | 1 + stage4/configure-xorg | 246 +++++++++++++++++++---------------------- stage4/packages-update | 4 +- stage4/stage4-install | 2 + 4 files changed, 119 insertions(+), 134 deletions(-) diff --git a/packages-list b/packages-list index 68c5a08..dcc6c61 100644 --- a/packages-list +++ b/packages-list @@ -442,6 +442,7 @@ XCURSOR_THEMES=xcursor-themes-1.0.2 XKEYBOARD_CONFIG=xkeyboard-config-1.7 LUIT=luit-1.0.4 XORG_SERVER=xorg-server-1.7.1 +XDM=xdm-1.1.9 XMLTO="xmlto-0.0.23" XMLTOMAN="xmltoman-0.4" diff --git a/stage4/configure-xorg b/stage4/configure-xorg index 73a8799..d6c69f6 100755 --- a/stage4/configure-xorg +++ b/stage4/configure-xorg @@ -8,32 +8,136 @@ source ../sysinfos source ../functions source ../packages-list +# Used by startx +cat > /etc/skel/.xinitrc << "EOF" +# ~/.xinitrc -exit 0 +dbus-launch --exit-with-session wmaker +EOF + +cat > /etc/skel/.Xdefaults << "EOF" +xterm*scrollBar: false +xterm*rightScrollBar: false +xterm*saveLines: 1000 +xterm*geometry: 120x45+70+50 +xterm*background: #000000 +xterm*foreground: #A8A8A8 +xterm*color0: #000000 +xterm*color1: #A80000 +xterm*color2: #00A800 +xterm*color3: #A85400 +xterm*color4: #0000A8 +xterm*color5: #A800A8 +xterm*color6: #00A8A8 +xterm*color7: #A8A8A8 +xterm*color8: #545054 +xterm*color9: #F85450 +xterm*color10: #50FC50 +xterm*color11: #F2FC50 +xterm*color12: #5054F8 +xterm*color13: #F854F8 +xterm*color14: #50FCF8 +xterm*color15: #F8FCF8 +EOF +cat > /etc/skel/.xsession << "EOF" +#!/bin/sh +# ~/.xsession +userresources=$HOME/.Xresources +usermodmap=$HOME/.Xmodmap +sysresources=/usr/lib/X11/xinit/.Xresources +sysmodmap=/usr/lib/X11/xinit/.Xmodmap +# merge in defaults and keymaps -# Many package are still trying to find X in /usr/X11R6. -# Until then, you can create a symbolic link to satisfy the /usr/X11R6 -# requirement so that you won't be inconvenienced with a package build -# failure due to this known issue. -#ln -scfT ${XORG_PREFIX} /usr/X11R6 +if [ -f $sysresources ]; then + xrdb -merge $sysresources +fi + +if [ -f $sysmodmap ]; then + xmodmap $sysmodmap +fi + +if [ -f "$userresources" ]; then + xrdb -merge "$userresources" +fi + +if [ -f "$usermodmap" ]; then + xmodmap "$usermodmap" +fi + +# now, we see if xdm/gdm/kdm has asked for a specific environment + +case $# in + 1) + case $1 in + wmaker) + exec dbus-launch --exit-with-session wmaker + ;; + failsafe) + exec xterm -geometry 80x24-0-0 + ;; + default) + exec dbus-launch --exit-with-session wmaker + ;; + *) + exec dbus-launch --exit-with-session wmaker + ;; + esac + ;; + *) + exec dbus-launch --exit-with-session wmaker + ;; +esac + +exit 0 +EOF + +chmod 755 /etc/skel/.xsession + +cp /etc/skel/.{xinitrc,Xdefaults,xsession} /root +cp /etc/skel/.{xinitrc,Xdefaults,xsession} /home/${REGUSER} + +# When needed, the X Window System creates the directory /tmp/.ICE-unix if it +# does not exist. If this directory is not owned by root, the X Window System +# delays startup by a few seconds and also appends a warning to the logfile. +# This also affects startup of other applications. To improve performance, it +# is advisable to manually create the directory before the X Window System uses +# it. +cat >> /etc/sysconfig/createfiles << "EOF" +/tmp/.ICE-unix dir 1777 root root +EOF # Packages in Xorg store their configuration files in $XORG_PREFIX/lib/X11 # by default. This is strictly against FHS guidelines. Correct the # installation /etc/X11 and create symlinks in the original location: mkdir -v -p /etc/X11 -for file in ${XORG_PREFIX}/{lib/X11/xinit,share/X11/{app-defaults,twm}}; do - mv -v $file /etc/X11/ 2> /dev/null - ln -svfT /etc/X11/$(basename $file) $file +for file in ${XORG_PREFIX}/{lib/X11/{xinit,xdm},share/X11/app-defaults}; do + if [ ! -h ${file} ]; then + mv -v ${file} /etc/X11/ 2> /dev/null + ln -svfT /etc/X11/$(basename $file) $file + fi done +if [ "x${INST_TYPE}" = "xltsp-server" ]; then + # Enable remote xdm login for LTSP clients + sed -i -e "s@^\(DisplayManager.requestPort.*\)@!\1@g" /etc/X11/xdm/xdm-config + chmod 644 /etc/X11/xdm/Xaccess + sed -i -e "s@^#\(\*[\t ]*#any host can get a login window\)@\1@g" /etc/X11/xdm/Xaccess + chmod 444 /etc/X11/xdm/Xaccess +fi +exit 0 +# Many package are still trying to find X in /usr/X11R6. +# Until then, you can create a symbolic link to satisfy the /usr/X11R6 +# requirement so that you won't be inconvenienced with a package build +# failure due to this known issue. +#ln -scfT ${XORG_PREFIX} /usr/X11R6 cat > /etc/X11/xorg.conf << "EOF" # xorg.conf @@ -157,128 +261,4 @@ sed -i -e "s!_XF86_KEYBOARD_LAYOUT_!${HV_XF86_KEYBOARD_LAYOUT}!g" /etc/X11/xorg. sed -i -e "s!_XF86_KEYBOARD_VARIANT_!${HV_XF86_KEYBOARD_VARIANT}!g" /etc/X11/xorg.conf sed -i -e "s!_XF86_KEYBOARD_OPTIONS_!${HV_XF86_KEYBOARD_OPTIONS}!g" /etc/X11/xorg.conf -cat > /etc/skel/.xinitrc << "EOF" -# ~/.xinitrc - -exec wmaker -EOF - -cat > /etc/skel/.Xdefaults << "EOF" -xterm*scrollBar: false -xterm*rightScrollBar: false -xterm*saveLines: 1000 -xterm*geometry: 120x45+70+50 -xterm*background: #000000 -xterm*foreground: #A8A8A8 -xterm*color0: #000000 -xterm*color1: #A80000 -xterm*color2: #00A800 -xterm*color3: #A85400 -xterm*color4: #0000A8 -xterm*color5: #A800A8 -xterm*color6: #00A8A8 -xterm*color7: #A8A8A8 -xterm*color8: #545054 -xterm*color9: #F85450 -xterm*color10: #50FC50 -xterm*color11: #F2FC50 -xterm*color12: #5054F8 -xterm*color13: #F854F8 -xterm*color14: #50FCF8 -xterm*color15: #F8FCF8 -EOF - -cat > /etc/skel/.xsession << "EOF" -#!/bin/sh -# ~/.xsession - -userresources=$HOME/.Xresources -usermodmap=$HOME/.Xmodmap -sysresources=/usr/X11R6/lib/X11/xinit/.Xresources -sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap - -# merge in defaults and keymaps - -if [ -f $sysresources ]; then - xrdb -merge $sysresources -fi - -if [ -f $sysmodmap ]; then - xmodmap $sysmodmap -fi - -if [ -f $userresources ]; then - xrdb -merge $userresources -fi - -if [ -f $usermodmap ]; then - xmodmap $usermodmap -fi - -# now, we see if xdm/gdm/kdm has asked for a specific environment - -case $# in - 1) - case $1 in - kde) - exec dbus-launch --exit-with-session startkde - ;; - twm) - xsetroot -solid rgb:33/33/55 & - xclock -digital -update 1 -geometry 180x23-5+5 & - opera -geometry 1100x950+150+10 -iconic -title "Opera 6.0 TP3" & - emacs -geometry 140x60-5+100 -iconic -title "Emacs" & - xterm -ls -geometry 160x60+25-25 -title "xterm" & - exec dbus-launch --exit-with-session twm - ;; - wmaker) - exec dbus-launch --exit-with-session wmaker - ;; - failsafe) - exec xterm -geometry 80x24-0-0 - ;; - default) - exec dbus-launch --exit-with-session wmaker - ;; - *) - exec dbus-launch --exit-with-session wmaker - ;; - esac - ;; - *) - exec dbus-launch --exit-with-session wmaker - ;; -esac - -exit 0 -EOF - -chmod 755 /etc/skel/.xsession - -cp /etc/skel/.{xinitrc,Xdefaults,xsession} /root -cp /etc/skel/.{xinitrc,Xdefaults,xsession} /home/${REGUSER} - -##var_add_path "PATH" /etc/profile "/usr/X11R6/bin" -#var_add_path "PKG_CONFIG_PATH" /etc/profile "/usr/X11R6/lib/pkgconfig" -#var_export "PKG_CONFIG_PATH" /etc/profile -#var_add_path "MANPATH" /etc/profile "/usr/X11R6/man" -#var_export "MANPATH" /etc/profile -#var_add_shadow "ENV_SUPATH" /etc/login.defs "/usr/X11R6/bin" -#string_add "/usr/X11R6/lib" /etc/ld.so.conf - - -if [ "x${INST_TYPE}" = "xltsp-server" ]; then - # Enable remote xdm login for LTSP clients - sed -i -e "s@^\(DisplayManager.requestPort.*\)@!\1@g" /etc/X11/xdm/xdm-config - chmod 644 /etc/X11/xdm/Xaccess - sed -i -e "s@^#\(\*[\t ]*#any host can get a login window\)@\1@g" /etc/X11/xdm/Xaccess - chmod 444 /etc/X11/xdm/Xaccess -fi - - When needed, the X Window System creates the directory /tmp/.ICE-unix if it does not exist. If this directory is not owned by root, the X Window System delays startup by a few seconds and also appends a warning to the logfile. This also affects startup of other applications. To improve performance, it is advisable to manually create the directory before the X Window System uses it. Add the file creation to /etc/sysconfig/createfiles that is sourced by the /etc/rc.d/init.d/cleanfs startup script. - -cat >> /etc/sysconfig/createfiles << "EOF" -/tmp/.ICE-unix dir 1777 root root -EOF - exit $? diff --git a/stage4/packages-update b/stage4/packages-update index d209fee..9ca5748 100755 --- a/stage4/packages-update +++ b/stage4/packages-update @@ -90,7 +90,9 @@ fpkg ${POLICYKIT} "http://hal.freedesktop.org/releases" fpkg ${HAL} http://hal.freedesktop.org/releases fpkg ${HAL_INFO} http://hal.freedesktop.org/releases -fpkg ${XORG_SERVER} ${XORG_URL}/xserver +fpkg ${XORG_SERVER} ${XORG_URL}/xserver + +fpkg ${XDM} ${XORG_URL}/app ARCH_EXT=tgz fpkg ${XTERM} ftp://invisible-island.net/xterm unset ARCH_EXT diff --git a/stage4/stage4-install b/stage4/stage4-install index ffb51b1..b91aa61 100755 --- a/stage4/stage4-install +++ b/stage4/stage4-install @@ -121,6 +121,8 @@ ipkg_ac ${XORG_SERVER} ${XORG_CONFIG} "\ # To fix this problrem, comment out these drivers in both driver-7.5-2.md5 and driver-7.5-2.wget. install_xorg_modules ${XORG_DRIVER} --with-xorg-module-dir=${XORG_PREFIX}/lib/X11/modules +ipkg_ac ${XDM} ${XORG_CONFIG} + rscr once "Configuring X.org" configure-xorg ipkg_cust ${XTERM} cis-xterm ${XORG_CONFIG} -- 2.20.1