Browse Source

Fix postinstall to use GOGS_CUSTOM instead of symlinking

Cyril Rohr 5 years ago
parent
commit
fa8bf0f1d7
3 changed files with 25 additions and 38 deletions
  1. 1 1
      .pkgr.yml
  2. 0 37
      packager/debian/postinst
  3. 24 0
      packager/hooks/postinst

+ 1 - 1
.pkgr.yml

@@ -24,4 +24,4 @@ before:
   - mv packager/.godir .
 after:
   - mv bin/main gogs
-after_install: ./packager/debian/postinst
+after_install: ./packager/hooks/postinst

+ 0 - 37
packager/debian/postinst

@@ -1,37 +0,0 @@
-#!/bin/sh
-
-set -e
-
-APP_NAME="gogs"
-CLI="${APP_NAME}"
-APP_USER=$(${CLI} config:get APP_USER)
-APP_GROUP=$(${CLI} config:get APP_GROUP)
-APP_CONFIG="/etc/${APP_NAME}/conf/app.ini"
-
-case "$1" in
-  abort-upgrade|abort-remove|abort-deconfigure)
-    exit 0
-  ;;
-
-  configure|*)
-    mkdir -p $(dirname ${APP_CONFIG})
-    chown ${APP_USER}.${APP_GROUP} $(dirname ${APP_CONFIG})
-    [ -f ${APP_CONFIG} ] || ${CLI} run cp conf/app.ini ${APP_CONFIG}
-    ${CLI} config:set USER=${APP_USER}
-    sed -i "s|RUN_USER = git|RUN_USER = ${APP_USER}|" ${APP_CONFIG}
-    sed -i "s|RUN_MODE = dev|RUN_MODE = prod|" ${APP_CONFIG}
-
-    # setup symlink towards custom conf
-    mkdir -p /opt/${APP_NAME}/custom/conf
-    chown -R ${APP_USER}.${APP_GROUP} /opt/${APP_NAME}/custom
-    ln -f -s ${APP_CONFIG} /opt/${APP_NAME}/custom/conf/app.ini
-
-    # scale
-    ${CLI} scale web=1 || true
-    
-    # restart the service
-    service gogs restart || true
-    
-  ;;
-
-esac

+ 24 - 0
packager/hooks/postinst

@@ -0,0 +1,24 @@
+#!/bin/sh
+
+set -e
+
+APP_NAME="gogs"
+CLI="${APP_NAME}"
+APP_USER=$(${CLI} config:get APP_USER)
+APP_GROUP=$(${CLI} config:get APP_GROUP)
+APP_CONFIG="/etc/${APP_NAME}/conf/app.ini"
+
+mkdir -p $(dirname ${APP_CONFIG})
+chown ${APP_USER}.${APP_GROUP} $(dirname ${APP_CONFIG})
+[ -f ${APP_CONFIG} ] || ${CLI} run cp conf/app.ini ${APP_CONFIG}
+${CLI} config:set USER=${APP_USER}
+sed -i "s|RUN_USER = git|RUN_USER = ${APP_USER}|" ${APP_CONFIG}
+sed -i "s|RUN_MODE = dev|RUN_MODE = prod|" ${APP_CONFIG}
+
+${CLI} config:set GOGS_CUSTOM=/etc/${APP_NAME}
+
+# scale
+${CLI} scale web=1 || true
+
+# restart the service
+service gogs restart || true