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

LEDE Commits lede-commits at lists.infradead.org
Wed Mar 1 11:38:07 PST 2017


jow pushed a commit to source.git, branch lede-17.01:
https://git.lede-project.org/e3021e0308cccd721a2e4b06f9a7e4aafb31f35e

commit e3021e0308cccd721a2e4b06f9a7e4aafb31f35e
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 83007f5..dfecaa9 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