diff options
| author | Ophestra <cat@gensokyo.uk> | 2026-02-06 21:10:59 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2026-02-06 21:10:59 +0900 |
| commit | 3f7b8b43327805a674897ace49d738120232cc0b (patch) | |
| tree | 10ca7bdb1062279fbfe8db53d0697d4ba62acd0e | |
| parent | fa94155f42912f68ea1709f432be6d3d552739ca (diff) | |
internal/rosa/git: git clone helper
For obtaining sources of projects that stubbornly refuse to provide release tarballs.
Signed-off-by: Ophestra <cat@gensokyo.uk>
| -rw-r--r-- | internal/rosa/git.go | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/internal/rosa/git.go b/internal/rosa/git.go index 1cdc163e..0153f547 100644 --- a/internal/rosa/git.go +++ b/internal/rosa/git.go @@ -76,3 +76,26 @@ make \ ) } func init() { artifactsF[Git] = Toolchain.newGit } + +// NewViaGit returns a [pkg.Artifact] for cloning a git repository. +func (t Toolchain) NewViaGit( + name, url, rev string, + checksum pkg.Checksum, +) pkg.Artifact { + return t.New(name+"-"+rev, 0, []pkg.Artifact{ + t.Load(NSSCACert), + t.Load(OpenSSL), + t.Load(Libpsl), + t.Load(Curl), + t.Load(Libexpat), + t.Load(Git), + }, &checksum, nil, ` +git \ + -c advice.detachedHead=false \ + clone \ + --revision=`+rev+` \ + `+url+` \ + /work +rm -rf /work/.git +`, resolvconf()) +} |
