[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Moving to multiarch-compatible XS paths


tomas@tuxteam.de wrote:
> > Workaround: Strip the blank, e.g. with sed:
> > 
> >   mv $(TMP)$(shell perl -V::vendorarch: | sed -e 's/ //')/Apache $(TMP)/usr/share/perl5/
> > 
> > Ugly, but does the job.
> Hmm. But then, you still have the single quotes around it, no?

Yes, but it doesn't matter in debian/rules.

> On my box (pretty plain-ish wheezy)
>   tomas@rasputin:~$ perl -V::vendorarch:
>   '/usr/lib/perl5' tomas@rasputin:~$ 

Yes. But "$(shell …)" is Makefile-ish and the result will be parsed
completely by the shell to which make will pass the generated command,
i.e. including all dollar signs, single quotes, etc. which the shell
command will output. That's different from how the shell itself parses
$(…) (needs to be written "$$(…)" inside a Makefile) where IIRC only
globbing ist still expanded while the quoting and variable parsing
phase has already passed.

And in the shell the single quotes are just (valid) quoting as in 

    mv foo'bar'fnord blafasel

which will be parsed into

   'mv', 'foobarfnord', and 'blafasel'

		Regards, Axel
 ,''`.  |  Axel Beckert <abe@debian.org>, http://people.debian.org/~abe/
: :' :  |  Debian Developer, ftp.ch.debian.org Admin
`. `'   |  1024D: F067 EA27 26B9 C3FC 1486  202E C09E 1D89 9593 0EDE
  `-    |  4096R: 2517 B724 C5F6 CA99 5329  6E61 2FF9 CD59 6126 16B5

Reply to: