Blame test/integration/rebase-patches

Packit Service ac8aad
#!/bin/bash
Packit Service ac8aad
#
Packit Service da4517
# rebase a set of integration test patches
Packit Service ac8aad
#
Packit Service ac8aad
# Example:
Packit Service ac8aad
#
Packit Service da4517
# 1 - Extract kernel sources:
Packit Service da4517
#
Packit Service da4517
# % (rpm -ivh kernel-3.10.0-1127.el7.src.rpm; \
Packit Service da4517
#    cd ~/rpmbuild/SPECS; \
Packit Service da4517
#    rpmbuild --nodeps -bp kernel.spec)
Packit Service da4517
#
Packit Service da4517
#
Packit Service da4517
# 2 - Rebase from previous release tests:
Packit Service da4517
#
Packit Service da4517
# % cd test/integration
Packit Service da4517
# % SRCDIR="$HOME/rpmbuild/BUILD/kernel-3.10.0-1127.el7/linux-3.10.0-1127.el7.x86_64" \
Packit Service da4517
#    ID=rhel VERSION_ID=7.8 ./rebase-patches rhel-7.7/*{.patch,.disabled}
Packit Service da4517
# % cp rhel-7.7/*.test rhel-7.8/
Packit Service ac8aad
Packit Service ac8aad
OUTDIR=$(pwd)/${ID}-${VERSION_ID}
Packit Service da4517
mkdir -p "$OUTDIR"
Packit Service ac8aad
Packit Service ac8aad
echo "* Making backup copy of kernel sources"
Packit Service da4517
rm -rf "${SRCDIR}.orig"
Packit Service da4517
cp -r "$SRCDIR" "${SRCDIR}.orig"
Packit Service ac8aad
Packit Service da4517
for P in "$@"; do
Packit Service ac8aad
Packit Service ac8aad
  echo
Packit Service da4517
  echo "* Patch: $(basename "$P")"
Packit Service ac8aad
Packit Service ac8aad
  echo "** dry run..."
Packit Service da4517
  if ! patch -d "$SRCDIR" --dry-run --quiet -p1 < "$P"; then
Packit Service da4517
    echo "*** Skipping! ***" && continue
Packit Service da4517
  fi
Packit Service ac8aad
Packit Service ac8aad
  echo "** patching..."
Packit Service da4517
  patch -d "$SRCDIR" -p1 --no-backup-if-mismatch < "$P"
Packit Service ac8aad
Packit Service da4517
  echo "** generating new $(basename "$P")..."
Packit Service da4517
  NEWP="$OUTDIR"/$(basename "$P")
Packit Service da4517
  awk '/^Index|^diff|^patch/{exit} {print $LF}' "$P" > "$NEWP"
Packit Service da4517
  diff -Nupr "$SRCDIR.orig" "${SRCDIR}" >> "$NEWP"
Packit Service da4517
  sed -i "s#$SRCDIR#src#g" "$NEWP"
Packit Service ac8aad
Packit Service ac8aad
  echo "** reversing patch to restore tree..."
Packit Service da4517
  patch -d "$SRCDIR" -p1 -R < "$NEWP"
Packit Service ac8aad
Packit Service ac8aad
done
Packit Service ac8aad
Packit Service ac8aad
echo "*** Removing backup copy of kernel sources"
Packit Service da4517
rm -rf "${SRCDIR}.orig"
Packit Service ac8aad
Packit Service ac8aad
echo
Packit Service ac8aad
echo "*** Done"