View | Details | Raw Unified | Return to bug 936842
Collapse All | Expand All

(-)a/configure.ac (+4 lines)
Lines 2012-2017 if test "x$XORG" = xyes; then Link Here
2012
	AC_SUBST(XF86CONFIGDIR)
2012
	AC_SUBST(XF86CONFIGDIR)
2013
	CONFIGFILE="$sysconfdir/$XF86CONFIGFILE"
2013
	CONFIGFILE="$sysconfdir/$XF86CONFIGFILE"
2014
	LOGPREFIX="$logdir/Xorg."
2014
	LOGPREFIX="$logdir/Xorg."
2015
	XDG_DATA_HOME=".local/share"
2016
	XDG_DATA_HOME_LOGDIR="xorg"
2015
	AC_DEFINE(XORG_SERVER, 1, [Building Xorg server])
2017
	AC_DEFINE(XORG_SERVER, 1, [Building Xorg server])
2016
	AC_DEFINE(XORGSERVER, 1, [Building Xorg server])
2018
	AC_DEFINE(XORGSERVER, 1, [Building Xorg server])
2017
	AC_DEFINE(XFree86Server, 1, [Building XFree86 server])
2019
	AC_DEFINE(XFree86Server, 1, [Building XFree86 server])
Lines 2025-2030 if test "x$XORG" = xyes; then Link Here
2025
	AC_DEFINE_DIR(DEFAULT_MODULE_PATH, moduledir, [Default module search path])
2027
	AC_DEFINE_DIR(DEFAULT_MODULE_PATH, moduledir, [Default module search path])
2026
	AC_DEFINE_DIR(DEFAULT_LIBRARY_PATH, libdir, [Default library install path])
2028
	AC_DEFINE_DIR(DEFAULT_LIBRARY_PATH, libdir, [Default library install path])
2027
	AC_DEFINE_DIR(DEFAULT_LOGPREFIX, LOGPREFIX, [Default log location])
2029
	AC_DEFINE_DIR(DEFAULT_LOGPREFIX, LOGPREFIX, [Default log location])
2030
	AC_DEFINE_DIR(DEFAULT_XDG_DATA_HOME, XDG_DATA_HOME, [Default XDG_DATA dir under HOME])
2031
	AC_DEFINE_DIR(DEFAULT_XDG_DATA_HOME_LOGDIR, XDG_DATA_HOME_LOGDIR, [Default log dir under XDG_DATA_HOME])
2028
	AC_DEFINE_UNQUOTED(__VENDORDWEBSUPPORT__, ["$VENDOR_WEB"], [Vendor web address for support])
2032
	AC_DEFINE_UNQUOTED(__VENDORDWEBSUPPORT__, ["$VENDOR_WEB"], [Vendor web address for support])
2029
	if test "x$VGAHW" = xyes; then
2033
	if test "x$VGAHW" = xyes; then
2030
		AC_DEFINE(WITH_VGAHW, 1, [Building vgahw module])
2034
		AC_DEFINE(WITH_VGAHW, 1, [Building vgahw module])
(-)a/hw/xfree86/common/xf86Helper.c (-1 / +30 lines)
Lines 1240-1255 xf86ErrorF(const char *format, ...) Link Here
1240
    va_end(ap);
1240
    va_end(ap);
1241
}
1241
}
1242
1242
1243
/* Note temporarily modifies the passed in buffer! */
1244
static void xf86_mkdir_p(char *path)
1245
{
1246
    char *sep = path;
1247
1248
    while ((sep = strchr(sep + 1, '/'))) {
1249
        *sep = 0;
1250
        (void)mkdir(path, 0777);
1251
        *sep = '/';
1252
    }
1253
    (void)mkdir(path, 0777);
1254
}
1255
1243
void
1256
void
1244
xf86LogInit(void)
1257
xf86LogInit(void)
1245
{
1258
{
1246
    char *lf = NULL;
1259
    char *env, *lf = NULL;
1260
    char buf[PATH_MAX];
1247
1261
1248
#define LOGSUFFIX ".log"
1262
#define LOGSUFFIX ".log"
1249
#define LOGOLDSUFFIX ".old"
1263
#define LOGOLDSUFFIX ".old"
1250
1264
1251
    /* Get the log file name */
1265
    /* Get the log file name */
1252
    if (xf86LogFileFrom == X_DEFAULT) {
1266
    if (xf86LogFileFrom == X_DEFAULT) {
1267
        /* When not running as root, we won't be able to write to /var/log */
1268
        if (geteuid() != 0) {
1269
            if ((env = getenv("XDG_DATA_HOME")))
1270
                snprintf(buf, sizeof(buf), "%s/%s", env,
1271
                         DEFAULT_XDG_DATA_HOME_LOGDIR);
1272
            else if ((env = getenv("HOME")))
1273
                snprintf(buf, sizeof(buf), "%s/%s/%s", env,
1274
                         DEFAULT_XDG_DATA_HOME, DEFAULT_XDG_DATA_HOME_LOGDIR);
1275
1276
            if (env) {
1277
                xf86_mkdir_p(buf);
1278
                strlcat(buf, "/" DEFAULT_LOGPREFIX, sizeof(buf));
1279
                xf86LogFile = buf;
1280
            }
1281
        }
1253
        /* Append the display number and ".log" */
1282
        /* Append the display number and ".log" */
1254
        if (asprintf(&lf, "%s%%s" LOGSUFFIX, xf86LogFile) == -1)
1283
        if (asprintf(&lf, "%s%%s" LOGSUFFIX, xf86LogFile) == -1)
1255
            FatalError("Cannot allocate space for the log file name\n");
1284
            FatalError("Cannot allocate space for the log file name\n");
(-)a/hw/xfree86/man/xorg.conf.man (-1 / +5 lines)
Lines 442-452 __modulepath__ Link Here
442
.TP 7
442
.TP 7
443
.BI "LogFile \*q" path \*q
443
.BI "LogFile \*q" path \*q
444
sets the name of the Xorg server log file.
444
sets the name of the Xorg server log file.
445
The default log file name is
445
The default log file name when running as root is
446
.PP
446
.PP
447
.RS 11
447
.RS 11
448
.RI __logdir__/Xorg. <n> .log
448
.RI __logdir__/Xorg. <n> .log
449
.RE
449
.RE
450
and for non root it is
451
.RS 11
452
.RI $XDG_DATA_HOME/xorg/Xorg. <n> .log
453
.RE
450
.PP
454
.PP
451
.RS 7
455
.RS 7
452
where
456
where
(-)a/include/xorg-config.h.in (-1 / +6 lines)
Lines 48-53 Link Here
48
/* Path to server log file. */
48
/* Path to server log file. */
49
#undef DEFAULT_LOGPREFIX
49
#undef DEFAULT_LOGPREFIX
50
50
51
/* Default XDG_DATA dir under HOME */
52
#undef DEFAULT_XDG_DATA_HOME
53
54
/* Default log dir under XDG_DATA_HOME */
55
#undef DEFAULT_XDG_DATA_HOME_LOGDIR
56
51
/* Building DRI-capable DDX. */
57
/* Building DRI-capable DDX. */
52
#undef XF86DRI
58
#undef XF86DRI
53
59
54
- 

Return to bug 936842