All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] pkg-generic: error out with 'local' site method and no _SITE
@ 2018-05-18 10:45 Arnout Vandecappelle
  2018-05-19  8:38 ` Thomas Petazzoni
  0 siblings, 1 reply; 4+ messages in thread
From: Arnout Vandecappelle @ 2018-05-18 10:45 UTC (permalink / raw)
  To: buildroot

The 'local' site method is easily confused with the 'file' site method,
making people create packages like this:

    FOO_SITE_METHOD = local
    FOO_SOURCE = foo.tar.gz

    $(eval $(generic-package))

Due to the intricacies of the generic package infra, this does not
cause an error; instead, the foo.tar.gz tarball that happens to be
present in the download directory will be used. This behaviour differs
greatly from what is specified in the manual.

Instead, error out immediately if a package specifies the 'local' site
method but does not specify a _SITE.

See also
https://stackoverflow.com/questions/50364655/including-patches-to-build-root

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
---
 package/pkg-generic.mk | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
index 8a3b5f90a9..988f2d34e3 100644
--- a/package/pkg-generic.mk
+++ b/package/pkg-generic.mk
@@ -520,6 +520,9 @@ ifeq ($$($(2)_SITE_METHOD),local)
 ifeq ($$($(2)_OVERRIDE_SRCDIR),)
 $(2)_OVERRIDE_SRCDIR = $$($(2)_SITE)
 endif
+ifeq ($$($(2)_OVERRIDE_SRCDIR),)
+$$(error $(1) has local site method, but `$(2)_SITE_METHOD` is not defined)
+endif
 endif
 
 ifndef $(2)_LICENSE
-- 
2.17.0

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH] pkg-generic: error out with 'local' site method and no _SITE
  2018-05-18 10:45 [Buildroot] [PATCH] pkg-generic: error out with 'local' site method and no _SITE Arnout Vandecappelle
@ 2018-05-19  8:38 ` Thomas Petazzoni
  2018-05-22 10:41   ` Arnout Vandecappelle
  0 siblings, 1 reply; 4+ messages in thread
From: Thomas Petazzoni @ 2018-05-19  8:38 UTC (permalink / raw)
  To: buildroot

Hello,

On Fri, 18 May 2018 12:45:24 +0200, Arnout Vandecappelle
(Essensium/Mind) wrote:

> +ifeq ($$($(2)_OVERRIDE_SRCDIR),)
> +$$(error $(1) has local site method, but `$(2)_SITE_METHOD` is not defined)
> +endif

Are you sure it shouldn't be "$(2)_SITE" is not defined ?

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH] pkg-generic: error out with 'local' site method and no _SITE
  2018-05-19  8:38 ` Thomas Petazzoni
@ 2018-05-22 10:41   ` Arnout Vandecappelle
  2018-05-22 21:20     ` Peter Korsgaard
  0 siblings, 1 reply; 4+ messages in thread
From: Arnout Vandecappelle @ 2018-05-22 10:41 UTC (permalink / raw)
  To: buildroot



On 19-05-18 10:38, Thomas Petazzoni wrote:
> Hello,
> 
> On Fri, 18 May 2018 12:45:24 +0200, Arnout Vandecappelle
> (Essensium/Mind) wrote:
> 
>> +ifeq ($$($(2)_OVERRIDE_SRCDIR),)
>> +$$(error $(1) has local site method, but `$(2)_SITE_METHOD` is not defined)
>> +endif
> 
> Are you sure it shouldn't be "$(2)_SITE" is not defined ?

 That was actually intentional. The idea is to allow 'local' packages to set
either _SITE or _OVERRIDE_SRCDIR. The check comes after the assignment to
_OVERRIDE_SRCDIR. The reason for this is: currently, 'local' packages work
correctly if you set _OVERRIDE_SRCDIR instead of _SITE, and I don't see a reason
to make them fail.

 I probably should have explained this in the commit log. It was a bit short :-)

 Regards,
 Arnout


-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH] pkg-generic: error out with 'local' site method and no _SITE
  2018-05-22 10:41   ` Arnout Vandecappelle
@ 2018-05-22 21:20     ` Peter Korsgaard
  0 siblings, 0 replies; 4+ messages in thread
From: Peter Korsgaard @ 2018-05-22 21:20 UTC (permalink / raw)
  To: buildroot

>>>>> "Arnout" == Arnout Vandecappelle <arnout@mind.be> writes:

 > On 19-05-18 10:38, Thomas Petazzoni wrote:
 >> Hello,
 >> 
 >> On Fri, 18 May 2018 12:45:24 +0200, Arnout Vandecappelle
 >> (Essensium/Mind) wrote:
 >> 
 >>> +ifeq ($$($(2)_OVERRIDE_SRCDIR),)
 >>> +$$(error $(1) has local site method, but `$(2)_SITE_METHOD` is not defined)
 >>> +endif
 >> 
 >> Are you sure it shouldn't be "$(2)_SITE" is not defined ?

 >  That was actually intentional. The idea is to allow 'local' packages to set
 > either _SITE or _OVERRIDE_SRCDIR. The check comes after the assignment to
 > _OVERRIDE_SRCDIR. The reason for this is: currently, 'local' packages work
 > correctly if you set _OVERRIDE_SRCDIR instead of _SITE, and I don't see a reason
 > to make them fail.

 >  I probably should have explained this in the commit log. It was a bit short :-)

Indeed! Will you send an update?

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2018-05-22 21:20 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-18 10:45 [Buildroot] [PATCH] pkg-generic: error out with 'local' site method and no _SITE Arnout Vandecappelle
2018-05-19  8:38 ` Thomas Petazzoni
2018-05-22 10:41   ` Arnout Vandecappelle
2018-05-22 21:20     ` Peter Korsgaard

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.