[source] scripts/feeds: Reuse TOPDIR if defined in environment

LEDE Commits lede-commits at lists.infradead.org
Tue Feb 21 04:25:25 PST 2017


nbd pushed a commit to source.git, branch master:
https://git.lede-project.org/b1f102b03e7279c21b231cb16658a09ce1e543ca

commit b1f102b03e7279c21b231cb16658a09ce1e543ca
Author: Michal Sojka <sojkam1 at fel.cvut.cz>
AuthorDate: Thu Feb 16 23:02:50 2017 +0100

    scripts/feeds: Reuse TOPDIR if defined in environment
    
    The feeds script sets value of TOPDIR in a way that is inconsistent
    with how toplevel Makefile sets it. The inconsistency manifests when I
    use a "build directory" with symlinks to LEDE source (see below).
    
    When make is invoked in such a directory, make's TOPDIR variable is
    set to that directory, whereas scripts/feeds sets TOPDIR to the top of
    LEDE source, which results in creating feeds directory inside the LEDE
    source instead of in the build directory.
    
    This patch changes the script so that it reuses the TOPDIR value form
    the environment if it exists. The result is that 'make
    package/symlinks' correctly fetches feeds to the build directory
    instead in the source.
    
    I use the following commands to create the build directory:
    
        ln -s $SRC/config config
        ln -s $SRC/Config.in Config.in
        ln -s $SRC/feeds.conf.default feeds.conf.default
        ln -s $SRC/include include
        ln -s $SRC/Makefile Makefile
        mkdir package
        ln -s $SRC/package/base-files package/base-files
        ln -s $SRC/package/boot package/boot
        ln -s $SRC/package/devel package/devel
        ln -s $SRC/package/firmware package/firmware
        ln -s $SRC/package/kernel package/kernel
        ln -s $SRC/package/libs package/libs
        ln -s $SRC/package/Makefile package/Makefile
        ln -s $SRC/package/network package/network
        ln -s $SRC/package/system package/system
        ln -s $SRC/package/utils package/utils
        ln -s $SRC/rules.mk rules.mk
        ln -s $SRC/scripts scripts
        ln -s $SRC/target target
        ln -s $SRC/toolchain toolchain
        ln -s $SRC/tools tools
    
    This allows me to easily test changes in LEDE on multiple targets.
    
    Signed-off-by: Michal Sojka <sojkam1 at fel.cvut.cz>
---
 scripts/feeds | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/scripts/feeds b/scripts/feeds
index 3016eac..55c294a 100755
--- a/scripts/feeds
+++ b/scripts/feeds
@@ -9,7 +9,8 @@ use strict;
 use Cwd 'abs_path';
 
 chdir "$FindBin::Bin/..";
-$ENV{TOPDIR}=getcwd();
+$ENV{TOPDIR} //= getcwd();
+chdir $ENV{TOPDIR};
 $ENV{GIT_CONFIG_PARAMETERS}="'core.autocrlf=false'";
 $ENV{GREP_OPTIONS}="";
 



More information about the lede-commits mailing list