Diffstat (limited to 'make-sources.sh')
| -rwxr-xr-x | make-sources.sh | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/make-sources.sh b/make-sources.sh index 5c11ee2..aa1c13b 100755 --- a/make-sources.sh +++ b/make-sources.sh @@ -130,6 +130,27 @@ while read -r dir; do total=$((total + count)) done < "${order_file}" +# Repair known-bad overlay patches: fixups/<patch basename>.sed is applied to +# the staged copy of that patch. +shopt -s nullglob +for fixup in "${script_dir}"/fixups/*.sed; do + fixup_name=${fixup##*/} + target=${fixup_name%.sed} + staged=$(find "${staging}/patches" -type f -name "${target}" -print -quit) + if [[ -z ${staged} ]]; then + echo "ERROR: fixups/${fixup_name} matches no staged patch; delete it" >&2 + exit 1 + fi + sed -f "${fixup}" "${staged}" > "${staging}/.fixed.patch" + if cmp -s "${staged}" "${staging}/.fixed.patch"; then + echo "ERROR: fixups/${fixup_name} changed nothing (overlay patch repaired?); delete it" >&2 + exit 1 + fi + mv "${staging}/.fixed.patch" "${staged}" + echo " fixup applied: ${target}" +done +shopt -u nullglob + tarball="${output_dir}/kernel-surface-patches-${upstream_ver}-${patchset_ver}.tar.gz" # COPYFILE_DISABLE stops macOS tar from adding ._ AppleDouble members, which # would show up as bogus patch files in the spec's glob. |