[RFC,2/2] dpkg-gdb: Reset git to SRCREV revision before patching

Message ID 20210812081030.4505-3-ubely@ilbers.de
State RFC
Headers show
Series Fixes for dpkg-gdb packages rebuild | expand

Commit Message

Uladzimir Bely Aug. 12, 2021, 12:10 a.m. UTC
Rebuilding some packages like cowsay after ISAR configuration
changes causes error during do_patch because the patches were
already applied at previous build and git HEAD was changed.

The change resets package's git HEAD to the appropriate revision.

Signed-off-by: Uladzimir Bely <ubely@ilbers.de>
---
 meta/classes/dpkg-gbp.bbclass | 10 ++++++++++
 1 file changed, 10 insertions(+)

Patch

diff --git a/meta/classes/dpkg-gbp.bbclass b/meta/classes/dpkg-gbp.bbclass
index 20d2d4c..d37b07e 100644
--- a/meta/classes/dpkg-gbp.bbclass
+++ b/meta/classes/dpkg-gbp.bbclass
@@ -26,3 +26,13 @@  builddeps_install_append() {
 dpkg_runbuild_prepend() {
     export GBP_PREFIX="gbp buildpackage --git-ignore-new ${GBP_EXTRA_OPTIONS} --git-builder="
 }
+
+do_patch[prefuncs] = "set_src_rev"
+
+python set_src_rev() {
+    srcsubdir = d.getVar('S')
+    srcrev = d.getVar('SRCREV')
+
+    if srcrev:
+        bb.process.run('git reset --hard ' + srcrev, cwd=srcsubdir)
+}