FS#16957 - [xrdb] Preprocessor fails since xorg-server-utils 7.5-2 (xrdb 1.0.6)
Attached to Project:
Arch Linux
Opened by P.H. (Vain) - Sunday, 01 November 2009, 13:28 GMT
Last edited by Jan de Groot (JGC) - Sunday, 01 November 2009, 14:24 GMT
Opened by P.H. (Vain) - Sunday, 01 November 2009, 13:28 GMT
Last edited by Jan de Groot (JGC) - Sunday, 01 November 2009, 14:24 GMT
|
Details
Since I upgraded to xorg-server-utils 7.5-2, xrdb no longer
processes any preprocessor statements in Xresource-files.
This results in a weird looking XDM, for example (no colors,
"CLIENTHOST" not replaced, etc).
This is caused by the way we configure our xrdb: ... --with-cpp=/usr/bin/mcpp\ -@old Since xrdb 1.0.6 (git commit fc0b73673a7b91b386d8a346652f9cc0c4a68d44 in git://anongit.freedesktop.org/git/xorg/app/xrdb) they use an additional check whether the given preproc-program is accessible/executable. This done via access(). As we pass an argument to mcpp (the "-@old"), this string (as a whole) is tested for accessibility: "/usr/bin/mcpp -@old". Of course, this fails. Hence, no preprocessor is invoked at all. Steps to reproduce: $ cat > /tmp/someXresource <<EOF #ifdef COLOR hello*world: HAS_COLORS #else hello*world: NO_COLORS #endif EOF $ xrdb -merge /tmp/someXresource xrdb: "hello*world" on line 4 overrides entry on line 2 $ xrdb -query ... hello*world: NO_COLORS Quick workaround/fix: Configure xrdb for the use with "cpp": ... --with-cpp=/usr/bin/cpp Doing so won't give an error message and set "hello*world: HAS_COLORS" in the example above (or well, it should do so because "COLOR" should be defined). However, this adds a dependency for "gcc" to the package. Maybe "mcpp" without the "-@old" would do it? Dunno. |
This task depends upon
Closed by Jan de Groot (JGC)
Sunday, 01 November 2009, 14:24 GMT
Reason for closing: Fixed
Additional comments about closing: Should be fixed with 7.5-3.
Sunday, 01 November 2009, 14:24 GMT
Reason for closing: Fixed
Additional comments about closing: Should be fixed with 7.5-3.