Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Michal Sojka <sojka@merica.cz>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH] Complain loudly if BR2_GLOBAL_PATCH_DIR does not exit
Date: Wed, 22 Oct 2014 16:01:42 +0200	[thread overview]
Message-ID: <87oat4jj95.fsf@steelpick.2x.cz> (raw)
In-Reply-To: <CAGduivy5cXHFqEj-ZV16XSUU8y+fEaDS2cOZu-OAJ16q=XkmTQ@mail.gmail.com>

On Wed, Oct 22 2014, Maxime Hadjinlian wrote:
> On Wed, Oct 22, 2014 at 1:43 PM, Michal Sojka <sojka@merica.cz> wrote:
>> On Wed, Oct 22 2014, Maxime Hadjinlian wrote:
>>> Hi Michal, Yann, all
>>>
>>> On Tue, Oct 21, 2014 at 6:58 PM, Yann E. MORIN <yann.morin.1998@free.fr> wrote:
>>>> Michal, All,
>>>>
>>>> On 2014-10-21 10:42 +0200, Michal Sojka spake thusly:
>>>>> If the BR2_GLOBAL_PATCH_DIR is misspelled in the .config or if somebody
>>>>> renamed the existing directory with patches, buildroot happily builds
>>>>> everything but without the patches. As this can lead to surprising
>>>>> results,
>>>>> ---
>>>>>  package/pkg-generic.mk | 5 +++++
>>>>>  1 file changed, 5 insertions(+)
>>>>>
>>>>> diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
>>>>> index 259ee02..46d92aa 100644
>>>>> --- a/package/pkg-generic.mk
>>>>> +++ b/package/pkg-generic.mk
>>>>> @@ -162,6 +162,11 @@ $(BUILD_DIR)/%/.stamp_patched:
>>>>>       $(Q)touch $@
>>>>>       @$(call step_end,patch)
>>>>>
>>>>> +# Check that all directories specified in BR2_GLOBAL_PATCH_DIR exist.
>>>>> +$(foreach dir,$(call qstrip,$(BR2_GLOBAL_PATCH_DIR)),\
>>>>> +     $(if $(wildcard $(dir)),,\
>>>>> +             $(error BR2_GLOBAL_PATCH_DIR contains nonexistent directory $(dir))))
>>>>> +
>>> On a small note, since we already do a '[...] test -d $${D} [...]',
>>> why don't you simply add an else condition with the error message ?
>>
>> Because $(D) is in fact $(BR2_GLOBAL_PATCH_DIR)/$(RAWNAME), which is not
>> required to exist for every package.
> Ah yes indeed. Sorry.
> Other question, why don't put that bit of code at the beginning of the
> target stamp_patched ? Or at least in the target stamp_patched ?

Because the same check would be performed many times for every package.
This way, things are checked only once, while the Makefile is read.

-Michal

  reply	other threads:[~2014-10-22 14:01 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-21  8:42 [Buildroot] [PATCH] Complain loudly if BR2_GLOBAL_PATCH_DIR does not exit Michal Sojka
2014-10-21 16:58 ` Yann E. MORIN
2014-10-22 11:26   ` Maxime Hadjinlian
2014-10-22 11:43     ` Michal Sojka
2014-10-22 11:54       ` Maxime Hadjinlian
2014-10-22 14:01         ` Michal Sojka [this message]
2014-10-22 14:26           ` Maxime Hadjinlian
2014-10-22 16:35         ` Arnout Vandecappelle
2014-10-23 17:41           ` Maxime Hadjinlian
2014-10-24 23:58 ` Peter Korsgaard

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=87oat4jj95.fsf@steelpick.2x.cz \
    --to=sojka@merica.cz \
    --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