diff --git a/debian/control b/debian/control index ebb48caa2c..3d723b6b45 100644 --- a/debian/control +++ b/debian/control @@ -397,6 +397,7 @@ Depends: ${shlibs:Depends}, ${misc:Depends}, node-marked (>= 0.3~), node-mermaid, node-minimatch, + node-miragejs, node-mousetrap, node-pdfjs-dist, # Include node-pikaday only after @gitlab/ui is accepted diff --git a/debian/gitlab.install b/debian/gitlab.install index e759e1b936..24cd32fb15 100644 --- a/debian/gitlab.install +++ b/debian/gitlab.install @@ -50,7 +50,7 @@ jest.config.*.js usr/share/gitlab lib usr/share/gitlab locale usr/share/gitlab MAINTENANCE.md usr/share/gitlab -package.json usr/share/gitlab +package.json var/lib/gitlab PHILOSOPHY.md usr/share/gitlab plugins usr/share/gitlab PROCESS.md usr/share/gitlab diff --git a/debian/gitlab.links b/debian/gitlab.links index 9fa78c7daa..af476b0f69 100644 --- a/debian/gitlab.links +++ b/debian/gitlab.links @@ -1,17 +1,18 @@ var/lib/gitlab/public usr/share/gitlab/public var/lib/gitlab/shared usr/share/gitlab/shared var/lib/gitlab/db usr/share/gitlab/db -var/lib/gitlab/.node_modules usr/share/gitlab/node_modules -var/lib/gitlab/yarn.lock usr/share/gitlab/yarn.lock +var/lib/gitlab/node_modules usr/share/gitlab/node_modules var/lib/gitlab/package.json usr/share/gitlab/package.json var/lib/gitlab/yarn-error.log usr/share/gitlab/yarn-error.log -var/lib/gitlab/.ssh usr/share/gitlab/.ssh -var/lib/gitlab/.bundle usr/share/gitlab/.bundle +var/lib/gitlab/yarn.lock usr/share/gitlab/yarn.lock var/lib/gitlab/.yarn usr/share/gitlab/.yarn var/lib/gitlab/.yarnrc.yml usr/share/gitlab/.yarnrc.yml +var/lib/gitlab/.ssh usr/share/gitlab/.ssh +var/lib/gitlab/.bundle usr/share/gitlab/.bundle var/lib/gitlab/secrets.yml etc/gitlab/secrets.yml var/lib/gitlab/locale usr/share/gitlab/app/assets/javascripts/locale usr/share/gitlab/app/assets/javascripts/locale.static/index.js var/lib/gitlab/locale/index.js +usr/share/gitlab/scripts var/lib/gitlab/scripts var/log/gitlab usr/share/gitlab/log var/log/gitlab/builds usr/share/gitlab/builds run/gitlab usr/share/gitlab/tmp diff --git a/debian/gitlab.postinst b/debian/gitlab.postinst index 1716504813..a0d3e9b8e8 100755 --- a/debian/gitlab.postinst +++ b/debian/gitlab.postinst @@ -131,6 +131,8 @@ case "$1" in # Make yarn.lock writable chown ${gitlab_user}: /var/lib/gitlab/yarn.lock + # Make package.json writable for yarn 2 + chown ${gitlab_user}: /var/lib/gitlab/package.json runuser -u ${gitlab_user} -- sh -c "chmod 700 ${gitlab_uploads_path}" runuser -u ${gitlab_user} -- sh -c 'git config --global core.autocrlf "input"' diff --git a/debian/patches/0740-use-packaged-modules.patch b/debian/patches/0740-use-packaged-modules.patch index 86da0e4341..43d12468a0 100644 --- a/debian/patches/0740-use-packaged-modules.patch +++ b/debian/patches/0740-use-packaged-modules.patch @@ -32,13 +32,13 @@ Use debian packaged node modules when available - extensions: ['.js', '.gql', '.graphql'], - modules: ['/usr/share/gitlab/node_modules','/usr/share/gitlab/node_modules/mermaid/node_modules', '/usr/lib/nodejs'], + extensions: ['.js', '.gql', '.graphql', '.json'], -+ modules: ['/usr/share/gitlab/node_modules','/usr/share/gitlab/vendor/node_modules','/usr/share/gitlab/node_modules/mermaid/node_modules', '/usr/share/nodejs/markdown-it/node_modules/', '/usr/lib/nodejs', '/usr/share/nodejs'], ++ modules: ['/var/lib/gitlab/node_modules','/usr/share/gitlab/vendor/node_modules','/usr/share/gitlab/node_modules/mermaid/node_modules', '/usr/share/nodejs/markdown-it/node_modules/', '/usr/lib/nodejs', '/usr/share/nodejs'], alias, }, resolveLoader: { - modules: ['/usr/share/gitlab/node_modules', '/usr/lib/nodejs'], -+ modules: ['/usr/share/gitlab/node_modules', '/usr/lib/nodejs','/usr/share/nodejs'], ++ modules: ['/var/lib/gitlab/node_modules', '/usr/lib/nodejs','/usr/share/nodejs'], }, module: { @@ -162,7 +162,8 @@ Use debian packaged node modules when available - "mermaid": "^8.5.2", "mersenne-twister": "1.1.0", - "minimatch": "^3.0.4", - "miragejs": "^0.1.40", +- "miragejs": "^0.1.40", ++ "miragejs": "portal:/usr/share/nodejs/miragejs", + "mkdirp": "^1.0.4", "mock-apollo-client": "^0.4.0", "monaco-editor": "^0.20.0", diff --git a/debian/rake-tasks.sh b/debian/rake-tasks.sh index 75f8a4a73a..f074560665 100755 --- a/debian/rake-tasks.sh +++ b/debian/rake-tasks.sh @@ -34,7 +34,7 @@ runuser -u ${gitlab_user} -- sh -c '/usr/bin/bundle exec rake db:migrate' chmod 0700 ${gitlab_data_dir}/.gitlab_shell_secret echo "Installing node modules..." -runuser -u ${gitlab_user} -- sh -c 'install -d /var/lib/gitlab/.node_modules' +cd /var/lib/gitlab runuser -u ${gitlab_user} -- sh -c 'install -d /var/lib/gitlab/.cache' runuser -u ${gitlab_user} -- sh -c 'yarnpkg set version berry' runuser -u ${gitlab_user} -- sh -c 'if ! grep nodeLinker .yarnrc.yml >/dev/null; then echo "nodeLinker: \"node-modules\"" >>.yarnrc.yml; fi' @@ -42,6 +42,8 @@ runuser -u ${gitlab_user} -- sh -c 'yarnpkg install' # Remove write permissions of .yarn-metadata.json files runuser -u ${gitlab_user} -- sh -c 'test -d "/var/lib/gitlab/.cache/yarn/v6" && find /var/lib/gitlab/.cache/yarn/v6/ -name .yarn-metadata.json -perm -a=w -exec chmod 644 {} \;' +cd /usr/share/gitlab + echo "Precompiling locales..." runuser -u ${gitlab_user} -- sh -c '/usr/bin/bundle exec rake gettext:po_to_json' @@ -51,4 +53,4 @@ runuser -u ${gitlab_user} -- sh -c '/usr/bin/bundle exec rake tmp:cache:clear as echo "Webpacking..." # Workaround for webpack crashing with nodejs 10 - https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=956211 # Build assets in production mode - https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=956508 -runuser -u ${gitlab_user} -- sh -c 'NODE_ENV="production" NODE_OPTIONS="--max-old-space-size=4096" webpack --config config/webpack.config.js' +runuser -u ${gitlab_user} -- sh -c 'NODE_ENV="production" NODE_PATH="node_modules" NODE_OPTIONS="--max-old-space-size=4096" webpack --config config/webpack.config.js'