mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-04-28 19:54:35 +00:00
packaging: Make qemu/apply_patches.sh common
Moved the qemu/apply_patches.sh to the common scripts directory and refactor it so that it can be used as a generic and consistent way to apply patches. Fixes #1014 Signed-off-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
This commit is contained in:
parent
d4cf3057a9
commit
163e61045a
@ -1,27 +0,0 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Copyright (c) 2020 Red Hat, Inc.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
# This script apply the needed for Kata Containers patches on QEMU.
|
||||
# Note: It should be executed from inside the QEMU source directory.
|
||||
#
|
||||
set -e
|
||||
|
||||
script_dir="$(realpath $(dirname $0))"
|
||||
|
||||
qemu_version="$(cat VERSION)"
|
||||
stable_branch=$(echo $qemu_version | \
|
||||
awk 'BEGIN{FS=OFS="."}{print $1 "." $2 ".x"}')
|
||||
patches_dir="${script_dir}/patches/${stable_branch}"
|
||||
|
||||
echo "Handle patches for QEMU $qemu_version (stable ${stable_branch})"
|
||||
if [ -d $patches_dir ]; then
|
||||
for patch in $(find $patches_dir -name '*.patch'|sort -t- -k1,1n); do
|
||||
echo "Apply $patch"
|
||||
git apply "$patch"
|
||||
done
|
||||
else
|
||||
echo "No patches to apply"
|
||||
fi
|
48
tools/packaging/scripts/apply_patches.sh
Executable file
48
tools/packaging/scripts/apply_patches.sh
Executable file
@ -0,0 +1,48 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Copyright (c) 2020 Red Hat, Inc.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
# This script apply patches.
|
||||
#
|
||||
set -e
|
||||
|
||||
script_dir="$(realpath $(dirname $0))"
|
||||
patches_dir="$1"
|
||||
|
||||
if [ -z "$patches_dir" ]; then
|
||||
cat <<-EOT
|
||||
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
|
||||
EOT
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "INFO: Apply patches from $patches_dir"
|
||||
if [ -d "$patches_dir" ]; then
|
||||
patches=($(find "$patches_dir" -name '*.patch'|sort -t- -k1,1n))
|
||||
echo "INFO: Found ${#patches[@]} patches"
|
||||
for patch in ${patches[@]}; do
|
||||
echo "INFO: Apply $patch"
|
||||
git apply "$patch" || \
|
||||
{ echo >&2 "ERROR: Not applied. Exiting..."; exit 1; }
|
||||
done
|
||||
else
|
||||
echo "INFO: Patches directory does not exist"
|
||||
fi
|
@ -54,16 +54,15 @@ RUN git checkout "${QEMU_VIRTIOFS_TAG}"
|
||||
|
||||
ADD scripts/configure-hypervisor.sh /root/configure-hypervisor.sh
|
||||
ADD qemu /root/kata_qemu
|
||||
ADD scripts/apply_patches.sh /root/apply_patches.sh
|
||||
|
||||
# Apply experimental specific patches
|
||||
# Patches to quick fix virtiofs fork
|
||||
ENV VIRTIOFS_PATCHES_DIR=/root/kata_qemu/patches/${QEMU_VIRTIOFS_TAG}/
|
||||
RUN if [ -d ${VIRTIOFS_PATCHES_DIR} ]; then \
|
||||
echo "Patches to apply for virtiofs fixes:"; \
|
||||
for patch in $(find "${VIRTIOFS_PATCHES_DIR}" -name '*.patch' -type f |sort -t- -k1,1n); do \
|
||||
git apply $patch; \
|
||||
done;fi
|
||||
RUN /root/kata_qemu/apply_patches.sh
|
||||
RUN /root/apply_patches.sh ${VIRTIOFS_PATCHES_DIR}
|
||||
# Apply the stable branch patches
|
||||
RUN stable_branch=$(cat VERSION | awk 'BEGIN{FS=OFS="."}{print $1 "." $2 ".x"}') && \
|
||||
/root/apply_patches.sh "/root/kata_qemu/patches/${stable_branch}"
|
||||
|
||||
RUN PREFIX="${PREFIX}" /root/configure-hypervisor.sh -s kata-qemu | sed -e 's|--disable-seccomp||g' | xargs ./configure \
|
||||
--with-pkgversion=kata-static
|
||||
|
@ -54,8 +54,10 @@ RUN git clone https://github.com/qemu/keycodemapdb.git ui/keycodemapdb
|
||||
|
||||
ADD scripts/configure-hypervisor.sh /root/configure-hypervisor.sh
|
||||
ADD qemu /root/kata_qemu
|
||||
ADD scripts/apply_patches.sh /root/apply_patches.sh
|
||||
|
||||
RUN /root/kata_qemu/apply_patches.sh
|
||||
RUN stable_branch=$(cat VERSION | awk 'BEGIN{FS=OFS="."}{print $1 "." $2 ".x"}') && \
|
||||
/root/apply_patches.sh "/root/kata_qemu/patches/${stable_branch}"
|
||||
|
||||
RUN PREFIX="${PREFIX}" /root/configure-hypervisor.sh -s kata-qemu | xargs ./configure \
|
||||
--with-pkgversion=kata-static
|
||||
|
Loading…
Reference in New Issue
Block a user