================================ xinit:source=1.2.0-1 (previous: 1.1.1-4) cvc rdiff xinit -1 /weasel.rpath.org@wgl:3-devel/1.2.0-1 ================================ 1.2.0-1 Filip Brcic (brcha@xxxxxxx) Tue Jan 19 19:37:05 2010 version bump + metadata xdm.confd-2: new --- /dev/null +++ xdm.confd-2 @@ -0,0 +24 @@ +# We always try and start X on a static VT. The various DMs normally default +# to using VT7. If you wish to use the xdm init script, then you should ensure +# that the VT checked is the same VT your DM wants to use. We do this check to +# ensure that you haven't accidentally configured something to run on the VT +# in your /etc/inittab file so that you don't get a dead keyboard. +CHECKVT=7 + +# What display manager do you use ? [ xdm | gdm | kdm | kdm-4.3 | gpe | entrance ] +# NOTE: If this is set in /etc/rc.conf, that setting will override this one. +# +# KDE-specific note: +# - If you are using kdeprefix go with "kdm-4.Y", e.g. "kdm-4.3". +# You can find possible versions by looking at the directories in /usr/kde/. +# - Else, if you are using KDE 3 enter "kdm-3.5" +# - Else, if you are using KDE 4 enter "kdm" without a version +DISPLAYMANAGER="kdm" + +# Set whether xorg should depend on hald or not. If set to 'auto' then the init +# script tries to determine the dependency on hald automatically, by examining +# xorg.conf files on various locations. If you have built xorg without hal +# use-flag, you should set 'no' here. If xorg has been built with hal then you +# may set 'auto' or 'yes' here. +# Possible values are: [ yes | no | auto ] +NEEDS_HALD="yes" xdm.initd-4: new --- /dev/null +++ xdm.initd-4 @@ -0,0 +245 @@ +#!/sbin/runscript +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License, v2 +# $Header: /var/cvsroot/gentoo-x86/x11-apps/xinit/files/xdm.initd-4,v 1.1 2009/11/14 14:18:43 scarabeus Exp $ + +# This is here to serve as a note to myself, and future developers. +# +# Any Display manager (gdm,kdm,xdm) has the following problem: if +# it is started before any getty, and no vt is specified, it will +# usually run on vt2. When the getty on vt2 then starts, and the +# DM is already started, the getty will take control of the keyboard, +# leaving us with a "dead" keyboard. +# +# Resolution: add the following line to /etc/inittab +# +# x:a:once:/etc/X11/startDM.sh +# +# and have /etc/X11/startDM.sh start the DM in daemon mode if +# a lock is present (with the info of what DM should be started), +# else just fall through. +# +# How this basically works, is the "a" runlevel is a additional +# runlevel that you can use to fork processes with init, but the +# runlevel never gets changed to this runlevel. Along with the "a" +# runlevel, the "once" key word means that startDM.sh will only be +# run when we specify it to run, thus eliminating respawning +# startDM.sh when "xdm" is not added to the default runlevel, as was +# done previously. +# +# This script then just calls "telinit a", and init will run +# /etc/X11/startDM.sh after the current runlevel completes (this +# script should only be added to the actual runlevel the user is +# using). +# +# Martin Schlemmer +# aka Azarah +# 04 March 2002 + + +hald_depend() { + if [ "${NEEDS_HALD}" = "yes" ]; then + need hald + elif [ "${NEEDS_HALD}" = "no" ]; then + use hald + else + local found=0 + # search paths according to xorg.conf man page + for xorgconf in "${XORGCONFIG}" "/etc/X11/${XORGCONFIG}" \ + /etc/X11/xorg.conf{-4,} /etc/xorg.conf \ + "/usr/etc/X11/xorg.conf.$(hostname)" \ + /usr/etc/X11/xorg.conf{-4,} \ + "/usr/lib/X11/xorg.conf.$(hostname)" \ + /usr/lib/X11/xorg.conf{-4,} + do + if [ -f "${xorgconf}" ]; then + # we found the config file + found=1 + + # check if AutoAddDevices has been disabled + if grep -Eiq '^[[:blank:]]*Option[[:blank:]]+"AutoAddDevices"[[:blank:]]+"(0|off|false|no)"' "${xorgconf}"; then + # there might be another ServerLayout section which requires hald + use hald + else + need hald + fi + + # baselayout-2 only + [ ! -n "${RC_UNAME}" ] && config "${xorgconf}" + + # process only the first existing file in the search list + break + fi + done + + # if no configuration file was found, we must depend + # on hald for automatic discovery of input devices + [ ${found} -eq 0 ] && need hald + fi +} + +depend() { + need localmount xdm-setup + + # this should start as early as possible + # we can't do 'before *' as that breaks it + # (#139824) Start after ypbind and autofs for network authentication + # (#145219 #180163) Could use lirc mouse as input device + # (#70689 comment #92) Start after consolefont to avoid display corruption + # (#291269) Start after quota, since some dm need readable home + after bootmisc consolefont modules netmount + after readahead-list ypbind autofs openvpn gpm lircmd + after quota + before alsasound + + # Start before X + use acpid consolekit xfs + + hald_depend +} + +setup_dm() { + local MY_XDM="$(echo "${DISPLAYMANAGER}" | tr '[:upper:]' '[:lower:]')" + + # Load our root path from profile.env + # Needed for kdm + PATH="${PATH}:$(. /etc/profile.env; echo "${ROOTPATH}")" + + case "${MY_XDM}" in + kdm|kde) + EXE="$(which kdm)" + PIDFILE=/var/run/kdm.pid + ;; + kdm-*) + EXE="/usr/kde/${MY_XDM#kdm-}/bin/kdm" + PIDFILE=/var/run/kdm.pid + ;; + entrance*) + EXE=/usr/sbin/entranced + PIDFILE=/var/lib/entranced.pid + ;; + gdm|gnome) + EXE=/usr/bin/gdm + [ "${RC_UNAME}" != "Linux" ] && NAME=gdm-binary + PIDFILE=/var/run/gdm.pid + ;; + wdm) + EXE=/usr/bin/wdm + PIDFILE= + ;; + gpe) + EXE=/usr/bin/gpe-dm + PIDFILE=/var/run/gpe-dm.pid + ;; + *) + EXE= + # Fix #65586, where MY_XDM is empty so EXE=somedir + [ -x "/usr/bin/${MY_XDM}" ] && [ -f "/usr/bin/${MY_XDM}" ] \ + && EXE="/usr/bin/${MY_XDM}" + if [ -z "${EXE}" ] ; then + EXE=/usr/bin/xdm + PIDFILE=/var/run/xdm.pid + fi + ;; + esac + + if ! [ -x "${EXE}" ] ; then + EXE=/usr/bin/xdm + PIDFILE=/var/run/xdm.pid + if ! [ -x "/usr/bin/xdm" ] ; then + echo "ERROR: Please set your DISPLAYMANAGER variable in /etc/conf.d/xdm," + echo " or install x11-apps/xdm package" + eend 255 + fi + fi +} + +# Check to see if something is defined on our VT +vtstatic() { + if [ -e /etc/inittab ] ; then + grep -Eq "^[^#]+.*\<tty$1\>" /etc/inittab + elif [ -e /etc/ttys ] ; then + grep -q "^ttyv$(($1 - 1))" /etc/ttys + else + return 1 + fi +} + +start() { + local EXE= NAME= PIDFILE= + setup_dm + + if [ -f /etc/.noxdm ] ; then + einfo "Skipping ${EXE}, /etc/.noxdm found" + rm /etc/.noxdm + return 0 + fi + + ebegin "Setting up ${EXE##*/}" + + # save the prefered DM + save_options "service" "${EXE}" + save_options "name" "${NAME}" + save_options "pidfile" "${PIDFILE}" + + if [ -n "${CHECKVT-y}" ] ; then + if vtstatic "${CHECKVT:-7}" ; then + if [ -x /sbin/telinit ] && [ "${SOFTLEVEL}" != "BOOT" ] && [ "${RC_SOFTLEVEL}" != "BOOT" ] ; then + ewarn "Something is already defined on VT ${CHECKVT:-7}, will start X later" + telinit a >/dev/null 2>/dev/null + return 0 + else + eerror "Something is already defined on VT ${CHECKVT:-7}, not starting" + return 1 + fi + fi + fi + + /etc/X11/startDM.sh + eend 0 +} + +stop() { + local retval=0 + local curvt= + if [ -t 0 ] ; then + if type fgconsole >/dev/null 2>/dev/null ; then + curvt="$(fgconsole 2>/dev/null)" + else + curvt="$(tty)" + case "${curvt}" in + /dev/ttyv[0-9]*) curvt="${curvt#/dev/ttyv*}" ;; + *) curvt= ;; + esac + fi + fi + local myexe="$(get_options "service")" + local myname="$(get_options "name")" + local mypidfile="$(get_options "pidfile")" + local myservice=${myexe##*/} + + [ -z "${myexe}" ] && return 0 + + ebegin "Stopping ${myservice}" + + if start-stop-daemon --quiet --test --stop --exec "${myexe}" ; then + start-stop-daemon --stop --exec "${myexe}" --retry TERM/5/TERM/5 \ + ${mypidfile:+--pidfile} ${mypidfile} \ + ${myname:+--name} ${myname} + retval=$? + fi + + # switch back to original vt + if [ -n "${curvt}" ] ; then + if type chvt >/dev/null 2>/dev/null ; then + chvt "${curvt}" + else + vidcontrol -s "$((${curvt} + 1))" + fi + fi + + eend ${retval} "Error stopping ${myservice}" + return ${retval} +} + +# vim: set ts=4 : xinit-1.2.0.tar.bz2: new 00-xhost: new --- /dev/null +++ 00-xhost @@ -0,0 +7 @@ +#!/bin/sh +# Allow all local connections from the current UID +# This fixes issues with hostname changes (usually by dhcp clients) +# see bug 287498 for more info + +[ -x /usr/bin/xhost ] && [ -x /usr/bin/id ] && + xhost +si:localuser:`id -un` > /dev/null 2>&1 xdm-setup.initd-1: new --- /dev/null +++ xdm-setup.initd-1 @@ -0,0 +14 @@ +#!/sbin/runscript +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-apps/xinit/files/xdm-setup.initd-1,v 1.7 2009/11/14 14:18:43 scarabeus Exp $ + +depend() { + need localmount +} + +start() { + if get_bootparam "nox" ; then + touch /etc/.noxdm + fi +} chooser.sh: changed Index: chooser.sh ==================================================================== contents(size sha1) inode(mtime) --- chooser.sh /weasel.rpath.org@wgl:3-devel/1.1.1-4 +++ chooser.sh /weasel.rpath.org@wgl:3-devel/1.2.0-1 @@ -1,24 +1,14 @@ #!/bin/sh # Copyright 1999-2004 Gentoo Foundation -# 2009 Weasel GNU/Linux # Distributed under the terms of the GNU General Public License, v2 # Author: Martin Schlemmer <azarah@xxxxxxxxxx> -# $Header: /var/cvsroot/gentoo-x86/x11-apps/xinit/files/chooser.sh,v 1.4 2006/09/05 23:22:13 dberkholz Exp $ - -# If $XSESSION is "", source first /etc/conf.d/basic, and then /etc/rc.conf -if [ -z "${XSESSION}" ] -then - [ -f /etc/conf.d/basic ] && . /etc/conf.d/basic - [ -f /etc/rc.conf ] && . /etc/rc.conf -fi +# $Header: /var/cvsroot/gentoo-x86/x11-apps/xinit/files/chooser.sh,v 1.5 2009/11/14 14:18:43 scarabeus Exp $ # Find a match for $XSESSION in /etc/X11/Sessions WEASEL_SESSION="" -for x in /etc/X11/Sessions/* -do +for x in /etc/X11/Sessions/* ; do if [ "`echo ${x##*/} | awk '{ print toupper($1) }'`" \ - = "`echo ${XSESSION} | awk '{ print toupper($1) }'`" ] - then + = "`echo ${XSESSION} | awk '{ print toupper($1) }'`" ]; then WEASEL_SESSION=${x} break fi xinit.recipe: changed Index: xinit.recipe ==================================================================== contents(size sha1) inode(mtime) --- xinit.recipe /weasel.rpath.org@wgl:3-devel/1.1.1-4 +++ xinit.recipe /weasel.rpath.org@wgl:3-devel/1.2.0-1 @@ -1,50 +1,56 @@ # -# Copyright (c) 2005-2007 rPath, Inc. -# This file is distributed under the terms of the MIT License. -# A copy is available at http://www.rpath.com/permanent/mit-license.html +# Copyright (c) 2010 Filip Brcic <brcha@xxxxxxxxxxxx> +# Distributed under the terms of the GNU General Public License v3 # loadSuperClass('xorgpackage') class Xinit(XorgPackageRecipe): name = 'xinit' - version = '1.1.1' + version = '1.2.0' component = 'app' - buildRequires = [ 'util-linux-ng:runtime' ] + buildRequires = [ + 'util-linux-ng:runtime', + ] - def setup(r): - r.macros.mflags += ' XINITDIR=%(sysconfdir)s/X11/xinit' + shortDesc = 'X Window System initializer' + url = 'http://xorg.freedesktop.org/' + licenses = [ 'MIT', 'GPL-2' ] + categories = [ 'X' ] - XorgPackageRecipe.setup(r) + patches = [ + '0001-Gentoo-specific-customizations.patch', + ] - def unpack(r): - XorgPackageRecipe.unpack(r) - r.addPatch('nolisten-tcp-and-black-background.patch') - r.addPatch('weasel-startx-customization-1.1.1.patch') - r.addPatch('xinit-1.0.4-console-kit.patch') + extraConfig = ' --with-xinitdir=%(sysconfdir)s/X11/xinit' - r.extraConfig += ' --with-consolekit' + def policy(r): + r.addSource('chooser.sh', + dest='%(sysconfdir)s/X11/', + mode=0755) + r.addSource('startDM.sh', + dest='%(sysconfdir)s/X11/', + mode=0755) + r.addSource('Xsession', + dest='%(sysconfdir)s/X11/Sessions/', + mode=0755) + r.addSource('xserverrc', + dest='%(sysconfdir)s/X11/xinit/', + mode=0755) - # must add after the upstream tarball is unpacked so we replace its copy - r.addSource('xinitrc') + r.addSource('xdm.initd-4', + dest='%(initdir)s/xdm', + mode=0755) + r.TagSpec('initscript', '%(initdir)s/xdm') + r.addSource('xdm-setup.initd-1', + dest='%(initdir)s/xdm-setup', + mode=0755) + r.addSource('xdm.confd-2', + dest='%(sysconfdir)s/conf.d/xdm') - # XXX: this should go away when upstream is fixed to install xinitrc - # with the correct mode - def install(r): - XorgPackageRecipe.install(r) + r.addSource('xserver.pamd', + dest='%(sysconfdir)s/pam.d/xserver') - r.addSource('chooser.sh', dest='%(sysconfdir)s/X11/', mode=0755) - r.addSource('startDM.sh', dest='%(sysconfdir)s/X11/', mode=0755) - - r.addSource('Xsession', dest='%(sysconfdir)s/X11/xinit/', mode=0755) - - r.SetModes('%(sysconfdir)s/X11/xinit/xinitrc', 0755) - - r.addSource('xdm.initd', dest='%(initdir)s/xdm', mode=0755) - r.TagSpec('initscript', '%(initdir)s/xdm') - - r.addSource('xdm-setup.initd', dest='%(initdir)s/xdm-setup', mode=0755) - - r.addSource('xdm.confd', dest='%(sysconfdir)s/conf.d/xdm') - - r.addSource('xserver.pamd', dest='%(sysconfdir)s/pam.d/xserver') + r.addSource('00-xhost', + dest='%(sysconfdir)s/X11/xinit/xinitrc.d/', + mode=0755) startDM.sh: changed Index: startDM.sh ==================================================================== contents(size sha1) inode(mtime) --- startDM.sh /weasel.rpath.org@wgl:3-devel/1.1.1-4 +++ startDM.sh /weasel.rpath.org@wgl:3-devel/1.2.0-1 @@ -1,6 +1,5 @@ #!/bin/sh # Copyright 1999-2006 Gentoo Foundation -# 2009 Weasel GNU/Linux # Distributed under the terms of the GNU General Public License, v2 # $Header: /var/cvsroot/gentoo-x86/x11-apps/xinit/files/startDM.sh,v 1.4 2007/04/05 15:30:19 uberlord Exp $ 0001-Gentoo-specific-customizations.patch: new --- /dev/null +++ 0001-Gentoo-specific-customizations.patch @@ -0,0 +62 @@ +From 4f039767273b60f9a1a24867db0988d46abe5972 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?R=C3=A9mi=20Cardona?= <remi@xxxxxxxxxx> +Date: Tue, 8 Dec 2009 15:22:13 +0100 +Subject: [PATCH] Gentoo-specific customizations + +--- + xinitrc.cpp | 29 +++++++++++++++++------------ + 1 files changed, 17 insertions(+), 12 deletions(-) + +diff --git a/xinitrc.cpp b/xinitrc.cpp +index 379b1f3..159f294 100644 +--- a/xinitrc.cpp ++++ b/xinitrc.cpp +@@ -2,8 +2,8 @@ XCOMM!SHELL_CMD + + userresources=$HOME/.Xresources + usermodmap=$HOME/.Xmodmap +-sysresources=XINITDIR/.Xresources +-sysmodmap=XINITDIR/.Xmodmap ++sysresources=XINITDIR/Xresources ++sysmodmap=XINITDIR/Xmodmap + + XCOMM merge in defaults and keymaps + +@@ -84,19 +84,24 @@ fi + XCOMM This is the fallback case if nothing else is executed above + #endif /* !defined(__SCO__) && !defined(__UNIXWARE__) */ + +-#ifdef __APPLE__ ++if [ -n "`/etc/X11/chooser.sh`" ]; then ++ command="`/etc/X11/chooser.sh`" ++else ++ failsafe="yes" ++fi + + if [ -d XINITDIR/xinitrc.d ] ; then +- for f in XINITDIR/xinitrc.dXSLASHGLOB.sh ; do ++ for f in XINITDIR/xinitrc.dXSLASHGLOB ; do + [ -x "$f" ] && . "$f" + done + unset f + fi +- +-#endif +- +-TWM & +-XCLOCK -geometry 50x50-1+1 & +-XTERM -geometry 80x50+494+51 & +-XTERM -geometry 80x20+494-0 & +-exec XTERM -geometry 80x66+0+0 -name login ++if [ -n "$failsafe" ]; then ++ TWM & ++ XCLOCK -geometry 50x50-1+1 & ++ XTERM -geometry 80x50+494+51 & ++ XTERM -geometry 80x20+494-0 & ++ exec XTERM -geometry 80x66+0+0 -name login ++else ++ exec $command ++fi +-- +1.6.5.5 + xserverrc: new --- /dev/null +++ xserverrc @@ -0,0 +1 @@ +exec /usr/bin/X -nolisten tcp xinit-1.0.4-console-kit.patch: removed weasel-startx-customization-1.1.1.patch: removed xdm-setup.initd: removed xinit-1.1.1.tar.bz2: removed xinitrc: removed xdm.confd: removed nolisten-tcp-and-black-background.patch: removed xdm.initd: removed Committed by: brcha