# Remplace les "+" par "%2B"
local PACK_URL=$(echo $PACK | sed s!\+!%2B!g)
- local PATCHES_FOUND=$(cat ${PATCHES_LIST} | grep "${PACK_URL}-" | sed "s/.*\(${PACK_URL}-.*\.patch\).*/\1/")
+ # Patches list formats (patches-list-*.html):
+ # LFS: a href="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}-" | \
+ sed "s/.*\(${PACK_URL}-.*\.patch\)\".*/\1/")
+
if [ -n "${PATCHES_FOUND}" ]; then
for p in ${PATCHES_FOUND}; do
# Remplace les "%2B" par "+"
PATCH_NAME=$(echo ${p} | sed s!%2B!\+!g)
if [ ! -f ${LFS_PKG_DIR}/${PATCH_NAME} ]; then
- # String uses $PATCH_NAME and not $p ???
- #####rcmd "Fetching ${PATCH_NAME} from ${PATCHES_URL}" wget_wrapper ${PATCHES_URL} ${p} ${FTYPE_OTHER}
- wget_wrapper ${PATCHES_URL} ${p}
+ wget_wrapper ${PATCHES_URL} ${PATCH_NAME}
fi
done
fi