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 <[email protected]>
---
 scripts/lib/ptxd_make_world_extract.sh |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/scripts/lib/ptxd_make_world_extract.sh 
b/scripts/lib/ptxd_make_world_extract.sh
index d3e401e..1eb260a 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
-- 
1.7.0.4


-- 
ptxdist mailing list
[email protected]

Reply via email to