mirror of
https://gitlab.freedesktop.org/xorg/xserver.git
synced 2026-05-05 08:48:01 +02:00
The install rule of Xorg.wrap is currently a dependency of the
install-data target instead of the install-exec target. The build also
uses install-exec-hook to change the ownership and set the SUID bit on
the Xorg.wrap binary. The problem is that install-exec-hook is only
ordered respective to the install-exec target, the rules of install-data
may or may not have been executed.
If install-exec-hook runs before the Xorg.wrap binary is in place,
a message similar to the following will be present in the build log:
chown: cannot access '/pkgdir/usr/lib/xorg-server/Xorg.wrap': No such file or directory
make[6]: [Makefile:1151: install-exec-hook] Error 1 (ignored)
All that needs to be done is to change the name of the program variable
to contain 'exec' for the install rule to depend on the install-exec
target.
Excerpt from the Automake manual, chapter 12.2 The Two Parts of Install:
"Any variable using a user-defined directory prefix with ‘exec’ in the
name (e.g., myexecbin_PROGRAMS) is installed by install-exec. All other
user-defined prefixes are installed by install-data."
https://bugs.freedesktop.org/show_bug.cgi?id=104419
Signed-off-by: Lukáš Krejčí <lskrejci@gmail.com>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit f615cb62d4)
152 lines
3.9 KiB
Makefile
152 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 xkb \
|
|
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 xkb 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$(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.la \
|
|
dixmods/libdixmods.la \
|
|
modes/libxf86modes.la \
|
|
ramdac/libramdac.la \
|
|
ddc/libddc.la \
|
|
i2c/libi2c.la \
|
|
$(XORG_LIBS) \
|
|
xkb/libxorgxkb.la \
|
|
$(DRI_LIB) \
|
|
$(DRI2_LIB) \
|
|
$(DRI3_LIB) \
|
|
$(top_builddir)/miext/sync/libsync.la \
|
|
$(top_builddir)/mi/libmi.la \
|
|
$(top_builddir)/os/libos.la \
|
|
$(top_builddir)/Xext/libXvidmode.la
|
|
|
|
Xorg_LDADD = \
|
|
$(LOCAL_LIBS) \
|
|
$(XORG_SYS_LIBS) \
|
|
$(XSERVER_SYS_LIBS)
|
|
Xorg_DEPENDENCIES = $(LOCAL_LIBS)
|
|
|
|
Xorg_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG)
|
|
|
|
if SUID_WRAPPER
|
|
wrapexecdir = $(SUID_WRAPPER_DIR)
|
|
wrapexec_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
|
|
|
|
xkb/libxorgxkb.la:
|
|
$(AM_V_at)cd xkb && $(MAKE) libxorgxkb.la
|