source ../config/urls
source ../functions/gztobz2
-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
-HV_PATCHES_LIST=${LFS_PKG_DIR}/patches/list-hv.html
-LFS_OLD_PATCHES_LIST=${LFS_PKG_DIR}/patches/list-lfs-old.html
+# Ownership of downloaded files
+FPKG_USER="root"
+FPKG_GROUP="users"
# Test if the given file extension correspond to a compressed archive
# Arg. #1: File extension
local URL=${1}
local SOURCE=${2}
local DESTDIR=${LFS_PKG_DIR}
+ local wget_status
if [ ${#} -eq 3 ]; then
DESTDIR=${3}
--output-document=${DESTDIR}/${SOURCE}.part
wget_status=$?
+ chown ${FPKG_USER}:${FPKG_GROUP} ${DESTDIR}/${SOURCE}.part
+ chmod 664 ${DESTDIR}/${SOURCE}.part
+
# Append log to global log file
cat ${WGET_LOG_FILE} >> ${LFS_LOG_FILE}
# Rename temporary file to final name
mv ${DESTDIR}/${SOURCE}{.part,}
+ chown ${FPKG_USER}:${FPKG_GROUP} ${DESTDIR}/${SOURCE}
+ chmod 664 ${DESTDIR}/${SOURCE}
return 0
}
# 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
# 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
- install -v -m755 -d ${LFS_PKG_DIR} 1> ${LFS_LOG_FILE} 2>&1 || exit 1
+ install -v -m775 -o ${FPKG_USER} -g ${FPKG_GROUP} \
+ -d ${LFS_PKG_DIR} 1> ${LFS_LOG_FILE} 2>&1 || exit 1
fi
# Create patches destination directory if it does not exists.
if [ ! -d ${LFS_PATCHES_DIR} ]; then
- install -v -m755 -d ${LFS_PATCHES_DIR} 1> ${LFS_LOG_FILE} 2>&1 || exit 1
+ install -v -m775 -o ${FPKG_USER} -g ${FPKG_GROUP} \
+ -d ${LFS_PATCHES_DIR} 1> ${LFS_LOG_FILE} 2>&1 || exit 1
fi
if [ -n "${TEST_INTEGRITY}" ]; then
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_LFS_OLD_PATCHES}" ]; then
- # Getting list of all LFS old patches from hugovil.com server.
- rcmd "Fetching LFS old patches list" static_fetch_patches_list \
- ${LFS_OLD_PATCHES_URL} ${LFS_OLD_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_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 BLFS server.
+ rcmd "Fetching BLFS patches list" static_fetch_patches_list \
+ ${BLFS_PATCHES_URL} ${BLFS_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 CLFS server.
+ rcmd "Fetching CLFS patches list" static_fetch_patches_list \
+ ${CLFS_PATCHES_URL} ${CLFS_PATCHES_LIST}
- if [ -n "${USE_HV_PATCHES}" ]; then
- # Getting list of all patches from hugovil.com server.
- rcmd "Fetching hugovil.com patches list" static_fetch_patches_list ${HV_PATCHES_URL} ${HV_PATCHES_LIST}
- fi
+ # Reactivate error checking.
+ set -e
}
# Get patch for package if it is not in the repository
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)
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_LFS_OLD_PATCHES}" ]; then
- # Checking if patch is available from LFS old.
- static_checkpatch ${PACK} ${LFS_OLD_PATCHES_LIST} ${LFS_OLD_PATCHES_URL}
- fi
-
- 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
-
- if [ -n "${USE_HV_PATCHES}" ]; then
- # Checking if patch is available from hugovil.com.
- static_checkpatch ${PACK} ${HV_PATCHES_LIST} ${HV_PATCHES_URL}
- fi
+ # Checking if patch is available from CLFS.
+ static_checkpatch ${PACK} ${CLFS_PATCHES_LIST} ${CLFS_PATCHES_URL}
}
detect_file_not_found()
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:
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