Modifié apply_patches() pour pouvoir spécifier n'importe quel répertoire de base.
[hvlinux.git] / functions / main
index 39c7d29..14f39a9 100644 (file)
@@ -570,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
@@ -589,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.
@@ -602,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
@@ -613,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
 
@@ -800,7 +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 to ${LFS_TMP}
+#   -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)