From e36badd744bc79c652deb3d45da1438982ec622a Mon Sep 17 00:00:00 2001 From: Maran Date: Wed, 11 Jun 2014 12:33:11 +0200 Subject: Reimplement -datadir flag. Implements #79 The config file is actually loaded from the folder that datadir points at --- ethereal/config.go | 4 ++++ ethereal/ethereum.go | 4 ++-- ethereum/config.go | 4 ++++ ethereum/ethereum.go | 4 ++-- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/ethereal/config.go b/ethereal/config.go index 6a42663e7..2315d1435 100644 --- a/ethereal/config.go +++ b/ethereal/config.go @@ -20,6 +20,8 @@ var ImportKey string var ExportKey bool var AssetPath string +var Datadir string + func Init() { flag.StringVar(&Identifier, "id", "", "Custom client identifier") flag.StringVar(&OutboundPort, "port", "30303", "listening port") @@ -35,5 +37,7 @@ func Init() { flag.BoolVar(&ExportKey, "export", false, "export private key") flag.StringVar(&ImportKey, "import", "", "imports the given private key (hex)") + flag.StringVar(&Datadir, "datadir", ".ethereal", "specifies the datadir to use. Takes precedence over config file.") + flag.Parse() } diff --git a/ethereal/ethereum.go b/ethereal/ethereum.go index b6e1c681b..7ace16760 100644 --- a/ethereal/ethereum.go +++ b/ethereal/ethereum.go @@ -43,14 +43,14 @@ func main() { ethchain.InitFees() g, err := globalconf.NewWithOptions(&globalconf.Options{ - Filename: path.Join(ethutil.ApplicationFolder(".ethereal"), "conf.ini"), + Filename: path.Join(ethutil.ApplicationFolder(Datadir), "conf.ini"), }) if err != nil { fmt.Println(err) } else { g.ParseAll() } - ethutil.ReadConfig(".ethereal", ethutil.LogFile|ethutil.LogStd, g, Identifier) + ethutil.ReadConfig(Datadir, ethutil.LogFile|ethutil.LogStd, g, Identifier) // Instantiated a eth stack ethereum, err := eth.New(eth.CapDefault, UseUPnP) diff --git a/ethereum/config.go b/ethereum/config.go index 39dc11727..a80b47a8e 100644 --- a/ethereum/config.go +++ b/ethereum/config.go @@ -24,6 +24,8 @@ var NonInteractive bool var StartJsConsole bool var InputFile string +var Datadir string + func Init() { flag.Usage = func() { fmt.Fprintf(os.Stderr, "%s [options] [filename]:\n", os.Args[0]) @@ -46,6 +48,8 @@ func Init() { flag.StringVar(&LogFile, "logfile", "", "log file (defaults to standard output)") flag.StringVar(&ImportKey, "import", "", "imports the given private key (hex)") + flag.StringVar(&Datadir, "datadir", ".ethereum", "specifies the datadir to use. Takes precedence over config file.") + flag.Parse() InputFile = flag.Arg(0) diff --git a/ethereum/ethereum.go b/ethereum/ethereum.go index 56ea46122..179a3f462 100644 --- a/ethereum/ethereum.go +++ b/ethereum/ethereum.go @@ -62,14 +62,14 @@ func main() { } g, err := globalconf.NewWithOptions(&globalconf.Options{ - Filename: path.Join(ethutil.ApplicationFolder(".ethereum"), "conf.ini"), + Filename: path.Join(ethutil.ApplicationFolder(Datadir), "conf.ini"), }) if err != nil { fmt.Println(err) } else { g.ParseAll() } - ethutil.ReadConfig(".ethereum", lt, g, Identifier) + ethutil.ReadConfig(Datadir, lt, g, Identifier) logger := ethutil.Config.Log -- cgit v1.2.3