diff options
| -rw-r--r-- | cmd/yeet/internal/mktarball/mktarball.go | 13 | ||||
| -rw-r--r-- | cmd/yeet/internal/pkgmeta/package.go | 3 | ||||
| -rw-r--r-- | cmd/yeet/main.go | 3 |
3 files changed, 15 insertions, 4 deletions
diff --git a/cmd/yeet/internal/mktarball/mktarball.go b/cmd/yeet/internal/mktarball/mktarball.go index 1133d4f..06ee2b7 100644 --- a/cmd/yeet/internal/mktarball/mktarball.go +++ b/cmd/yeet/internal/mktarball/mktarball.go @@ -14,6 +14,10 @@ import ( "within.website/x/cmd/yeet/internal/pkgmeta" ) +func defaultFname(p pkgmeta.Package) string { + return fmt.Sprintf("%s-%s-%s-%s", p.Name, p.Version, p.Platform, p.Goarch) +} + func Build(p pkgmeta.Package) (foutpath string, err error) { defer func() { if r := recover(); r != nil { @@ -42,10 +46,15 @@ func Build(p pkgmeta.Package) (foutpath string, err error) { } defer os.RemoveAll(dir) - pkgDir := filepath.Join(dir, fmt.Sprintf("%s-%s-%s-%s", p.Name, p.Version, p.Platform, p.Goarch)) + folderName := defaultFname(p) + if p.Filename != nil { + folderName = p.Filename(p) + } + + pkgDir := filepath.Join(dir, folderName) os.MkdirAll(pkgDir, 0755) - fname := filepath.Join("var", fmt.Sprintf("%s-%s-%s-%s.tar.gz", p.Name, p.Version, p.Platform, p.Goarch)) + fname := filepath.Join("var", folderName+".tar.gz") fout, err := os.Create(fname) if err != nil { return "", fmt.Errorf("can't make output file: %w", err) diff --git a/cmd/yeet/internal/pkgmeta/package.go b/cmd/yeet/internal/pkgmeta/package.go index e7a9bb9..f955c6e 100644 --- a/cmd/yeet/internal/pkgmeta/package.go +++ b/cmd/yeet/internal/pkgmeta/package.go @@ -18,7 +18,8 @@ type Package struct { Documentation map[string]string `json:"documentation"` // pwd-relative source path, file in /usr/share/doc/$Name Files map[string]string `json:"files"` // pwd-relative source path, rpm destination path - Build func(BuildInput) `json:"build"` + Build func(BuildInput) `json:"build"` + Filename func(Package) string `json:"mkFilename"` } type BuildInput struct { diff --git a/cmd/yeet/main.go b/cmd/yeet/main.go index f574f04..9fa8db1 100644 --- a/cmd/yeet/main.go +++ b/cmd/yeet/main.go @@ -14,6 +14,7 @@ import ( "al.essio.dev/pkg/shellescape" "github.com/dop251/goja" + yeetinternal "within.website/x/cmd/yeet/internal" "within.website/x/cmd/yeet/internal/mkdeb" "within.website/x/cmd/yeet/internal/mkrpm" "within.website/x/cmd/yeet/internal/mktarball" @@ -201,7 +202,7 @@ func main() { "repoRoot": func() string { return runcmd("git", "rev-parse", "--show-toplevel") }, - "tag": gittag, + "tag": yeetinternal.GitVersion, }) vm.Set("go", map[string]any{ |
