CLFS_PATCHES_LIST=${LFS_PKG_DIR}/patches-list-clfs.html
HV_PATCHES_LIST=${LFS_PKG_DIR}/patches-list-hv.html
+PATCHES_BLACKLIST=../config/patches.blacklist
+
# Test if the given file extension correspond to a compressed archive
# Arg. #1: File extension
is_extension_archive()
fi
if [ ${wget_status} -ne 0 ]; then
+ echo "Error: wget returned error status ${wget_status}" >> \
+ ${LFS_LOG_FILE}
remove_partial_file ${LFS_PKG_DIR}/${SOURCE}
return 1
fi
# Just to be sure, test if downloaded file is really an archive:
if ! is_archive ${LFS_PKG_DIR}/${SOURCE}.part; then
# Partial failure if file is invalid.
+ echo "Error: failed archive test" >> ${LFS_LOG_FILE}
remove_partial_file ${LFS_PKG_DIR}/${SOURCE}
return 2
fi
# Patches list formats (patches-list-*.html):
# LFS: a href="name.patch"
- # hugovil: A HREF "dir/subdir/subdir/name.patch
+ # hugovil: a href="dir/subdir/subdir/name.patch"
# We must search for a patch beginning with either a slash or a " to avoid
# the possibility of having another package name within a patch name:
# if patch = Mesalib-8.0.4-llvm-3.1-fixes-1.patch
# then we could erroneously try to download patch "llvm-3.1-fixes-1.patch"
local PATCHES_FOUND=$(cat ${PATCHES_LIST} | \
egrep "\"${PACK_URL}-|/${PACK_URL}-" | \
+ egrep ".patch\"" | \
sed "s/.*\(${PACK_URL}-.*\.patch\)\".*/\1/")
if [ -n "${PATCHES_FOUND}" ]; then
PATCH_NAME=$(echo ${p} | sed s!%2B!\+!g)
if [ ! -f ${LFS_PKG_DIR}/${PATCH_NAME} ]; then
- wget_wrapper ${PATCHES_URL} ${PATCH_NAME}
+ # Fetch patch only if it is not blacklisted!
+ local BL=$(cat ${PATCHES_BLACKLIST} | \
+ egrep "${PATCH_NAME}")
+
+ if [ "x${BL}" == "x" ]; then
+ wget_wrapper ${PATCHES_URL} ${PATCH_NAME}
+ else
+ MSGSTRING="Patch ${PATCH_NAME} blacklisted" print_status warning
+ fi
fi
done
fi