Commit d245fbb4 authored by Ralph Siemsen's avatar Ralph Siemsen Committed by Peter Korsgaard
Browse files

apply-patches.sh: detect missing patches



The "patch" command returns an error code only if patches fail
to apply. Therefore the pipleline "cat <patchfile> | patch ..."
does not fail, even if <patchfile> is missing. Fix this by
adding an explicit check for patch file existence.

Based on feedback from buildroot mailing list, also change the
existing check for unsupported patch format into a fatal error.

Signed-off-by: default avatarRalph Siemsen <ralphs@netwinder.org>
Signed-off-by: default avatarPeter Korsgaard <jacmet@sunsite.dk>
parent 6f1882de
Loading
Loading
Loading
Loading
+9 −5
Original line number Diff line number Diff line
@@ -73,12 +73,16 @@ function apply_patch {
	*.patch*)
	type="patch"; uncomp="cat"; ;;
	*)
	echo "Unsupported format file for ${patch}, skip it";
	return 0;
	echo "Unsupported format file for ${path}/${patch}";
	exit 1;
	;;
    esac
    echo ""
    echo "Applying $patch using ${type}: "
    if [ ! -e "${path}/$patch" ] ; then
	echo "Error: missing patch file ${path}/$patch"
	exit 1
    fi
    echo $patch >> ${builddir}/.applied_patches_list
    ${uncomp} "${path}/$patch" | patch -g0 -p1 -E -d "${builddir}" -t
    if [ $? != 0 ] ; then
@@ -96,7 +100,7 @@ function scan_patchdir {
    # to apply patches. Skip line starting with a dash.
    if [ -e "${path}/series" ] ; then
        for i in `grep -Ev "^#" ${path}/series 2> /dev/null` ; do
            apply_patch "$path" "$i" || exit 1
            apply_patch "$path" "$i"
        done
    else
        for i in `cd $path; ls -d $patches 2> /dev/null` ; do
@@ -109,7 +113,7 @@ function scan_patchdir {
                tar -C "$unpackedarchivedir" -xaf "${path}/$i"
                scan_patchdir "$unpackedarchivedir"
            else
                apply_patch "$path" "$i" || exit 1
                apply_patch "$path" "$i"
            fi
        done
    fi