Added top-level Makefile
[hvlinux.git] / functions / fpkg
index f637f54..ae6e0b4 100644 (file)
@@ -76,6 +76,11 @@ update_packages_init()
         return 0
     fi
 
+    if [ ! -x /usr/bin/wget ]; then
+       echo "${FUNCNAME}() error, the wget package was not found."
+       return 1
+    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}
@@ -158,17 +163,15 @@ static_getpatch()
 
 detect_file_not_found()
 {
-    # HTTP: will return error code 404.
+    # HTTP: will return "ERROR 404: Not Found"
     # FTP: will say "File not found"
-    if grep "404" ${WGET_LOG_FILE} 1> /dev/null 2>&1; then
+    if grep --ignore-case "not found" ${WGET_LOG_FILE} \
+        1> /dev/null 2>&1; then
         #echo "404 NOTFOUND"
         return 0
-    elif grep "No such file" ${WGET_LOG_FILE} 1> /dev/null 2>&1; then
-        #echo "No such file"
-        return 0
-    else
-        return 1
     fi
+    
+    return 1
 }
 
 # Get package if it is not in the repository
@@ -203,7 +206,8 @@ static_getpkg()
         # so we can safely remove any file prior to trying to download it.
         rm -f ${LFS_PKG_DIR}/${PACK}.${arch_ext}
 
-        rcmd "Fetching ${PACK}.${arch_ext}" ${WGETCMD} ${URL}/${PACK}.${arch_ext}
+        rcmd "Fetching ${PACK}.${arch_ext}" \
+            ${WGETCMD} ${URL}/${PACK}.${arch_ext}
         wget_status=$?
 
         # Append log to global log file
@@ -404,30 +408,29 @@ fpkg()
                 # Most common layout:
                 # http://pkg-config.freedesktop.org/releases/
 
-                if [ -z "${SRC_DIR}" ]; then
+                if [ -z "${MODE_OPT}" ]; then
                     # Default subdirectory or module on server
-                   SRC_DIR=$(get_pkg_name ${PACK})
+                   MODE_OPT=$(get_pkg_name ${PACK})
                 fi
-
                 if [ -z "${FILE_EXT}" ]; then
                     # Default file extension is always tar.gz???
                     FILE_EXT="tar.gz"
                 fi
 
                 FD_SUBDIR_FINAL="releases"
-                if [ -n "${MODE_OPT}" ]; then
+                if [ -n "${SRC_DIR}" ]; then
                     # Optional final subdir:
                     #   releases (default)
                     #   dist
                     #   none (don't append anything)
-                    if [ "x${MODE_OPT}" = "xnone" ]; then
+                    if [ "x${SRC_DIR}" = "xnone" ]; then
                         FD_SUBDIR_FINAL=""
                     else
-                        FD_SUBDIR_FINAL=${MODE_OPT}
+                        FD_SUBDIR_FINAL=${SRC_DIR}
                     fi
                 fi
 
-                URL="http://${SRC_DIR}.freedesktop.org/${FD_SUBDIR_FINAL}"
+                URL="http://${MODE_OPT}.freedesktop.org/${FD_SUBDIR_FINAL}"
                 SRC_DIR=""
                 ;;
             apa)
@@ -522,8 +525,10 @@ fpkg()
     fi
 
     if [ -n "${TEST_INTEGRITY}" ]; then
+        set +e
         test_archive_integrity "${PACK}" "${DEST_FILE}" "${FINAL_EXT}"
-        
+        set -e
+
         # We do not want to fetch patches when testing integrity,
         # so return immediately
         return 0