From 96a39a6b407a63f9ec704de4ec413254df62a1a7 Mon Sep 17 00:00:00 2001 From: EnumDev Date: Sat, 27 Sep 2025 21:19:13 +0300 Subject: [PATCH] Update default pkg.info content --- src/bpm-setup/go.mod | 6 +++++- src/bpm-setup/go.sum | 4 ++++ src/bpm-setup/main.go | 40 +++++++++++++++++++++++++++------------- 3 files changed, 36 insertions(+), 14 deletions(-) diff --git a/src/bpm-setup/go.mod b/src/bpm-setup/go.mod index 653215a..7cb78f0 100644 --- a/src/bpm-setup/go.mod +++ b/src/bpm-setup/go.mod @@ -2,6 +2,10 @@ module git.enumerated.dev/bubble-package-manager/bpm-utils/src/bpm-setup go 1.23 -require github.com/spf13/pflag v1.0.10 +require ( + bpm-utils-shared v1.0.0 + github.com/spf13/pflag v1.0.10 + gopkg.in/yaml.v3 v3.0.1 +) replace bpm-utils-shared => ../bpm-utils-shared diff --git a/src/bpm-setup/go.sum b/src/bpm-setup/go.sum index 8ec1276..bea0ee8 100644 --- a/src/bpm-setup/go.sum +++ b/src/bpm-setup/go.sum @@ -1,2 +1,6 @@ github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk= github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/src/bpm-setup/main.go b/src/bpm-setup/main.go index 8e02566..1759a9c 100644 --- a/src/bpm-setup/main.go +++ b/src/bpm-setup/main.go @@ -1,7 +1,9 @@ package main import ( + bpmutilsshared "bpm-utils-shared" "bufio" + "bytes" "fmt" "io" "log" @@ -12,6 +14,7 @@ import ( "strings" flag "github.com/spf13/pflag" + yaml "gopkg.in/yaml.v3" ) var directory = flag.StringP("directory", "D", "", "Path to package directory") @@ -115,21 +118,32 @@ func createDirectory() { log.Fatalf("Error: could not create directory: %s", err) } - // Create pkg.info contents string - pkgInfo := "name: " + *name + "\n" - pkgInfo += "description: " + *description + "\n" - pkgInfo += "version: " + *version + "\n" - if url != nil && *url != "" { - pkgInfo += "url: " + *url + "\n" + // Create package info struct + pkgInfo := bpmutilsshared.PackageInfo{ + Name: *name, + Description: *description, + Version: *version, + Url: *url, + License: *license, + Arch: "any", + Type: "source", + Downloads: []bpmutilsshared.PackageDownload{ + { + Url: "https://wwww.my-url.com/file.tar.gz", + ExtractStripComponents: 1, + ExtractToBPMSource: true, + Checksum: "replaceme", + }, + }, } - if license != nil && *license != "" { - pkgInfo += "license: " + *license + "\n" - } - pkgInfo += "architecture: any\n" - pkgInfo += "type: source\n" - // Write string to file - err = os.WriteFile(path.Join(*directory, "pkg.info"), []byte(pkgInfo), 0644) + var buffer bytes.Buffer + encoder := yaml.NewEncoder(&buffer) + encoder.SetIndent(2) + encoder.Encode(&pkgInfo) + + // Write package info to file + err = os.WriteFile(path.Join(*directory, "pkg.info"), buffer.Bytes(), 0644) if err != nil { log.Fatalf("Could not write to pkg.info: %s", err) }