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 {
ShowHelp bool
DataDir string
BlobDir string
CtlNet string
CtlAddr string
RegenKeys bool
@ -19,7 +18,7 @@ type args struct {
CleanUp bool
}
func defaultGrumbleDir() string {
func defaultDataDir() string {
dirname := ".grumble"
if runtime.GOOS == "windows" {
dirname = "grumble"
@ -27,14 +26,6 @@ func defaultGrumbleDir() string {
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 {
if runtime.GOOS == "windows" {
return "tcp"
@ -46,7 +37,7 @@ func defaultCtlAddr() string {
if runtime.GOOS == "windows" {
return "localhost:5454"
}
return filepath.Join(defaultGrumbleDir(), ".ctl")
return filepath.Join(defaultDataDir(), ".ctl")
}
func Usage() {
@ -60,7 +51,6 @@ var Args args
func init() {
flag.BoolVar(&Args.ShowHelp, "help", false, "Show this help")
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.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")

View file

@ -38,8 +38,23 @@ func main() {
log.SetFlags(log.LstdFlags | log.Lmicroseconds)
log.Printf("Grumble")
log.Printf("Using blob directory: %s", Args.BlobDir)
err = blobstore.Open(Args.BlobDir)
log.Printf("Using data directory: %s", Args.DataDir)
// 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 {
log.Fatalf("Unable to initialize blobstore: %v", err.Error())
}