Update default pkg.info content

This commit is contained in:
2025-09-27 21:19:13 +03:00
parent 7a63ad6388
commit 96a39a6b40
3 changed files with 36 additions and 14 deletions
+5 -1
View File
@@ -2,6 +2,10 @@ module git.enumerated.dev/bubble-package-manager/bpm-utils/src/bpm-setup
go 1.23 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 replace bpm-utils-shared => ../bpm-utils-shared
+4
View File
@@ -1,2 +1,6 @@
github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk= github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk=
github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= 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=
+27 -13
View File
@@ -1,7 +1,9 @@
package main package main
import ( import (
bpmutilsshared "bpm-utils-shared"
"bufio" "bufio"
"bytes"
"fmt" "fmt"
"io" "io"
"log" "log"
@@ -12,6 +14,7 @@ import (
"strings" "strings"
flag "github.com/spf13/pflag" flag "github.com/spf13/pflag"
yaml "gopkg.in/yaml.v3"
) )
var directory = flag.StringP("directory", "D", "", "Path to package directory") 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) log.Fatalf("Error: could not create directory: %s", err)
} }
// Create pkg.info contents string // Create package info struct
pkgInfo := "name: " + *name + "\n" pkgInfo := bpmutilsshared.PackageInfo{
pkgInfo += "description: " + *description + "\n" Name: *name,
pkgInfo += "version: " + *version + "\n" Description: *description,
if url != nil && *url != "" { Version: *version,
pkgInfo += "url: " + *url + "\n" 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 var buffer bytes.Buffer
err = os.WriteFile(path.Join(*directory, "pkg.info"), []byte(pkgInfo), 0644) 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 { if err != nil {
log.Fatalf("Could not write to pkg.info: %s", err) log.Fatalf("Could not write to pkg.info: %s", err)
} }