Merge pull request #30030 from bobvanderlinden/pr-gogs-static-root-path

gogs: avoid creating symlinks each run
This commit is contained in:
Orivej Desh 2017-10-02 21:52:56 +00:00 committed by GitHub
commit 672bf13c1f
3 changed files with 29 additions and 6 deletions

View file

@ -25,6 +25,7 @@ let
HTTP_ADDR = ${cfg.httpAddress}
HTTP_PORT = ${toString cfg.httpPort}
ROOT_URL = ${cfg.rootUrl}
STATIC_ROOT_PATH = ${cfg.staticRootPath}
[session]
COOKIE_NAME = session
@ -175,6 +176,13 @@ in
'';
};
staticRootPath = mkOption {
type = types.str;
default = "${pkgs.gogs.data}";
example = "/var/lib/gogs/data";
description = "Upper level of template and static files path.";
};
extraConfig = mkOption {
type = types.str;
default = "";
@ -195,6 +203,8 @@ in
runConfig = "${cfg.stateDir}/custom/conf/app.ini";
secretKey = "${cfg.stateDir}/custom/conf/secret_key";
in ''
mkdir -p ${cfg.stateDir}
# copy custom configuration and generate a random secret key if needed
${optionalString (cfg.useWizard == false) ''
mkdir -p ${cfg.stateDir}/custom/conf

View file

@ -16,9 +16,12 @@ buildGoPackage rec {
sha256 = "1xn1b4dxf7r8kagps3yvp31zskfxn50k1gfic9abl4kjwpwk78c0";
};
patchPhase = ''
patches = [ ./static-root-path.patch ];
postPatch = ''
patchShebangs .
'';
substituteInPlace pkg/setting/setting.go --subst-var data
'';
nativeBuildInputs = [ makeWrapper ];
@ -33,10 +36,7 @@ buildGoPackage rec {
cp -R $src/{public,templates} $data
wrapProgram $bin/bin/gogs \
--prefix PATH : ${makeBinPath [ bash git gzip openssh ]} \
--run 'export GOGS_WORK_DIR=''${GOGS_WORK_DIR:-$PWD}' \
--run 'mkdir -p "$GOGS_WORK_DIR" && cd "$GOGS_WORK_DIR"' \
--run "ln -fs $data/{public,templates} ."
--prefix PATH : ${makeBinPath [ bash git gzip openssh ]}
'';
goPackagePath = "github.com/gogits/gogs";

View file

@ -0,0 +1,13 @@
diff --git a/pkg/setting/setting.go b/pkg/setting/setting.go
index f206592d..796da6ef 100644
--- a/pkg/setting/setting.go
+++ b/pkg/setting/setting.go
@@ -474,7 +474,7 @@ func NewContext() {
LocalURL = sec.Key("LOCAL_ROOT_URL").MustString(string(Protocol) + "://localhost:" + HTTPPort + "/")
OfflineMode = sec.Key("OFFLINE_MODE").MustBool()
DisableRouterLog = sec.Key("DISABLE_ROUTER_LOG").MustBool()
- StaticRootPath = sec.Key("STATIC_ROOT_PATH").MustString(workDir)
+ StaticRootPath = sec.Key("STATIC_ROOT_PATH").MustString("@data@")
AppDataPath = sec.Key("APP_DATA_PATH").MustString("data")
EnableGzip = sec.Key("ENABLE_GZIP").MustBool()