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 (-2 / +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
- 
55
filename prefix
60
filename prefix
56
--
57
configure.ac                    | 5 +++--
61
configure.ac                    | 5 +++--
58
hw/xfree86/common/xf86Globals.c | 2 +-
62
hw/xfree86/common/xf86Globals.c | 2 +-
59
include/xorg-config.h.in        | 5 ++++-
63
include/xorg-config.h.in        | 5 ++++-
60
include/xwin-config.h.in        | 3 ---
64
include/xwin-config.h.in        | 3 ---
61
4 files changed, 8 insertions(+), 7 deletions(-)
65
4 files changed, 8 insertions(+), 7 deletions(-)
(-)a/configure.ac (-2 / +3 lines)
Lines 2011-2017 if test "x$XORG" = xyes; then Link Here
2011
	XF86CONFIGDIR="xorg.conf.d"
2011
	XF86CONFIGDIR="xorg.conf.d"
2012
	AC_SUBST(XF86CONFIGDIR)
2012
	AC_SUBST(XF86CONFIGDIR)
2013
	CONFIGFILE="$sysconfdir/$XF86CONFIGFILE"
2013
	CONFIGFILE="$sysconfdir/$XF86CONFIGFILE"
2014
	LOGPREFIX="$logdir/Xorg."
2014
	LOGPREFIX="Xorg."
2015
	XDG_DATA_HOME=".local/share"
2015
	XDG_DATA_HOME=".local/share"
2016
	XDG_DATA_HOME_LOGDIR="xorg"
2016
	XDG_DATA_HOME_LOGDIR="xorg"
2017
	AC_DEFINE(XORG_SERVER, 1, [Building Xorg server])
2017
	AC_DEFINE(XORG_SERVER, 1, [Building Xorg server])
Lines 2026-2032 if test "x$XORG" = xyes; then Link Here
2026
	AC_DEFINE_DIR(__XCONFIGDIR__, XF86CONFIGDIR, [Name of configuration directory])
2026
	AC_DEFINE_DIR(__XCONFIGDIR__, XF86CONFIGDIR, [Name of configuration directory])
2027
	AC_DEFINE_DIR(DEFAULT_MODULE_PATH, moduledir, [Default module search path])
2027
	AC_DEFINE_DIR(DEFAULT_MODULE_PATH, moduledir, [Default module search path])
2028
	AC_DEFINE_DIR(DEFAULT_LIBRARY_PATH, libdir, [Default library install path])
2028
	AC_DEFINE_DIR(DEFAULT_LIBRARY_PATH, libdir, [Default library install path])
2029
	AC_DEFINE_DIR(DEFAULT_LOGPREFIX, LOGPREFIX, [Default log location])
2029
	AC_DEFINE_DIR(DEFAULT_LOGDIR, logdir, [Default log location])
2030
	AC_DEFINE_DIR(DEFAULT_LOGPREFIX, LOGPREFIX, [Default logfile prefix])
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, 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])
2032
	AC_DEFINE_DIR(DEFAULT_XDG_DATA_HOME_LOGDIR, XDG_DATA_HOME_LOGDIR, [Default log dir under XDG_DATA_HOME])
2032
	AC_DEFINE_UNQUOTED(__VENDORDWEBSUPPORT__, ["$VENDOR_WEB"], [Vendor web address for support])
2033
	AC_DEFINE_UNQUOTED(__VENDORDWEBSUPPORT__, ["$VENDOR_WEB"], [Vendor web address for support])
(-)a/hw/xfree86/common/xf86Globals.c (-1 / +1 lines)
Lines 144-150 const char *xf86ConfigFile = NULL; Link Here
144
const char *xf86ConfigDir = NULL;
144
const char *xf86ConfigDir = NULL;
145
const char *xf86ModulePath = DEFAULT_MODULE_PATH;
145
const char *xf86ModulePath = DEFAULT_MODULE_PATH;
146
MessageType xf86ModPathFrom = X_DEFAULT;
146
MessageType xf86ModPathFrom = X_DEFAULT;
147
const char *xf86LogFile = DEFAULT_LOGPREFIX;
147
const char *xf86LogFile = DEFAULT_LOGDIR "/" DEFAULT_LOGPREFIX;
148
MessageType xf86LogFileFrom = X_DEFAULT;
148
MessageType xf86LogFileFrom = X_DEFAULT;
149
Bool xf86LogFileWasOpened = FALSE;
149
Bool xf86LogFileWasOpened = FALSE;
150
serverLayoutRec xf86ConfigLayout = { NULL, };
150
serverLayoutRec xf86ConfigLayout = { NULL, };
(-)a/include/xorg-config.h.in (-1 / +4 lines)
Lines 45-51 Link Here
45
/* Path to installed libraries. */
45
/* Path to installed libraries. */
46
#undef DEFAULT_LIBRARY_PATH
46
#undef DEFAULT_LIBRARY_PATH
47
47
48
/* Path to server log file. */
48
/* Default log location */
49
#undef DEFAULT_LOGDIR
50
51
/* Default logfile prefix */
49
#undef DEFAULT_LOGPREFIX
52
#undef DEFAULT_LOGPREFIX
50
53
51
/* Default XDG_DATA dir under HOME */
54
/* Default XDG_DATA dir under HOME */
(-)a/include/xwin-config.h.in (-5 lines)
Lines 29-36 Link Here
29
/* Location of system.XWinrc */
29
/* Location of system.XWinrc */
30
#undef SYSCONFDIR
30
#undef SYSCONFDIR
31
31
32
/* Default log location */
33
#undef DEFAULT_LOGDIR
34
35
/* Whether we should re-locate the root to where the executable lives */
32
/* Whether we should re-locate the root to where the executable lives */
36
#undef RELOCATE_PROJECTROOT
33
#undef RELOCATE_PROJECTROOT
37
- 
38
--
39
hw/xfree86/common/xf86Helper.c | 4 ++++
34
hw/xfree86/common/xf86Helper.c | 4 ++++
40
1 file changed, 4 insertions(+)
35
1 file changed, 4 insertions(+)
(-)a/hw/xfree86/common/xf86Helper.c (-2 / +4 lines)
Lines 1258-1267 xf86LogInit(void) Link Here
1258
{
1258
{
1259
    char *env, *lf = NULL;
1259
    char *env, *lf = NULL;
1260
    char buf[PATH_MAX];
1260
    char buf[PATH_MAX];
1261
    struct stat statbuf;
1261
1262
1262
#define LOGSUFFIX ".log"
1263
#define LOGSUFFIX ".log"
1263
#define LOGOLDSUFFIX ".old"
1264
#define LOGOLDSUFFIX ".old"
1264
1265
1266
    if (stat ("/etc/fmq-pause-x", &statbuf) == 0)
1267
       kill (getpid (), SIGSTOP);
1268
1265
    /* Get the log file name */
1269
    /* Get the log file name */
1266
    if (xf86LogFileFrom == X_DEFAULT) {
1270
    if (xf86LogFileFrom == X_DEFAULT) {
1267
        /* When not running as root, we won't be able to write to /var/log */
1271
        /* When not running as root, we won't be able to write to /var/log */
1268
- 
1269
keeptty option
1272
keeptty option
1270
--
1271
hw/xfree86/os-support/linux/lnx_init.c | 6 ------
1273
hw/xfree86/os-support/linux/lnx_init.c | 6 ------
1272
1 file changed, 6 deletions(-)
1274
1 file changed, 6 deletions(-)
(-)a/hw/xfree86/os-support/linux/lnx_init.c (-8 lines)
Lines 94-105 xf86OpenConsole(void) Link Here
94
    char *vcs[] = { "/dev/vc/%d", "/dev/tty%d", NULL };
94
    char *vcs[] = { "/dev/vc/%d", "/dev/tty%d", NULL };
95
95
96
    if (serverGeneration == 1) {
96
    if (serverGeneration == 1) {
97
98
        /* when KeepTty check if we're run with euid==0 */
99
        if (KeepTty && geteuid() != 0)
100
            FatalError("xf86OpenConsole:"
101
                       " Server must be suid root for option \"KeepTTY\"\n");
102
103
        /*
97
        /*
104
         * setup the virtual terminal manager
98
         * setup the virtual terminal manager
105
         */
99
         */
106
- 
107
when it is our vt
100
when it is our vt
108
--
109
hw/xfree86/os-support/linux/lnx_init.c | 19 ++++++++++++++++++-
101
hw/xfree86/os-support/linux/lnx_init.c | 19 ++++++++++++++++++-
110
1 file changed, 18 insertions(+), 1 deletion(-)
102
1 file changed, 18 insertions(+), 1 deletion(-)
(-)a/hw/xfree86/os-support/linux/lnx_init.c (-2 / +18 lines)
Lines 86-94 switch_to(int vt, const char *from, Bool fatal) Link Here
86
void
86
void
87
xf86OpenConsole(void)
87
xf86OpenConsole(void)
88
{
88
{
89
    int i, fd = -1, ret;
89
    int i, fd = -1, ret, current_vt = -1;
90
    struct vt_mode VT;
90
    struct vt_mode VT;
91
    struct vt_stat vts;
91
    struct vt_stat vts;
92
    struct stat st;
92
    MessageType from = X_PROBED;
93
    MessageType from = X_PROBED;
93
    char *tty0[] = { "/dev/tty0", "/dev/vc/0", NULL };
94
    char *tty0[] = { "/dev/tty0", "/dev/vc/0", NULL };
94
    char *vcs[] = { "/dev/vc/%d", "/dev/tty%d", NULL };
95
    char *vcs[] = { "/dev/vc/%d", "/dev/tty%d", NULL };
Lines 131-136 xf86OpenConsole(void) Link Here
131
            close(fd);
132
            close(fd);
132
        }
133
        }
133
134
135
        /* Some of stdin / stdout / stderr maybe redirected to a file */
136
        for (i = STDIN_FILENO; i <= STDERR_FILENO; i++) {
137
            ret = fstat(i, &st);
138
            if (ret == 0 && S_ISCHR(st.st_mode) && major(st.st_rdev) == 4) {
139
                current_vt = minor(st.st_rdev);
140
                break;
141
            }
142
        }
143
144
        if (!KeepTty && current_vt == xf86Info.vtno) {
145
            xf86Msg(X_PROBED,
146
                    "controlling tty is VT number %d, auto-enabling KeepTty\n",
147
                    current_vt);
148
            KeepTty = TRUE;
149
        }
150
134
        xf86Msg(from, "using VT number %d\n\n", xf86Info.vtno);
151
        xf86Msg(from, "using VT number %d\n\n", xf86Info.vtno);
135
152
136
        if (!KeepTty) {
153
        if (!KeepTty) {
137
- 

Return to bug 936842