Modification pour permettre la vérification de l'intégrité des archives sans réseau...
authorgobo72 <gobo72@364a67c3-989e-7be9-548d-dae8560ea662>
Thu, 10 Mar 2011 03:13:34 +0000 (03:13 +0000)
committergobo72 <gobo72@364a67c3-989e-7be9-548d-dae8560ea662>
Thu, 10 Mar 2011 03:13:34 +0000 (03:13 +0000)
functions/fpkg

index 020443b..f637f54 100644 (file)
@@ -71,6 +71,11 @@ update_packages_init()
        install -v -m755 -d ${LFS_PKG_DIR} 1> ${LFS_LOG_FILE} 2>&1 || exit 1
     fi
 
+    if [ -n "${TEST_INTEGRITY}" ]; then
+        # En mode test intégrité, on ne veut pas télécharger quoi que ce soit
+        return 0
+    fi
+
     if [ -n "${USE_LFS_PATCHES}" ]; then
         # Getting list of all patches from LFS server.
         rcmd "Fetching LFS patches list" static_fetch_patches_list ${LFS_PATCHES_URL} ${LFS_PATCHES_LIST}
@@ -255,7 +260,8 @@ test_archive_integrity()
     local EXT=${3}
 
     if [ ! -f ${FILE} ]; then
-        return 1
+        # The file may be absent, in this case simply abort without error
+        return 0
     fi
 
     local TESTCMD=""
@@ -498,22 +504,29 @@ fpkg()
     DEST_FILE=${DEST_DIR}/${PACK}.${FINAL_EXT}
 
     if [ ! -f ${DEST_FILE} ]; then
-        set +e
-        static_getpkg ${SRC_FILENAME} ${URL} ${FILE_EXT}
-        set -e
-
-        # Move file if source filename is not equal to package name and/or
-        # destination directory is not the default:
-        DOWNLOADED_FILE=${LFS_PKG_DIR}/${SRC_FILENAME}.${FINAL_EXT}
-        DEST_FILE=${DEST_DIR}/${PACK}.${FINAL_EXT}
-
-        if [ "${DEST_FILE}" != "${DOWNLOADED_FILE}" ]; then
-           mv ${DOWNLOADED_FILE} ${DEST_FILE}
-       fi
+        if [ -z "${TEST_INTEGRITY}" ]; then
+            # Fetch package, unless we are testing integrity
+            set +e
+            static_getpkg ${SRC_FILENAME} ${URL} ${FILE_EXT}
+            set -e
+
+            # Move file if source filename is not equal to package name and/or
+            # destination directory is not the default:
+            DOWNLOADED_FILE=${LFS_PKG_DIR}/${SRC_FILENAME}.${FINAL_EXT}
+            DEST_FILE=${DEST_DIR}/${PACK}.${FINAL_EXT}
+
+            if [ "${DEST_FILE}" != "${DOWNLOADED_FILE}" ]; then
+               mv ${DOWNLOADED_FILE} ${DEST_FILE}
+           fi
+        fi
     fi
 
     if [ -n "${TEST_INTEGRITY}" ]; then
         test_archive_integrity "${PACK}" "${DEST_FILE}" "${FINAL_EXT}"
+        
+        # We do not want to fetch patches when testing integrity,
+        # so return immediately
+        return 0
     fi
 
     # Check for available patches with PACKAGE (TARGET) name.