diff options
author | Jon Ringle <jon@ringle.org> | 2011-05-26 14:29:37 -0400 |
---|---|---|
committer | Michael Olbrich <m.olbrich@pengutronix.de> | 2011-05-27 19:57:04 +0200 |
commit | 5ab4c14d56369b04fee1ae375ce0c6435be5c70b (patch) | |
tree | 7f4424e1fbe992e5d8ee51626bf7a1f0ceb005a1 | |
parent | 8a650f8883864290e2a8fb56da5b157897fab404 (diff) | |
download | ptxdist-5ab4c14d56369b04fee1ae375ce0c6435be5c70b.tar.gz ptxdist-5ab4c14d56369b04fee1ae375ce0c6435be5c70b.tar.xz |
lndir: add support for lndir:// URL
Use lndir for local external projects referenced by lndir:// URL
lndir will create a shadow directory tree of the source tree populated with
symlinks of all the files contained in the source tree. Building from the
lndir created shadow tree will result in all files created by the build to
be created in the shadow tree and leaving the source tree prestine. This is
useful when building for multiple archs.
Signed-off-by: Jon Ringle <jon@ringle.org>
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
-rw-r--r-- | scripts/lib/ptxd_lib_dgen.awk | 7 | ||||
-rw-r--r-- | scripts/lib/ptxd_make_world_extract.sh | 14 |
2 files changed, 20 insertions, 1 deletions
diff --git a/scripts/lib/ptxd_lib_dgen.awk b/scripts/lib/ptxd_lib_dgen.awk index 27b6ce265..e9e6f79a0 100644 --- a/scripts/lib/ptxd_lib_dgen.awk +++ b/scripts/lib/ptxd_lib_dgen.awk @@ -322,12 +322,17 @@ END { } # - # conditional dependency on autogen script + # conditional dependencies # print "ifneq ($(" this_PKG "),)" > DGEN_DEPS_POST; + # on autogen script print "ifneq ($(call autogen_dep,$(" this_PKG ")),)" > DGEN_DEPS_POST; print "$(STATEDIR)/" this_pkg ".extract: $(STATEDIR)/autogen-tools" > DGEN_DEPS_POST; print "endif" > DGEN_DEPS_POST; + # on lndir + print "ifneq ($(findstring lndir://,$(" this_PKG "_URL)),)" > DGEN_DEPS_POST; + print "$(STATEDIR)/" this_pkg ".extract: $(STATEDIR)/host-lndir.install.post" > DGEN_DEPS_POST; + print "endif" > DGEN_DEPS_POST; print "endif" > DGEN_DEPS_POST; # diff --git a/scripts/lib/ptxd_make_world_extract.sh b/scripts/lib/ptxd_make_world_extract.sh index d3e401e09..1eb260af9 100644 --- a/scripts/lib/ptxd_make_world_extract.sh +++ b/scripts/lib/ptxd_make_world_extract.sh @@ -21,6 +21,20 @@ ptxd_make_world_extract() { pkg_extract_dir="${pkg_deprecated_extract_dir:-${pkg_extract_dir}}" case "${pkg_url}" in + lndir://*) + local url="${pkg_url//lndir:\/\//}" + if [ -n "${pkg_src}" ]; then + ptxd_bailout "<PKG>_SOURCE must not be defined when using a lndir:// URL!" + fi + if [ -d "${url}" ]; then + echo "local directory using lndir" + mkdir -p "${pkg_dir}" + lndir "$(ptxd_abspath "${url}")" "${pkg_dir}" + return + else + ptxd_bailout "the URL '${pkg_url}' points to non existing directory." + fi + ;; file://*) local url="${pkg_url//file:\/\//}" if [ -n "${pkg_src}" ]; then |