aboutsummaryrefslogtreecommitdiff
path: root/cmd/yeet/internal
diff options
context:
space:
mode:
authorXe Iaso <me@xeiaso.net>2025-04-04 23:22:53 -0400
committerXe Iaso <me@xeiaso.net>2025-04-04 23:22:53 -0400
commit3f15a4e2ba358971067dcd2c3cfccfc4d7ce0854 (patch)
tree9a885b1501cc98024d2a5e9f68c487cf6a6ed60a /cmd/yeet/internal
parente907932c3a5a49bbd53ee3d8af391636b386cd38 (diff)
downloadx-3f15a4e2ba358971067dcd2c3cfccfc4d7ce0854.tar.xz
x-3f15a4e2ba358971067dcd2c3cfccfc4d7ce0854.zip
cmd/yeet: support custom filename logic for tarball generationv1.13.4
Signed-off-by: Xe Iaso <me@xeiaso.net>
Diffstat (limited to 'cmd/yeet/internal')
-rw-r--r--cmd/yeet/internal/mktarball/mktarball.go13
-rw-r--r--cmd/yeet/internal/pkgmeta/package.go3
2 files changed, 13 insertions, 3 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 {