gluon/scripts/patch.sh
Johannes Rudolph 9b15480609 update scripts/patch.sh
with this changes it is possible to apply site defined patches during the build process when calling "make update"
2017-07-04 22:15:35 +02:00

41 lines
928 B
Bash
Executable File

#!/bin/bash
set -e
shopt -s nullglob
. scripts/modules.sh
mkdir -p "$GLUON_TMPDIR"
GLUONDIR="$(pwd)"
PATCHDIR="$GLUON_TMPDIR"/patching
trap 'rm -rf "$PATCHDIR"' EXIT
if [ -d "$GLUONDIR/site/patches/" ]; then
cp -r "$GLUONDIR/site/patches/" "$GLUONDIR"
fi
for module in $GLUON_MODULES; do
echo "--- Patching module '$module' ---"
git clone -s -b base --single-branch "$GLUONDIR/$module" "$PATCHDIR" 2>/dev/null
cd "$PATCHDIR"
for patch in "$GLUONDIR/patches/$module"/*.patch; do
git -c user.name='Gluon Patch Manager' -c user.email='gluon@void.example.com' -c commit.gpgsign=false am --whitespace=nowarn --committer-date-is-author-date "$patch"
done
cd "$GLUONDIR/$module"
git fetch "$PATCHDIR" 2>/dev/null
git checkout -B patched FETCH_HEAD >/dev/null
git config branch.patched.remote .
git config branch.patched.merge refs/heads/base
git submodule update --init --recursive
rm -rf "$PATCHDIR"
done