X-Git-Url: http://gitweb.hugovil.com/?a=blobdiff_plain;f=functions%2Ffpkg;h=b4ea48d0f4cdac6b38f347645a057ad132274168;hb=2ae8d010cef72cd9f12c7ca3cf9260ffe68fa4ca;hp=1fc6ec4e8b69054f3650c3c610eb95bb6417da4e;hpb=498549fb1b100f0649a8fcee8a5f5a0e0593369a;p=hvlinux.git diff --git a/functions/fpkg b/functions/fpkg index 1fc6ec4..b4ea48d 100644 --- a/functions/fpkg +++ b/functions/fpkg @@ -15,6 +15,9 @@ 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 + +PATCHES_BLACKLIST=../config/patches.blacklist # Test if the given file extension correspond to a compressed archive # Arg. #1: File extension @@ -202,6 +205,12 @@ update_packages_init() rcmd "Fetching LFS patches list" static_fetch_patches_list ${LFS_PATCHES_URL} ${LFS_PATCHES_LIST} fi + 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 + 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} @@ -233,13 +242,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 +258,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 @@ -271,6 +289,11 @@ static_getpatch() static_checkpatch ${PACK} ${LFS_PATCHES_LIST} ${LFS_PATCHES_URL} fi + 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}