diff options
author | Jakob Unterwurzacher | 2022-12-29 14:43:09 +0100 |
---|---|---|
committer | Jakob Unterwurzacher | 2022-12-29 14:43:48 +0100 |
commit | 99cdaa0b69e884128e8f673f96bd4d3e32743d80 (patch) | |
tree | 8323fdf44a3d63bf447a9bb81909070fc1bc4cd7 /main.go | |
parent | 439dea1b198a9edd384e3b9763a9c5672ce62b67 (diff) |
main: refactor BuildInfo code
Simplify and move it into a new file version.go.
Diffstat (limited to 'main.go')
-rw-r--r-- | main.go | 82 |
1 files changed, 0 insertions, 82 deletions
@@ -4,12 +4,10 @@ package main import ( - "fmt" "log" "os" "path/filepath" "runtime" - "runtime/debug" "strconv" "strings" @@ -21,67 +19,9 @@ import ( "github.com/rfjakob/gocryptfs/v2/internal/fido2" "github.com/rfjakob/gocryptfs/v2/internal/readpassword" "github.com/rfjakob/gocryptfs/v2/internal/speed" - "github.com/rfjakob/gocryptfs/v2/internal/stupidgcm" "github.com/rfjakob/gocryptfs/v2/internal/tlog" ) -// GitVersion is the gocryptfs version according to git, set by build.bash -var GitVersion = "[GitVersion not set - please compile using ./build.bash]" - -// GitVersionFuse is the go-fuse library version, set by build.bash -var GitVersionFuse = "[GitVersionFuse not set - please compile using ./build.bash]" - -// BuildDate is a date string like "2017-09-06", set by build.bash -var BuildDate = "0000-00-00" - -// raceDetector is set to true by race.go if we are compiled with "go build -race" -var raceDetector bool - -func initGIT() { - bi, ok := debug.ReadBuildInfo() - if !ok { - return - } - if strings.HasPrefix(GitVersion, `[`) { - GitVersion = bi.Main.Version - var gitDate string - var gitDirty bool - for _, item := range bi.Settings { - switch item.Key { - case "vcs.revision": - GitVersion = item.Value - case "vcs.time": - gitDate = item.Value - gitDate = strings.Map(func(r rune) rune { - switch { - case r >= '0' && r <= '9': - return r - default: - return -1 - } - }, gitDate) - case "vcs.modified": - gitDirty, _ = strconv.ParseBool(item.Value) - } - } - if len(gitDate) > 0 { - GitVersion = gitDate + "-" + GitVersion - } - if gitDirty { - GitVersion = GitVersion + " (dirty)" - } - } - const fuseModule = `github.com/hanwen/go-fuse/v2` - - if strings.HasPrefix(GitVersionFuse, `[`) { - for _, item := range bi.Deps { - if item.Path == fuseModule { - GitVersionFuse = item.Version - } - } - } -} - // loadConfig loads the config file `args.config` and decrypts the masterkey, // or gets via the `-masterkey` or `-zerokey` command line options, if specified. func loadConfig(args *argContainer) (masterkey []byte, cf *configfile.ConfFile, err error) { @@ -183,28 +123,6 @@ func changePassword(args *argContainer) { tlog.Info.Printf(tlog.ColorGreen + "Password changed." + tlog.ColorReset) } -// printVersion prints a version string like this: -// gocryptfs v1.7-32-gcf99cfd; go-fuse v1.0.0-174-g22a9cb9; 2019-05-12 go1.12 linux/amd64 -func printVersion() { - initGIT() - - var tagsSlice []string - if stupidgcm.BuiltWithoutOpenssl { - tagsSlice = append(tagsSlice, "without_openssl") - } - tags := "" - if tagsSlice != nil { - tags = " " + strings.Join(tagsSlice, " ") - } - built := fmt.Sprintf("%s %s", BuildDate, runtime.Version()) - if raceDetector { - built += " -race" - } - fmt.Printf("%s %s%s; go-fuse %s; %s %s/%s\n", - tlog.ProgramName, GitVersion, tags, GitVersionFuse, built, - runtime.GOOS, runtime.GOARCH) -} - func main() { mxp := runtime.GOMAXPROCS(0) if mxp < 4 && os.Getenv("GOMAXPROCS") == "" { |