package: implement a 'local' site method
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thu, 29 Sep 2011 19:57:40 +0000 (21:57 +0200)
committerPeter Korsgaard <jacmet@sunsite.dk>
Thu, 29 Sep 2011 20:32:14 +0000 (22:32 +0200)
The new override source directory mechanism allows to tell Buildroot
to use a particular directory as the source directory for a
package. However, this mechanism works with a local override makefile
and not directly within the package recipe itself.

For some use cases, it might be desirable to write a package recipe
which always refers to a local source directory (and not a http, git,
svn or bazaar download). This commit makes this possible by adding the
'local' site method. It allows to write package recipes as follows:

MYPKG_SITE = /tmp/mypkg-source-code
MYPKG_SITE_METHOD = local

[...]

$(eval $(call GENTARGETS,package,mypkg))

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
package/Makefile.package.in

index 53cc8eba0b1469a3f2f0b527372fe4d1b997e330..5987d3823b87d3cf228647bc56f087f3f2ad113b 100644 (file)
@@ -439,6 +439,12 @@ ifndef $(2)_SITE_METHOD
  endif
 endif
 
+ifeq ($$($(2)_SITE_METHOD),local)
+ifeq ($$($(2)_OVERRIDE_SRCDIR),)
+$(2)_OVERRIDE_SRCDIR = $($(2)_SITE)
+endif
+endif
+
 $(2)_DEPENDENCIES              ?=
 $(2)_INSTALL_STAGING           ?= NO
 $(2)_INSTALL_IMAGES            ?= NO