Xorg creates the log-dir in its output path because X crashes if it can't write to its logfile. On a regular distro, this dir would be installed into the root to prevent that from happening but with Nix, it sits in the read-only Nix store. Ironically, when Xorg tries to write here, it fails and crashes. To make Xorg log to /var/log, we have to stop the build script from trying to create the log-dir as the sandbox doesn't (and shouldn't) have access to /var. This creates a runtime dependency on /var when running as root but that should exist on any Linux system (on NixOS, journald always creates /var/log). Previously, the startx displayManager required some workarounds for logfiles which are obsolete now. patchPhase -> postPatch because overriding the patchPhase prevents patches from being applied
33 lines
999 B
Diff
33 lines
999 B
Diff
---
|
|
hw/xfree86/Makefile.am | 1 -
|
|
hw/xfree86/Makefile.in | 1 -
|
|
2 files changed, 2 deletions(-)
|
|
|
|
diff --git a/hw/xfree86/Makefile.am b/hw/xfree86/Makefile.am
|
|
index 9aeaea1..dcca3b8 100644
|
|
--- a/hw/xfree86/Makefile.am
|
|
+++ b/hw/xfree86/Makefile.am
|
|
@@ -100,7 +100,6 @@ EXTRA_DIST = xorgconf.cpp
|
|
|
|
# Without logdir, X will post an error on the terminal and will not start
|
|
install-data-local:
|
|
- $(AM_V_GEN)$(MKDIR_P) $(DESTDIR)$(logdir)
|
|
if CYGWIN
|
|
$(INSTALL_DATA) libXorg.exe.a $(DESTDIR)$(libdir)/libXorg.exe.a
|
|
endif
|
|
diff --git a/hw/xfree86/Makefile.in b/hw/xfree86/Makefile.in
|
|
index c4fceee..74da8f1 100644
|
|
--- a/hw/xfree86/Makefile.in
|
|
+++ b/hw/xfree86/Makefile.in
|
|
@@ -1161,7 +1161,6 @@ uninstall-am: uninstall-binPROGRAMS uninstall-local \
|
|
|
|
# Without logdir, X will post an error on the terminal and will not start
|
|
install-data-local:
|
|
- $(AM_V_GEN)$(MKDIR_P) $(DESTDIR)$(logdir)
|
|
@CYGWIN_TRUE@ $(INSTALL_DATA) libXorg.exe.a $(DESTDIR)$(libdir)/libXorg.exe.a
|
|
|
|
install-exec-hook:
|
|
--
|
|
2.25.4
|
|
|