123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- // +build linux
- package main
- //go:generate go get dev.hexasoftware.com/hxs/genversion
- //go:generate genversion -package main -out version.go
- import (
- "fmt"
- "os"
- "os/exec"
- "dev.hexasoftware.com/hxs/prettylog"
- "dev.hexasoftware.com/hxs/cloudmount/internal/core"
- "dev.hexasoftware.com/hxs/cloudmount/internal/fs/gdrivefs"
- )
- var (
- Name = "cloudmount"
- log = prettylog.New("main")
- )
- func main() {
- prettylog.Global()
- // getClient
- fmt.Printf("%s-%s\n", Name, Version)
- core := core.New()
- core.Drivers["gdrive"] = gdrivefs.New
- err := core.Init()
- if err != nil {
- log.Println("Err:", err)
- return
- }
- // Register drivers here too
- ////////////////////////////////
- // Daemon
- /////////////////
- if core.Config.Daemonize {
- subArgs := []string{}
- for _, arg := range os.Args[1:] {
- if arg == "-d" { // ignore daemon flag
- continue
- }
- subArgs = append(subArgs, arg)
- }
- cmd := exec.Command(os.Args[0], subArgs...)
- if core.Config.VerboseLog {
- cmd.Stdout = os.Stdout
- cmd.Stderr = os.Stderr
- }
- cmd.Start()
- fmt.Println("[PID]", cmd.Process.Pid)
- os.Exit(0)
- return
- }
- core.Mount()
- }
|