summaryrefslogtreecommitdiffstats
path: root/xorg
diff options
context:
space:
mode:
authorThomas Orgis2020-03-02 16:36:37 +0100
committerThomas Orgis2020-03-02 16:36:37 +0100
commited063fb0d3bec9f236ec7d8428d3d793de90e68a (patch)
tree9e1d94af6efff969d3357bbe493f7c32b6df12a8 /xorg
parent0c5e0cef1a2cdb348a24776f974c45f021a62fa4 (diff)
xorg/xserver: some build fix and suid/sgid install option
Some setups (mine, at least) with out session magic to give the current user permissions to access input devices, need the Xorg binary to be at least set sgid input. Also, again on my systems, suid root is needed to be able to start multiple sessions with the intel driver.
Diffstat (limited to 'xorg')
-rwxr-xr-xxorg/xserver/CONFIGURE8
-rwxr-xr-xxorg/xserver/DETAILS1
-rw-r--r--xorg/xserver/HISTORY7
-rwxr-xr-xxorg/xserver/INSTALL9
-rw-r--r--xorg/xserver/patches/a24a786fc8490fda08b15c3dab6fa6750f008ecb.diff12
5 files changed, 36 insertions, 1 deletions
diff --git a/xorg/xserver/CONFIGURE b/xorg/xserver/CONFIGURE
index 35815f5838..b23e3678e1 100755
--- a/xorg/xserver/CONFIGURE
+++ b/xorg/xserver/CONFIGURE
@@ -6,6 +6,14 @@ persistent_remove XORG_SERVER_OPTS
# libgcrypt \
# SSL
config_query_option XSERVER_XORG "Build Xorg server?" y true false
+if [[ ${XSERVER_XORG} == 'true' ]]; then
+ # Have the default at least working to get input devices with any setup,
+ # getting out of X11 is tricky when that is broken.
+ config_query_option XSERVER_SUID_ROOT \
+ "Set Xorg suid root (possibly needed for multiple sessions with some drivers)?" n true false
+ config_query_option XSERVER_SGID_INPUT \
+ "Set Xorg sgid input (for input devices when not suid root or session magic)?" y true false
+fi
config_query_option XSERVER_WAYLAND "Build XWayland server?" y true false
config_query_option XSERVER_XNEST "Build XNest nested X server?" n true false
config_query_option XSERVER_XVFB "Build Xvfb server?" n true false
diff --git a/xorg/xserver/DETAILS b/xorg/xserver/DETAILS
index e0c2f94478..96a5a862a1 100755
--- a/xorg/xserver/DETAILS
+++ b/xorg/xserver/DETAILS
@@ -13,6 +13,7 @@ source $GRIMOIRE/MESON_FUNCTIONS
ENTERED=20180228
LICENSE[0]=XCL
SECURITY_PATCH=12
+ PATCHLEVEL=1
SHORT="X servers (including Xorg, Xprt, Xvfb, Xnest & Xdmx)"
cat << EOF
X servers (including Xorg, Xwayland, Xvfb, Xnest & Xdmx), the core of the X
diff --git a/xorg/xserver/HISTORY b/xorg/xserver/HISTORY
index c110e44f4d..d45b2599c3 100644
--- a/xorg/xserver/HISTORY
+++ b/xorg/xserver/HISTORY
@@ -1,3 +1,10 @@
+2020-03-01 Thomas Orgis <sobukus@sourcemag.org>
+ * patches/a24a786fc8490fda08b15c3dab6fa6750f008ecb.diff: fix build
+ for missing mi.h include
+ * CONFIGURE, INSTALL: add options for suid root and sgid input, to
+ make things workable in setups without session permission magic
+ * DETAILS: PATCHLEVEL++
+
2020-01-14 Treeve Jelbert <treeve@sourcemage.org>
* DETAILS: version 1.20.7
diff --git a/xorg/xserver/INSTALL b/xorg/xserver/INSTALL
index 7690a69964..c4d24cc1aa 100755
--- a/xorg/xserver/INSTALL
+++ b/xorg/xserver/INSTALL
@@ -4,5 +4,12 @@ PREFIX=/usr &&
if [[ ${XSERVER_XORG} == 'true' ]];then
TGT=${TRACK_ROOT}${PREFIX}/bin &&
FROM=${INSTALL_ROOT}${PREFIX}/bin &&
- ln -vsf ${TGT}/Xorg ${FROM}/X
+ ln -vsf ${TGT}/Xorg ${FROM}/X &&
+ if [[ ${XSERVER_SGID_INPUT} == 'true' ]]; then
+ chown :input "${FROM}/Xorg"
+ chmod g+s "${FROM}/Xorg"
+ fi &&
+ if [[ ${XSERVER_SUID_ROOT} == 'true' ]]; then
+ chmod u+s "${FROM}/Xorg"
+ fi
fi
diff --git a/xorg/xserver/patches/a24a786fc8490fda08b15c3dab6fa6750f008ecb.diff b/xorg/xserver/patches/a24a786fc8490fda08b15c3dab6fa6750f008ecb.diff
new file mode 100644
index 0000000000..0a8a3cedc9
--- /dev/null
+++ b/xorg/xserver/patches/a24a786fc8490fda08b15c3dab6fa6750f008ecb.diff
@@ -0,0 +1,12 @@
+diff --git a/hw/xfree86/drivers/modesetting/drmmode_display.c b/hw/xfree86/drivers/modesetting/drmmode_display.c
+index b826bee6af029fbe6bde6ea4824faea4f356bba6..d13cec0775c2a2ba07df8df2f6ff9a958e04da1a 100644
+--- a/hw/xfree86/drivers/modesetting/drmmode_display.c
++++ b/hw/xfree86/drivers/modesetting/drmmode_display.c
+@@ -37,6 +37,7 @@
+ #include "inputstr.h"
+ #include "xf86str.h"
+ #include "X11/Xatom.h"
++#include "mi.h"
+ #include "micmap.h"
+ #include "xf86cmap.h"
+ #include "xf86DDC.h"