[weasel-commit] Source: xinit=1.2.0-1

  • From: rbuilder@xxxxxxxxx
  • To: weasel-commit@xxxxxxxxxxxxx
  • Date: Tue, 19 Jan 2010 19:37:18 -0500

================================
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

Other related posts: