Allow DHCP client to create resolv.conf if local DNS server is disabled
[hvlinux.git] / functions / fpkg
index 1fc6ec4..dbbc838 100644 (file)
@@ -16,6 +16,8 @@ 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
 
+PATCHES_BLACKLIST=../config/patches.blacklist
+
 # Test if the given file extension correspond to a compressed archive
 # Arg. #1: File extension
 is_extension_archive()
@@ -233,13 +235,14 @@ static_checkpatch()
 
     # 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
@@ -248,7 +251,15 @@ static_checkpatch()
             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