From 6677aa585c28bb3f6781f6525d621855b008741e Mon Sep 17 00:00:00 2001 From: Angelo Arrifano Date: Mon, 4 May 2009 22:23:40 +0000 Subject: [x11-apps/xinit] Import it so we can patch it. --- x11-apps/xinit/ChangeLog | 556 +++++++++++++++++++++ x11-apps/xinit/Manifest | 26 + x11-apps/xinit/files/Xsession | 107 ++++ x11-apps/xinit/files/chooser.sh | 61 +++ .../files/gentoo-startx-customization-1.0.4.patch | 148 ++++++ .../files/gentoo-startx-customization-1.0.8.patch | 151 ++++++ .../files/nolisten-tcp-and-black-background.patch | 12 + x11-apps/xinit/files/startDM.sh | 30 ++ x11-apps/xinit/files/xdm.confd-1 | 12 + x11-apps/xinit/files/xdm.initd-1 | 204 ++++++++ x11-apps/xinit/files/xdm.initd-2 | 204 ++++++++ x11-apps/xinit/files/xdm.start | 164 ++++++ x11-apps/xinit/files/xinit-1.0.4-console-kit.patch | 197 ++++++++ x11-apps/xinit/files/xinitrc | 50 ++ x11-apps/xinit/files/xserver.pamd | 5 + x11-apps/xinit/files/xsession.env.d | 25 + x11-apps/xinit/metadata.xml | 5 + x11-apps/xinit/xinit-1.0.8-r4.ebuild | 73 +++ 18 files changed, 2030 insertions(+) create mode 100644 x11-apps/xinit/ChangeLog create mode 100644 x11-apps/xinit/Manifest create mode 100755 x11-apps/xinit/files/Xsession create mode 100755 x11-apps/xinit/files/chooser.sh create mode 100644 x11-apps/xinit/files/gentoo-startx-customization-1.0.4.patch create mode 100644 x11-apps/xinit/files/gentoo-startx-customization-1.0.8.patch create mode 100644 x11-apps/xinit/files/nolisten-tcp-and-black-background.patch create mode 100755 x11-apps/xinit/files/startDM.sh create mode 100644 x11-apps/xinit/files/xdm.confd-1 create mode 100755 x11-apps/xinit/files/xdm.initd-1 create mode 100755 x11-apps/xinit/files/xdm.initd-2 create mode 100755 x11-apps/xinit/files/xdm.start create mode 100644 x11-apps/xinit/files/xinit-1.0.4-console-kit.patch create mode 100644 x11-apps/xinit/files/xinitrc create mode 100644 x11-apps/xinit/files/xserver.pamd create mode 100644 x11-apps/xinit/files/xsession.env.d create mode 100644 x11-apps/xinit/metadata.xml create mode 100644 x11-apps/xinit/xinit-1.0.8-r4.ebuild diff --git a/x11-apps/xinit/ChangeLog b/x11-apps/xinit/ChangeLog new file mode 100644 index 0000000..44bfcc7 --- /dev/null +++ b/x11-apps/xinit/ChangeLog @@ -0,0 +1,556 @@ +# ChangeLog for x11-apps/xinit +# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/x11-apps/xinit/ChangeLog,v 1.126 2009/05/04 15:01:36 ssuominen Exp $ + + 04 May 2009; Samuli Suominen xinit-1.0.5-r1.ebuild, + xinit-1.0.5-r2.ebuild, xinit-1.0.8.ebuild, xinit-1.0.8-r2.ebuild, + xinit-1.0.8-r3.ebuild, xinit-1.0.8-r4.ebuild: + Move use_ functions out of global scope. + + 16 Apr 2009; Jeroen Roovers xinit-1.0.8-r4.ebuild: + Stable for HPPA (bug #251832). + + 15 Apr 2009; Raúl Porcel xinit-1.0.8-r4.ebuild: + ia64/sh stable wrt #251832 + + 06 Apr 2009; Friedrich Oslage xinit-1.0.8-r4.ebuild: + Stable on sparc, bug #251832 + + 05 Apr 2009; Markus Meier xinit-1.0.8-r4.ebuild: + x86 stable, bug #251832 + + 05 Apr 2009; Olivier Crête xinit-1.0.8-r4.ebuild: + Stable on amd64, bug #251832 + + 03 Apr 2009; Brent Baude xinit-1.0.8-r4.ebuild: + Marking xinit-1.0.8-r4 ppc64 stable for bug 251832 + + 03 Apr 2009; Brent Baude xinit-1.0.8-r4.ebuild: + Marking xinit-1.0.8-r4 ppc stable for bug 251832 + +*xinit-1.0.8-r4 (10 Feb 2009) + + 10 Feb 2009; Donnie Berkholz ; + +xinit-1.0.8-r4.ebuild: + (#220797) Instead of letting settings in /etc/env.d/90xsession get + overwritten on every update, don't install anything there and just tell + people what to do. + + 12 May 2008; Donnie Berkholz ; + xinit-1.0.8-r3.ebuild: + Add an ewarn message noting the move of the XSESSION setting to an env.d + file. + +*xinit-1.0.8-r3 (06 May 2008) + + 06 May 2008; Matthias Schwarzott +files/xdm.initd-2, + +xinit-1.0.8-r3.ebuild: + Fix xdm init-script to be run after lircmd instead of just lircd to be + able to use virtual lirc mouse device, Bug #180163. + +*xinit-1.0.8-r2 (09 Apr 2008) + + 09 Apr 2008; Ryan Hill xinit-1.0.4.ebuild, + -xinit-1.0.8-r1.ebuild, +xinit-1.0.8-r2.ebuild: + Fix typo. Drop stable to ~mips to prevent repoman warnings. + +*xinit-1.0.8-r1 (08 Apr 2008) + + 08 Apr 2008; Doug Goldstein +files/xsession.env.d, + +xinit-1.0.8-r1.ebuild: + add /etc/env.d/90xsession file + +*xinit-1.0.8 (10 Mar 2008) + + 10 Mar 2008; Donnie Berkholz ; + +files/gentoo-startx-customization-1.0.8.patch, +xinit-1.0.8.ebuild: + Bump. + +*xinit-1.0.5-r2 (13 Jan 2008) + + 13 Jan 2008; Wulf C. Krueger files/xdm.confd-1, + files/xdm.initd-1, +xinit-1.0.5-r2.ebuild: + Added a patch kindly provided by zlin to allow for choosing any version of + kdm. Prerequisite for KDE4. + + 18 Dec 2007; Jeroen Roovers xinit-1.0.5-r1.ebuild: + Stable for HPPA (bug #201998). + + 16 Dec 2007; Samuli Suominen xinit-1.0.5-r1.ebuild: + amd64 stable wrt #201998 + + 14 Dec 2007; nixnut xinit-1.0.5-r1.ebuild: + Stable on ppc wrt bug 201998 + + 12 Dec 2007; Raúl Porcel xinit-1.0.5-r1.ebuild: + alpha/ia64 stable wrt #201998 + + 12 Dec 2007; Ferris McCormick xinit-1.0.5-r1.ebuild: + Sparc stable --- Bug #201998 --- good since mid-September. + + 12 Dec 2007; Markus Rothe xinit-1.0.5-r1.ebuild: + Stable on ppc64; bug #201998 + + 12 Dec 2007; Christian Faulhammer + xinit-1.0.5-r1.ebuild: + quote variable + + 12 Dec 2007; Christian Faulhammer + xinit-1.0.5-r1.ebuild: + stable x86, bug 201998 + + 05 Nov 2007; Mike Frysinger xinit-1.0.5-r1.ebuild: + Add pam to IUSE so the xserver pam.d file is conditionally installed. + + 09 Oct 2007; Donnie Berkholz ; + -files/gentoo-startx-customization-0.99.4.patch, + -files/xinit-1.0.2-setuid.diff, -files/xdm.confd, -files/xdm.initd, + -xinit-1.0.2-r6.ebuild, -xinit-1.0.3.ebuild, -xinit-1.0.3-r2.ebuild, + -xinit-1.0.3-r3.ebuild, -xinit-1.0.3-r4.ebuild, -xinit-1.0.5.ebuild: + Drop old ebuilds. + + 11 Sep 2007; Donnie Berkholz ; + xinit-1.0.5-r1.ebuild: + Only check for USE=X on dbus when USE=hal (Jakub Moc). + +*xinit-1.0.5-r1 (10 Sep 2007) + + 10 Sep 2007; Steev Klimaszewski + +files/xinit-1.0.4-console-kit.patch, +xinit-1.0.5-r1.ebuild: + Add the patch from fdo bugzilla 12378 with useflag of hal rather than + consoleki, added as a revision bump to 1.0.5. This adds consolekit support + to xinit. Also requires dbus be build with the X useflag to properly work." + + 10 Sep 2007; Jeroen Roovers xinit-1.0.4.ebuild: + Stable for HPPA (bug #191615). + + 09 Sep 2007; Raúl Porcel xinit-1.0.4.ebuild: + alpha/ia64 stable wrt #191615 + + 08 Sep 2007; Joseph Jezak xinit-1.0.4.ebuild: + Marked ppc/ppc64 stable for bug #191615. + +*xinit-1.0.5 (08 Sep 2007) + + 08 Sep 2007; Donnie Berkholz ; +xinit-1.0.5.ebuild: + Bump for 7.3. + + 07 Sep 2007; Chris Gianelloni xinit-1.0.4.ebuild: + Stable on x86 wrt bug #191615. + + 07 Aug 2007; Gustavo Zacarias xinit-1.0.4.ebuild: + Stable on sparc wrt #175465 + +*xinit-1.0.4 (14 Jul 2007) + + 14 Jul 2007; Donnie Berkholz ; + +files/gentoo-startx-customization-1.0.4.patch, +xinit-1.0.4.ebuild: + Bump. Mostly removes cruft. Also sets the WINDOWPATH variable for anyone + needing that. + + 09 Jul 2007; Roy Marples files/xdm.initd-1: + The xdm init script is now after modules, #179032. + + 02 Jul 2007; Raúl Porcel xinit-1.0.3-r3.ebuild: + alpha stable wrt #175465 + + 24 Jun 2007; Joshua Kinard xinit-1.0.3-r4.ebuild: + Stable on mips, per #175465. + + 24 May 2007; Roy Marples files/xdm.initd-1: + Test the correct tty in inittab + +*xinit-1.0.3-r4 (23 May 2007) + + 23 May 2007; Roy Marples +files/xdm.confd-1, + +files/xdm.initd-1, +xinit-1.0.3-r4.ebuild: + New init script does away with STATICVT option. + A static VT is always preferred, and we check to see if VT7 is + available. + + 20 May 2007; Jeroen Roovers xinit-1.0.3-r3.ebuild: + Stable for HPPA (bug #175465). + + 12 May 2007; nixnut xinit-1.0.3-r3.ebuild: + Stable on ppc wrt bug 175465 + + 05 May 2007; Daniel Gryniewicz xinit-1.0.3-r3.ebuild: + Marked stable on amd64 for bug #175465 + + 29 Apr 2007; Andrej Kacian xinit-1.0.3-r3.ebuild: + Stable on x86, bug #175465. + + 26 Apr 2007; Donnie Berkholz ; files/xdm.initd: + Move logic operations out of [ ] tests, so we have consistent syntax of the + code logic. + + 25 Apr 2007; Raúl Porcel xinit-1.0.3-r3.ebuild: + Stable on ia64 wrt bug #175465 + + 25 Apr 2007; Markus Rothe xinit-1.0.3-r3.ebuild: + Stable on ppc64; bug #175465 + +*xinit-1.0.3-r3 (13 Apr 2007) + + 13 Apr 2007; Roy Marples files/xdm.initd, + +xinit-1.0.3-r3.ebuild: + I've been a bad bug and caused bugs #174071 and #174271. But I'm a good boy + now as I've fixed them :) + + 05 Apr 2007; Roy Marples files/startDM.sh, + files/xdm.initd: + Fix the init script a little for FreeBSD again. + +*xinit-1.0.3-r2 (03 Apr 2007) + + 03 Apr 2007; Doug Goldstein files/xdm.initd, + -xinit-1.0.3-r1.ebuild, +xinit-1.0.3-r2.ebuild: + rev bump for bug #168531. adding consolekit to use section. + + 11 Mar 2007; Roy Marples files/startDM.sh: + Work better with non bash shells. + + 04 Mar 2007; Joshua Baergen + xinit-1.0.2-r6.ebuild, xinit-1.0.3.ebuild, xinit-1.0.3-r1.ebuild: + Take runtime dependencies out of DEPEND. (Thanks to Thomas de Grenier de + Latour) + + 14 Feb 2007; xinit-1.0.3-r1.ebuild: + Make xterm optional + +*xinit-1.0.3-r1 (17 Jan 2007) + + 17 Jan 2007; Roy Marples +files/xdm.initd, + +xinit-1.0.3-r1.ebuild: + Add BSD support to the init script. GDM works very well, KDM doesn't work at + all. KDM users will need to add KDM to /etc/ttys on FreeBSD still. + baselayout-1.13 users will also need this init script. + + 22 Nov 2006; Donnie Berkholz ; files/xdm.start: + Added the comment, forgot the actual change. + + 22 Nov 2006; Donnie Berkholz ; files/xdm.start: + (#70689 comment #92) Start after consolefont to avoid display corruption. + +*xinit-1.0.3 (21 Oct 2006) + + 21 Oct 2006; Joshua Baergen + +xinit-1.0.3.ebuild: + Version bump. + + 10 Oct 2006; Donnie Berkholz ; + xinit-1.0.2-r6.ebuild: + Update description to be less generic. + + 10 Oct 2006; Donnie Berkholz ; + xinit-1.0.2-r6.ebuild: + Update description to be less generic. + + 07 Oct 2006; Donnie Berkholz ; + xinit-1.0.2-r6.ebuild: + (#150334) Add x11-apps/xsm to dependencies when minimal is not in USE, + because the default Xsession script uses it. + + 05 Sep 2006; Donnie Berkholz ; files/chooser.sh: + (#45578) Change 'source' to '.' for non-bash /bin/sh users. + + 05 Sep 2006; Donnie Berkholz ; files/xdm.start: + (#145219) Start xdm after lircd, could use lirc mouse as input device. + + 20 Aug 2006; Donnie Berkholz ; files/xdm.start: + (#143878) Start after gpm, otherwise using the gpm device for mouse is + broken. (#143928) Start after netmount, or required directories may not be + mounted. + + 14 Aug 2006; Joshua Baergen + xinit-1.0.2-r6.ebuild: + Add the missing runtime dependency of x11-apps/xauth. (Thanks to Carsten + Lohrke, bug #143789) + + 19 Jul 2006; Guy Martin xinit-1.0.2-r6.ebuild: + Stable on hppa. + + 16 Jul 2006; Joshua Baergen files/xdm.start: + Start xdm after openvpn. (Scott Thomson, bug #139434) + + 10 Jul 2006; Donnie Berkholz ; files/xdm.start: + (#139824) Start after ypbind and autofs for network authentication. + + 10 Jul 2006; Aron Griffis xinit-1.0.2-r6.ebuild: + Mark 1.0.2-r6 stable on ia64 + + 01 Jul 2006; Donnie Berkholz ; + xinit-1.0.2-r6.ebuild: + Add USE=minimal to avoid pulling in deps for the fallbacks. + + 01 Jul 2006; Mike Frysinger files/startDM.sh: + Use cooler bash syntax. + + 30 Jun 2006; Donnie Berkholz ; + xinit-1.0.2-r6.ebuild: + ppc/sparc/mips/alpha/arm/sh stable + + 30 Jun 2006; Chris Gianelloni xinit-1.0.2-r6.ebuild: + Stable on amd64. + + 30 Jun 2006; Markus Rothe xinit-1.0.2-r6.ebuild: + Stable on ppc64 + + 30 Jun 2006; Donnie Berkholz ; + xinit-1.0.2-r6.ebuild: + x86 stable. + +*xinit-1.0.2-r6 (20 Jun 2006) + + 20 Jun 2006; Donnie Berkholz ; + +files/xinit-1.0.2-setuid.diff, -xinit-1.0.2-r5.ebuild, + +xinit-1.0.2-r6.ebuild: + Security bump. Failure to check the return value of setuid() in a privileged + process could be used by a local user for file overwriting and possible + privilege escalation in corner cases. See + http://lists.freedesktop.org/archives/xorg/2006-June/016146.html for more + information. + +*xinit-1.0.2-r5 (11 Jun 2006) + + 11 Jun 2006; Joshua Baergen + -xinit-1.0.2-r4.ebuild, +xinit-1.0.2-r5.ebuild: + Revision bump to make sure the xinitrc changes get distributed. + + 11 Jun 2006; Joshua Baergen files/xinitrc: + Fix executable test in xinitrc. (truc, bug #136316) + + 31 May 2006; Donnie Berkholz ; + xinit-1.0.2-r4.ebuild: + (#133671) xterm in RDEPEND causes a circular dependency with + >=virtual/x11-7. Move it to PDEPEND. + +*xinit-1.0.2-r4 (11 May 2006) + + 11 May 2006; Donnie Berkholz ; files/xdm.start, + -xinit-1.0.2-r3.ebuild, +xinit-1.0.2-r4.ebuild: + (#133060) Also use hald, or it's possible to log in without the desktop + environment handling events (Tiziano Müller). + + 23 Apr 2006; Donnie Berkholz ; files/xdm.confd: + (#131032) Also note that for dynamic VT, you need to remove the VT arg from + /etc/X11/xdm/Xservers. + + 21 Apr 2006; Donnie Berkholz ; files/xdm.start: + (#130764) Fix bad grammar in comments (Erik Musick). + + 21 Apr 2006; Donnie Berkholz ; files/xdm.confd, + files/xdm.start: + Also run after readahead-list. Fix typo in confd comment. + +*xinit-1.0.2-r3 (21 Apr 2006) + + 21 Apr 2006; Donnie Berkholz ; files/xdm.start, + -xinit-1.0.2-r2.ebuild, +xinit-1.0.2-r3.ebuild: + Missed the actual init script changes last time. Add it now, with a + rewritten depend() section by UberLord. + + 20 Apr 2006; Donnie Berkholz ; files/xdm.confd: + Add a note that rc.conf overrides this DISPLAYMANAGER setting, even though + rc.conf is deprecated. + +*xinit-1.0.2-r2 (20 Apr 2006) + + 20 Apr 2006; Donnie Berkholz ; +files/xdm.confd, + -xinit-1.0.2-r1.ebuild, +xinit-1.0.2-r2.ebuild: + (#70689) Start the login manager sooner. Configured using XSTATICVT in + /etc/conf.d/xdm (a new file), enabled by default. Also move DISPLAYMANAGER + from /etc/rc.conf to /etc/conf.d/xdm, but the rc.conf setting remains + preferred over the /etc/conf.d/xdm setting (Paul Pacheco, Donnie Berkholz). + +*xinit-1.0.2-r1 (20 Apr 2006) + + 20 Apr 2006; Donnie Berkholz ; files/xinitrc, + -xinit-1.0.2.ebuild, +xinit-1.0.2-r1.ebuild: + (#62086) Allow ~/.xinitrc to be an executable file of any type, not just a + /bin/sh script (Carlo von Loesch). + + 08 Apr 2006; Donnie Berkholz ; -xinit-1.0.1.ebuild: + Pull old ebuild. + +*xinit-1.0.2 (04 Apr 2006) + + 04 Apr 2006; Donnie Berkholz ; +xinit-1.0.2.ebuild: + Better portability among different /bin/sh'es. + + 31 Mar 2006; Diego Pettenò xinit-1.0.1.ebuild: + Add ~x86-fbsd keyword. + + 23 Mar 2006; Donnie Berkholz ; files/chooser.sh: + (#118072) Don't choose twm over valid XSESSION setting when the session + isn't in /etc/X11/Sessions/. + + 09 Mar 2006; Aron Griffis xinit-1.0.1.ebuild: + Mark 1.0.1 ~ia64 + + 14 Feb 2006; Markus Rothe xinit-1.0.1.ebuild: + Added ~ppc64 + + 31 Jan 2006; Rene Nussbaumer xinit-1.0.1.ebuild: + Unstable on hppa. + + 14 Jan 2006; Joshua Baergen xinit-1.0.1.ebuild: + xinit uses the GPL-2 among its other licenses. + + 26 Dec 2005; Joshua Baergen + -xinit-0.99.4.ebuild, -xinit-1.0.0.ebuild: + Pull old versions. + + 26 Dec 2005; Stefaan De Roeck xinit-1.0.1.ebuild: + Marked ~alpha + + 25 Dec 2005; Doug Goldstein xinit-1.0.1.ebuild: + adding ~ppc + + 24 Dec 2005; Joshua Baergen xinit-1.0.1.ebuild: + Add x11-apps/xrdb dependency per bug #116595 (Chris Mayo). Dropped a couple + keywords to match xrdb. + +*xinit-1.0.1 (23 Dec 2005) + + 23 Dec 2005; Donnie Berkholz ; +xinit-1.0.1.ebuild: + Bump for 7.0. + +*xinit-1.0.0 (18 Dec 2005) + + 18 Dec 2005; Joshua Baergen + +xinit-1.0.0.ebuild: + Bump for 7.0RC4. + + 09 Dec 2005; Donnie Berkholz ; + -files/gentoo-startx-customization-0.99.3.patch, + -files/gentoo-startx-customization.patch: + Unused file. + + 09 Dec 2005; Donnie Berkholz ; + -xinit-0.99.2-r1.ebuild, -xinit-0.99.3.ebuild: + Pull old versions. + +*xinit-0.99.4 (04 Dec 2005) + + 04 Dec 2005; Joshua Baergen + +files/gentoo-startx-customization-0.99.4.patch, +xinit-0.99.4.ebuild: + Bump for 7.0RC3. + +*xinit-0.99.3 (11 Nov 2005) + + 11 Nov 2005; Joshua Baergen + +files/gentoo-startx-customization-0.99.3.patch, +xinit-0.99.3.ebuild: + Bump for 7.0RC2. Also add regenerated startx customization patch, which was + probably around longer than I've been using Linux. + + 02 Nov 2005; Diego Pettenò xinit-0.99.2-r1.ebuild: + If you use dopamd, inherit pam eclass. + + 30 Oct 2005; Joshua Baergen + xinit-0.99.2-r1.ebuild: + Add twm, xclock and xterm to RDEPEND since they're required for the fallback + state. + + 20 Oct 2005; Donnie Berkholz ; + -xinit-0.99.0-r2.ebuild, -xinit-0.99.1_pre20050905-r3.ebuild, + -xinit-0.99.2.ebuild: + Drop old versions. + +*xinit-0.99.2-r1 (20 Oct 2005) + + 20 Oct 2005; Joshua Baergen + +xinit-0.99.2-r1.ebuild: + Uncomment SNAPSHOT so that Makefile.am patch takes effect. + +*xinit-0.99.2 (20 Oct 2005) + + 20 Oct 2005; Donnie Berkholz ; +xinit-0.99.2.ebuild: + Bump for 7.0 RC1. + + 19 Oct 2005; Stephen P. Becker + xinit-0.99.1_pre20050905-r3.ebuild: + added ~mips keyword + + 09 Sep 2005; Donnie Berkholz ; +metadata.xml: + Add metadata. + +*xinit-0.99.1_pre20050905-r3 (08 Sep 2005) + + 08 Sep 2005; Joshua Baergen files/xinitrc, + -xinit-0.99.1_pre20050905-r2.ebuild, +xinit-0.99.1_pre20050905-r3.ebuild: + Use /etc/X11/X{modmap,resources} instead of /usr/lib/X11/xinit/... Fixes bug + #89624. Reference: bug #25273 comment 8. + +*xinit-0.99.1_pre20050905-r2 (07 Sep 2005) + + 07 Sep 2005; Joshua Baergen + +files/xserver.pamd, -xinit-0.99.1_pre20050905-r1.ebuild, + +xinit-0.99.1_pre20050905-r2.ebuild: + Added /etc/pam.d/xserver from xorg-x11. + + 07 Sep 2005; Donnie Berkholz ; + xinit-0.99.1_pre20050905-r1.ebuild: + Marked ~ppc. + + 06 Sep 2005; Joshua Baergen + -xinit-0.99.1_pre20050905.ebuild: + Remove old revision. + +*xinit-0.99.1_pre20050905-r1 (06 Sep 2005) + + 06 Sep 2005; Joshua Baergen +files/xdm.start, + +xinit-0.99.1_pre20050905-r1.ebuild: + Fixed snapshot SRC_URI and added xdm init script. + +*xinit-0.99.1_pre20050905 (06 Sep 2005) + + 06 Sep 2005; Joshua Baergen + +xinit-0.99.1_pre20050905.ebuild, -xinit-0.99.1.ebuild: + Fixed version in anticipation of upstream release. + +*xinit-0.99.1 (05 Sep 2005) + + 05 Sep 2005; Joshua Baergen + +xinit-0.99.1.ebuild: + New snapshot. + + 04 Sep 2005; MATSUU Takuto xinit-0.99.0-r2.ebuild: + Added ~sh + + 20 Aug 2005; Donnie Berkholz ; -xinit-0.99.0.ebuild, + -xinit-0.99.0-r1.ebuild: + Remove old versions. + + 20 Aug 2005; Donnie Berkholz ; files/xinitrc: + System files shouldn't have a . prefix. Change to Xresources and Xmodmap. + + 16 Aug 2005; Donnie Berkholz ; files/chooser.sh, + files/xinitrc: + Get rid of references to /usr/X11R6. + + 15 Aug 2005; Herbie Hopkins xinit-0.99.0-r2.ebuild: + Marked ~amd64. + +*xinit-0.99.0-r2 (14 Aug 2005) + + 14 Aug 2005; Donnie Berkholz ; +files/Xsession, + +files/chooser.sh, +files/gentoo-startx-customization.patch, + +files/startDM.sh, +files/xinitrc, +xinit-0.99.0-r2.ebuild: + Add all the old Gentoo xinit stuff, so it works properly with /etc/rc.conf + and so on. + +*xinit-0.99.0-r1 (11 Aug 2005) + + 11 Aug 2005; Donnie Berkholz ; + +files/nolisten-tcp-and-black-background.patch, +xinit-0.99.0-r1.ebuild: + By popular demand, add nolisten-tcp-and-black-background.patch. + + 08 Aug 2005; Ferris McCormick xinit-0.99.0.ebuild: + Add ~sparc keyword (Modular X testing). + +*xinit-0.99.0 (08 Aug 2005) + + 08 Aug 2005; Donnie Berkholz ; +xinit-0.99.0.ebuild: + Initial commit for modular X. + diff --git a/x11-apps/xinit/Manifest b/x11-apps/xinit/Manifest new file mode 100644 index 0000000..6cc21d1 --- /dev/null +++ b/x11-apps/xinit/Manifest @@ -0,0 +1,26 @@ +AUX Xsession 2187 RMD160 ffb290e9a8656b17d7744797456a45df53cafd79 SHA1 8ba8de5114871f8500f428a03f87a42714d0ce14 SHA256 bdf2cceaafb71762bc1c6491f9bd8cc24089dea7ef65b0a030acadf7f4aa4ab3 +AUX chooser.sh 1496 RMD160 4d474c23dc10f2f33006885305002df7fd3197f9 SHA1 7e8f6a8238add6a1501964821d0b3ffd1ad92b80 SHA256 70bde060d86c313b90ab21a8eb9b101b08637297a1a5b4dec13e1c305ec4d1e8 +AUX gentoo-startx-customization-1.0.4.patch 3863 RMD160 65d35c3aaf72861dbf393bb23aaac97763725891 SHA1 ab0acf592dfbdfe961489f3a417be350aefac1dd SHA256 eb0a88592a22203c9e7cb4ea3051f2b96adb244585ae4b990b384b6d8a35559c +AUX gentoo-startx-customization-1.0.8.patch 3953 RMD160 cf0bc0b1439437b8a92a1f569445e8fbef1bb1cd SHA1 8020676fe7c9a2fed0c2a09cea0c273984a3cdc0 SHA256 29d6a004240672b86d6cc34e9cab5dcc88abcb84974d98b1085a9eb0dc852f38 +AUX nolisten-tcp-and-black-background.patch 381 RMD160 f767995059b6b3826e662ad71fd9348609383dc2 SHA1 8210062a9e3bac93e9d5b0a18633e6a98a6829f4 SHA256 481252dd205a0eefcfdf1a265b2c359280363ceaf1460ca5eab42b9eb3b3c826 +AUX startDM.sh 858 RMD160 d7ef866ddd09e3d4117b3363aaa6382a9b8cd153 SHA1 1b826dfb4d5a184d6d7cc1995d685b55c9c188ac SHA256 a7aca1e37e5b8fecb49aa96c4e2850547a47e154edabcdbd1cfcb8ab49337549 +AUX xdm.confd-1 716 RMD160 e45d7b96d8f12a8d8156d120e9e16514aa38c2ab SHA1 db2612f9c45206ae04c77f14bf3bfe02896eab24 SHA256 2bb4db1bef1c5d16b80ac914447f99bf71bf11d430ac93cc3c8b38fae3bccb72 +AUX xdm.initd-1 5207 RMD160 c95d2df2feff76770ece8f0ec86e9bb53d76a257 SHA1 faefdeeca446fff29da2f4e546a3b0bcc94e6372 SHA256 891c7b060c6b47c135b32ffd918a0b6add5e9c7c03893ee0c1d56b64bd7987ea +AUX xdm.initd-2 5210 RMD160 d553381a62b0f84694794257b532a01a90319a8c SHA1 47a99e43ffeeb7cd8a2c8a2d9bb240b40731d4ea SHA256 0e7e0bbb5de5ebc0a94ca7d8da61e54caf68ed2c34e523e698b959ee47c3d837 +AUX xdm.start 3974 RMD160 67f3b69fc9c006146999271935e1ae06d093130a SHA1 12763e84e31632c0421159e8feca2f9855966b7b SHA256 151b697f62e335850118a5d7d113d83fb37f2a75407985cd1e433de93eb55ded +AUX xinit-1.0.4-console-kit.patch 4956 RMD160 286437f158d6a9ec588377b01d2b336d391bff37 SHA1 8d1ef61ec11bdf0308474560f0ed5156a6714d5f SHA256 65fd0800ccdecca979c8943755c5656fd022b54a160b32489ad95495521949e4 +AUX xinitrc 1059 RMD160 3f3ae64f6056055d3d42e471a5dd4263aa1b66db SHA1 edd6919448086273a73b1de897afe93e01b046c8 SHA256 53871c9c3198b38d73b08da3837d1331240a5d45e987a5b8135e7116c02d8eff +AUX xserver.pamd 125 RMD160 4b75f8bf5e68ac7181a22beaccc153ac250eb8e9 SHA1 e35845021328044659036b9f82a95c17f21beb25 SHA256 f179c3417b94295fe12776f9da4a08898a3ee4199e26abff6457717caeb29bb2 +AUX xsession.env.d 1146 RMD160 876f5de1da358d796cbc6563e29cb9832e150e24 SHA1 d9390b8c4b4432e2e0131bec686c14557086a534 SHA256 56c732b131072376e8649efd16072461b21c9973d89bb125c95d793002c1a924 +DIST xinit-1.0.4.tar.bz2 106555 RMD160 7a3fd5930dcb88c101842bcf9599de4632d9fed1 SHA1 cad1f17464f48e3c08f2d76af1206004cbdfa731 SHA256 1e7056db4441ccb0dff0f77503e3fd49a370aecdecf95ce6066116ca8244bf52 +DIST xinit-1.0.5.tar.bz2 106673 RMD160 3e28f5b5404751934c274cfc81d3b85c71d72e9e SHA1 c6cc673205eae7cee11cab212d545ef8d6135019 SHA256 95d55283f32d241c8e6750b7998408da43e910d2b918c80089a3012684f1c62d +DIST xinit-1.0.8.tar.bz2 117049 RMD160 d01b299e6e96c2b5318aaec479c81670b94e2129 SHA1 0102d2fdc0df3d24077ba826cf57640da46140af SHA256 06c1049f6b63d1c368a1e03e2392097919b22ff24899e190de3577bffe6fe524 +EBUILD xinit-1.0.4.ebuild 1336 RMD160 4253fec3c534dbc5eabed0f3247de7e5f9b10cec SHA1 7ba073498281c12ffc97c4de9ab3b5615127cb41 SHA256 e16cff055d45182cd26552dd67a924542fd2c8e90e977b4527b829757b2ff119 +EBUILD xinit-1.0.5-r1.ebuild 1732 RMD160 1596002c19f8a6b487db7429aa92a9840b91db13 SHA1 af9f2e3cae1eb07474ba30d04008a28b70915696 SHA256 7ce8ea9b1ad4487432b6a03f089be178c5f6a75bfa7dda650215f7831df2e971 +EBUILD xinit-1.0.5-r2.ebuild 1742 RMD160 bb879cc92d9793172ea52d496335c0e21f0c0ddf SHA1 59ac860ed0adeb32feff0f12bc2aff4de85bd245 SHA256 0b493918a207046a7cb66a17c7ac445982678d024d60e499c14b2ef998f29ebc +EBUILD xinit-1.0.8-r2.ebuild 1791 RMD160 03cccebfb0109ad90be74d42cd9fb64b662e26fc SHA1 7241ed73f56510445776d71faf9421b049f7ea54 SHA256 a07a616dd8d4e531193064a546b139c75f3929781ffc34b2990f042d9405ef68 +EBUILD xinit-1.0.8-r3.ebuild 1920 RMD160 658dff9804c76783573e65892b0a1229298b6a8e SHA1 974708b0f78ba00465bb5caf2e9671a9e6b87137 SHA256 026402d68ea6cac6478a09802b9023f4791499cf48318aa62e736e4b2864f023 +EBUILD xinit-1.0.8-r4.ebuild 2345 RMD160 0ea27687ba69c08804bbf89ba69dc74a90cfa1b8 SHA1 8cfc4b584b674e6dc937901e91ec9fc81df2b416 SHA256 0bb489ac26fe6decf3ecf9190548e8032f143f48eb8b38ec16d504b0f538dd04 +EBUILD xinit-1.0.8.ebuild 1739 RMD160 460486f4f8a141ebb74803d93471304e3f5f7bd3 SHA1 4a8db30715325aa77038bf5dbd8199b1f0a5033b SHA256 a90adb4e1fe05e2c62465c1c430149734eb03eb8486effa341ef656abcec132e +MISC ChangeLog 19864 RMD160 b26f6147a59c5c27c71092668916fa316c87df83 SHA1 1c4fe9bbbb4768b219b721430f1ac8ea89c90ff8 SHA256 19d148c3ac2f0806b2d05dc61d8dceee13d719231aff07142b49365fe83b8304 +MISC metadata.xml 156 RMD160 c1274bdccf57603d580de0075ba07a35b7509560 SHA1 6f78f604e3d079d39189b40aaaa1ddb06182ad91 SHA256 5101ab0d4cc8c7125eea733c44e86962769bd77acaf53b69223b9cadcdd29055 diff --git a/x11-apps/xinit/files/Xsession b/x11-apps/xinit/files/Xsession new file mode 100755 index 0000000..c86ccee --- /dev/null +++ b/x11-apps/xinit/files/Xsession @@ -0,0 +1,107 @@ +#!/bin/sh +# $XConsortium: Xsession /main/10 1995/12/18 18:21:28 gildea $ + +case $# in +1) + case $1 in + failsafe) + exec xterm -geometry 80x24-0-0 + ;; + esac +esac + +# redirect errors to a file in user's home directory if we can +for errfile in "$HOME/.xsession-errors" "${TMPDIR-/tmp}/xses-$USER" "/tmp/xses-$USER" +do + if ( cp /dev/null "$errfile" 2> /dev/null ) + then + chmod 600 "$errfile" + exec > "$errfile" 2>&1 + break + fi +done + +# clean up after xbanner +if which freetemp 2> /dev/null ; then + freetemp +fi + +startup=$HOME/.xsession + +userresources=$HOME/.Xresources +usermodmap=$HOME/.Xmodmap +userxkbmap=$HOME/.Xkbmap + +sysresources=/etc/X11/Xresources +sysmodmap=/etc/X11/Xmodmap +sysxkbmap=/etc/X11/Xkbmap + +rh6sysresources=/etc/X11/xinit/Xresources +rh6sysmodmap=/etc/X11/xinit/Xmodmap + + +# merge in defaults +if [ -f "$rh6sysresources" ]; then + xrdb -merge "$rh6sysresources" +fi + +if [ -f "$sysresources" ]; then + xrdb -merge "$sysresources" +fi + +if [ -f "$userresources" ]; then + xrdb -merge "$userresources" +fi + +# merge in keymaps +if [ -f "$sysxkbmap" ]; then + setxkbmap `cat "$sysxkbmap"` + XKB_IN_USE=yes +fi + +if [ -f "$userxkbmap" ]; then + setxkbmap `cat "$userxkbmap"` + XKB_IN_USE=yes +fi + +# +# Eeek, this seems like too much magic here +# +if [ -z "$XKB_IN_USE" -a ! -L /etc/X11/X ]; then + if grep '^exec.*/Xsun' /etc/X11/X > /dev/null 2>&1 && [ -f /etc/X11/XF86Config ]; then + xkbsymbols=`sed -n -e 's/^[ ]*XkbSymbols[ ]*"\(.*\)".*$/\1/p' /etc/X11/XF86Config` + if [ -n "$xkbsymbols" ]; then + setxkbmap -symbols "$xkbsymbols" + XKB_IN_USE=yes + fi + fi +fi + +# xkb and xmodmap don't play nice together +if [ -z "$XKB_IN_USE" ]; then + if [ -f "$rh6sysmodmap" ]; then + xmodmap "$rh6sysmodmap" + fi + + if [ -f "$sysmodmap" ]; then + xmodmap "$sysmodmap" + fi + + if [ -f "$usermodmap" ]; then + xmodmap "$usermodmap" + fi +fi + +unset XKB_IN_USE + +if [ -x "$startup" ]; then + exec "$startup" +elif [ -x "$HOME/.Xclients" ]; then + exec "$HOME/.Xclients" +elif [ -x /etc/X11/xinit/Xclients ]; then + exec /etc/X11/xinit/Xclients +elif [ -x /etc/X11/Xclients ]; then + exec /etc/X11/Xclients +else + exec xsm +fi diff --git a/x11-apps/xinit/files/chooser.sh b/x11-apps/xinit/files/chooser.sh new file mode 100755 index 0000000..b221536 --- /dev/null +++ b/x11-apps/xinit/files/chooser.sh @@ -0,0 +1,61 @@ +#!/bin/sh +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License, v2 +# Author: Martin Schlemmer +# $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 + +# Find a match for $XSESSION in /etc/X11/Sessions +GENTOO_SESSION="" +for x in /etc/X11/Sessions/* +do + if [ "`echo ${x##*/} | awk '{ print toupper($1) }'`" \ + = "`echo ${XSESSION} | awk '{ print toupper($1) }'`" ] + then + GENTOO_SESSION=${x} + break + fi +done + +GENTOO_EXEC="" + +if [ -n "${XSESSION}" ]; then + if [ -f /etc/X11/Sessions/${XSESSION} ]; then + if [ -x /etc/X11/Sessions/${XSESSION} ]; then + GENTOO_EXEC="/etc/X11/Sessions/${XSESSION}" + else + GENTOO_EXEC="/bin/sh /etc/X11/Sessions/${XSESSION}" + fi + elif [ -n "${GENTOO_SESSION}" ]; then + if [ -x "${GENTOO_SESSION}" ]; then + GENTOO_EXEC="${GENTOO_SESSION}" + else + GENTOO_EXEC="/bin/sh ${GENTOO_SESSION}" + fi + else + x="" + y="" + + for x in "${XSESSION}" \ + "`echo ${XSESSION} | awk '{ print toupper($1) }'`" \ + "`echo ${XSESSION} | awk '{ print tolower($1) }'`" + do + # Fall through ... + if [ -x "`which ${x} 2>/dev/null`" ]; then + GENTOO_EXEC="`which ${x} 2>/dev/null`" + break + fi + done + fi +fi + +echo "${GENTOO_EXEC}" + + +# vim:ts=4 diff --git a/x11-apps/xinit/files/gentoo-startx-customization-1.0.4.patch b/x11-apps/xinit/files/gentoo-startx-customization-1.0.4.patch new file mode 100644 index 0000000..16ef63f --- /dev/null +++ b/x11-apps/xinit/files/gentoo-startx-customization-1.0.4.patch @@ -0,0 +1,148 @@ +diff -urN xinit-1.0.4.orig/startx.cpp xinit-1.0.4/startx.cpp +--- xinit-1.0.4.orig/startx.cpp 2007-07-13 21:54:34.000000000 -0700 ++++ xinit-1.0.4/startx.cpp 2007-07-13 21:55:49.000000000 -0700 +@@ -64,8 +64,6 @@ + + userserverrc=$HOME/.xserverrc + sysserverrc=XINITDIR/xserverrc +-defaultclient=XTERM +-defaultserver=XSERVER + defaultclientargs="" + defaultserverargs="" + clientargs="" +@@ -107,60 +105,41 @@ + whoseargs="client" + while [ x"$1" != x ]; do + case "$1" in +- XCOMM '' required to prevent cpp from treating "/*" as a C comment. +- /''*|\./''*) +- if [ "$whoseargs" = "client" ]; then +- if [ x"$clientargs" = x ]; then +- client="$1" +- else +- clientargs="$clientargs $1" +- fi +- else +- if [ x"$serverargs" = x ]; then +- server="$1" +- else +- serverargs="$serverargs $1" +- fi +- fi +- ;; +- --) +- whoseargs="server" +- ;; +- *) +- if [ "$whoseargs" = "client" ]; then +- clientargs="$clientargs $1" +- else +- XCOMM display must be the FIRST server argument +- if [ x"$serverargs" = x ] && @@ +- expr "$1" : ':[0-9][0-9]*$' > /dev/null 2>&1; then +- display="$1" +- else +- serverargs="$serverargs $1" +- fi +- fi +- ;; ++ /''*|\.*) if [ "$whoseargs" = "client" ]; then ++ if [ "x$clientargs" = x ]; then ++ clientargs="$1" ++ else ++ clientargs="$clientargs $1" ++ fi ++ else ++ if [ "x$serverargs" = x ]; then ++ serverargs="$1" ++ else ++ serverargs="$serverargs $1" ++ fi ++ fi ;; ++ --) whoseargs="server" ;; ++ *) if [ "$whoseargs" = "client" ]; then ++ if [ "x$clientargs" = x ]; then ++ clientargs="$defaultclientargs $1" ++ else ++ clientargs="$clientargs $1" ++ fi ++ else ++ case "$1" in ++ :[0-9]*) display="$1"; serverargs="$serverargs $1";; ++ *) serverargs="$serverargs $1" ;; ++ esac ++ fi ;; + esac + shift + done + +-XCOMM process client arguments +-if [ x"$client" = x ]; then +- XCOMM if no client arguments either, use rc file instead +- if [ x"$clientargs" = x ]; then +- client="$defaultclientargs" +- else +- client=$defaultclient +- fi ++if [ x"$clientargs" = x ]; then ++ clientargs="$defaultclientargs" + fi +- +-XCOMM process server arguments +-if [ x"$server" = x ]; then +- XCOMM if no server arguments or display either, use rc file instead +- if [ x"$serverargs" = x -a x"$display" = x ]; then +- server="$defaultserverargs" +- else +- server=$defaultserver +- fi ++if [ x"$serverargs" = x ]; then ++ serverargs="$defaultserverargs" + fi + + if [ x"$XAUTHORITY" = x ]; then +@@ -217,15 +196,8 @@ + + #endif + +-#if defined(__SCO__) || defined(__UNIXWARE__) +-if [ "$REMOTE_SERVER" = "TRUE" ]; then +- exec SHELL_CMD ${client} +-else +- XINIT $client $clientargs -- $server $display $serverargs +-fi +-#else +-XINIT $client $clientargs -- $server $display $serverargs +-#endif ++cleanup() { ++ [ -n "$PID" ] && kill $PID > /dev/null 2>&1 + + if [ x"$removelist" != x ]; then + XAUTH remove $removelist +@@ -251,3 +223,15 @@ + #if defined(sun) + kbd_mode -a + #endif ++} ++ ++ ++trap cleanup 0 ++ ++xinit $clientargs -- $serverargs -deferglyphs 16 & ++ ++PID=$! ++ ++wait $PID ++ ++unset PID +diff -urN xinit-1.0.4.orig/xinit.c xinit-1.0.4/xinit.c +--- xinit-1.0.4.orig/xinit.c 2007-07-13 21:54:34.000000000 -0700 ++++ xinit-1.0.4/xinit.c 2007-07-13 21:59:14.000000000 -0700 +@@ -423,6 +423,7 @@ + sigaction(SIGINT, &sa, NULL); + sigaction(SIGHUP, &sa, NULL); + sigaction(SIGPIPE, &sa, NULL); ++ sigaction(SIGTERM, &sa, NULL); + + signal(SIGALRM, sigAlarm); + signal(SIGUSR1, sigUsr1); diff --git a/x11-apps/xinit/files/gentoo-startx-customization-1.0.8.patch b/x11-apps/xinit/files/gentoo-startx-customization-1.0.8.patch new file mode 100644 index 0000000..c78283d --- /dev/null +++ b/x11-apps/xinit/files/gentoo-startx-customization-1.0.8.patch @@ -0,0 +1,151 @@ +diff -urN xinit-1.0.8.orig/startx.cpp xinit-1.0.8/startx.cpp +--- xinit-1.0.8.orig/startx.cpp 2008-03-08 21:26:55.000000000 -0800 ++++ xinit-1.0.8/startx.cpp 2008-03-08 21:27:32.000000000 -0800 +@@ -71,8 +71,6 @@ + + userserverrc=$HOME/.xserverrc + sysserverrc=XINITDIR/xserverrc +-defaultclient=XTERM +-defaultserver=XSERVER + defaultclientargs="" + defaultserverargs="-nolisten tcp -br" + clientargs="" +@@ -158,63 +156,44 @@ + whoseargs="client" + while [ x"$1" != x ]; do + case "$1" in +- XCOMM '' required to prevent cpp from treating "/*" as a C comment. +- /''*|\./''*) +- if [ "$whoseargs" = "client" ]; then +- if [ x"$clientargs" = x ]; then +- client="$1" +- else +- clientargs="$clientargs $1" +- fi +- else +- if [ x"$serverargs" = x ]; then +- server="$1" +- else +- serverargs="$serverargs $1" +- fi +- fi +- ;; +- --) +- whoseargs="server" +- ;; +- *) +- if [ "$whoseargs" = "client" ]; then +- clientargs="$clientargs $1" +- else +- XCOMM display must be the FIRST server argument +- if [ x"$serverargs" = x ] && @@ +- expr "$1" : ':[0-9][0-9]*$' > /dev/null 2>&1; then +- display="$1" +- else +- serverargs="$serverargs $1" +- fi +- fi +- ;; ++ /''*|\.*) if [ "$whoseargs" = "client" ]; then ++ if [ "x$clientargs" = x ]; then ++ clientargs="$1" ++ else ++ clientargs="$clientargs $1" ++ fi ++ else ++ if [ "x$serverargs" = x ]; then ++ serverargs="$1" ++ else ++ serverargs="$serverargs $1" ++ fi ++ fi ;; ++ --) whoseargs="server" ;; ++ *) if [ "$whoseargs" = "client" ]; then ++ if [ "x$clientargs" = x ]; then ++ clientargs="$defaultclientargs $1" ++ else ++ clientargs="$clientargs $1" ++ fi ++ else ++ case "$1" in ++ :[0-9]*) display="$1"; serverargs="$serverargs $1";; ++ *) serverargs="$serverargs $1" ;; ++ esac ++ fi ;; + esac + shift + done + +-XCOMM process client arguments +-if [ x"$client" = x ]; then +- XCOMM if no client arguments either, use rc file instead +- if [ x"$clientargs" = x ]; then +- client="$defaultclientargs" +- else +- client=$defaultclient +- fi ++if [ x"$clientargs" = x ]; then ++ clientargs="$defaultclientargs" + fi +- +-XCOMM process server arguments +-if [ x"$server" = x ]; then +- XCOMM if no server arguments or display either, use rc file instead +- if [ x"$serverargs" = x -a x"$display" = x ]; then +- server="$defaultserverargs" ++if [ x"$serverargs" = x ]; then ++ serverargs="$defaultserverargs" + #ifdef __APPLE__ + display="$defaultdisplay" + #endif +- else +- server=$defaultserver +- fi + fi + + if [ x"$enable_xauth" = x1 ] ; then +@@ -279,15 +258,8 @@ + done + fi + +-#if defined(__SCO__) || defined(__UNIXWARE__) +-if [ "$REMOTE_SERVER" = "TRUE" ]; then +- exec SHELL_CMD ${client} +-else +- XINIT $client $clientargs -- $server $display $serverargs +-fi +-#else +-XINIT $client $clientargs -- $server $display $serverargs +-#endif ++cleanup() { ++ [ -n "$PID" ] && kill $PID > /dev/null 2>&1 + + if [ x"$enable_xauth" = x1 ] ; then + if [ x"$removelist" != x ]; then +@@ -315,3 +287,15 @@ + #if defined(sun) + kbd_mode -a + #endif ++} ++ ++ ++trap cleanup 0 ++ ++xinit $clientargs -- $serverargs -deferglyphs 16 & ++ ++PID=$! ++ ++wait $PID ++ ++unset PID +diff -urN xinit-1.0.8.orig/xinit.c xinit-1.0.8/xinit.c +--- xinit-1.0.8.orig/xinit.c 2008-03-08 21:26:55.000000000 -0800 ++++ xinit-1.0.8/xinit.c 2008-03-08 21:27:06.000000000 -0800 +@@ -479,6 +479,7 @@ + sigaction(SIGINT, &sa, NULL); + sigaction(SIGHUP, &sa, NULL); + sigaction(SIGPIPE, &sa, NULL); ++ sigaction(SIGTERM, &sa, NULL); + + signal(SIGALRM, sigAlarm); + signal(SIGUSR1, sigUsr1); diff --git a/x11-apps/xinit/files/nolisten-tcp-and-black-background.patch b/x11-apps/xinit/files/nolisten-tcp-and-black-background.patch new file mode 100644 index 0000000..ab7f960 --- /dev/null +++ b/x11-apps/xinit/files/nolisten-tcp-and-black-background.patch @@ -0,0 +1,12 @@ +diff -urN xinit-0.99.0/startx.cpp xinit-0.99.0/startx.cpp +--- xinit-0.99.0/startx.cpp 2003-09-15 04:24:58.000000000 -0400 ++++ xinit-0.99.0/startx.cpp 2003-09-15 04:28:50.000000000 -0400 +@@ -53,7 +53,7 @@ + sysclientrc=XINITDIR/xinitrc + sysserverrc=XINITDIR/xserverrc + defaultclientargs="" +-defaultserverargs="" ++defaultserverargs="-nolisten tcp -br" + clientargs="" + serverargs="" + diff --git a/x11-apps/xinit/files/startDM.sh b/x11-apps/xinit/files/startDM.sh new file mode 100755 index 0000000..9775b07 --- /dev/null +++ b/x11-apps/xinit/files/startDM.sh @@ -0,0 +1,30 @@ +#!/bin/sh +# Copyright 1999-2006 Gentoo Foundation +# 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 $ + +# We need to source /etc/profile for stuff like $LANG to work +# bug #10190. +. /etc/profile + +. /etc/init.d/functions.sh + +# baselayout-1 compat +if ! type get_options >/dev/null 2>/dev/null ; then + [ -r "${svclib}"/sh/rc-services.sh ] && . "${svclib}"/sh/rc-services.sh +fi + +# Great new Gnome2 feature, AA +# We enable this by default +export GDK_USE_XFT=1 + +export SVCNAME=xdm +EXEC="$(get_options service)" +NAME="$(get_options name)" +PIDFILE="$(get_options pidfile)" + +start-stop-daemon --start --exec ${EXEC} \ +${NAME:+--name} ${NAME} ${PIDFILE:+--pidfile} ${PIDFILE} || \ +eerror "ERROR: could not start the Display Manager" + +# vim:ts=4 diff --git a/x11-apps/xinit/files/xdm.confd-1 b/x11-apps/xinit/files/xdm.confd-1 new file mode 100644 index 0000000..7b12413 --- /dev/null +++ b/x11-apps/xinit/files/xdm.confd-1 @@ -0,0 +1,12 @@ +# 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 have't accidently 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-3.5 | kdm-4.0 | entrance ] +# NOTE: If this is set in /etc/rc.conf, that setting will override this one. +# KDE-specific note: kdm-3.5 and kdm-4.0 are just examples. You will find all +# possible versions by looking at the directories in /usr/kde/. +DISPLAYMANAGER="xdm" diff --git a/x11-apps/xinit/files/xdm.initd-1 b/x11-apps/xinit/files/xdm.initd-1 new file mode 100755 index 0000000..6cd1c78 --- /dev/null +++ b/x11-apps/xinit/files/xdm.initd-1 @@ -0,0 +1,204 @@ +#!/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-1,v 1.4 2008/01/13 22:27:32 philantrop 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 + + +# Start X Font Server before X +depend() { + need localmount + + # 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) Could use lirc mouse as input device + # (#70689 comment #92) Start after consolefont to avoid display corruption + after bootmisc consolefont modules netmount + after readahead-list ypbind autofs openvpn gpm lircd + before alsasound + + # Start before X + use acpid consolekit hald xfs +} + +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|kde2|kde3) + EXE="$(which kdm)" + # kdm takes too long to create a pidfile for baselayout-2 + #PIDFILE=/var/run/kdm.pid + PIDFILE= + ;; + kdm-*) + EXE="/usr/kde/${MY_XDM#kdm-}/bin/kdm" + PIDFILE= + ;; + 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= + ;; + *) + 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 + fi +} + +cmdline_opt() { + if [ $# -ne 1 ] || ! [ -r /proc/cmdline ]; then + return 1 + fi + + for opt in $(cat /proc/cmdline) ; do + [ "${opt}" = "${1}" ] && return 0 + done + + return 1 +} + +# Check to see if something is defined on our VT +vtstatic() { + if [ -e /etc/inittab ] ; then + grep -Eq "^[^#]+.*\" /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 cmdline_opt nox ; then + einfo "Skipping ${EXE}, received 'nox'" + 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 : diff --git a/x11-apps/xinit/files/xdm.initd-2 b/x11-apps/xinit/files/xdm.initd-2 new file mode 100755 index 0000000..5bbee12 --- /dev/null +++ b/x11-apps/xinit/files/xdm.initd-2 @@ -0,0 +1,204 @@ +#!/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-2,v 1.1 2008/05/06 08:16:56 zzam 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 + + +# Start X Font Server before X +depend() { + need localmount + + # 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 + after bootmisc consolefont modules netmount + after readahead-list ypbind autofs openvpn gpm lircmd + before alsasound + + # Start before X + use acpid consolekit hald xfs +} + +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|kde2|kde3) + EXE="$(which kdm)" + # kdm takes too long to create a pidfile for baselayout-2 + #PIDFILE=/var/run/kdm.pid + PIDFILE= + ;; + kdm-*) + EXE="/usr/kde/${MY_XDM#kdm-}/bin/kdm" + PIDFILE= + ;; + 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= + ;; + *) + 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 + fi +} + +cmdline_opt() { + if [ $# -ne 1 ] || ! [ -r /proc/cmdline ]; then + return 1 + fi + + for opt in $(cat /proc/cmdline) ; do + [ "${opt}" = "${1}" ] && return 0 + done + + return 1 +} + +# Check to see if something is defined on our VT +vtstatic() { + if [ -e /etc/inittab ] ; then + grep -Eq "^[^#]+.*\" /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 cmdline_opt nox ; then + einfo "Skipping ${EXE}, received 'nox'" + 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 : diff --git a/x11-apps/xinit/files/xdm.start b/x11-apps/xinit/files/xdm.start new file mode 100755 index 0000000..baf325c --- /dev/null +++ b/x11-apps/xinit/files/xdm.start @@ -0,0 +1,164 @@ +#!/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.start,v 1.11 2006/11/22 20:08:45 dberkholz 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 + + +# Start X Font Server before X +depend() { + need localmount + + # 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) Could use lirc mouse as input device + # (#70689 comment #92) Start after consolefont to avoid display corruption + after bootmisc readahead-list ypbind autofs openvpn gpm netmount lircd consolefont + before alsasound net.lo + + # Start before X + use acpid hald xfs +} + +setup_dm() { + source /etc/profile.env + export PATH="/bin:/sbin:/usr/bin:/usr/sbin:${ROOTPATH}" + + local MY_XDM="$(echo ${DISPLAYMANAGER} | awk '{ print tolower($1) }')" + case "${MY_XDM}" in + kdm|kde|kde2|kde3) + EXE="$(which kdm)" + ;; + entrance*) + EXE="$(which entranced)" + ;; + gdm|gnome) + EXE=/usr/bin/gdm + ;; + wdm) + EXE=/usr/bin/wdm + ;; + *) + EXE= + # Fix #65586, where MY_XDM is empty so EXE=somedir + [ -x "/usr/bin/${MY_XDM}" -a -f "/usr/bin/${MY_XDM}" ] \ + && EXE="/usr/bin/${MY_XDM}" + [ -z "${EXE}" ] && EXE="/usr/bin/xdm" + ;; + esac + + test ! -x "${EXE}" && EXE=/usr/bin/xdm + + SERVICE="${EXE##*/}" +} + +cmdline_opt() { + if [[ "$#" -ne 1 ]]; then + return 1 + fi + + for opt in $(/dev/null + fi + eend 0 + fi + +} + +stop() { + local retval=0 + local curvt="$(fgconsole)" + local myexe="$(get_options "service")" + local myservice="${myexe##*/}" + + ebegin "Stopping ${myservice}" + rm -f ${svcdir}/options/xdm/service + + if [ "$(ps -A | grep -e "${myservice}")" ] + then + start-stop-daemon --stop --quiet \ + --exec ${myexe} &>/dev/null + + retval=$? + fi + + #switch back to original vt + chvt "${curvt}" &>/dev/null + eend ${retval} "Error stopping ${myservice}." + + return ${retval} +} + + +# vim:ts=4 diff --git a/x11-apps/xinit/files/xinit-1.0.4-console-kit.patch b/x11-apps/xinit/files/xinit-1.0.4-console-kit.patch new file mode 100644 index 0000000..645e4e5 --- /dev/null +++ b/x11-apps/xinit/files/xinit-1.0.4-console-kit.patch @@ -0,0 +1,197 @@ +diff --git a/Makefile.am b/Makefile.am +index babc2f3..9b912a3 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -24,8 +24,8 @@ XINITDIR = $(libdir)/X11/xinit + bin_PROGRAMS = xinit + bin_SCRIPTS = startx + +-xinit_CFLAGS = $(XINIT_CFLAGS) -DXINITDIR=\"$(XINITDIR)\" -DBINDIR=\"$(bindir)\" +-xinit_LDADD = $(XINIT_LIBS) ++xinit_CFLAGS = $(XINIT_CFLAGS) $(CK_CFLAGS) -DXINITDIR=\"$(XINITDIR)\" -DBINDIR=\"$(bindir)\" ++xinit_LDADD = $(XINIT_LIBS) $(CK_LIBS) + + xinit_SOURCES = \ + xinit.c +diff --git a/configure.ac b/configure.ac +index 1aee1d2..5775db3 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -47,6 +47,7 @@ DEFAULT_XMODMAP=xmodmap + DEFAULT_TWM=twm + DEFAULT_XCLOCK=xclock + DEFAULT_XTERM=xterm ++DEFAULT_CK=yes + # You always want to specify the full path to the X server + DEFAULT_XSERVER=${bindir}/X + DEFAULT_XAUTH=xauth +@@ -104,6 +105,20 @@ esac + AC_SUBST(XINIT_CFLAGS) + AC_SUBST(XINIT_LIBS) + ++# Check for ConsoleKit ++AC_ARG_WITH(consolekit, ++ AS_HELP_STRING([--with-consolekit], [Use ConsoleKit in xinit]), ++ [CK="$withval"], ++ [CK="$DEFAULT_CK"]) ++if test "x$CK" != xno ; then ++ PKG_CHECK_MODULES(CK, ck-connector, ++ have_conkit=yes, ++ [have_conkit=no; echo no]) ++ if test "x$have_conkit" = xyes ; then ++ AC_DEFINE(USE_CONKIT, 1, [Define if you have ConsoleKit]) ++ fi ++fi ++ + AC_PATH_PROGS(MCOOKIE, [mcookie], [$MCOOKIE], + [$PATH:/bin:/usr/bin:/usr/lib:/usr/libexec:/usr/local/bin]) + if test "x$MCOOKIE" != x ; then +diff --git a/startx.cpp b/startx.cpp +index 42421ef..998c7f8 100644 +--- a/startx.cpp ++++ b/startx.cpp +@@ -222,6 +222,12 @@ EOF + fi + done + ++if [ x"$display" != x ]; then ++ export DISPLAY=$display ++else ++ export DISPLAY=:0 ++fi ++ + #if defined(__SCO__) || defined(__UNIXWARE__) + if [ "$REMOTE_SERVER" = "TRUE" ]; then + exec SHELL_CMD ${client} +diff --git a/xinit.c b/xinit.c +index 46dee54..c2c4527 100644 +--- a/xinit.c ++++ b/xinit.c +@@ -39,6 +39,12 @@ in this Software without prior written authorization from The Open Group. + #include + #include + ++#ifdef USE_CONKIT ++#include ++#include ++static CkConnector *ckc = NULL; ++#endif /* USE_CONKIT */ ++ + #ifdef X_POSIX_C_SOURCE + #define _POSIX_C_SOURCE X_POSIX_C_SOURCE + #include +@@ -521,6 +527,39 @@ processTimeout(int timeout, char *string) + return( serverpid != pidfound ); + } + ++ ++#ifdef USE_CONKIT ++static void ++register_new_session_with_console_kit (void) ++{ ++ static char conkitbuf[256]; ++ DBusError error; ++ ++ ckc = ck_connector_new (); ++ if (ckc == NULL) { ++ Error ("Cannot register with ConsoleKit: OOM creating CkConnector\n"); ++ goto out; ++ } ++ ++ dbus_error_init (&error); ++ if (!ck_connector_open_session (ckc, &error)) { ++ Error ("Cannot register with ConsoleKit: %s: %s\n", error.name, error.message); ++ goto out; ++ } ++ ++ /* If we managed to register with ConsoleKit, put the ++ * environment variable XDG_SESSION_COOKIE=cookie as second ++ * element in newenviron. See set_environment() where we ++ * earlier have made sure there is room... ++ */ ++ conkitbuf[sizeof (conkitbuf) - 1] = '\0'; ++ snprintf (conkitbuf, sizeof (conkitbuf) - 1, "XDG_SESSION_COOKIE=%s", ck_connector_get_cookie (ckc)); ++ newenviron[1] = conkitbuf; ++out: ++ ; ++} ++#endif /* USE_CONKIT */ ++ + static int + startServer(char *server[]) + { +@@ -631,6 +670,12 @@ startServer(char *server[]) + break; + } + ++#ifdef USE_CONKIT ++ if (serverpid != -1 ) { ++ register_new_session_with_console_kit (); ++ } ++#endif /* USE_CONKIT */ ++ + return(serverpid); + } + +@@ -775,6 +820,13 @@ shutdown(void) + clientpid); + } + ++#ifdef USE_CONKIT ++ if (ckc != NULL) { ++ ck_connector_unref (ckc); ++ ckc = NULL; ++ } ++#endif ++ + if (serverpid < 0) + return; + errno = 0; +@@ -811,6 +863,13 @@ shutdown(void) + * make a new copy of environment that has room for DISPLAY + */ + ++ ++#ifdef USE_CONKIT ++#define NUM_EXTRA_ENV_VARS 4 ++#else ++#define NUM_EXTRA_ENV_VARS 3 ++#endif ++ + static void + set_environment(void) + { +@@ -822,11 +881,11 @@ set_environment(void) + for (oldPtr = environ; *oldPtr; oldPtr++) ; + + nenvvars = (oldPtr - environ); +- newenviron = (char **) malloc ((nenvvars + 3) * sizeof(char **)); ++ newenviron = (char **) malloc ((nenvvars + NUM_EXTRA_ENV_VARS) * sizeof(char **)); + if (!newenviron) { + fprintf (stderr, + "%s: unable to allocate %d pointers for environment\n", +- program, nenvvars + 3); ++ program, nenvvars + NUM_EXTRA_ENV_VARS); + exit (1); + } + +@@ -836,10 +895,18 @@ set_environment(void) + newPtr = newenviron; + *newPtr++ = displaybuf; + ++#ifdef USE_CONKIT ++ *newPtr++ = "XDG_SESSION_COOKIE="; ++#endif ++ + /* copy pointers to other variables */ + for (oldPtr = environ; *oldPtr; oldPtr++) { + if (strncmp (*oldPtr, "DISPLAY=", 8) != 0 +- && strncmp (*oldPtr, "WINDOWPATH=", 11) != 0) { ++ && strncmp (*oldPtr, "WINDOWPATH=", 11) != 0 ++#ifdef USE_CONKIT ++ && strncmp (*oldPtr, "XDG_SESSION_COOKIE=", 19) != 0 ++#endif ++ ) { + *newPtr++ = *oldPtr; + } + } diff --git a/x11-apps/xinit/files/xinitrc b/x11-apps/xinit/files/xinitrc new file mode 100644 index 0000000..6072d11 --- /dev/null +++ b/x11-apps/xinit/files/xinitrc @@ -0,0 +1,50 @@ +#!/bin/sh +# $Xorg: xinitrc.cpp,v 1.3 2000/08/17 19:54:30 cpqbld Exp $ + +userresources=$HOME/.Xresources +usermodmap=$HOME/.Xmodmap +xinitdir=/etc/X11 +sysresources=$xinitdir/Xresources +sysmodmap=$xinitdir/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 + +# First try ~/.xinitrc +if [ -f "$HOME/.xinitrc" ]; then + XINITRC="$HOME/.xinitrc" + if [ -x $XINITRC ]; then + # if the x bit is set on .xinitrc + # it means the xinitrc is not a + # shell script but something else + exec $XINITRC + else + exec /bin/sh "$HOME/.xinitrc" + fi +# If not present, try the system default +elif [ -n "`/etc/X11/chooser.sh`" ]; then + exec "`/etc/X11/chooser.sh`" +# Failsafe +else + # start some nice programs + twm & + xclock -geometry 50x50-1+1 & + xterm -geometry 80x50+494+51 & + xterm -geometry 80x20+494-0 & + exec xterm -geometry 80x66+0+0 -name login +fi diff --git a/x11-apps/xinit/files/xserver.pamd b/x11-apps/xinit/files/xserver.pamd new file mode 100644 index 0000000..b093f86 --- /dev/null +++ b/x11-apps/xinit/files/xserver.pamd @@ -0,0 +1,5 @@ +#%PAM-1.0 +auth sufficient pam_rootok.so +auth required pam_permit.so + +account required pam_permit.so diff --git a/x11-apps/xinit/files/xsession.env.d b/x11-apps/xinit/files/xsession.env.d new file mode 100644 index 0000000..c108d3d --- /dev/null +++ b/x11-apps/xinit/files/xsession.env.d @@ -0,0 +1,25 @@ +# /etc/env.d/90xsession + +# XSESSION is a new variable to control what window manager to start +# default with X if run with xdm, startx or xinit. The default behavior +# is to look in /etc/X11/Sessions/ and run the script in matching the +# value that XSESSION is set to. The support scripts are smart enough to +# look in all bin directories if it cant find a match in /etc/X11/Sessions/, +# so setting it to "enlightenment" can also work. This is basically used +# as a way for the system admin to configure a default system wide WM, +# allthough it will work if the user export XSESSION in his .bash_profile, etc. +# +# NOTE: 1) this behaviour is overridden when a ~/.xinitrc exists, and startx +# is called. +# 2) even if ~/.xsession exists, if XSESSION can be resolved, it will +# be executed rather than ~/.xsession, else KDM breaks ... +# +# Defaults depending on what you install currently include: +# +# Gnome - will start gnome-session +# kde- - will start startkde (look in /etc/X11/Sessions/) +# Xfce4 - will start a XFCE4 session +# Xsession - will start a terminal and a few other nice apps + +#XSESSION="Gnome" + diff --git a/x11-apps/xinit/metadata.xml b/x11-apps/xinit/metadata.xml new file mode 100644 index 0000000..01c4c00 --- /dev/null +++ b/x11-apps/xinit/metadata.xml @@ -0,0 +1,5 @@ + + + +x11 + diff --git a/x11-apps/xinit/xinit-1.0.8-r4.ebuild b/x11-apps/xinit/xinit-1.0.8-r4.ebuild new file mode 100644 index 0000000..32f4186 --- /dev/null +++ b/x11-apps/xinit/xinit-1.0.8-r4.ebuild @@ -0,0 +1,73 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-apps/xinit/xinit-1.0.8-r4.ebuild,v 1.9 2009/05/04 15:01:36 ssuominen Exp $ + +# Must be before x-modular eclass is inherited +# This is enabled due to modified Makefile.am from the patches +SNAPSHOT="yes" + +inherit x-modular pam + +DESCRIPTION="X Window System initializer" + +LICENSE="${LICENSE} GPL-2" +KEYWORDS="~alpha amd64 ~arm hppa ia64 ~mips ppc ppc64 ~s390 sh sparc x86 ~x86-fbsd" +IUSE="hal minimal pam" + +RDEPEND="x11-apps/xauth + x11-libs/libX11 + hal? ( sys-auth/consolekit )" +DEPEND="${RDEPEND}" +PDEPEND="!minimal? ( x11-wm/twm + x11-apps/xclock + x11-apps/xrdb + x11-apps/xsm + x11-terms/xterm )" + +PATCHES="${FILESDIR}/nolisten-tcp-and-black-background.patch + ${FILESDIR}/gentoo-startx-customization-1.0.8.patch + ${FILESDIR}/xinit-1.0.4-console-kit.patch" + +pkg_setup() { + CONFIGURE_OPTIONS="$(use_with hal consolekit)" + if use hal; then + if ! built_with_use sys-apps/dbus X ; then + eerror "You MUST build sys-apps/dbus with the X USE flag enabled." + die "You MUST build sys-apps/dbus with the X USE flag enabled." + fi + fi +} + +src_unpack() { + x-modular_unpack_source + x-modular_patch_source + + sed -i -e "s:^XINITDIR.*:XINITDIR = \$(sysconfdir)/X11/xinit:g" "${S}/Makefile.am" + + x-modular_reconf_source +} + +src_install() { + x-modular_src_install + exeinto /etc/X11 + doexe "${FILESDIR}"/chooser.sh "${FILESDIR}"/startDM.sh || die + exeinto /etc/X11/Sessions + doexe "${FILESDIR}"/Xsession || die + exeinto /etc/X11/xinit + doexe "${FILESDIR}"/xinitrc || die + newinitd "${FILESDIR}"/xdm.initd-2 xdm + newconfd "${FILESDIR}"/xdm.confd-1 xdm + newpamd "${FILESDIR}"/xserver.pamd xserver +} + +pkg_postinst() { + x-modular_pkg_postinst + ewarn "If you use startx to start X instead of a login manager like gdm/kdm," + ewarn "you can set the XSESSION variable to anything in /etc/X11/Sessions/ or" + ewarn "any executable. When you run startx, it will run this as the login session." + ewarn "You can set this in a file in /etc/env.d/ for the entire system," + ewarn "or set it per-user in ~/.bash_profile (or similar for other shells)." + ewarn "Here's an example of setting it for the whole system:" + ewarn " echo XSESSION=\"Gnome\" > /etc/env.d/90xsession" + ewarn " env-update && source /etc/profile" +} -- cgit v1.2.3-65-gdbad