bb3db1795b
Switching branches and applying patches in the build repos will unnecessarily touch many files, causing rebuilds of packages that didn't really change; furthermore, it is filling the reflog with many entries. Don't ever switch to base branch in the build repos and apply patches in a temporary clone to avoid these issues. In addition, GPG signing is generally disabled in the build repos to override potential global configuration (as signing doesn't make sense and will slow down rebases).
32 lines
749 B
Bash
Executable File
32 lines
749 B
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
shopt -s nullglob
|
|
|
|
. "$GLUONDIR"/scripts/modules.sh
|
|
|
|
TMPDIR="$GLUON_BUILDDIR"/tmp
|
|
|
|
mkdir -p "$TMPDIR"
|
|
|
|
PATCHDIR="$TMPDIR"/patching
|
|
trap 'rm -rf "$PATCHDIR"' EXIT
|
|
|
|
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
|
|
git submodule update --init --recursive
|
|
|
|
rm -rf "$PATCHDIR"
|
|
done
|