Browse Source

add run user

Lunny Xiao 11 years ago
parent
commit
9c3a8ff299
4 changed files with 34 additions and 7 deletions
  1. 1 1
      conf/app.ini
  2. 17 1
      gogs.go
  3. 15 4
      models/publickey.go
  4. 1 1
      models/user.go

+ 1 - 1
conf/app.ini

@@ -1,5 +1,5 @@
 APP_NAME = Gogs - Go Git Service
-RUN_USER = git
+RUN_USER = lunny
 
 [repository]
 ROOT = /Users/lunny/git/gogs-repositories

+ 17 - 1
gogs.go

@@ -7,9 +7,11 @@ package main
 
 import (
 	"os"
+	"os/user"
 	"runtime"
 
 	"github.com/codegangsta/cli"
+	"github.com/gogits/gogs/utils"
 )
 
 // +build go1.1
@@ -17,13 +19,27 @@ import (
 // Test that go1.1 tag above is included in builds. main.go refers to this definition.
 const go11tag = true
 
-const APP_VER = "0.0.0.0220"
+const APP_VER = "0.0.0.0225"
 
 func init() {
 	runtime.GOMAXPROCS(runtime.NumCPU())
 }
 
+func checkRunUser() bool {
+	user, err := user.Current()
+	if err != nil {
+		// TODO: log
+		return false
+	}
+	return user.Username == utils.Cfg.MustValue("", "RUN_USER")
+}
+
 func main() {
+	/*if !checkRunUser() {
+		println("The command should be run as", utils.Cfg.MustValue("", "RUN_USER"))
+		return
+	}*/
+
 	app := cli.NewApp()
 	app.Name = "Gogs"
 	app.Usage = "Go Git Service"

+ 15 - 4
models/publickey.go

@@ -4,15 +4,16 @@ import (
 	"fmt"
 	"os"
 	"os/exec"
+	"os/user"
 	"path/filepath"
 	"time"
 )
 
 var (
-	publicKeyRootPath string
-	sshPath           string = "/Users/lunny/.ssh"
-	appPath           string
-	tmplPublicKey     = "### autogenerated by gitgos, DO NOT EDIT\n" +
+	//publicKeyRootPath string
+	sshPath       string
+	appPath       string
+	tmplPublicKey = "### autogenerated by gitgos, DO NOT EDIT\n" +
 		"command=\"%s serv key-%d\",no-port-forwarding," +
 		"no-X11-forwarding,no-agent-forwarding,no-pty %s\n"
 )
@@ -25,6 +26,14 @@ func exePath() (string, error) {
 	return filepath.Abs(file)
 }
 
+func homeDir() string {
+	user, err := user.Current()
+	if err != nil {
+		return "/"
+	}
+	return user.HomeDir
+}
+
 func init() {
 	var err error
 	appPath, err = exePath()
@@ -32,6 +41,8 @@ func init() {
 		println(err.Error())
 		os.Exit(2)
 	}
+
+	sshPath = filepath.Join(homeDir(), ".ssh")
 }
 
 type PublicKey struct {

+ 1 - 1
models/user.go

@@ -66,7 +66,7 @@ const (
 	OP_PULL_REQUEST
 )
 
-// A Action represents
+// An Action represents
 type Action struct {
 	Id      int64
 	UserId  int64