Commit 64ac7199 authored by Ludovic Desroches's avatar Ludovic Desroches Committed by Peter Korsgaard
Browse files

apply-patches.sh: add recursivity when scanning patchdir



Recursivity is needed with some tarballs containing debian patches:
.
  debian
    changelog
    control
    patches
      02-COPYRIGHT.patch
[...]

Since we can find some files which are not patches in those directories, only
consider .patch* and .diff* files as valid patches.
Due to recursivity, strip-components option is no more necessary so it has
been removed.

Signed-off-by: default avatarLudovic Desroches <ludovic.desroches@atmel.com>
Signed-off-by: default avatarPeter Korsgaard <jacmet@sunsite.dk>
parent c9ccdf87
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -40,8 +40,14 @@ function apply_patch {
	type="zip"; uncomp="unzip -d"; ;; 
	*.Z)
	type="compress"; uncomp="uncompress -c"; ;; 
	*.diff*)
	type="diff"; uncomp="cat"; ;;
	*.patch*)
	type="patch"; uncomp="cat"; ;;
	*)
	type="plaintext"; uncomp="cat"; ;; 
	echo "Unsupported format file for ${patch}, skip it";
	return 0;
	;;
    esac
    echo ""
    echo "Applying $patch using ${type}: "
@@ -67,12 +73,12 @@ function scan_patchdir {
    else
        for i in `cd $path; ls -d $patches 2> /dev/null` ; do
            if [ -d "${path}/$i" ] ; then
                echo "${path}/$i skipped"
                scan_patchdir "${path}/$i"
            elif echo "$i" | grep -q -E "\.tar(\..*)?$|\.tbz2?$|\.tgz$" ; then
                unpackedarchivedir="$builddir/.patches-$(basename $i)-unpacked"
                rm -rf "$unpackedarchivedir" 2> /dev/null
                mkdir "$unpackedarchivedir"
                tar -C "$unpackedarchivedir" --strip-components=1 -xaf "${path}/$i"
                tar -C "$unpackedarchivedir" -xaf "${path}/$i"
                scan_patchdir "$unpackedarchivedir"
            else
                apply_patch "$path" "$i" || exit 1