X-Git-Url: http://gitweb.hugovil.com/?a=blobdiff_plain;f=functions%2Fmain;h=14f39a9cf423a8324c76a7072f603b44d3aca0c8;hb=1f939e62f6f5ccbd393bcf2f61daaf164c284580;hp=10c169399a97aaff703d6882dbfa548c2abed1c6;hpb=47b237110b7d8f10d895c5ce6a627799e258a16c;p=hvlinux.git diff --git a/functions/main b/functions/main index 10c1693..14f39a9 100644 --- a/functions/main +++ b/functions/main @@ -2,6 +2,10 @@ set -o errtrace # Let shell functions inherit ERR trap. set -o errexit +# Don' t locate and remember (hash) commands as they are looked up for +# execution (don' t remember path): +set +h + hvtrap_setup() { # Setting ERR trap does implicit `set -o errexit'. @@ -566,11 +570,19 @@ hv_useradd() # Applying patch # First argument is the name of the patch -# Second argument is the package name (target dir in $LFS_TMP) +# Second argument is the package name +# Third argument: optional target directory (default is $LFS_TMP) apply_patch() { local PATCH_FILE=${1} - local TARGET_DIR=${2} + local PACKAGE=${2} + local TARGET_DIR="" + + if [ $# -eq 3 ]; then + TARGET_DIR=${3}/${PACKAGE} + else + TARGET_DIR=${LFS_TMP}/${PACKAGE} + fi if [ -z "${PATCH_FILE}" ]; then echo @@ -585,7 +597,7 @@ apply_patch() fi echo "Applying patch: ${PATCH_FILE}" - patch -Np1 -d ${LFS_TMP}/${TARGET_DIR} -i ${LFS_PKG_DIR}/${PATCH_FILE} + patch -Np1 -d ${TARGET_DIR} -i ${LFS_PKG_DIR}/${PATCH_FILE} } # Applying any patch(es) found for the current package. @@ -598,7 +610,7 @@ apply_patch() apply_patches() { PACKAGE=${1} - local TARGET_DIR=${PACKAGE} + local TARGET_DIR="" # Checking for correct number of arguments if [ $# -gt 2 ]; then @@ -609,15 +621,13 @@ apply_patches() if [ $# -eq 2 ]; then TARGET_DIR=${2} - else - TARGET_DIR=${PACKAGE} fi # Checking if we can find at least one patch. if ls ${LFS_PKG_DIR}/${1}-*.patch 1> /dev/null 2>&1; then cd ${LFS_PKG_DIR} for patch in ${1}-*.patch; do - apply_patch ${patch} ${TARGET_DIR} + apply_patch ${patch} ${PACKAGE} ${TARGET_DIR} done fi @@ -753,7 +763,7 @@ ipkg_display_build_infos() echo " BUILD64: ${BUILD64}" echo " CFLAGS: ${CFLAGS}" echo " CPPFLAGS: ${CPPFLAGS}" - echo " CXXFLAGS: ${CFLAGS}" + echo " CXXFLAGS: ${CXXFLAGS}" echo " LDFLAGS: ${LDFLAGS}" echo " RANLIB: ${RANLIB}" echo " CC: ${CC}" @@ -796,6 +806,7 @@ indicate_pkg_build_complete() # Arg. #1: Package name and version (ex: gcc-4.5.1) # Remaining arguments: Additional configure options # Options: +# -c Do not decompress package # -j Disable parallel make for this package # -l Unique identification label in 'install.log' # (default is package name and version) @@ -812,18 +823,21 @@ ipkg() START_TIME=$(echo `date +%s`) unset ALT_SCRIPT_NAME + + export DECOMPRESS="1" export IPKG_MODE="ac" # Default mode if not specified export HVLABEL="" # Global variable local HVMAKE_ORIG=${HVMAKE} - # Make sure to get latest variables assignments (ex: pkg-config) - source /etc/profile - - while getopts "jl:m:s:" flag ;do + while getopts "cjl:m:s:" flag ;do case ${flag} in + c) + # Do not decompress package + DECOMPRESS="0" + ;; j) - # Disable parallel make onlyfor this package + # Disable parallel make only for this package HVMAKE="make" ;; l) @@ -911,6 +925,12 @@ ipkg() # Make sure we are at a known location cd ${SCRDIR} + if [ "x${LFS_STAGE}" != "xstage0" -a "x${LFS_STAGE}" != "xstage1" ]; then + # Make sure to update dynamic linker run-time bindings, except for + # stages 0 and 1 where we run as the LFS user. + ldconfig + fi + exec 1>&6 # Restore stdout. # Displaying build time after the package name. @@ -924,9 +944,6 @@ ipkg() ipkg_trap_end - # Make sure to update dynamic linker run-time bindings - ldconfig - return $EXIT_SUCCESS }