Files
kata-containers/tools/packaging/scripts/apply_patches.sh
Fabiano Fidêncio e26f9148fd tools: Fix shellcheck issues in apply_patches.sh
Fix shellcheck warnings and notes identified by running
shellcheck --severity=style.

Signed-off-by: Fabiano Fidêncio <ffidencio@nvidia.com>
2026-04-24 08:14:08 +02:00

52 lines
1.3 KiB
Bash
Executable File

#!/usr/bin/env bash
#
# Copyright (c) 2020 Red Hat, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
# This script apply patches.
#
set -e
# shellcheck disable=SC2034
script_dir="$(realpath "$(dirname "$0")")"
patches_dir="$1"
if [[ -z "${patches_dir}" ]]; then
cat <<-EOF
Apply patches to the sources at the current directory.
Patches are expected to be named in the standard git-format-patch(1) format where
the first part of the filename represents the patch ordering (lowest numbers
apply first):
'NUMBER-DASHED_DESCRIPTION.patch'
For example,
0001-fix-the-bad-thing.patch
0002-improve-the-fix-the-bad-thing-fix.patch
0003-correct-compiler-warnings.patch
Usage:
$0 PATCHES_DIR
Where:
PATCHES_DIR is the directory containing the patches
EOF
exit 1
fi
echo "INFO: Apply patches from ${patches_dir}"
if [[ -d "${patches_dir}" ]]; then
mapfile -t patches < <(find "${patches_dir}" -maxdepth 1 -name '*.patch'|sort -t- -k1,1n)
echo "INFO: Found ${#patches[@]} patches"
for patch in "${patches[@]}"; do
echo "INFO: Apply ${patch}"
patch -p1 < "${patch}" || \
{ echo >&2 "ERROR: Not applied. Exiting..."; exit 1; }
done
else
echo "INFO: Patches directory does not exist: ${patches_dir}"
echo "INFO: Create a ${patches_dir}/no_patches.txt file if the current version has no patches"
exit 1;
fi