X-Git-Url: https://git.piment-noir.org/?p=deb_xorg-server.git;a=blobdiff_plain;f=debian%2Fpatches%2F191-Xorg-add-an-extra-module-path.patch;fp=debian%2Fpatches%2F191-Xorg-add-an-extra-module-path.patch;h=6ff6c3065a399915c94211b9b3ed55f0070b35bb;hp=0000000000000000000000000000000000000000;hb=7217e0ca50bba73dad94782e67980aeeb24ab693;hpb=a09e091a5c996d46a398abb27b06fe504591673f diff --git a/debian/patches/191-Xorg-add-an-extra-module-path.patch b/debian/patches/191-Xorg-add-an-extra-module-path.patch new file mode 100644 index 0000000..6ff6c30 --- /dev/null +++ b/debian/patches/191-Xorg-add-an-extra-module-path.patch @@ -0,0 +1,90 @@ +diff --git a/configure.ac b/configure.ac +index 2693ce7..44780a2 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -467,6 +467,10 @@ AC_ARG_WITH(module-dir, AS_HELP_STRING([--with-module-dir=DIR], + [Directory where modules are installed (default: $libdir/xorg/modules)]), + [ moduledir="$withval" ], + [ moduledir="${libdir}/xorg/modules" ]) ++AC_ARG_WITH(extra-module-dir,AS_HELP_STRING([--with-extra-module-dir=DIR], ++ [Extra module directory to search for modules before the default one (default: empty)]), ++ [ extra_moduledir="$withval" ], ++ [ extra_moduledir="" ]) + AC_ARG_WITH(log-dir, AS_HELP_STRING([--with-log-dir=DIR], + [Directory where log files are kept (default: $localstatedir/log)]), + [ logdir="$withval" ], +@@ -1751,6 +1755,7 @@ if test "x$XORG" = xyes; then + AC_DEFINE_DIR(XF86CONFIGFILE, XF86CONFIGFILE, [Name of configuration file]) + AC_DEFINE_DIR(__XCONFIGDIR__, XF86CONFIGDIR, [Name of configuration directory]) + AC_DEFINE_DIR(DEFAULT_MODULE_PATH, moduledir, [Default module search path]) ++ AC_DEFINE_DIR(EXTRA_MODULE_PATH, extra_moduledir, [Extra module search path, searched before the default one]) + AC_DEFINE_DIR(DEFAULT_LIBRARY_PATH, libdir, [Default library install path]) + AC_DEFINE_DIR(DEFAULT_LOGPREFIX, LOGPREFIX, [Default log location]) + AC_DEFINE_UNQUOTED(__VENDORDWEBSUPPORT__, ["$VENDOR_WEB"], [Vendor web address for support]) +diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c +index ec679df..8ae85ab 100644 +--- a/hw/xfree86/common/xf86Config.c ++++ b/hw/xfree86/common/xf86Config.c +@@ -647,11 +647,22 @@ configFiles(XF86ConfFilesPtr fileconf) + + /* ModulePath */ + +- if (fileconf) { +- if (xf86ModPathFrom != X_CMDLINE && fileconf->file_modulepath) { ++ if (xf86ModPathFrom != X_CMDLINE) { ++ if (fileconf && fileconf->file_modulepath) { + xf86ModulePath = fileconf->file_modulepath; + xf86ModPathFrom = X_CONFIG; + } ++ else if (strcmp(xf86ExtraModulePath, "") != 0) { ++ char *newpath = malloc(strlen(xf86ExtraModulePath) ++ + strlen(xf86ModulePath) ++ + 2); ++ ++ strcpy(newpath, xf86ExtraModulePath); ++ strcat(newpath, ","); ++ strcat(newpath, xf86ModulePath); ++ ++ xf86ModulePath = newpath; ++ } + } + + xf86Msg(xf86ModPathFrom, "ModulePath set to \"%s\"\n", xf86ModulePath); +diff --git a/hw/xfree86/common/xf86Globals.c b/hw/xfree86/common/xf86Globals.c +index 0071004..13c403f 100644 +--- a/hw/xfree86/common/xf86Globals.c ++++ b/hw/xfree86/common/xf86Globals.c +@@ -136,6 +136,7 @@ xf86InfoRec xf86Info = { + const char *xf86ConfigFile = NULL; + const char *xf86ConfigDir = NULL; + const char *xf86ModulePath = DEFAULT_MODULE_PATH; ++const char *xf86ExtraModulePath = EXTRA_MODULE_PATH; + MessageType xf86ModPathFrom = X_DEFAULT; + const char *xf86LogFile = DEFAULT_LOGPREFIX; + MessageType xf86LogFileFrom = X_DEFAULT; +diff --git a/hw/xfree86/common/xf86Priv.h b/hw/xfree86/common/xf86Priv.h +index 8d9cb55..fc057b3 100644 +--- a/hw/xfree86/common/xf86Priv.h ++++ b/hw/xfree86/common/xf86Priv.h +@@ -77,6 +77,7 @@ extern _X_EXPORT const char *xf86ServerName; + + extern _X_EXPORT xf86InfoRec xf86Info; + extern _X_EXPORT const char *xf86ModulePath; ++extern _X_EXPORT const char *xf86ExtraModulePath; + extern _X_EXPORT MessageType xf86ModPathFrom; + extern _X_EXPORT const char *xf86LogFile; + extern _X_EXPORT MessageType xf86LogFileFrom; +diff --git a/include/xorg-config.h.in b/include/xorg-config.h.in +index 2cc416a..4722023 100644 +--- a/include/xorg-config.h.in ++++ b/include/xorg-config.h.in +@@ -42,6 +42,9 @@ + /* Path to loadable modules. */ + #undef DEFAULT_MODULE_PATH + ++/* Path to extra loadable modules. */ ++#undef EXTRA_MODULE_PATH ++ + /* Path to installed libraries. */ + #undef DEFAULT_LIBRARY_PATH +