Upgrade to hv-utilities-0.2.0
[hvlinux.git] / functions / fpkg
index 3f8e624..133b123 100644 (file)
@@ -7,19 +7,6 @@ source ../functions/gztobz2
 FPKG_USER="root"
 FPKG_GROUP="users"
 
-LFS_PKG_BASE="$(dirname $(pwd))/packages"
-LFS_PKG_DIR="${LFS_PKG_BASE}/${LFS_STAGE}"
-LFS_PATCHES_DIR="${LFS_PKG_BASE}/${LFS_STAGE}/patches"
-LFS_LOG_DIR="${LFS}/var/log/hvlinux-install/${LFS_STAGE}"
-LFS_LOG_FILE="${LFS_LOG_DIR}/pkg-update.log"
-WGET_LOG_FILE="${LFS_LOG_DIR}/pkg-wget.log"
-
-WGETCMD="wget --directory-prefix=${LFS_PKG_DIR} --timeout=15 --tries=3 -nc --continue --no-check-certificate --no-verbose --output-file=${WGET_LOG_FILE}"
-
-LFS_PATCHES_LIST=${LFS_PKG_DIR}/patches/list-lfs.html
-BLFS_PATCHES_LIST=${LFS_PKG_DIR}/patches/list-blfs.html
-CLFS_PATCHES_LIST=${LFS_PKG_DIR}/patches/list-clfs.html
-
 # Test if the given file extension correspond to a compressed archive
 # Arg. #1: File extension
 is_extension_archive()
@@ -103,6 +90,7 @@ wget_wrapper()
     local URL=${1}
     local SOURCE=${2}
     local DESTDIR=${LFS_PKG_DIR}
+    local wget_status
 
     if [ ${#} -eq 3 ]; then
         DESTDIR=${3}
@@ -167,16 +155,24 @@ wget_wrapper()
 # Arg. #2: Destination filename.
 static_fetch_patches_list()
 {
+    local wget_status
+
     PATCHES_URL=${1}
     PATCHES_LIST_FILENAME=${2}
 
-    # Appending a slash (/) will download the directory content as a file named index.html
-    ${WGETCMD} "${PATCHES_URL}/" &&
+    # Appending a slash (/) will download the directory content as a file named
+    # index.html
+    ${WGETCMD} "${PATCHES_URL}/"
+    wget_status=$?
 
     # Append log to global log file
-    cat ${WGET_LOG_FILE} >> ${LFS_LOG_FILE} &&
+    cat ${WGET_LOG_FILE} >> ${LFS_LOG_FILE}
 
-    mv ${LFS_PKG_DIR}/index.html ${PATCHES_LIST_FILENAME}
+    if [ ${wget_status} -eq 0 ]; then
+        mv ${LFS_PKG_DIR}/index.html ${PATCHES_LIST_FILENAME}
+    else
+        return 1
+    fi
 }
 
 # Arg. #1: If "test" is specified, set TEST_INTEGRITY to 1
@@ -190,12 +186,13 @@ update_packages_init()
     # downloading other packages
     export RCMD_NO_EXIT=1
 
-    test_presence_of_packages_directory
+    init_log_file_update
 
-    # First create log directory if it does not exists.
-    if [ ! -d ${LFS_LOG_DIR} ]; then
-       install -m755 -d ${LFS_LOG_DIR} || exit 1
-    fi
+    export LFS_PATCHES_LIST=${LFS_PKG_DIR}/patches/list-lfs.html
+    export BLFS_PATCHES_LIST=${LFS_PKG_DIR}/patches/list-blfs.html
+    export CLFS_PATCHES_LIST=${LFS_PKG_DIR}/patches/list-clfs.html
+    export WGET_LOG_FILE="${LFS_LOG_DIR}/pkg-wget.log"
+    export WGETCMD="wget --directory-prefix=${LFS_PKG_DIR} --timeout=15 --tries=3 -nc --continue --no-check-certificate --no-verbose --output-file=${WGET_LOG_FILE}"
 
     # Then create destination directory if it does not exists.
     if [ ! -d ${LFS_PKG_DIR} ]; then
@@ -219,20 +216,23 @@ update_packages_init()
        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}
-    fi
+    # Temporary deactivate error checking.
+    set +e
 
-    if [ -n "${USE_BLFS_PATCHES}" ]; then
-        # Getting list of all patches from BLFS server.
-        rcmd "Fetching BLFS patches list" static_fetch_patches_list ${BLFS_PATCHES_URL} ${BLFS_PATCHES_LIST}
-    fi
+    # Getting list of all patches from LFS server.
+    rcmd "Fetching LFS  patches list" static_fetch_patches_list \
+        ${LFS_PATCHES_URL} ${LFS_PATCHES_LIST}
 
-    if [ -n "${USE_CLFS_PATCHES}" ]; then
-        # Getting list of all patches from CLFS server.
-        rcmd "Fetching CLFS patches list" static_fetch_patches_list ${CLFS_PATCHES_URL} ${CLFS_PATCHES_LIST}
-    fi
+    # Getting list of all patches from BLFS server.
+    rcmd "Fetching BLFS patches list" static_fetch_patches_list \
+        ${BLFS_PATCHES_URL} ${BLFS_PATCHES_LIST}
+
+    # Getting list of all patches from CLFS server.
+    rcmd "Fetching CLFS patches list" static_fetch_patches_list \
+        ${CLFS_PATCHES_URL} ${CLFS_PATCHES_LIST}
+
+    # Reactivate error checking.
+    set -e
 }
 
 # Get patch for package if it is not in the repository
@@ -245,6 +245,11 @@ static_checkpatch()
     local PATCHES_LIST=${2}
     local PATCHES_URL=${3}
 
+    # Make sure patch list file exists
+    if [ ! -f ${PATCHES_LIST} ]; then
+        return
+    fi
+
     # Remplace les "+" par "%2B"
     local PACK_URL=$(echo $PACK | sed s!\+!%2B!g)
 
@@ -284,20 +289,14 @@ static_getpatch()
        return 1
     fi
 
-    if [ -n "${USE_LFS_PATCHES}" ]; then
-        # Checking if patch is available from LFS.
-        static_checkpatch ${PACK} ${LFS_PATCHES_LIST} ${LFS_PATCHES_URL}
-    fi
+    # Checking if patch is available from LFS.
+    static_checkpatch ${PACK} ${LFS_PATCHES_LIST} ${LFS_PATCHES_URL}
 
-    if [ -n "${USE_BLFS_PATCHES}" ]; then
-        # Checking if patch is available from BLFS.
-        static_checkpatch ${PACK} ${BLFS_PATCHES_LIST} ${BLFS_PATCHES_URL}
-    fi
+    # Checking if patch is available from BLFS.
+    static_checkpatch ${PACK} ${BLFS_PATCHES_LIST} ${BLFS_PATCHES_URL}
 
-    if [ -n "${USE_CLFS_PATCHES}" ]; then
-        # Checking if patch is available from CLFS.
-        static_checkpatch ${PACK} ${CLFS_PATCHES_LIST} ${CLFS_PATCHES_URL}
-    fi
+    # Checking if patch is available from CLFS.
+    static_checkpatch ${PACK} ${CLFS_PATCHES_LIST} ${CLFS_PATCHES_URL}
 }
 
 detect_file_not_found()
@@ -533,10 +532,6 @@ fpkg()
                    echo "${FUNCNAME}(), mode 'xorg' needs '-s' option"
                    return 1
                 fi
-                if [ -z "${DEST_DIR}" ]; then
-                    # Default fetch (write to) directory
-                    DEST_DIR=${LFS_PKG_DIR}/${SRC_DIR}
-                fi
                 ;;
            fd)
                 # Most common layout: