.gear/rules | 2 + .../tags/eb454a28007f2972161ef9be7664082edb6c99bb | 23 +++ .gear/tags/list | 1 + Makefile.am | 2 +- startx | 161 +++++++++++++++++++++ xinit.c | 2 +- xinit.spec | 110 ++++++++++++++ 7 files changed, 299 insertions(+), 2 deletions(-) diff --git a/.gear/rules b/.gear/rules new file mode 100644 index 0000000..f78a96e --- /dev/null +++ b/.gear/rules @@ -0,0 +1,2 @@ +tar: @name@-@version@:. +diff: @name@-@version@:. . diff --git a/.gear/tags/eb454a28007f2972161ef9be7664082edb6c99bb b/.gear/tags/eb454a28007f2972161ef9be7664082edb6c99bb new file mode 100644 index 0000000..3d493a0 --- /dev/null +++ b/.gear/tags/eb454a28007f2972161ef9be7664082edb6c99bb @@ -0,0 +1,23 @@ +object 9a8b937bcfd84575e13039f316cbcb14c9729df4 +type commit +tag xinit-1.4.1 +tagger Alan Coopersmith 1551643111 -0800 + +xinit-1.4.1 +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2 + +iQIcBAABCgAGBQJcfDHnAAoJEM/fFIgoxkKnYhsP/3ZPdOOdOAZjmWc0IxpuFvWB +06jQPBFrNzE5iEynT3LaiF7SZ4mUrAiaX460gPpJCzEYQReq/bOZPxZBF+T2/++Z +Xc76sS8QezDojFb+dcP8K8oVsEmOQCeNkXY1Wx68ZrFYuEjjVUIgr4iEXiXR73+t +lMLsPadGNEoYG12pKLutc2QFISEZNr8uLg4cVXcqiXSOXlhpdmlgSIIvY6i5wcaO +dfUwKdGuropSXTtw6KlZPTln+AvErAqZujviK4fClFyz2NDnf/JbFYmK2ipjupC2 +7cersyV64KCXeAfHAryyLL70xpmp9819nfL5r6m6SKMq8XmDo3Um8kU8fK+KAMZL +Ekn/wi/QHJyhLUA3g7afMbgGJdA4EHn7ycx1cbpoNQamIjH7CBI5ltsWEcOHqk75 +UV4s7iNffDcdvg0afSLjbb2dR35hFFC9X61Q9fHLDgAQmdostbZ0jL5zDwq4Ohzi +GQ79aUL3TZ/o0VRc0V0laUbbrtDs7cJ/C5j3tHSuhoACEtisaLHDMfhVmyP4ATu0 +gObugfj3REfq//BuyRh0hc/WjSi86ciipiHc8ewNOogvoB/aMgoaFIrGPcOTGsVO +WRfZ83JegGYe3MNWS7liTTSZNJKbTvXxkZBQmJmM6ukAvCrdonlQO63DUcPTJ15+ +8LaaEVP2qmSFRnKuZdZH +=0wsC +-----END PGP SIGNATURE----- diff --git a/.gear/tags/list b/.gear/tags/list new file mode 100644 index 0000000..3dc3daa --- /dev/null +++ b/.gear/tags/list @@ -0,0 +1 @@ +eb454a28007f2972161ef9be7664082edb6c99bb xinit-1.4.1 diff --git a/Makefile.am b/Makefile.am index 8b09369..2da02b7 100644 --- a/Makefile.am +++ b/Makefile.am @@ -60,7 +60,7 @@ xinitrc_DATA = xinitrc MAINTAINERCLEANFILES = ChangeLog INSTALL CLEANFILES = xinitrc startx -EXTRA_DIST = xinitrc.cpp startx.cpp \ +EXTRA_DIST = xinitrc.cpp \ autogen.sh README.md .PHONY: ChangeLog INSTALL diff --git a/startx b/startx new file mode 100644 index 0000000..fb1c4db --- /dev/null +++ b/startx @@ -0,0 +1,161 @@ +#!/bin/sh + +# $Xorg: startx.cpp,v 1.3 2000/08/17 19:54:29 cpqbld Exp $ +# +# This is just a sample implementation of a slightly less primitive +# interface than xinit. It looks for user .xinitrc and .xserverrc +# files, then system xinitrc and xserverrc files, else lets xinit choose +# its default. The system xinitrc should probably do things like check +# for .Xresources files and merge them in, startup up a window manager, +# and pop a clock and serveral xterms. +# +# $XFree86: xc/programs/xinit/startx.cpp,v 3.12 2001/11/30 20:57:48 dawes Exp $ + +userclientrc="$HOME/.xinitrc" +userserverrc="$HOME/.xserverrc" +sysclientrc=/etc/X11/xinit/xinitrc +sysserverrc=/etc/X11/xinit/xserverrc +defaultclientargs="" +defaultserverargs="" +clientargs= +serverargs= +display= + +if [ -f $userclientrc ]; then + defaultclientargs=$userclientrc +elif [ -f $sysclientrc ]; then + defaultclientargs=$sysclientrc +fi + +if [ -f $userserverrc ]; then + defaultserverargs=$userserverrc +elif [ -f $sysserverrc ]; then + defaultserverargs=$sysserverrc +fi + +add_client_args() +{ + if [ -z "$clientargs" ]; then + clientargs="$1" + else + clientargs="$clientargs $1" + fi +} + +add_server_args() +{ + if [ -z "$serverargs" ]; then + serverargs="$1" + else + serverargs="$serverargs $1" + fi +} + +add_def_client_args() +{ + if [ -z "$clientargs" ]; then + clientargs="$defaultclientargs $1" + else + clientargs="$clientargs $1" + fi +} + +add_def_server_args() +{ + if [ -z "$serverargs" ]; then + serverargs="$defaultserverargs $1" + else + serverargs="$serverargs $1" + fi +} + +whoseargs=client + +while [ -n "$1" ]; do + case "$1" in + /''*|\.*) + if [ "$whoseargs" = client ]; then + add_client_args "$1" + else + add_server_args "$1" + fi + ;; + --) + whoseargs=server + ;; + *) + if [ "$whoseargs" = client ]; then + add_def_client_args "$1" + else + if [ -z "$display" -a -z "${1##:*}" ]; then + display="$1" + fi + add_def_server_args "$1" + fi + ;; + esac + shift +done + +# process client arguments +if [ -z "$clientargs" ]; then + clientargs="$defaultclientargs" +fi + +# process server arguments +if [ -z "$serverargs" ]; then + serverargs="$defaultserverargs" +fi + +if [ -z "$XAUTHORITY" ]; then + export XAUTHORITY=$HOME/.Xauthority +fi + +# select next free display if not specified +if [ -z "$display" ]; then + last_display=`find /tmp/ -maxdepth 1 -type f -name '.X*-lock' | + sed -ne 's,^/tmp/\.X\([[:digit:]]\+\)-lock$,\1,p' | + sort -n | + tail -1` + [ -z "$last_display" ] || display=":$((1+last_display))" +fi + +# set up default Xauth info for this machine +removelist= +authdisplay=${display:-:0} +mcookie=`mcookie` +for displayname in "$authdisplay" "`hostname -f`$authdisplay"; do + if ! xauth list "$displayname" |fgrep -qs "$displayname "; then + xauth add "$displayname" . "$mcookie" + removelist="$displayname $removelist" + fi +done + +cleanup() +{ + [ -z "$xinit_pid" ] || kill "$xinit_pid" +} + +trap cleanup EXIT + +xinit $clientargs -- $serverargs $authdisplay & + +xinit_pid=$! + +wait "$xinit_pid" + +# save dolphins, elecrtons, and errorlevels +return_val=$? + +xinit_pid= + +if [ -n "$removelist" ]; then + xauth remove $removelist +fi + +DEALLOCVT=/usr/bin/deallocvt +if [ -x "$DEALLOCVT" ]; then + "$DEALLOCVT" +fi + +exit $return_val diff --git a/xinit.c b/xinit.c index 06c92b2..1395010 100644 --- a/xinit.c +++ b/xinit.c @@ -92,7 +92,7 @@ char xserverrcbuf[256]; static char *default_server = "X"; static char *default_display = ":0"; /* choose most efficient */ -static char *default_client[] = {"xterm", "-geometry", "+1+1", "-n", "login", NULL}; +static char *default_client[] = {"xvt", NULL}; static char *serverargv[100]; static char *clientargv[100]; static char **server = serverargv + 2; /* make sure room for sh .xserverrc args */ diff --git a/xinit.spec b/xinit.spec new file mode 100644 index 0000000..dd93cba --- /dev/null +++ b/xinit.spec @@ -0,0 +1,110 @@ +Name: xinit +Version: 1.4.1 +Release: alt3 +Summary: X Window System initializer +License: MIT/X11 +Group: System/X11 +Url: http://xorg.freedesktop.org + +Source: %name-%version.tar +Patch: %name-%version-%release.patch + +Packager: Valery Inozemtsev + +Requires: xinitrc > 2.4.23-alt1 + +BuildRequires: libX11-devel xorg-util-macros + +%description +The xinit program is used to start the X Window System server and a +first client program on systems that cannot start X directly from +/etc/X11/init or in environments that use multiple window systems. When +this first client exits, xinit will kill the X server and then termi- +nate. + +%prep +%setup -q +%patch -p1 + +%build +%autoreconf +%configure \ + --with-xinitdir=%_sysconfdir/X11/xinit +%make_build + +%install +%make DESTDIR=%buildroot install + +%files +%ghost %dir %_sysconfdir/X11/xinit +%_bindir/* +%_man1dir/* + +%changelog +* Tue Mar 21 2023 Sergey V Turchin 1.4.1-alt3 +- remove -geometry option for xvt (closes: 45574) + +* Fri Nov 11 2022 Sergey V Turchin 1.4.1-alt2 +- don't require xterm (closes: 43833) + +* Mon Mar 11 2019 Valery Inozemtsev 1.4.1-alt1 +- 1.4.1 +- removed ck-xinit-session + +* Fri Mar 23 2012 Valery Inozemtsev 1.3.2-alt1 +- 1.3.2 + +* Sun Oct 31 2010 Valery Inozemtsev 1.3.0-alt1 +- 1.3.0 + +* Sun Aug 22 2010 Valery Inozemtsev 1.2.1-alt1 +- 1.2.1 + +* Fri Feb 05 2010 Valery Inozemtsev 1.2.0-alt1 +- 1.2.0 + +* Fri Aug 07 2009 Valery Inozemtsev 1.1.1-alt2 +- added ck-xinit-session + +* Thu Dec 18 2008 Valery Inozemtsev 1.1.1-alt1 +- 1.1.1 + +* Fri Jun 13 2008 Valery Inozemtsev 1.1.0-alt1 +- 1.1.0 + +* Thu May 22 2008 Valery Inozemtsev 1.0.9-alt1 +- 1.0.9 + +* Fri Mar 07 2008 Valery Inozemtsev 1.0.8-alt1 +- 1.0.8 + +* Thu Sep 20 2007 Valery Inozemtsev 1.0.7-alt1 +- 1.0.7 + +* Thu Sep 06 2007 Valery Inozemtsev 1.0.5-alt1 +- 1.0.5 + +* Tue May 22 2007 Valery Inozemtsev 1.0.4-alt1 +- 1.0.4 + +* Wed Nov 08 2006 Valery Inozemtsev 1.0.3-alt3 +- added: return xinit errorlevel (fixes #10245) + +* Sat Oct 14 2006 Valery Inozemtsev 1.0.3-alt2 +- 1.0.3 + +* Fri Jun 30 2006 Valery Inozemtsev 1.0.2-alt2 +- added xinit-1.0.2-setuid.patch + +* Mon Apr 03 2006 Valery Inozemtsev 1.0.2-alt1 +- 1.0.2 + +* Tue Dec 27 2005 Valery Inozemtsev 1.0.1-alt1 +- Xorg-7.0 + +* Sun Dec 04 2005 Valery Inozemtsev 0.99.4-alt1 +- Xorg-7.0RC3 + +* Wed Nov 23 2005 Valery Inozemtsev 0.99.3-alt0.1 +- initial release +