1
0
Fork 0
forked from External/grumble

Datadir re-org.

This commit is contained in:
Mikkel Krautz 2011-11-09 13:12:33 +01:00
parent adb9791b7c
commit 1c5325cba1
2 changed files with 19 additions and 14 deletions

14
args.go
View file

@ -11,7 +11,6 @@ import (
type args struct { type args struct {
ShowHelp bool ShowHelp bool
DataDir string DataDir string
BlobDir string
CtlNet string CtlNet string
CtlAddr string CtlAddr string
RegenKeys bool RegenKeys bool
@ -19,7 +18,7 @@ type args struct {
CleanUp bool CleanUp bool
} }
func defaultGrumbleDir() string { func defaultDataDir() string {
dirname := ".grumble" dirname := ".grumble"
if runtime.GOOS == "windows" { if runtime.GOOS == "windows" {
dirname = "grumble" dirname = "grumble"
@ -27,14 +26,6 @@ func defaultGrumbleDir() string {
return filepath.Join(os.Getenv("HOME"), dirname) return filepath.Join(os.Getenv("HOME"), dirname)
} }
func defaultDataDir() string {
return filepath.Join(defaultGrumbleDir(), "data")
}
func defaultBlobDir() string {
return filepath.Join(defaultGrumbleDir(), "blob")
}
func defaultCtlNet() string { func defaultCtlNet() string {
if runtime.GOOS == "windows" { if runtime.GOOS == "windows" {
return "tcp" return "tcp"
@ -46,7 +37,7 @@ func defaultCtlAddr() string {
if runtime.GOOS == "windows" { if runtime.GOOS == "windows" {
return "localhost:5454" return "localhost:5454"
} }
return filepath.Join(defaultGrumbleDir(), ".ctl") return filepath.Join(defaultDataDir(), ".ctl")
} }
func Usage() { func Usage() {
@ -60,7 +51,6 @@ var Args args
func init() { func init() {
flag.BoolVar(&Args.ShowHelp, "help", false, "Show this help") flag.BoolVar(&Args.ShowHelp, "help", false, "Show this help")
flag.StringVar(&Args.DataDir, "datadir", defaultDataDir(), "Directory to use for server storage") flag.StringVar(&Args.DataDir, "datadir", defaultDataDir(), "Directory to use for server storage")
flag.StringVar(&Args.BlobDir, "blobdir", defaultBlobDir(), "Directory to use for blob storage")
flag.StringVar(&Args.CtlNet, "ctlnet", defaultCtlNet(), "Network to use for ctl socket") flag.StringVar(&Args.CtlNet, "ctlnet", defaultCtlNet(), "Network to use for ctl socket")
flag.StringVar(&Args.CtlAddr, "ctladdr", defaultCtlAddr(), "Address to use for ctl socket") flag.StringVar(&Args.CtlAddr, "ctladdr", defaultCtlAddr(), "Address to use for ctl socket")
flag.BoolVar(&Args.RegenKeys, "regenkeys", false, "Force Grumble to regenerate its global RSA keypair and certificate") flag.BoolVar(&Args.RegenKeys, "regenkeys", false, "Force Grumble to regenerate its global RSA keypair and certificate")

View file

@ -38,8 +38,23 @@ func main() {
log.SetFlags(log.LstdFlags | log.Lmicroseconds) log.SetFlags(log.LstdFlags | log.Lmicroseconds)
log.Printf("Grumble") log.Printf("Grumble")
log.Printf("Using blob directory: %s", Args.BlobDir) log.Printf("Using data directory: %s", Args.DataDir)
err = blobstore.Open(Args.BlobDir)
// Open the blobstore
blobDir := filepath.Join(Args.DataDir, "blob")
err = os.Mkdir(blobDir, 0700)
if err != nil {
exists := false
if e, ok := err.(*os.PathError); ok {
if e.Err == os.EEXIST {
exists = true
}
}
if !exists {
log.Fatal("Unable to create blob directory: %v", err.Error())
}
}
err = blobstore.Open(blobDir)
if err != nil { if err != nil {
log.Fatalf("Unable to initialize blobstore: %v", err.Error()) log.Fatalf("Unable to initialize blobstore: %v", err.Error())
} }