mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-16 14:54:29 +01:00
gitlab: Get rid of most 'already initialized constant'-warnings
On start, unicorn, sidekiq and other parts running ruby code emits quite a few warnings similar to /var/gitlab/state/config/application.rb:202: warning: already initialized constant Gitlab::Application::LOOSE_EE_APP_ASSETS /nix/store/ysb0lgbzxp7a9y4yl8d4f9wrrzy9kafc-gitlab-ee-12.3.5/share/gitlab/config/application.rb:202: warning: previous definition of LOOSE_EE_APP_ASSETS was here /var/gitlab/state/lib/gitlab.rb:38: warning: already initialized constant Gitlab::COM_URL /nix/store/ysb0lgbzxp7a9y4yl8d4f9wrrzy9kafc-gitlab-ee-12.3.5/share/gitlab/lib/gitlab.rb:38: warning: previous definition of COM_URL was here This seems to be caused by the same ruby files being evaluated multiple times due to the paths being different - sometimes they're loaded using the direct path and sometimes through a symlink, due to our split between config and package data. To fix this, we make sure that the offending files in the state directory always reference the store path, regardless of that being the real file or a symlink.
This commit is contained in:
parent
5617886b16
commit
ed4a09c6f3
2 changed files with 8 additions and 2 deletions
|
@ -666,7 +666,6 @@ in {
|
|||
"d ${gitlabConfig.production.shared.path}/artifacts 0750 ${cfg.user} ${cfg.group} -"
|
||||
"d ${gitlabConfig.production.shared.path}/lfs-objects 0750 ${cfg.user} ${cfg.group} -"
|
||||
"d ${gitlabConfig.production.shared.path}/pages 0750 ${cfg.user} ${cfg.group} -"
|
||||
"L+ ${cfg.statePath}/lib - - - - ${cfg.packages.gitlab}/share/gitlab/lib"
|
||||
"L+ /run/gitlab/config - - - - ${cfg.statePath}/config"
|
||||
"L+ /run/gitlab/log - - - - ${cfg.statePath}/log"
|
||||
"L+ /run/gitlab/tmp - - - - ${cfg.statePath}/tmp"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{ stdenv, lib, fetchurl, fetchFromGitLab, bundlerEnv
|
||||
, ruby, tzdata, git, nettools, nixosTests, nodejs
|
||||
, gitlabEnterprise ? false, callPackage, yarn
|
||||
, yarn2nix-moretea
|
||||
, yarn2nix-moretea, replace
|
||||
}:
|
||||
|
||||
let
|
||||
|
@ -118,6 +118,13 @@ stdenv.mkDerivation {
|
|||
|
||||
sed -i '/ask_to_continue/d' lib/tasks/gitlab/two_factor.rake
|
||||
sed -ri -e '/log_level/a config.logger = Logger.new(STDERR)' config/environments/production.rb
|
||||
|
||||
# Always require lib-files and application.rb through their store
|
||||
# path, not their relative state directory path. This gets rid of
|
||||
# warnings and means we don't have to link back to lib from the
|
||||
# state directory.
|
||||
${replace}/bin/replace-literal -f -r -e '../lib' "$out/share/gitlab/lib" config
|
||||
${replace}/bin/replace-literal -f -r -e "require_relative 'application'" "require_relative '$out/share/gitlab/config/application'" config
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
|
|
Loading…
Reference in a new issue