mirror of
https://github.com/t2linux/fedora.git
synced 2026-04-30 13:51:42 -07:00
40 lines
1.1 KiB
Bash
Executable File
40 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
RPMBUILD_PATH=${RPMBUILD_PATH:-/root/rpmbuild}
|
|
SOURCES_PATH=${RPMBUILD_PATH}/SOURCES
|
|
SPECS_PATH=${RPMBUILD_PATH}/SPECS
|
|
SPECFILE="${SPECS_PATH}/kernel.spec"
|
|
|
|
# Check for at least patch
|
|
if [ "$#" -lt 1 ]; then
|
|
echo "usage: $0 [ /path/to/patch/ ] [ description ]"
|
|
exit 1
|
|
fi
|
|
PATCHDIR=$1
|
|
|
|
PATCH="$(basename "$PATCHDIR")"
|
|
|
|
cd "${SOURCES_PATH}" || exit
|
|
|
|
# If adding patch from outside the source tree move it to the source tree
|
|
# shellcheck disable=SC2010
|
|
if ! ls | grep -q "$PATCH"; then
|
|
cp "$PATCHDIR" "$SOURCES_PATH"/
|
|
fi
|
|
|
|
if grep -q "$PATCH" "$SPECFILE"; then
|
|
echo "$PATCH already in kernel.spec"
|
|
exit 1
|
|
fi
|
|
|
|
# ID number of the last patch in kernel.spec
|
|
LPATCH_ID=$(grep ^Patch "$SPECFILE" | tail -n2 | head -n1 | awk '{ print $1 }' | sed s/Patch// | sed s/://)
|
|
|
|
# ID of the next patch to be added to kernel.spec
|
|
NPATCH_ID=$((LPATCH_ID + 1 ))
|
|
|
|
# Add patch with new id at the end of the list of patches
|
|
sed -i "/^Patch$LPATCH_ID:\ /a#\ $DESC\nPatch$NPATCH_ID:\ $PATCH" "$SPECFILE"
|
|
sed -i "/^ApplyOptionalPatch[[:space:]]p/i ApplyOptionalPatch\ $PATCH" "$SPECFILE"
|
|
sed -i "s/patch_command='patch -p1 -F1 -s'/patch_command='patch -p1 -F2 -s'/g" "$SPECFILE"
|