mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
From: marc doz <doz.marc@gmail.com>
To: ptxdist@pengutronix.de
Subject: Re: [ptxdist] how to escape $ in a rule ?
Date: Mon, 23 Jun 2014 13:46:56 +0200	[thread overview]
Message-ID: <CAP+MAyzeLvrtBr6u=7RXO1+enT=H6ThBX-O1Mm6462PazwmvRw@mail.gmail.com> (raw)
In-Reply-To: <CAP+MAyxunYR8RukLJQK0h2Oo3DynZRNBNhwzLVERsuTPE5MrDA@mail.gmail.com>


[-- Attachment #1.1: Type: text/plain, Size: 7184 bytes --]

2014-06-20 15:52 GMT+02:00 marc doz <doz.marc@gmail.com>:

> hello,
> Thanks but it don't work ,
>
> I will prepare a test rule & a test package for monday in order to test
> the different solutions & I will publish the log
>
> regards
> marc
>
>
>
>
> 2014-06-20 15:37 GMT+02:00 Michael Olbrich <m.olbrich@pengutronix.de>:
>
> Hi,
>>
>> On Fri, Jun 20, 2014 at 03:05:43PM +0200, marc doz wrote:
>> > I’m writing a recipe & I’m using install_copy & install_tree function
>> in my
>> > recipe foo.make
>> >
>> > $(call install_copy, foo, 0, 0, 0755, $(FOO_DIR)/AAA/foo$1.bar,
>> > /AAA/foo$1.bar)
>> >
>> > $(call install_tree, foo, 0, 0, 0755, $(FOO_DIR)/AAA/, /AAA/)
>> >
>> >
>> > I would like to avoid the substitution of $1 because the file name that
>> I
>> > would like embed is really foo$1.bar  & ptxdist try to copy foo.bar with
>> > install_copy & install_tree..
>> >
>> >
>> > Do you know  a way for escaping the $ ?
>> >
>> >
>> > $$ don’t seem work
>>
>> $(call install_copy, foo, 0, 0, 0755, -, /AAA/foo$$1.bar)
>>
>> should work, at least with the current ptxdist. I'm not sure about
>> ptxdist-2012.03.0, that's rather old. What error do you get? Maybe you
>> need
>> to escape it again (for make or shell).
>>
>> Michael
>>
>> --
>> Pengutronix e.K.                           |                             |
>> Industrial Linux Solutions                 | http://www.pengutronix.de/
>>  |
>> Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0
>>  |
>> Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555
>> |
>>
>> --
>> ptxdist mailing list
>> ptxdist@pengutronix.de
>>
>
>

hello,

please find the test results :

regularFile -> regularFile
foo$1.bar   -> foo.bar
foo\$1.bar  -> foo\.bar
foo$$1.bar  -> foo.bar
foo\$\$1.bar -> foo\.bar
foo$\$1      ->foo.bar
'foo$1.bar' -> foo.bar
'foo\$1.bar' -> foo.bar
'foo$$1.bar' -> foo.bar
'foo\$\$1.bar' -> foo.bar
'foo$\$1.bar' -> foo.bar



Test package ( foo-0.1.tar):

diff -Naur foo/AAA/foo$1.bar foo-0.1/AAA/foo$1.bar
--- foo/AAA/foo$1.bar 1970-01-01 01:00:00.000000000 +0100
+++ foo-0.1/AAA/foo$1.bar 2014-06-23 11:16:53.757159549 +0200
@@ -0,0 +1 @@
+foo$1.bar
diff -Naur foo/AAA/regularFile foo-0.1/AAA/regularFile
--- foo/AAA/regularFile 1970-01-01 01:00:00.000000000 +0100
+++ foo-0.1/AAA/regularFile 2014-06-23 11:18:10.725160705 +0200
@@ -0,0 +1 @@
+regularFile

ptdist rules
foo.make :
PACKAGES-$(PTXCONF_FOO) += foo

FOO_VERSION := 0.1
FOO_MD5 := 6c45d1d62dc7beafecdd0362e40b95de
FOO := foo-$(FOO_VERSION)
FOO_SUFFIX := tar
FOO_URL :=
FOO_SOURCE := $(SRCDIR)/$(FOO).$(FOO_SUFFIX)
FOO_DIR := $(BUILDDIR)/$(FOO)
FOO_LICENSE := unknown


$(STATEDIR)/foo.compile:
@$(call targetinfo)
# do nothing
@$(call touch)

$(STATEDIR)/foo.install:
@$(call targetinfo)
# do nothing
@$(call touch)

$(STATEDIR)/foo.targetinstall:
@$(call targetinfo)

@$(call install_init, foo)
@$(call install_fixup, foo,PRIORITY,optional)
@$(call install_fixup, foo,SECTION,base)
@$(call install_fixup, foo,AUTHOR,"marc")
@$(call install_fixup, foo,DESCRIPTION,missing)
# @$(call install_copy, foo, 0, 0, 0755, $(FOO_DIR)/AAA/regularFile ,
/AAA/regularFile)
# @$(call install_copy, foo, 0, 0, 0755, $(FOO_DIR)/AAA/foo$1.bar ,
/AAA/foo$1.bar)
@$(call install_copy, foo, 0, 0, 0755, $(FOO_DIR)/AAA/foo\$1.bar ,
/AAA/foo\$1.bar)
# @$(call install_copy, foo, 0, 0, 0755, $(FOO_DIR)/AAA/foo$$1.bar ,
/AAA/foo$$1.bar)
# @$(call install_copy, foo, 0, 0, 0755, $(FOO_DIR)/AAA/foo\$\$1.bar ,
/AAA/foo\$\$1.bar)
# @$(call install_copy, foo, 0, 0, 0755, $(FOO_DIR)/AAA/foo$\$1.bar ,
/AAA/foo$\$1.bar)

# @$(call install_copy, foo, 0, 0, 0755, $(FOO_DIR)/foobar, /dev/null)

@$(call install_finish, foo)

@$(call touch)


# vim: syntax=make

foo.in :
## SECTION=project_specific

config FOO
tristate
prompt "foo"
help
  FIXME

these error messages are printed during  tests :

A) @$(call install_copy, foo, 0, 0, 0755, $(FOO_DIR)/AAA/regularFile ,
/AAA/regularFile)

install file:
  src=BSP/platform-phyFLEX-i.MX6/build-target/foo-0.1/AAA/regularFile
  dst=/AAA/regularFile
  owner=0
  group=0
  permissions=0755

B) @$(call install_copy, foo, 0, 0, 0755, $(FOO_DIR)/AAA/foo$1.bar ,
/AAA/foo$1.bar)

No suitable file '/AAA/foo.bar' could be found in any of these locations:
/home/mdoz/BSP/platform-phyFLEX-i.MX6/build-target/foo-0.1/AAA/foo.bar.phyFLEX-i.MX6
/home/mdoz/BSP/platform-phyFLEX-i.MX6/build-target/foo-0.1/AAA/foo.bar

install file:
  src=BSP/platform-phyFLEX-i.MX6/build-target/foo-0.1/AAA/foo.bar
  dst=/AAA/foo.bar
  owner=0
  group=0
  permissions=0755


Error: file not found:
/home/mdoz/BSP/platform-phyFLEX-i.MX6/build-target/foo-0.1/AAA/foo.bar

C) @$(call install_copy, foo, 0, 0, 0755, $(FOO_DIR)/AAA/foo\$1.bar ,
/AAA/foo\$1.bar)

No suitable file '/AAA/foo\.bar' could be found in any of these locations:
/home/mdoz/BSP/platform-phyFLEX-i.MX6/build-target/foo-0.1/AAA/foo\.bar.phyFLEX-i.MX6
/home/mdoz/BSP/platform-phyFLEX-i.MX6/build-target/foo-0.1/AAA/foo\.bar

install file:
  src=BSP/platform-phyFLEX-i.MX6/build-target/foo-0.1/AAA/foo\.bar
  dst=/AAA/foo\.bar
  owner=0
  group=0
  permissions=0755


Error: file not found:
/home/mdoz/BSP/platform-phyFLEX-i.MX6/build-target/foo-0.1/AAA/foo\.bar


D) @$(call install_copy, foo, 0, 0, 0755, $(FOO_DIR)/AAA/foo$$1.bar ,
/AAA/foo$$1.bar)

No suitable file '/AAA/foo.bar' could be found in any of these locations:
/home/mdoz/BSP/platform-phyFLEX-i.MX6/build-target/foo-0.1/AAA/foo.bar.phyFLEX-i.MX6
/home/mdoz/BSP/platform-phyFLEX-i.MX6/build-target/foo-0.1/AAA/foo.bar

install file:
  src=BSP/platform-phyFLEX-i.MX6/build-target/foo-0.1/AAA/foo.bar
  dst=/AAA/foo.bar
  owner=0
  group=0
  permissions=0755


Error: file not found:
/home/mdoz/BSP/platform-phyFLEX-i.MX6/build-target/foo-0.1/AAA/foo.bar

E) @$(call install_copy, foo, 0, 0, 0755, $(FOO_DIR)/AAA/foo\$\$1.bar ,
/AAA/foo\$\$1.bar)
No suitable file '/AAA/foo\.bar' could be found in any of these locations:
/home/mdoz/BSP/platform-phyFLEX-i.MX6/build-target/foo-0.1/AAA/foo\.bar.phyFLEX-i.MX6
/home/mdoz/BSP/platform-phyFLEX-i.MX6/build-target/foo-0.1/AAA/foo\.bar

install file:
  src=BSP/platform-phyFLEX-i.MX6/build-target/foo-0.1/AAA/foo\.bar
  dst=/AAA/foo\.bar
  owner=0
  group=0
  permissions=0755


Error: file not found:
/home/mdoz/BSP/platform-phyFLEX-i.MX6/build-target/foo-0.1/AAA/foo\.bar

Error: install_file failed!

F) @$(call install_copy, foo, 0, 0, 0755, $(FOO_DIR)/AAA/foo$\$1.bar ,
/AAA/foo$\$1.bar)
No suitable file '/AAA/foo.bar' could be found in any of these locations:
/home/mdoz/BSP/platform-phyFLEX-i.MX6/build-target/foo-0.1/AAA/foo.bar.phyFLEX-i.MX6
/home/mdoz/BSP/platform-phyFLEX-i.MX6/build-target/foo-0.1/AAA/foo.bar

install file:
  src=BSP/platform-phyFLEX-i.MX6/build-target/foo-0.1/AAA/foo.bar
  dst=/AAA/foo.bar
  owner=0
  group=0
  permissions=0755


Error: file not found:
/home/mdoz/BSP/platform-phyFLEX-i.MX6/build-target/foo-0.1/AAA/foo.bar

regards,
Marc

[-- Attachment #1.2: Type: text/html, Size: 12460 bytes --]

[-- Attachment #2: foo-0.1.tar --]
[-- Type: application/x-tar, Size: 10240 bytes --]

[-- Attachment #3: Type: text/plain, Size: 48 bytes --]

-- 
ptxdist mailing list
ptxdist@pengutronix.de

  reply	other threads:[~2014-06-23 11:47 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-20 13:05 marc doz
2014-06-20 13:08 ` Alexander Aring
2014-06-20 13:15   ` marc doz
2014-06-20 13:37 ` Michael Olbrich
2014-06-20 13:52   ` marc doz
2014-06-23 11:46     ` marc doz [this message]
2014-06-23 13:20       ` Michael Olbrich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAP+MAyzeLvrtBr6u=7RXO1+enT=H6ThBX-O1Mm6462PazwmvRw@mail.gmail.com' \
    --to=doz.marc@gmail.com \
    --cc=ptxdist@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox