From ff011b3db3959beb004403a34232a261ed99f6d3 Mon Sep 17 00:00:00 2001 From: Simone Caronni Date: Thu, 22 Jan 2015 21:29:28 +0100 Subject: [PATCH] Xorg without root rights breaks by streams redirection (#1177513) --- ...tty-when-telling-the-server-to-start.patch | 34 ++ xorg-x11-xinit.spec | 308 +++--------------- 2 files changed, 71 insertions(+), 271 deletions(-) create mode 100644 0001-startx-Pass-keeptty-when-telling-the-server-to-start.patch diff --git a/0001-startx-Pass-keeptty-when-telling-the-server-to-start.patch b/0001-startx-Pass-keeptty-when-telling-the-server-to-start.patch new file mode 100644 index 0000000..f6fa8ff --- /dev/null +++ b/0001-startx-Pass-keeptty-when-telling-the-server-to-start.patch @@ -0,0 +1,34 @@ +From c70ab1d87b4aec8f171615aa8dee4a1fc1104b4b Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Tue, 20 Jan 2015 16:18:34 +0100 +Subject: [PATCH xinit] startx: Pass -keeptty when telling the server to start + on the current tty + +Detaching from the tty causes systemd-logind to refuse service to the xserver, +the xserver already tries to detect that it is being asked to run on the +current tty and then automatically enables -keeptty, but this code fails if +all of stdin, stdout and stderr are redirected to a file. So explicitly tell +the xserver to not detach when we're telling it to run on the current tty. + +BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1177513 +Signed-off-by: Hans de Goede +--- + startx.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/startx.cpp b/startx.cpp +index 1c6fce0..45d7bd9 100644 +--- a/startx.cpp ++++ b/startx.cpp +@@ -195,7 +195,7 @@ if [ x"$server" = x ]; then + tty=$(tty) + if expr match "$tty" '^/dev/tty[0-9]\+$' > /dev/null; then + tty_num=$(echo "$tty" | grep -oE '[0-9]+$') +- vtarg="vt$tty_num" ++ vtarg="vt$tty_num -keeptty" + fi + #endif + +-- +2.1.0 + diff --git a/xorg-x11-xinit.spec b/xorg-x11-xinit.spec index 7ef7f16..4784a7a 100644 --- a/xorg-x11-xinit.spec +++ b/xorg-x11-xinit.spec @@ -1,57 +1,59 @@ %define pkgname xinit -Summary: X.Org X11 X Window System xinit startup scripts -Name: xorg-x11-%{pkgname} -Version: 1.3.4 -Release: 2%{?dist} -License: MIT -Group: User Interface/X -URL: http://www.x.org +Summary: X.Org X11 X Window System xinit startup scripts +Name: xorg-x11-%{pkgname} +Version: 1.3.4 +Release: 3%{?dist} +License: MIT +URL: http://www.x.org -Source0: http://xorg.freedesktop.org/archive/individual/app/%{pkgname}-%{version}.tar.bz2 -Source10: xinitrc-common -Source11: xinitrc -Source12: Xclients -Source13: Xmodmap -Source14: Xresources +Source0: http://xorg.freedesktop.org/archive/individual/app/%{pkgname}-%{version}.tar.bz2 +Source10: xinitrc-common +Source11: xinitrc +Source12: Xclients +Source13: Xmodmap +Source14: Xresources # NOTE: Xsession is used by xdm/kdm/gdm and possibly others, so we keep it # here instead of the xdm package. -Source16: Xsession -Source17: localuser.sh -Source18: xinit-compat.desktop -Source19: xinit-compat +Source16: Xsession +Source17: localuser.sh +Source18: xinit-compat.desktop +Source19: xinit-compat # Fedora specific patches - Patch1: xinit-1.0.2-client-session.patch - # submitted upstream, rhbz#1111684 Patch2: 0001-startx-Pass-nolisten-tcp-by-default.patch +# submitted upstream, rhbz#1177513 +Patch3: 0001-startx-Pass-keeptty-when-telling-the-server-to-start.patch + +BuildRequires: pkgconfig(x11) +BuildRequires: dbus-devel -BuildRequires: pkgconfig -BuildRequires: libX11-devel -BuildRequires: dbus-devel # NOTE: startx needs xauth in order to run, but that is not picked up # automatically by rpm. (Bug #173684) -Requires: xorg-x11-xauth +Requires: xorg-x11-xauth # next two are for localuser.sh -Requires: coreutils -Requires: xorg-x11-server-utils +Requires: coreutils +Requires: xhost -%package session -Summary: Display manager support for ~/.xsession and ~/.Xclients -Group: User Interface/X +Provides: %{pkgname} = %{version} %description -X.Org X11 X Window System xinit startup scripts +X.Org X11 X Window System xinit startup scripts. + +%package session +Summary: Display manager support for ~/.xsession and ~/.Xclients %description session -Allows legacy ~/.xsession and ~/.Xclients files to be used from display managers +Allows legacy ~/.xsession and ~/.Xclients files to be used from display +managers. %prep %setup -q -n %{pkgname}-%{version} -%patch1 -p1 -b .client-session +%patch1 -p1 %patch2 -p1 +%patch3 -p1 %build %configure @@ -105,6 +107,10 @@ install -p -m644 -D %{SOURCE18} $RPM_BUILD_ROOT%{_datadir}/xsessions/xinit-compa %{_datadir}/xsessions/xinit-compat.desktop %changelog +* Thu Jan 22 2015 Simone Caronni - 1.3.4-3 +- Xorg without root rights breaks by streams redirection (#1177513). +- Format SPEC file; trim changelog. + * Wed Oct 1 2014 Hans de Goede - 1.3.4-2 - Add support for MATE to Xclients (#1147905) @@ -162,243 +168,3 @@ install -p -m644 -D %{SOURCE18} $RPM_BUILD_ROOT%{_datadir}/xsessions/xinit-compa * Tue Feb 08 2011 Fedora Release Engineering - 1.0.9-20 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild - -* Sat Sep 25 2010 Parag Nemade - 1.0.9-19 -- Merge-review cleanup (#226653) - -* Fri Aug 27 2010 Matěj Cepl - 1.0.9-18 -- Fix ownership of files. - -* Tue Aug 24 2010 Adam Tkac - 1.0.9-17 -- rebuild to ensure F14 has higher NVR than F13 - -* Wed Mar 24 2010 Matěj Cepl - 1.0.9-16 -- Remove explicit %%attr from _bindir - -* Thu Feb 04 2010 Matěj Cepl - 1.0.9-15 -- Add xinit-compat script - Patch from Rex Dieter, bug 540546 - Move xinit-compat script to -session subpackage. - -* Fri Jan 29 2010 Ville Skyttä - 1.0.9-14 -- Eliminate dependency on which. -- Change Xclients, Xsession and xinitrc-common to make fewer stat calls. -- Install xinitrc-common non-executable. - -* Tue Nov 10 2009 Matěj Cepl - 1.0.9-13 -- Fix SELinux labels on $errfile (fixes bug# 530419) - -* Mon Jul 27 2009 Fedora Release Engineering - 1.0.9-12 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild - -* Wed Jun 17 2009 Nalin Dahyabhai - 1.0.9-11 -- pull up ck-xinit-session changes for #502258 from from F11 branch - -* Sun Jun 14 2009 Matthias Clasen - 1.0.9-10 -- Don't own /etc/X11, since its already owned by filesystem - -* Mon Jun 08 2009 Matěj Cepl - 1.0.9-9 -- consider scripts in /etc/X11/xinit/Xclients.d/ as well -- add back scripts in Release -7 and -8 from F11 branch. - -* Fri May 22 2009 Nalin Dahyabhai 1.0.9-8 -- have ck-xinit-session tell the session bus to set - XDG_SESSION_COOKIE for services which it autostarts (#502258) -- add direct build dependency on dbus-devel, since we call it - directly now - -* Fri May 08 2009 Adam Jackson 1.0.9-7 -- xinit-1.0.9-unset.patch: Also unset XDG_SESSION_COOKIE in - startx. (#489999) - -* Wed Mar 11 2009 Adam Jackson 1.0.9-6 -- xinitrc-common: Load /etc/X11/Xresources with -nocpp - -* Wed Feb 25 2009 Adam Tkac 1.0.9-5 -- run ck-xinit-session for all sessions where the xdg cookie isn't already - set (#452156, patch from Patrice Dumas) -- add which Requires (#413041, patch from Patrice Dumas) - -* Mon Aug 25 2008 Matthias Clasen 1.0.9-4 -- Make the gnome session actually take the gnome case in the switch (#458694) -- Update patches -- Drop upstreamed patch - -* Mon Aug 11 2008 Jason L Tibbitts III - 1.0.9-3 -- Really fix license tag. - -* Tue Jul 15 2008 Adam Jackson 1.0.9-2 -- Fix license tag. - -* Wed Jun 11 2008 Adam Jackson 1.0.9-1 -- xinit 1.0.9 - -* Tue Apr 08 2008 Adam Jackson 1.0.7-7 -- Xsession: Don't start ssh-agent for gnome sessions anymore, gnome-keyring - acts as an agent now. (#441123) - -* Wed Mar 12 2008 Ray Strode 1.0.7-6 -- Add a new subpackage to add ~/.xsessions and ~/.Xclients - to session list - -* Mon Feb 11 2008 Adam Jackson 1.0.7-5 -- Xresources: s/don't/do not/, cpp is dumb. (#431704) - -* Mon Feb 11 2008 Adam Jackson 1.0.7-4 -- xinit-1.0.7-unset.patch: Unset various session-related environment - variables at the top of startx. (#431899) - -* Mon Feb 4 2008 Ray Strode 1.0.7-3 -- don't special case dbus-launch. dbus-x11 now installs - a script into /etc/X11/xinit/xinitrc.d. -- Drop the weird grep rule for extensions ending in .sh - when sourcing /etc/X11/xinit/xinitrc.d - -* Fri Oct 12 2007 Nalin Dahyabhai 1.0.7-2 -- Try opening the console-kit session after the user's UID has already - been granted access to the server by localuser.sh, so that console-kit-daemon - can connect and ask the server for information just by having switch to the - user's UID (#287941). - -* Mon Sep 24 2007 Adam Jackson 1.0.7-1 -- xinit 1.0.7 - -* Tue Aug 21 2007 Adam Jackson - 1.0.2-27 -- Rebuild for build id - -* Mon Aug 6 2007 Soren Sandmann 1.0.2-26 -- Bump release - -* Mon Aug 6 2007 Soren Sandmann 1.0.2-25 -- Fix typo: s/unask/umask/ - Bug 250882, Jan ONDREJ (ondrejj@salstar.sk) - -* Thu Aug 2 2007 Soren Sandmann 1.0.2-24 -- Fix bug 212167, CVE-2006-5214 - -* Sun Jul 29 2007 Soren Sandmann 1.0.2-23 -- Fix Xsession to run the login shell inside the setgid ssh-agent, rather - than the other way around. This preserves LD_LIBRARY_PRELOAD. - Patch from Stefan Becker, bug 164869. - -* Fri Jul 27 2007 Soren Sandmann 1.0.2-22 -- Remove xinput.sh. Bug 244963. - -* Mon May 21 2007 Adam Jackson 1.0.2-21 -- localuser.sh: Run silently. - -* Sat Apr 21 2007 Matthias Clasen 1.0.2-20 -- Don't install INSTALL - -* Thu Apr 19 2007 Warren Togami 1.0.2-19 -- disable SCIM by default in non-Asian languages #237054 - If you want to use SCIM, use im-chooser to enable it. - -* Mon Apr 02 2007 David Zeuthen 1.0.2-18 -- Man pages are now in section 1, not in section 1x - -* Mon Apr 02 2007 David Zeuthen 1.0.2-17 -- Also BR xorg-x11-util-macros since we autoreconf - -* Mon Apr 02 2007 David Zeuthen 1.0.2-16 -- Add ConsoleKit support (#233183) - -* Mon Nov 27 2006 Adam Jackson 1.0.2-15 -- Bump EVR to fix 6 to 7 updates. - -* Fri Nov 10 2006 Ray Strode - 1.0.2-14 -- start client in its own session with no controlling tty - (bug 214649) - -* Mon Oct 23 2006 Kristian Høgsberg - 1.0.2-13 -- Update Xsession to not use switchdesk for the hard coded kde and twm - cases. - -* Sun Oct 01 2006 Jesse Keating - 1.0.2-12 -- rebuilt for unwind info generation, broken in gcc-4.1.1-21 - -* Mon Sep 25 2006 Kristian Høgsberg - 1.0.2-11.fc6 -- Bump and rebuild. - -* Mon Sep 25 2006 Kristian Høgsberg - 1.0.2-10.fc6 -- Move hardcoded xsetroot background color to fallback cases (#205901). - -* Thu Aug 17 2006 Kristian Høgsberg - 1.0.2-9.fc6 -- Start ssh-agent for startx also (#169259). - -* Sat Jul 22 2006 Adam Jackson 1.0.2-8.fc6 -- Fix SourceN line for localuser.sh to not collide. - -* Fri Jul 21 2006 Adam Jackson 1.0.2-7.fc6 -- Added localuser.sh. - -* Wed Jul 19 2006 Mike A. Harris 1.0.2-6.fc6 -- Added fix to Xclients script, based on patch from bug (#190799) - -* Wed Jul 12 2006 Jesse Keating 1.0.2-5.1.fc6 -- rebuild - -* Wed Jul 05 2006 Mike A. Harris 1.0.2-5.fc6 -- Implemented changes to xinput.sh based on suggestions from (#194458) - -* Wed Jun 21 2006 Mike A. Harris 1.0.2-4 -- Added documentation to doc macro. - -* Tue Jun 20 2006 Mike A. Harris 1.0.2-3 -- Added xinit-1.0.2-setuid.diff to fix potential security issue (#196094) - -* Tue Jun 06 2006 Mike A. Harris 1.0.2-2 -- Added "BuildRequires: pkgconfig" for bug (#194187) - -* Thu Apr 27 2006 Adam Jackson 1.0.2-1 -- Update xinit to 1.0.2 - -* Thu Feb 16 2006 Mike A. Harris 1.0.1-2 -- Change Conflicts to Obsoletes for xorg-x11 and XFree86 (#181414) - -* Fri Feb 10 2006 Jesse Keating 1.0.1-1.2 -- bump again for double-long bug on ppc(64) - -* Tue Feb 07 2006 Jesse Keating 1.0.1-1.1 -- rebuilt for new gcc4.1 snapshot and glibc changes - -* Wed Jan 18 2006 Mike A. Harris 1.0.1-1 -- Updated to xinit 1.0.1 from X11R7.0 - -* Fri Dec 16 2005 Mike A. Harris 1.0.0-1 -- Updated to xinit 1.0.0 from X11R7 RC4. -- Changed manpage dir from man1x to man1 to match upstream default. - -* Tue Nov 22 2005 Mike A. Harris 0.99.3-6 -- Add "Requires: xauth" for startx, to fix bug (#173684) - -* Mon Nov 14 2005 Jeremy Katz 0.99.3-5 -- Do not provide xinit anymore, gdm has been fixed and that breaks things - with the obsoletes - -* Sat Nov 12 2005 Mike A. Harris 0.99.3-4 -- Added Xsession script from xinitrc, as it is very similar codebase, which - shares "xinitrc-common" anyway, and all of the display managers use it. - -* Fri Nov 11 2005 Mike A. Harris 0.99.3-3 -- Updated to xinit 0.99.3 from X11R7 RC2. - -* Mon Nov 07 2005 Mike A. Harris 0.99.2-3 -- Added "Provides: xinitrc = 5.0.0-1" for temporary compatibility between - monolithic and modular X. This will be removed however for FC5. - -* Mon Oct 31 2005 Mike A. Harris 0.99.2-2 -- Import custom Red Hat xinit scripts from xinitrc package. -- Obsolete xinitrc package, as we include the scripts/configs here now. -- Fix all scripts/configs to avoid the now obsolete /usr/X11R6 prefix. - -* Mon Oct 31 2005 Mike A. Harris 0.99.2-1 -- Updated to xinit 0.99.2 from X11R7 RC1. -- Change manpage location to 'man1x' in file manifest. - -* Wed Oct 05 2005 Mike A. Harris 0.99.0-2 -- Use Fedora-Extras style BuildRoot tag. -- Update BuildRequires to use new library package names. -- Tidy up spec file a bit. - -* Wed Aug 24 2005 Mike A. Harris 0.99.0-1 -- Initial build.