Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Nikolay Dimitrov <picmaster@mail.bg>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH] linux: handle read-only dts files
Date: Wed, 12 Aug 2015 19:11:05 +0300	[thread overview]
Message-ID: <55CB7019.5080703@mail.bg> (raw)
In-Reply-To: <55CB6E20.5040206@mentor.com>

Hi Hollis,

On 08/12/2015 07:02 PM, Hollis Blanchard wrote:
> The DTS exists at $(BR2_LINUX_KERNEL_CUSTOM_DTS_PATH) because that's
> where it lives. It's copied to $(KERNEL_ARCH_PATH)/boot/dts/ so that the
> kernel build process can build a DTB out of it (which is later copied to
> build/images/).
>
> Or did I misunderstand the question?

Sorry, I could've been probably more clear. My question was whether the
DTS needs to exist also at the destination ($(KERNEL_ARCH_PATH)/boot
/dts/) before the copying happens.

If it doesn't exist at the destination, the VCS wouldn't have checked
it out as r/o file, and the issue wouldn't happen in the first place
(e.g. the copy operation will succeed). Also, when we have 2 files with
the same name and content, this tends to create confusion with
developers (aka which file was the primary one).

>
> Hollis Blanchard
> Mentor Graphics Emulation Division
>
> On 08/12/2015 07:58 AM, Nikolay Dimitrov wrote:
>> Hi Holis,
>>
>> On 08/12/2015 03:11 AM, Hollis Blanchard wrote:
>>> Some fine version control systems make all files read-only. The
>>> custom DTS file
>>> may therefore be read-only, and that permission is preserved when
>>> copying into
>>> the Linux build directory. A subsequent rebuild tries to 'cp' again,
>>> which
>>> fails with a "Permission denied" error unless the -f option is used.
>>>
>>> Signed-off-by: Hollis Blanchard <hollis_blanchard@mentor.com>
>>> ---
>>>   linux/linux.mk | 2 +-
>>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/linux/linux.mk b/linux/linux.mk
>>> index 375a9e1..a4c4733 100644
>>> --- a/linux/linux.mk
>>> +++ b/linux/linux.mk
>>> @@ -270,7 +270,7 @@ endif
>>>   # configuration has changed.
>>>   define LINUX_BUILD_CMDS
>>>       $(if $(BR2_LINUX_KERNEL_USE_CUSTOM_DTS),
>>> -        cp $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_DTS_PATH))
>>> $(KERNEL_ARCH_PATH)/boot/dts/)
>>> +        cp -f $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_DTS_PATH))
>>> $(KERNEL_ARCH_PATH)/boot/dts/)
>>>       $(LINUX_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D)
>>> $(LINUX_TARGET_NAME)
>>>       @if grep -q "CONFIG_MODULES=y" $(@D)/.config; then     \
>>>           $(LINUX_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D)
>>> modules ;    \
>>>
>>
>> Is there a reason for the custom DTS to exist in both places?
>>
>> Regards,
>> Nikolay

Regards,
Nikolay

  reply	other threads:[~2015-08-12 16:11 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-12  0:11 [Buildroot] [PATCH] linux: handle read-only dts files Hollis Blanchard
2015-08-12 14:58 ` Nikolay Dimitrov
2015-08-12 16:02   ` Hollis Blanchard
2015-08-12 16:11     ` Nikolay Dimitrov [this message]
2015-08-12 16:27       ` Hollis Blanchard
2015-08-12 16:37         ` Nikolay Dimitrov
2015-08-12 17:00 ` Nikolay Dimitrov
2016-01-10 17:02 ` Yann E. MORIN
2016-01-19 20:59 ` Thomas Petazzoni

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=55CB7019.5080703@mail.bg \
    --to=picmaster@mail.bg \
    --cc=buildroot@busybox.net \
    /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