[PATCH] fix overquoting of $(XKBCONFIGROOT)

Dan Nicholson dbn.lists at gmail.com
Sun Mar 27 22:46:40 PDT 2011


On Fri, Mar 25, 2011 at 11:54 AM, Matt Turner <mattst88 at gmail.com> wrote:
> On Thu, Mar 24, 2011 at 10:44 PM, Dan Nicholson <dbn.lists at gmail.com> wrote:
>> On Thu, Mar 24, 2011 at 2:17 PM, Matt Turner <mattst88 at gmail.com> wrote:
>>> On Thu, Mar 24, 2011 at 7:19 PM, Matt Turner <mattst88 at gmail.com> wrote:
>>>> On Thu, Mar 24, 2011 at 7:09 PM, Dan Nicholson <dbn.lists at gmail.com> wrote:
>>>>> On Thu, Mar 24, 2011 at 10:14 AM, Daniel Stone <daniel at fooishbar.org> wrote:
>>>>>> On Thu, Mar 24, 2011 at 09:20:39AM -0400, Gaetan Nadon wrote:
>>>>>>> On Wed, 2011-03-23 at 23:29 -0400, Matt Turner wrote:
>>>>>>> > Fixes: http://bugs.gentoo.org/show_bug.cgi?id=360227
>>>>>>> >
>>>>>>> > Problem is easily seen during compile:
>>>>>>> >     -DDFLT_XKB_CONFIG_ROOT='""/usr/share/X11/xkb""'
>>>>>>>
>>>>>>> This is what I get on Ubuntu before the patch:
>>>>>>>
>>>>>>>     -DDFLT_XKB_CONFIG_ROOT=\"/home/nadon/xorg/src/share/X11/xkb\"
>>>>>>>
>>>>>>> Is this a platform difference?
>>>>>>>
>>>>>>> With the patch I get:
>>>>>>>
>>>>>>>         -DDFLT_XKB_CONFIG_ROOT='/home/nadon/xorg/src/share/X11/xkb'
>>>>>>
>>>>>> Why not just use xserver's AC_DEFINE_PATH macro rather than buggering
>>>>>> around with the command line?
>>>>>
>>>>> Yeah, that's probably the right thing to do. Although, I'm still not
>>>>> sure Matt's path with embedded quotes won't get screwed up. Actually,
>>>>> since AC_DEFINE_DIR uses eval a couple times, I'm sure the quotes
>>>>> would get taken out. Thinking about this some more, I'm sure the issue
>>>>> can be worked around by adding an eval when getting the variable from
>>>>> pkg-config.
>>>>>
>>>>> $ cat > test.pc << "EOF"
>>>>> foo="bar"
>>>>> Name: test
>>>>> Description: test
>>>>> Version: 1.2.3
>>>>> EOF
>>>>> $ FOO=`pkg-config --variable=foo ./test.pc`
>>>>> $ echo x${FOO}x
>>>>> x"bar"x
>>>>> $ eval FOO=`pkg-config --variable=foo ./test.pc`
>>>>> $ echo x${FOO}x
>>>>> xbarx
>>>>>
>>>>> Whatever.
>>>>>
>>>>> --
>>>>> Dan
>>>>
>>>> xkeyboard-config-2.0 installed on another system of mine doesn't have
>>>> quotes in /usr/share/pkgconfig/xkeyboard-config.pc so this is
>>>> definitely a Gentoo bug.
>>>
>>> OK, more info. The breakage occurred when we (Gentoo) began putting
>>> quotes around it to allow spaces, say for systems with a weird prefix.
>>> So, what Dan suggests might be good. Thoughts?
>>
>> You don't need to do that in the pkgconfig file, though. pkgconfig is
>> not a shell and will read the whole string up to the newline. When you
>> get it into a shell, you have to quote it, but that's outside the
>> realm of the .pc file. This seems like a gentoo bug to me.
>>
>> --
>> Dan
>
> How does one pass an argument containing spaces (and presumably,
> quotes) to xkeyboard-config's ./configure --with-xkb-base= without
> running into this kind of problem?

It seemed to work fine when I tried ./configure
--with-xkb-base="/path/s p a c e" just now.

--
Dan


More information about the xorg-devel mailing list