From ab9f8988694123d7c5968e123800864172db621f Mon Sep 17 00:00:00 2001 From: "j.r" Date: Fri, 14 Jul 2023 16:58:18 +0200 Subject: [PATCH] Remove basedir implementation Go added native support for finding the config directory via `os.UserConfigDir()`, so no need for a custom implementation with the potantial of becomming outdated/wrong over time. --- basedir/basedir.go | 35 ----------------------------------- basedir/basedir_darwin.go | 6 ------ basedir/basedir_unix.go | 8 -------- basedir/basedir_windows.go | 6 ------ main.go | 8 +++----- 5 files changed, 3 insertions(+), 60 deletions(-) delete mode 100644 basedir/basedir.go delete mode 100644 basedir/basedir_darwin.go delete mode 100644 basedir/basedir_unix.go delete mode 100644 basedir/basedir_windows.go diff --git a/basedir/basedir.go b/basedir/basedir.go deleted file mode 100644 index f5399b6..0000000 --- a/basedir/basedir.go +++ /dev/null @@ -1,35 +0,0 @@ -// Copyright (c) 2015, Daniel Martí -// See LICENSE for licensing information - -package basedir - -import ( - "os" - "os/user" - "path/filepath" -) - -// TODO: replace with https://github.com/golang/go/issues/29960 if accepted. - -// Data returns the base data directory. -func Data() string { - return dataDir -} - -func firstGetenv(def string, evs ...string) string { - for _, ev := range evs { - if v := os.Getenv(ev); v != "" { - return v - } - } - // TODO: replace with os.UserHomeDir once we require Go 1.12 or later. - home := os.Getenv("HOME") - if home == "" { - curUser, err := user.Current() - if err != nil { - return "" - } - home = curUser.HomeDir - } - return filepath.Join(home, def) -} diff --git a/basedir/basedir_darwin.go b/basedir/basedir_darwin.go deleted file mode 100644 index 67aa1b4..0000000 --- a/basedir/basedir_darwin.go +++ /dev/null @@ -1,6 +0,0 @@ -// Copyright (c) 2015, Daniel Martí -// See LICENSE for licensing information - -package basedir - -var dataDir = firstGetenv("Library/Application Support") diff --git a/basedir/basedir_unix.go b/basedir/basedir_unix.go deleted file mode 100644 index 8e1c9b4..0000000 --- a/basedir/basedir_unix.go +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright (c) 2015, Daniel Martí -// See LICENSE for licensing information - -// +build dragonfly freebsd linux netbsd openbsd - -package basedir - -var dataDir = firstGetenv(".config", "XDG_CONFIG_HOME") diff --git a/basedir/basedir_windows.go b/basedir/basedir_windows.go deleted file mode 100644 index b09724c..0000000 --- a/basedir/basedir_windows.go +++ /dev/null @@ -1,6 +0,0 @@ -// Copyright (c) 2015, Daniel Martí -// See LICENSE for licensing information - -package basedir - -var dataDir = firstGetenv("", "APPDATA") diff --git a/main.go b/main.go index b2a8538..582ec9c 100644 --- a/main.go +++ b/main.go @@ -10,8 +10,6 @@ import ( "os" "path/filepath" "strings" - - "mvdan.cc/fdroidcl/basedir" ) const cmdName = "fdroidcl" @@ -36,9 +34,9 @@ func mustCache() string { } func mustData() string { - dir := basedir.Data() - if dir == "" { - fmt.Fprintln(os.Stderr, "Could not determine data dir") + dir, err := os.UserConfigDir() + if err != nil { + fmt.Fprintln(os.Stderr, err) panic("TODO: return an error") } return subdir(dir, cmdName)