diff options
-rw-r--r-- | scripts/make-module-ipkgs.sh | 3 | ||||
-rwxr-xr-x | scripts/prereq.sh | 56 | ||||
-rw-r--r-- | target/config/Config.in.tools | 1 |
3 files changed, 37 insertions, 23 deletions
diff --git a/scripts/make-module-ipkgs.sh b/scripts/make-module-ipkgs.sh index aeef76f10..e50340c0a 100644 --- a/scripts/make-module-ipkgs.sh +++ b/scripts/make-module-ipkgs.sh @@ -28,6 +28,7 @@ BUILD_DIR="$3" PKG_BUILD="$4" PACKAGE_DIR="$5" +# declare associative arrays declare -A modpaths moddeps modlevels # recursively find a level for given module which is high enough so all @@ -48,7 +49,7 @@ pkgname() { # (modname) for modpath in $(find ${BUILD_DIR}/modules -name \*.ko | xargs); do modname="$(basename $modpath .ko)" - moddep="$(modinfo $modpath | awk '/^depends:/{print $2}' | sed 's/,/ /g')" + moddep="$(strings $modpath | awk -F= '/^depends=/{print $2}' | sed 's/,/ /g')" modpaths[$modname]="$modpath" moddeps[$modname]="$moddep" done diff --git a/scripts/prereq.sh b/scripts/prereq.sh index 9b82b2b74..f0d5c48ed 100755 --- a/scripts/prereq.sh +++ b/scripts/prereq.sh @@ -206,28 +206,33 @@ done printf " ---> checking if bash is installed.. " if which bash >/dev/null; then printf "found\n" -else - # we need to build GNU bash - printf "not found\n" - printf " ---> compiling missing GNU bash.. " - cd dl - $FETCHCMD bash-${bashver}.tar.gz $mirror/bash-${bashver}.tar.gz - if [ $? -ne 0 ]; then - printf "ERROR: failed to download make from $mirror\n" - exit 1 + printf " ---> checking if it is bash 4.x.. " + bash --version 2>/dev/null| grep "Version 4" >/dev/null + if [ $? -eq 0 ]; then + printf "yes\n" + else + # we need to build GNU bash 4.x + printf "not found\n" + printf " ---> compiling missing GNU bash.. " + cd dl + $FETCHCMD bash-${bashver}.tar.gz $mirror/bash-${bashver}.tar.gz + if [ $? -ne 0 ]; then + printf "ERROR: failed to download make from $mirror\n" + exit 1 + fi + cd .. + mkdir tmp + cd tmp + tar xzf ../dl/bash-${bashver}.tar.gz + cd bash-${bashver} + ./configure --prefix=$topdir/host_$gnu_host_name/ + make + make install + cd .. + cd .. + rm -rf tmp + printf " done\n" fi - cd .. - mkdir tmp - cd tmp - tar xzf ../dl/bash-${bashver}.tar.gz - cd bash-${bashver} - ./configure --prefix=$topdir/host_$gnu_host_name/ - make - make install - cd .. - cd .. - rm -rf tmp - printf " done\n" fi # skip the script if distclean / cleandir @@ -237,6 +242,15 @@ if [ "$target" = "distclean" -o "$target" = "cleandir" ]; then exit 0 fi +printf " ---> checking if strings is installed.. " +if ! which strings >/dev/null 2>&1; then + echo You must install strings to continue. + echo + out=1 + printf "not found\n" +fi +printf "found\n" + printf " ---> checking if perl is installed.. " if ! which perl >/dev/null 2>&1; then echo You must install perl to continue. diff --git a/target/config/Config.in.tools b/target/config/Config.in.tools index 4c0830634..fb8e44d42 100644 --- a/target/config/Config.in.tools +++ b/target/config/Config.in.tools @@ -218,7 +218,6 @@ config ADK_HOST_BUILD_PCRE config ADK_HOST_BUILD_KMOD bool - default y if ADK_HOST_LINUX default n source "target/config/Config.in.prereq" |