From b7263f31a5a0a4a0ac8fe92c83563d7b7dcf7423 Mon Sep 17 00:00:00 2001
From: Sandro Santilli <strk@kbt.io>
Date: Mon, 7 Nov 2016 11:41:50 +0100
Subject: [PATCH] Replace GOGS with GITEA in variable names

Still use GOGS_WORK_DIR and GOGS_CUSTOM env variables
as a fallback if the equivalent GITEA_* are not set,
warning user about the need for change.

Does not change "gogs" to "gitea" in webhook type name
Because "gogs" hook type is part of the API (routes) and used
in templates...

Closes #87
---
 Dockerfile                 |  2 +-
 Dockerfile.rpi             |  2 +-
 docker/build.sh            |  2 +-
 docker/s6/gogs/setup       |  2 +-
 models/pull.go             |  2 +-
 modules/setting/setting.go | 22 +++++++++++++++++++---
 routers/repo/pull.go       |  2 +-
 scripts/init/centos/gogs   | 18 +++++++++---------
 scripts/init/freebsd/gogs  |  2 +-
 scripts/init/suse/gogs     | 18 +++++++++---------
 10 files changed, 44 insertions(+), 28 deletions(-)

diff --git a/Dockerfile b/Dockerfile
index 3a3c40511..aa6c834e2 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -6,7 +6,7 @@ ADD https://github.com/tianon/gosu/releases/download/1.9/gosu-amd64 /usr/sbin/go
 RUN chmod +x /usr/sbin/gosu \
  && apk --no-cache --no-progress add ca-certificates bash git linux-pam s6 curl openssh socat tzdata
 
-ENV GOGS_CUSTOM /data/gogs
+ENV GITEA_CUSTOM /data/gogs
 
 COPY . /app/gogs/
 WORKDIR /app/gogs/
diff --git a/Dockerfile.rpi b/Dockerfile.rpi
index 8fbe8252b..8e034fe20 100644
--- a/Dockerfile.rpi
+++ b/Dockerfile.rpi
@@ -9,7 +9,7 @@ RUN chmod +x /usr/sbin/gosu \
  && apk -U --no-progress upgrade && rm -f /var/cache/apk/APKINDEX.* \
  && apk --no-cache --no-progress add ca-certificates bash git linux-pam s6 curl openssh socat tzdata
 
-ENV GOGS_CUSTOM /data/gogs
+ENV GITEA_CUSTOM /data/gogs
 
 COPY . /app/gogs/
 WORKDIR /app/gogs/
diff --git a/docker/build.sh b/docker/build.sh
index fb98b12b8..9965cef37 100755
--- a/docker/build.sh
+++ b/docker/build.sh
@@ -33,4 +33,4 @@ apk --no-progress del build-deps
 
 # Create git user for Gogs
 adduser -H -D -g 'Gogs Git User' git -h /data/git -s /bin/bash && passwd -u git
-echo "export GOGS_CUSTOM=${GOGS_CUSTOM}" >> /etc/profile
+echo "export GITEA_CUSTOM=${GITEA_CUSTOM}" >> /etc/profile
diff --git a/docker/s6/gogs/setup b/docker/s6/gogs/setup
index 40bd82b28..8435e25b6 100755
--- a/docker/s6/gogs/setup
+++ b/docker/s6/gogs/setup
@@ -6,7 +6,7 @@ if ! test -d ~git/.ssh; then
 fi
 
 if ! test -f ~git/.ssh/environment; then
-    echo "GOGS_CUSTOM=${GOGS_CUSTOM}" > ~git/.ssh/environment
+    echo "GITEA_CUSTOM=${GITEA_CUSTOM}" > ~git/.ssh/environment
     chmod 600 ~git/.ssh/environment
 fi
 
diff --git a/models/pull.go b/models/pull.go
index ae508103d..20ea1b87c 100644
--- a/models/pull.go
+++ b/models/pull.go
@@ -26,7 +26,7 @@ var PullRequestQueue = sync.NewUniqueQueue(setting.Repository.PullRequestQueueLe
 type PullRequestType int
 
 const (
-	PULL_REQUEST_GOGS PullRequestType = iota
+	PULL_REQUEST_GITEA PullRequestType = iota
 	PLLL_ERQUEST_GIT
 )
 
diff --git a/modules/setting/setting.go b/modules/setting/setting.go
index 923c45674..1ddbf6d2b 100644
--- a/modules/setting/setting.go
+++ b/modules/setting/setting.go
@@ -297,10 +297,18 @@ func init() {
 
 // WorkDir returns absolute path of work directory.
 func WorkDir() (string, error) {
-	wd := os.Getenv("GOGS_WORK_DIR")
+	wd := os.Getenv("GITEA_WORK_DIR")
 	if len(wd) > 0 {
 		return wd, nil
 	}
+	// Use GOGS_WORK_DIR if available, for backward compatibility
+	// TODO: drop in 1.1.0 ?
+	wd = os.Getenv("GOGS_WORK_DIR")
+	if len(wd) > 0 {
+		log.Warn(`Usage of GOGS_WORK_DIR is deprecated and will be *removed* in a future release,
+please consider changing to GITEA_WORK_DIR`)
+		return wd, nil
+	}
 
 	i := strings.LastIndex(AppPath, "/")
 	if i == -1 {
@@ -341,9 +349,17 @@ func NewContext() {
 		log.Fatal(4, "Fail to parse 'conf/app.ini': %v", err)
 	}
 
-	CustomPath = os.Getenv("GOGS_CUSTOM")
+	CustomPath = os.Getenv("GITEA_CUSTOM")
 	if len(CustomPath) == 0 {
-		CustomPath = workDir + "/custom"
+		// For backward compatibility
+		// TODO: drop in 1.1.0 ?
+		CustomPath = os.Getenv("GOGS_CUSTOM")
+		if len(CustomPath) == 0 {
+			CustomPath = workDir + "/custom"
+		} else {
+			log.Warn(`Usage of GOGS_CUSTOM is deprecated and will be *removed* in a future release,
+please consider changing to GITEA_CUSTOM`)
+		}
 	}
 
 	if len(CustomConf) == 0 {
diff --git a/routers/repo/pull.go b/routers/repo/pull.go
index 50cd77f3f..0fdffad2d 100644
--- a/routers/repo/pull.go
+++ b/routers/repo/pull.go
@@ -687,7 +687,7 @@ func CompareAndPullRequestPost(ctx *context.Context, form auth.CreateIssueForm)
 		HeadRepo:     headRepo,
 		BaseRepo:     repo,
 		MergeBase:    prInfo.MergeBase,
-		Type:         models.PULL_REQUEST_GOGS,
+		Type:         models.PULL_REQUEST_GITEA,
 	}
 	// FIXME: check error in the case two people send pull request at almost same time, give nice error prompt
 	// instead of 500.
diff --git a/scripts/init/centos/gogs b/scripts/init/centos/gogs
index cacf57423..1a9fc2772 100644
--- a/scripts/init/centos/gogs
+++ b/scripts/init/centos/gogs
@@ -24,12 +24,12 @@
 # Default values
 
 NAME=gogs
-GOGS_HOME=/home/git/gogs
-GOGS_PATH=${GOGS_HOME}/$NAME
-GOGS_USER=git
+GITEA_HOME=/home/git/gogs
+GITEA_PATH=${GITEA_HOME}/$NAME
+GITEA_USER=git
 SERVICENAME="Gogs Go Git Service"
 LOCKFILE=/var/lock/subsys/gogs
-LOGPATH=${GOGS_HOME}/log
+LOGPATH=${GITEA_HOME}/log
 LOGFILE=${LOGPATH}/gogs.log
 RETVAL=0
 
@@ -37,19 +37,19 @@ RETVAL=0
 [ -r /etc/sysconfig/$NAME ] && . /etc/sysconfig/$NAME
 
 # Don't do anything if nothing is installed
-[ -x ${GOGS_PATH} ] || exit 0
+[ -x ${GITEA_PATH} ] || exit 0
 # exit if logpath dir is not created.
 [ -x ${LOGPATH} ] || exit 0
 
 DAEMON_OPTS="--check $NAME"
 
 # Set additional options, if any
-[ ! -z "$GOGS_USER" ] && DAEMON_OPTS="$DAEMON_OPTS --user=${GOGS_USER}"
+[ ! -z "$GITEA_USER" ] && DAEMON_OPTS="$DAEMON_OPTS --user=${GITEA_USER}"
 
 start() {
-  cd ${GOGS_HOME}
+  cd ${GITEA_HOME}
   echo -n "Starting ${SERVICENAME}: "
-  daemon $DAEMON_OPTS "${GOGS_PATH} web > ${LOGFILE} 2>&1 &"
+  daemon $DAEMON_OPTS "${GITEA_PATH} web > ${LOGFILE} 2>&1 &"
   RETVAL=$?
   echo
   [ $RETVAL = 0 ] && touch ${LOCKFILE}
@@ -58,7 +58,7 @@ start() {
 }
 
 stop() {
-  cd ${GOGS_HOME}
+  cd ${GITEA_HOME}
         echo -n "Shutting down ${SERVICENAME}: "
         killproc ${NAME}
         RETVAL=$?
diff --git a/scripts/init/freebsd/gogs b/scripts/init/freebsd/gogs
index eb5715747..8fc0359ef 100644
--- a/scripts/init/freebsd/gogs
+++ b/scripts/init/freebsd/gogs
@@ -38,7 +38,7 @@ gogs_start() {
 
 gogs_stop() {
 	if [ ! -f $pidfile ]; then
-		echo "GOGS PID File not found. Maybe GOGS is not running?"
+		echo "GITEA PID File not found. Maybe GITEA is not running?"
 	else
 		kill $(cat $pidfile)
 	fi
diff --git a/scripts/init/suse/gogs b/scripts/init/suse/gogs
index ea7dfa0a6..da5f79580 100644
--- a/scripts/init/suse/gogs
+++ b/scripts/init/suse/gogs
@@ -18,12 +18,12 @@
 # Default values
 
 NAME=gogs
-GOGS_HOME=/home/git/gogs
-GOGS_PATH=${GOGS_HOME}/$NAME
-GOGS_USER=git
+GITEA_HOME=/home/git/gogs
+GITEA_PATH=${GITEA_HOME}/$NAME
+GITEA_USER=git
 SERVICENAME="Go Git Service"
 LOCKFILE=/var/lock/subsys/gogs
-LOGPATH=${GOGS_HOME}/log
+LOGPATH=${GITEA_HOME}/log
 LOGFILE=${LOGPATH}/error.log
 # gogs creates its own gogs.log from stdout
 RETVAL=0
@@ -32,7 +32,7 @@ RETVAL=0
 [ -r /etc/sysconfig/$NAME ] && . /etc/sysconfig/$NAME
 
 # Don't do anything if nothing is installed
-test -x ${GOGS_PATH} || { echo "$NAME not installed";
+test -x ${GITEA_PATH} || { echo "$NAME not installed";
 	if [ "$1" = "stop" ]; then exit 0;
 	else exit 5; fi; }
 
@@ -53,12 +53,12 @@ case "$1" in
 		echo -n "Starting ${SERVICENAME} "
 
 		# As we can't use startproc, we have to check ourselves if the service is already running
-		/sbin/checkproc ${GOGS_PATH}
+		/sbin/checkproc ${GITEA_PATH}
 		if [ $? -eq 0 ]; then
 			# return skipped as service is already running
 			(exit 5)
 		else
-			su - ${GOGS_USER} -c "USER=${GOGS_USER} ${GOGS_PATH} web 2>&1 >>${LOGFILE} &"
+			su - ${GITEA_USER} -c "USER=${GITEA_USER} ${GITEA_PATH} web 2>&1 >>${LOGFILE} &"
 		fi
 
 		# Remember status and be verbose
@@ -70,7 +70,7 @@ case "$1" in
 
 		## Stop daemon with killproc(8) and if this fails
 		## killproc sets the return value according to LSB.
-		/sbin/killproc ${GOGS_PATH}
+		/sbin/killproc ${GITEA_PATH}
 
 		# Remember status and be verbose
 		rc_status -v
@@ -100,7 +100,7 @@ case "$1" in
 		# 5--199 reserved (5--99 LSB, 100--149 distro, 150--199 appl.)
 
 		# NOTE: checkproc returns LSB compliant status values.
-		/sbin/checkproc ${GOGS_PATH}
+		/sbin/checkproc ${GITEA_PATH}
 		# NOTE: rc_status knows that we called this init script with
 		# "status" option and adapts its messages accordingly.
 		rc_status -v