diff options
| author | Ophestra <cat@gensokyo.uk> | 2026-01-31 05:09:17 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2026-01-31 08:55:33 +0900 |
| commit | 8b4576bc5f6eaaf703886629f2dfa12ba38b574c (patch) | |
| tree | f347a2189841297be8c5bc96b02dfc610490b19d /internal/rosa/git.go | |
| parent | 29ebc52e26811b0a657bd1978b0c02284822462f (diff) | |
internal/rosa: migrate to make helper
This migrates artifacts that the helper cannot produce an identical instance of.
Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/rosa/git.go')
| -rw-r--r-- | internal/rosa/git.go | 71 |
1 files changed, 53 insertions, 18 deletions
diff --git a/internal/rosa/git.go b/internal/rosa/git.go index e29e2032..23644224 100644 --- a/internal/rosa/git.go +++ b/internal/rosa/git.go @@ -9,29 +9,64 @@ func (t Toolchain) newGit() pkg.Artifact { version = "2.52.0" checksum = "uH3J1HAN_c6PfGNJd2OBwW4zo36n71wmkdvityYnrh8Ak0D1IifiAvEWz9Vi9DmS" ) - return t.New("git-"+version, 0, stage3Concat(t, []pkg.Artifact{}, - t.Load(Make), - t.Load(Gawk), - t.Load(Coreutils), - t.Load(Perl), - t.Load(M4), - t.Load(Autoconf), - t.Load(Gettext), - - t.Load(Zlib), - ), nil, nil, ` -cd /usr/src/git -make configure -./configure --prefix=/system -make "-j$(nproc)" all -make DESTDIR=/work install -`, pkg.Path(AbsUsrSrc.Append("git"), true, t.NewPatchedSource( + return t.NewViaMake("git", version, t.NewPatchedSource( "git", version, pkg.NewHTTPGetTar( nil, "https://www.kernel.org/pub/software/scm/git/"+ "git-"+version+".tar.gz", mustDecode(checksum), pkg.TarGzip, ), false, - ))) + ), &MakeAttr{ + // uses source tree as scratch space + Writable: true, + InPlace: true, + + // test suite in subdirectory + SkipCheck: true, + + Make: []string{"all"}, + ScriptEarly: ` +cd /usr/src/git + +make configure +`, + Script: ` +ln -s ../../system/bin/perl /usr/bin/ || true + +function disable_test { + local test=$1 pattern=$2 + if [ $# -eq 1 ]; then + rm "t/${test}.sh" + else + sed -i "t/${test}.sh" \ + -e "/^\s*test_expect_.*$pattern/,/^\s*' *\$/{s/^/: #/}" + fi +} + +disable_test t5319-multi-pack-index +disable_test t1305-config-include +disable_test t3900-i18n-commit +disable_test t3507-cherry-pick-conflict +disable_test t4201-shortlog +disable_test t5303-pack-corruption-resilience +disable_test t4301-merge-tree-write-tree +disable_test t8005-blame-i18n +disable_test t9350-fast-export +disable_test t9300-fast-import + +make \ + -C t \ + GIT_PROVE_OPTS="--jobs 32 --failures" \ + prove +`, + }, + t.Load(Perl), + t.Load(Diffutils), + t.Load(M4), + t.Load(Autoconf), + t.Load(Gettext), + + t.Load(Zlib), + ) } func init() { artifactsF[Git] = Toolchain.newGit } |
