X-Git-Url: http://gitweb.hugovil.com/?a=blobdiff_plain;f=functions%2Ffpkg;h=673299b339cf035014b87dd18285f0bce4cbdd4d;hb=eab0363888c361ccd0dd37de76f0634239f12ffa;hp=588fa4afeea01b9f43fe1da16f48c4a4fa929a94;hpb=493d265f572abd5cd5d116a60f6d95a6e40d26b6;p=hvlinux.git diff --git a/functions/fpkg b/functions/fpkg index 588fa4a..673299b 100644 --- a/functions/fpkg +++ b/functions/fpkg @@ -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,17 +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}/" && + ${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 @@ -191,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 @@ -220,23 +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 @@ -249,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) @@ -288,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() @@ -645,10 +640,15 @@ fpkg() rm ${DEST_FILE} fi - if [ ! -f ${DEST_FILE} ]; then + if [ ! -f ${DEST_FILE} ]; then # Fetch package set +e static_getpkg ${SRC_FILENAME} ${URL} ${FILE_EXT} + rc=$? + + if [ ${rc} -ne 0 ]; then + return ${rc}; + fi set -e # Move file if source filename is not equal to package name and/or