From 1819abca032610271ab401f732de7e4189fd1df2 Mon Sep 17 00:00:00 2001 From: William Burton Date: Fri, 14 Feb 2025 15:31:43 -0500 Subject: [PATCH] Patch debrebuild to add sleep (#345) --- pkg/rebuild/debian/strategy.go | 17 ++++++++++++++++- pkg/rebuild/debian/strategy_test.go | 6 ++++-- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/pkg/rebuild/debian/strategy.go b/pkg/rebuild/debian/strategy.go index 56190291..29849b61 100644 --- a/pkg/rebuild/debian/strategy.go +++ b/pkg/rebuild/debian/strategy.go @@ -4,6 +4,8 @@ package debian import ( + "encoding/base64" + "fmt" "path" "regexp" @@ -81,6 +83,9 @@ func (b *Debrebuild) ToWorkflow() *rebuild.WorkflowStrategy { "buildinfoMd5": b.BuildInfo.MD5, }, }}, + Deps: []flow.Step{{ + Uses: "debian/deps/patch-debrebuild", + }}, Build: []flow.Step{{ Uses: "debian/build/debrebuild", With: map[string]string{ @@ -137,6 +142,16 @@ var toolkit = []*flow.Tool{ Needs: []string{}, }}, }, + { + Name: "debian/deps/patch-debrebuild", + Steps: []flow.Step{{ + Runs: fmt.Sprintf(`echo %s | base64 -d | patch /usr/bin/debrebuild`, base64.StdEncoding.EncodeToString([]byte(`@@ -725,2 +725,3 @@ + ), ++ '--customize-hook=sleep 10', + '--customize-hook=chroot "$1" sh -c "'`))), + Needs: []string{"devscripts=2.25.2"}, + }}, + }, { Name: "debian/build/handle-binary-version", Steps: []flow.Step{{ @@ -169,7 +184,7 @@ var toolkit = []*flow.Tool{ Steps: []flow.Step{ { Runs: "debrebuild --buildresult=./out --builder=mmdebstrap {{ .With.buildinfo }}", - Needs: []string{"devscripts", "apt-utils", "mmdebstrap"}, + Needs: []string{"devscripts=2.25.2", "apt-utils", "mmdebstrap"}, }, { Uses: "debian/build/handle-binary-version", diff --git a/pkg/rebuild/debian/strategy_test.go b/pkg/rebuild/debian/strategy_test.go index 945bc7f7..c1d98b40 100644 --- a/pkg/rebuild/debian/strategy_test.go +++ b/pkg/rebuild/debian/strategy_test.go @@ -166,9 +166,10 @@ func TestDebrebuild(t *testing.T) { env: rebuild.BuildEnv{}, want: rebuild.Instructions{ Source: `wget https://buildinfos.debian.net/buildinfo-pool/a/acl/acl_2.3.2-2_amd64.buildinfo`, + Deps: `echo QEAgLTcyNSwyICs3MjUsMyBAQAogICAgICAgICApLAorICAgICAgICAnLS1jdXN0b21pemUtaG9vaz1zbGVlcCAxMCcsCiAgICAgICAgICctLWN1c3RvbWl6ZS1ob29rPWNocm9vdCAiJDEiIHNoIC1jICIn | base64 -d | patch /usr/bin/debrebuild`, Build: `debrebuild --buildresult=./out --builder=mmdebstrap acl_2.3.2-2_amd64.buildinfo`, OutputPath: "acl_2.3.1-3_amd64.deb", - SystemDeps: []string{"wget", "devscripts", "apt-utils", "mmdebstrap"}, + SystemDeps: []string{"wget", "devscripts=2.25.2", "apt-utils", "mmdebstrap"}, }, }, { @@ -188,10 +189,11 @@ func TestDebrebuild(t *testing.T) { env: rebuild.BuildEnv{}, want: rebuild.Instructions{ Source: `wget https://buildinfos.debian.net/buildinfo-pool/a/acl/acl_2.3.2-2+b1_amd64.buildinfo`, + Deps: `echo QEAgLTcyNSwyICs3MjUsMyBAQAogICAgICAgICApLAorICAgICAgICAnLS1jdXN0b21pemUtaG9vaz1zbGVlcCAxMCcsCiAgICAgICAgICctLWN1c3RvbWl6ZS1ob29rPWNocm9vdCAiJDEiIHNoIC1jICIn | base64 -d | patch /usr/bin/debrebuild`, Build: `debrebuild --buildresult=./out --builder=mmdebstrap acl_2.3.2-2+b1_amd64.buildinfo mv /src/acl_2.3.1-3_amd64.deb /src/acl_2.3.1-3+b1_amd64.deb`, OutputPath: "acl_2.3.1-3+b1_amd64.deb", - SystemDeps: []string{"wget", "devscripts", "apt-utils", "mmdebstrap"}, + SystemDeps: []string{"wget", "devscripts=2.25.2", "apt-utils", "mmdebstrap"}, }, }, }