de89c6b8c6
If the suid wrapper is enabled, /usr/bin/Xorg is just a shell script that execs either /usr/libexec/Xorg.bin directly or the Xorg.wrap binary which then execve's /usr/libexec/Xorg.bin. Either way, we end up with Xorg.bin, which is problematic for two reasons: * ps shows the command as Xorg.bin * _COMM and _EXE in systemd's journal will both show Xorg.bin as well There's not much we can do about the path, but having the actual command stay as Xorg means better compatibility to existing scripts. And, the reason for this path: the command journalctl _COMM=Xorg works universally, regardless of whether the wrapper is used or not. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Keith Packard <keithp@keithp.com> Acked-by: Hans de Goede <hdegoede@redhat.com>
151 lines
3.9 KiB
Makefile
151 lines
3.9 KiB
Makefile
|
|
if DRI
|
|
DRI_SUBDIR = dri
|
|
DRI_LIB = dri/libdri.la
|
|
endif
|
|
|
|
if DRI2
|
|
DRI2_SUBDIR = dri2
|
|
DRI2_LIB = dri2/libdri2.la
|
|
endif
|
|
|
|
if DRI3
|
|
DRI3_BUILDDIR = $(top_builddir)/dri3
|
|
DRI3_LIB = $(DRI3_BUILDDIR)/libdri3.la
|
|
endif
|
|
|
|
if GLAMOR_EGL
|
|
GLAMOR_EGL_SUBDIR = glamor_egl
|
|
endif
|
|
|
|
if XF86UTILS
|
|
XF86UTILS_SUBDIR = utils
|
|
endif
|
|
|
|
if VGAHW
|
|
VGAHW_SUBDIR = vgahw
|
|
endif
|
|
|
|
if VBE
|
|
VBE_SUBDIR = vbe
|
|
endif
|
|
|
|
if INT10MODULE
|
|
INT10_SUBDIR = int10
|
|
endif
|
|
|
|
SUBDIRS = common ddc x86emu $(INT10_SUBDIR) os-support parser \
|
|
ramdac $(VGAHW_SUBDIR) loader modes $(DRI_SUBDIR) \
|
|
$(DRI2_SUBDIR) . $(VBE_SUBDIR) i2c dixmods \
|
|
fbdevhw shadowfb exa $(XF86UTILS_SUBDIR) doc man \
|
|
$(GLAMOR_EGL_SUBDIR) drivers
|
|
|
|
DIST_SUBDIRS = common ddc i2c x86emu int10 fbdevhw os-support \
|
|
parser ramdac shadowfb vbe vgahw \
|
|
loader dixmods dri dri2 exa modes \
|
|
utils doc man glamor_egl drivers
|
|
|
|
bin_PROGRAMS = Xorg
|
|
nodist_Xorg_SOURCES = sdksyms.c
|
|
|
|
AM_CFLAGS = $(DIX_CFLAGS) @XORG_CFLAGS@
|
|
AM_CPPFLAGS = $(XORG_INCS) -I$(srcdir)/parser -I$(top_srcdir)/miext/cw \
|
|
-I$(srcdir)/ddc -I$(srcdir)/i2c -I$(srcdir)/modes -I$(srcdir)/ramdac \
|
|
-I$(srcdir)/dri -I$(srcdir)/dri2 -I$(top_srcdir)/dri3
|
|
|
|
LOCAL_LIBS = \
|
|
$(MAIN_LIB) \
|
|
$(XSERVER_LIBS) \
|
|
loader/libloader.la \
|
|
common/libcommon.la \
|
|
os-support/libxorgos.la \
|
|
parser/libxf86config_internal.la \
|
|
dixmods/libdixmods.la \
|
|
modes/libxf86modes.la \
|
|
ramdac/libramdac.la \
|
|
ddc/libddc.la \
|
|
i2c/libi2c.la \
|
|
$(XORG_LIBS) \
|
|
dixmods/libxorgxkb.la \
|
|
$(DRI_LIB) \
|
|
$(DRI2_LIB) \
|
|
$(DRI3_LIB) \
|
|
$(top_builddir)/miext/sync/libsync.la \
|
|
$(top_builddir)/mi/libmi.la \
|
|
$(top_builddir)/os/libos.la
|
|
Xorg_LDADD = \
|
|
$(LOCAL_LIBS) \
|
|
$(XORG_SYS_LIBS) \
|
|
$(XSERVER_SYS_LIBS)
|
|
Xorg_DEPENDENCIES = $(LOCAL_LIBS)
|
|
|
|
Xorg_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG)
|
|
|
|
if SUID_WRAPPER
|
|
wrapdir = $(SUID_WRAPPER_DIR)
|
|
wrap_PROGRAMS = Xorg.wrap
|
|
Xorg_wrap_SOURCES = xorg-wrapper.c
|
|
endif
|
|
|
|
BUILT_SOURCES = xorg.conf.example
|
|
DISTCLEANFILES = xorg.conf.example
|
|
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
|
|
|
|
install-exec-hook:
|
|
(cd $(DESTDIR)$(bindir) && rm -f X && $(LN_S) Xorg$(EXEEXT) X)
|
|
if INSTALL_SETUID
|
|
chown root $(DESTDIR)$(bindir)/Xorg
|
|
chmod u+s $(DESTDIR)$(bindir)/Xorg
|
|
endif
|
|
if SUID_WRAPPER
|
|
$(MKDIR_P) $(DESTDIR)$(SUID_WRAPPER_DIR)
|
|
mv $(DESTDIR)$(bindir)/Xorg $(DESTDIR)$(SUID_WRAPPER_DIR)/Xorg
|
|
${INSTALL} -m 755 Xorg.sh $(DESTDIR)$(bindir)/Xorg
|
|
-chown root $(DESTDIR)$(SUID_WRAPPER_DIR)/Xorg.wrap && chmod u+s $(DESTDIR)$(SUID_WRAPPER_DIR)/Xorg.wrap
|
|
endif
|
|
|
|
uninstall-local:
|
|
if CYGWIN
|
|
$(AM_V_at)rm -f $(DESTDIR)$(libdir)/libXorg.exe.a
|
|
endif
|
|
|
|
uninstall-hook:
|
|
$(AM_V_at)rm -f $(DESTDIR)$(bindir)/X
|
|
|
|
# Use variables from XORG_MANPAGE_SECTIONS and X Server configuration
|
|
# Do not include manpages.am as values are not appropriate for rc files
|
|
CONF_SUBSTS = -e 's|__filemansuffix__|$(FILE_MAN_SUFFIX)|g' \
|
|
-e 's|MODULEPATH|$(DEFAULT_MODULE_PATH)|g' \
|
|
-e 's|DEFAULTFONTPATH|$(COMPILEDDEFAULTFONTPATH)|g'
|
|
|
|
xorg.conf.example: xorgconf.cpp
|
|
$(AM_V_GEN)$(SED) $(CONF_SUBSTS) < $(srcdir)/xorgconf.cpp > $@
|
|
|
|
relink:
|
|
$(AM_V_at)rm -f Xorg$(EXEEXT) && $(MAKE) Xorg$(EXEEXT)
|
|
|
|
CLEANFILES = sdksyms.c sdksyms.dep Xorg.sh
|
|
EXTRA_DIST += sdksyms.sh
|
|
|
|
sdksyms.dep sdksyms.c: sdksyms.sh
|
|
$(AM_V_GEN)CPP='$(CPP)' AWK='$(AWK)' $(SHELL) $(srcdir)/sdksyms.sh $(top_srcdir) $(CFLAGS) $(AM_CFLAGS) $(AM_CPPFLAGS)
|
|
|
|
SDKSYMS_DEP = sdksyms.dep
|
|
-include $(SDKSYMS_DEP)
|
|
|
|
i2c/libi2c.la:
|
|
$(AM_V_at)cd i2c && $(MAKE) libi2c.la
|
|
|
|
dixmods/libdixmods.la:
|
|
$(AM_V_at)cd dixmods && $(MAKE) libdixmods.la
|
|
|
|
dixmods/libxorgxkb.la:
|
|
$(AM_V_at)cd dixmods && $(MAKE) libxorgxkb.la
|