www-apps/gitlab-ce:

Add ebuild for version 9.5.3.

Package-Manager: Portage-2.3.6, Repoman-2.3.1
This commit is contained in:
Manuel Friedli 2017-09-05 11:46:49 +02:00
parent fb9f566582
commit c93d5d9561
3 changed files with 438 additions and 1 deletions

View file

@ -1,3 +1,8 @@
*gitlab-ce-9.5.3 (05 Sep 2017)
05 Sep 2017; Manuel Friedli <manuel@fritteli.ch> +gitlab-ce-9.5.3.ebuild:
www-apps/gitlab-ce: Add ebuild for version 9.5.3.
*gitlab-ce-9.0.13 (17 Aug 2017)
*gitlab-ce-9.1.10 (17 Aug 2017)
*gitlab-ce-9.2.10 (17 Aug 2017)

View file

@ -22,12 +22,14 @@ DIST gitlab-ce-9.2.10.tar.gz 30988788 SHA256 a30e9d08d08433713df958d447a76cf2ed1
DIST gitlab-ce-9.3.10.tar.gz 31765280 SHA256 bda195e39e38428af95c0806bbe28b2667f346a346fe1498b772df9465809163 SHA512 2d248376daa5b10d9232022f78209a6be054290f2470c70df4ce8332428ba0f72461fe7c62ad35460056f2c2dabac73d278f0f65f50a09cf6f72d8d1178a8d26 WHIRLPOOL 87c8ba0086c9da2d3f67d41e3ac36a15b1bcb13df8b2a408eef87797828a0a6fa642b9eac4ba220b178a21687b752227f4a1d61bf204a9f4ac0ead89d2586d0e
DIST gitlab-ce-9.4.0_rc6.tar.gz 32810524 SHA256 4cd8ae890bbe2b90047078c6d61fd29c8c62e8aa0059d97ca14db81b68ea64f2 SHA512 b8aeaa3f017b47c3455885c57fc21da8fc393ce6258de6813f0c7104f7dc725ffd3800c22d480ed19aa553c7d1040a4006dbd923cb6a1f3cdd685b17ee21afc0 WHIRLPOOL dd583d05f6937612e9a34980c558030bed266f2a0f50a2d9977c23a4cb8fcbfcfc71a3157c846250a02091688333c5b76ccdeec2a9f3e5a23af715caa7d58f05
DIST gitlab-ce-9.4.5.tar.gz 32848913 SHA256 fe3d686d017de2af5079327af360addf67410b41ab26f2aa2cecce982649807c SHA512 167291086d96445fb9a8fe3b0868ec5884fbfa8fe77f63b048d4b2b79aeaa5fca2279ed9e9374dc0d3f78ae5aabad1d8788aa7e58b50c16e9155c46d061f619d WHIRLPOOL 390fd8f883375d7f47d9870904fe46521f457c5e517c8299875d2bf0a25aae33ac7bec68984c17f6996af7638baf35c5f62a090f57ca16c26f256d4e92b339fd
DIST gitlab-ce-9.5.3.tar.gz 36190930 SHA256 c04f7e0ee437ef72ab1ca156599a992adb396d8ca91ddb6702b7c93904be5ab0 SHA512 a45b246be1373dbcc9f556e4836ff53fd9fb3c46134e4668de1c6121c214b006da1a15d8e1e4fb4f90b7a235c6c849b0cbc8edf11920bfd43cde50feeda66faf WHIRLPOOL 2c88bbbf10adaed7c182d66e87d1d9c757f5ef99f7d8826d0e137f6b624069d950ce159af06ebd005ab964539120462143b9beb3e993a9f774cf0908d6c40e86
EBUILD gitlab-ce-9.0.13.ebuild 13146 SHA256 64748b6e753c67ac3c46094a5bd021b13bca05d5dbf5955de6e0796ab8bb43fc SHA512 ba2ad250ef3c35d333d22ae25dd62c05fc53591438bf2f77a6d0ccc8993e53695d8458153bb6e80dcde4b092bc7523909b2d9e3949e640862a3455deaf647b1f WHIRLPOOL 78863ffbb92f592405227209a4980c05cf40e34be35a1198bdd3cba938fa34709ca0af850b4b4735f7aeb54dd3e35b1825233dd32afa2a964524bf7cc2035839
EBUILD gitlab-ce-9.1.10.ebuild 13302 SHA256 3fc7a2a4e386e49362a4c9abec30799e0a794b9e1636b18b57c988323acc86bc SHA512 de31e302e94df6dbf263aaf4afce12d3260dac06b22b3f48965e4e7687b3be8e831d06ce2d05581acf9c9305dc1b40842e5be0fed2dc7f7948e9836361f82e87 WHIRLPOOL a6599e4d5c77ae0c6f0a8ba71797a20e73747f1cc4d5a43d2b3939efb7dfd59b8c409b17c32ffc39e6c8cee976da77840309c6be4f51f84a3034812c6b481e99
EBUILD gitlab-ce-9.2.10.ebuild 13047 SHA256 19f794001a59da5c2de341c2f4fa73f69cb11af3139ad1c908f7fedeffe7c5f9 SHA512 df7fe4662cf1c85758d8634b13b14211242115113c37f78bb7ad1196a40243a0420aca3d3548743043a9de8410db1b80192f75c492347928ae0a574ba2abc924 WHIRLPOOL 5f38b97cba750b57c3f9300c8b8a19fa20eb6e82d35e79431ec3f1b91dd16a578776d125962d94ad2d9d34e2a6142fcfe332d6322b60afc975e761bca85591cc
EBUILD gitlab-ce-9.3.10.ebuild 13706 SHA256 a02bc1d9e5912932663dc896683b63ecdfd44a00945db5d0955ab5ad31b97e04 SHA512 c3490ba8dea6cf7058de0aac62910e7e4c1b125256311fdb0648d2f40555ae408d0db87a7b179d7f53ae823a1c104d42a68eb7c5affdb79ed108d39eb5cf2666 WHIRLPOOL 9627551b7d3439f33e4816d55e3c9be54ebf0905cc57e4b1ad41ab4aed7c156221ee3a11c33636153a9eef4545ef870534b2a7faafd4c7e2cffe8fa6020ab37b
EBUILD gitlab-ce-9.4.0_rc6.ebuild 13515 SHA256 55d3f521d4b54ae3a8e1730e603cc3699a957bb037d7bb402984c27b68e3ba50 SHA512 b47acf7328fc7396bf4e33b5e5fd147e20a5b4d0ea115518ad3492cac3e8d65e861e3ab961e73779d0bee82a5c08ca04a355e4c547c4504d5881d81f182ba6e4 WHIRLPOOL 47547b6d7368a086aa474cad44a304936a06615406c9c72d899677c2742596a991d9b2e4cb4f7a65a1011db2966b7f21ff0901004e00e4f96cbae8b28018e3bb
EBUILD gitlab-ce-9.4.5.ebuild 13533 SHA256 c48168a56f787a8ad4f1feca02b6d6ffa72ce093dbea96a43944a26cabeb74be SHA512 6c6d428cbfc2510172cafadb7e96f2328c41e4b884ae97ff18a47de90f95ea0df8b9e19c439b3aab55b9508b74ebb18f0d805ba1c4d98d44fb47e4451784bb67 WHIRLPOOL 6c1ff65d02f671856f5dc95ef7cd4ec7e7b37876d1543942adc66bb25d0f82b7625e9370dd69338eb944b5d5c890ab383490e16d29df34f1ce50c50f4f83fcaa
EBUILD gitlab-ce-9.5.3.ebuild 13533 SHA256 13cce9472011e86028cfca5e50414188eea7c54b729d29fbde486e0e8d5e3c91 SHA512 632f58d3518ac0a5b6ffafab9e945f3b92d5d1eaf9f73ca153c0ccb9c521cbab311cff4b2494d9cc4de6eb66e6e1d81af0df3e9cc6761654deaa6c1bea4f5f6e WHIRLPOOL b967fa1f66ea8ceef62c11d17685dee79a694a1d8b556216d41fa0b5eb118dd3acb1edff030cddf6abd46864f82224ea10557a537a314832f0147995b83c4fcb
EBUILD gitlab-ce-9999.ebuild 13475 SHA256 ae6496c7a3fd61c484fed4822631005348ab5d9c05df61ef927ae797753e83c6 SHA512 79f6b2457187f95a52cddcd67643c9b6d4ca72a4f4e52f34849786ff8ac9be32b771504f6cdd7dbaf5de5f77869db75812ff4ea3aeaf2abbdc874e755b627d99 WHIRLPOOL 2fbd6ea7b1013128416c511f2d4eb4f08e087046a8c3dfe60c5b3d5b7ac521d86ab33dba9a62e5bd10b4f5ef0e1d9d3a8cac43a189dca018c6ddb734806d8a76
MISC ChangeLog 23010 SHA256 098af296bfa9a821af4bd8b722d69d03dab82de49f0123e45bca0c7e52525caf SHA512 9ee0b24eae33d9a3a4f97337b288f4a88bc6e1ced5f75db854cbcbc9519f8954fcadeed1709f7a7cd155694dd818ca6da8337095195f322318b9bb4f1f6e722c WHIRLPOOL 140529c4a0694affbe3514920427cdadc565de32123436a9026431a95575dd429392c69d1df6e4ebf06d21cc1fdd7ffb0ac7c991c3b95f1a98b41d849368f421
MISC ChangeLog 23172 SHA256 74233c80552a9d05c8388ff5181a4355232ca270fea2cd4f4e179124b7dfb03f SHA512 817f80d29bb65588183fcce6271eaf7c67317c513e29b3e812be17334a902c47161fffc3b2832db13478d4270581cd12a6700ef6a4f50c34f7a3f202cfbce02c WHIRLPOOL 6d36bbfcba26f314eaea8bac6d789a0768d3b20cc4d7fc379df589b89a624658871cff017be75550e82ddfd94d0e74bb5aaab31249113b61c760107d695564c8
MISC metadata.xml 801 SHA256 3dc7486a12903f47f65968d524c93500ba30a4a09fa57e5a9dacf356509b44bb SHA512 e132754b72e64246531fa883400a0cf1a473ac5a6a49623db58ccf118a038b7cf37df03d9550f37b4a25f9ddbb1dcc5652ec9a4f2259d8e3ce202692c4025f41 WHIRLPOOL e9d961681fd790008eaf80fa07ce2c55a00a58f2e920d759793783ca8c8f508602a777e94c0cb65fe87c7dbef0cabdf26e4f4082584421097d939cbab20c4ac6

View file

@ -0,0 +1,430 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI="6"
# Maintainer notes:
# - This ebuild uses Bundler to download and install all gems in deployment mode
# (i.e. into isolated directory inside application). That's not Gentoo way how
# it should be done, but GitLab has too many dependencies that it will be too
# difficult to maintain them via ebuilds.
#
USE_RUBY="ruby23"
inherit eutils ruby-ng user systemd
MY_PV="v${PV/_/-}"
MY_GIT_COMMIT="789cc6787fff872693625565732cbbc18009ed2f"
GITALY_VERSION="0.35.0"
GITLAB_PAGES_VERSION="0.5.0"
GITLAB_SHELL_VERSION="5.8.0"
GITLAB_WORKHORSE_VERSION="3.0.0"
DESCRIPTION="GitLab is a free project and repository management application"
HOMEPAGE="https://about.gitlab.com/"
SRC_URI="https://gitlab.com/gitlab-org/${PN}/repository/archive.tar.gz?ref=${MY_PV} -> ${P}.tar.gz"
RUBY_S="${PN}-${MY_PV}-${MY_GIT_COMMIT}"
RESTRICT="mirror"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86 ~arm64"
IUSE="kerberos mysql +postgres +unicorn systemd pages rugged_use_system_libraries"
## Gems dependencies:
# charlock_holmes dev-libs/icu
# grape, capybara dev-libs/libxml2, dev-libs/libxslt
# rugged dev-util/cmake, virtual/pkgconfig
# json dev-util/ragel
# pygments.rb python 2.7+
# execjs net-libs/nodejs, or any other JS runtime
# pg dev-db/postgresql
# mysql virtual/mysql
#
GEMS_DEPEND="
dev-libs/icu
dev-libs/libxml2
dev-libs/libxslt
dev-libs/re2
dev-util/ragel
>=net-libs/nodejs-4.3.0
>=sys-apps/yarn-0.17.0
postgres? ( >=dev-db/postgresql-9.1:* )
mysql? ( virtual/mysql )
kerberos? ( virtual/krb5 )"
CDEPEND="
dev-util/cmake
virtual/pkgconfig"
COMMON_DEPEND="
${GEMS_DEPEND}
~dev-vcs/gitlab-shell-${GITLAB_SHELL_VERSION}
>=dev-vcs/git-2.8.4
~www-servers/gitlab-workhorse-${GITLAB_WORKHORSE_VERSION}
kerberos? ( !app-crypt/heimdal )
rugged_use_system_libraries? ( net-libs/http-parser dev-libs/libgit2:0/25 )
pages? ( ~www-servers/gitlab-pages-${GITLAB_PAGES_VERSION} )
~www-servers/gitlab-gitaly-${GITALY_VERSION}"
DEPEND="
${CDEPEND}
${COMMON_DEPEND}"
RDEPEND="
${COMMON_DEPEND}
>=dev-db/redis-2.8
virtual/mta
systemd? ( sys-apps/systemd:0= )"
# required bundler >= 1.15.1
ruby_add_bdepend "
virtual/rubygems
>=dev-ruby/bundler-1.14.6"
#
# fix-sendmail-config:
# Fix default settings to work with ssmtp that doesn't know '-t' argument.
# fix-redis-config-path:
# Point to the absolute location of redis_config.rb
#
PATCHES=(
"${FILESDIR}/01-${PN}-8.7.5-fix-sendmail-config.patch"
"${FILESDIR}/02-${PN}-9.0.0-fix-redis-config-path.patch"
"${FILESDIR}/03-${PN}-9.4.0-database.yml.patch"
"${FILESDIR}/04-${PN}-9.3.0-fix-check-task.patch"
"${FILESDIR}/05-${PN}-9.0.0-replace-sys-filesystem.patch"
"${FILESDIR}/06-${PN}-8.17.0-fix-webpack-config.patch"
)
MY_NAME="gitlab"
MY_USER="git" # should be same as in gitlab-shell
DEST_DIR="/opt/${MY_NAME}"
CONF_DIR="/etc/${MY_NAME}"
LOGS_DIR="/var/log/${MY_NAME}"
TEMP_DIR="/var/tmp/${MY_NAME}"
all_ruby_prepare() {
# fix paths
local satellites_path="${TEMP_DIR}/repo_satellites"
local repos_path=/var/lib/git/repositories
local shell_path=/usr/share/gitlab-shell
local run_path=/run/${MY_NAME}
sed -i -E \
-e "/satellites:$/,/\w:$/ s|(\s*path:\s).*|\1${satellites_path}/|" \
-e "/gitlab_shell:$/,/\w:$/ s|(\s*path:\s).*|\1${shell_path}/|" \
-e "/gitlab_shell:$/,/\w:$/ s|(\s*repos_path:\s).*|\1${repos_path}/|" \
-e "/gitlab_shell:$/,/\w:$/ s|(\s*hooks_path:\s).*|\1${shell_path}/hooks/|" \
-e "/path: \\/home\\/git\\/repositories\\/$/ s|/home/git/repositories/|/var/lib/git/repositories/|" \
-e "/gitaly_address:/ s|/home/git/gitlab/tmp/sockets/private/|${run_path}/sockets/|" \
config/gitlab.yml.example || die "failed to filter gitlab.yml.example"
sed -i -E \
-e "s|/home/git/gitlab/tmp|${run_path}|g" \
-e "s|/home/git/gitlab/log|${LOGS_DIR}|g" \
-e "s|/home/git/gitlab|${DEST_DIR}|g" \
config/unicorn.rb.example || die "failed to filter unicorn.rb.example"
sed -i \
-e "s|/home/git/gitlab/tmp|${run_path}|g" \
lib/support/nginx/gitlab || die "failed to filter nginx/gitlab"
# modify default database settings for PostgreSQL
sed -i -E \
-e 's|(username:).*|\1 gitlab|' \
-e 's|(password:).*|\1 gitlab|' \
-e 's|(socket:).*|\1 /run/postgresql/.s.PGSQL.5432|' \
config/database.yml.postgresql \
|| die "failed to filter database.yml.postgresql"
# rename config files
mv config/gitlab.yml.example config/gitlab.yml
mv config/unicorn.rb.example config/unicorn.rb
local dbconf=config/database.yml
if use postgres && ! use mysql; then
mv ${dbconf}.postgresql ${dbconf}
rm ${dbconf}.mysql
elif use mysql && ! use postgres; then
mv ${dbconf}.mysql ${dbconf}
rm ${dbconf}.postgresql
fi
# remove useless files
rm -r lib/support/{deploy,init.d}
use unicorn || rm config/unicorn.rb
}
all_ruby_install() {
local dest=${DEST_DIR}
local conf=${CONF_DIR}
local logs=${LOGS_DIR}
local temp=${TEMP_DIR}
# prepare directories
diropts -m750
dodir ${logs} ${temp}
diropts -m755
dodir ${conf} ${dest}/public/uploads
dosym ${temp} ${dest}/tmp
dosym ${logs} ${dest}/log
# install configs
insinto ${conf}
doins -r config/*
dosym ${conf} ${dest}/config
echo 'export RAILS_ENV=production' > "${D}/${dest}/.profile"
# remove needless dirs
rm -Rf config tmp log
# install the rest files
# using cp 'cause doins is slow
cp -Rl * "${D}/${dest}"/
cp -Rl .??* "${D}/${dest}"/
# install logrotate config
dodir /etc/logrotate.d
cat > "${D}/etc/logrotate.d/${MY_NAME}" <<-EOF
${logs}/*.log {
missingok
delaycompress
compress
copytruncate
}
EOF
## Install gems via bundler ##
cd "${D}/${dest}"
local without="development test aws"
local flag; for flag in mysql postgres unicorn kerberos; do
without+="$(use $flag || echo ' '$flag)"
done
local bundle_args="--deployment ${without:+--without ${without}}"
use "rugged_use_system_libraries" && export RUGGED_USE_SYSTEM_LIBRARIES="YES"
einfo "Running bundle install ${bundle_args} ..."
${RUBY} /usr/bin/bundle install ${bundle_args} || die "bundler failed"
einfo "Cleaning old gems ..."
${RUBY} /usr/bin/bundle clean
# clean gems cache
rm -Rf vendor/bundle/ruby/*/cache
rm -Rf vendor/bundle/ruby/*/bundler/gems/charlock_holmes-dde194609b35/.git
## RC script ##
if use systemd ; then
ewarn "Beware: systemd support has not been tested, use at your own risk!"
systemd_newunit "${FILESDIR}/gitlab-8.13.0-sidekiq.service" "gitlab-sidekiq.service"
systemd_dounit "${FILESDIR}/gitlab-unicorn.service"
systemd_dounit "${FILESDIR}/gitlab-workhorse.service"
systemd_dounit "${FILESDIR}/gitlab-mailroom.service"
systemd_dotmpfilesd "${FILESDIR}/gitlab.conf"
else
local rcscript=gitlab-9.3.5-sidekiq.init
use unicorn && rcscript=gitlab-9.3.5-unicorn.init
cp "${FILESDIR}/${rcscript}" "${T}" || die
sed -i \
-e "s|@USER@|${MY_USER}|g" \
-e "s|@GITLAB_BASE@|${dest}|g" \
-e "s|@LOGS_DIR@|${logs}|g" \
"${T}/${rcscript}" \
|| die "failed to filter ${rcscript}"
newinitd "${T}/${rcscript}" "${MY_NAME}"
fi
# fix permissions
fowners -R ${MY_USER}:${MY_USER} ${dest} ${temp} ${logs}
}
pkg_postinst() {
elog "If this is an update from a previous version, stop your GitLab"
elog "instance and issue the following command to perform all required"
elog "migrations:"
elog " emerge --config \"=${CATEGORY}/${PF}\""
elog "PLEASE NOTE: It's HIGHLY recommended to backup your database"
elog "before running the config phase. Run these commands (as root):"
elog
elog " cd /opt/gitlab"
elog " sudo -u git -H bundle exec rake gitlab:backup:create RAILS_ENV=production"
elog
elog "If this was a fresh install, follow these steps:"
elog
elog "1. Configure your GitLab's settings in ${CONF_DIR}/gitlab.yml."
elog
elog "2. Configure your database settings in ${CONF_DIR}/database.yml"
elog " for \"production\" environment."
elog
elog "3. Then you should create a database for your GitLab instance, if you"
elog " haven't done so already."
elog
if use postgres; then
elog "If you have local PostgreSQL running, just copy&run:"
elog " su postgres"
elog " psql -c \"CREATE ROLE gitlab PASSWORD 'gitlab' \\"
elog " NOSUPERUSER NOCREATEDB NOCREATEROLE INHERIT LOGIN;\""
elog " createdb -E UTF-8 -O gitlab gitlabhq_production"
elog " Note: You should change your password to something more random..."
elog
fi
elog "4. Finally execute the following command to initialize the environment:"
elog " emerge --config \"=${CATEGORY}/${PF}\""
elog " Note: Do not forget to start Redis server first!"
elog
elog "If you're running GitLab behind an SSL proxy such as nginx or Apache and"
elog "you can't login after the upgrade, be sure to read the section about the"
elog "verification of the CSRF token in GitLab's trouble-shooting guide at"
elog "http://goo.gl/5XGRGv."
if use postgres; then
elog "Please note: As of GitLab 8.6, users of PostgreSQL need to enable the"
elog "`pg_trgm` extension by running the following command as a PostgreSQL"
elog "super user for *every* GitLab database:"
elog " CREATE EXTENSION IF NOT EXISTS pg_trgm;"
elog "For details, see the documentation at the GitLab website."
fi
if use mysql ; then
ewarn "You must grant the GitLab user permissions the following on the database:"
ewarn " mysql -u root -p -e \\"
ewarn " \"GRANT TRIGGER ON \`gitlab\`.* TO 'gitlab'@'localhost';\""
ewarn "PLEASE also read this document about needed migrations on MySQL:"
ewarn
ewarn "https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/install/database_mysql.md"
ewarn
ewarn "Failing to follow those instructions may make the config phase fail!"
fi
}
pkg_config() {
einfo "Checking configuration files"
if [ ! -r "${CONF_DIR}/database.yml" ]; then
eerror "Copy ${CONF_DIR}/database.yml.* to"
eerror "${CONF_DIR}/database.yml and edit this file in order to configure your"
eerror "database settings for \"production\" environment."
die
fi
local email_from="$(ryaml ${CONF_DIR}/gitlab.yml production gitlab email_from)"
local git_home="$(egethome ${MY_USER})"
# configure Git global settings
if [ ! -e "${git_home}/.gitconfig" ]; then
einfo "Setting git user"
su -l ${MY_USER} -c "
git config --global user.email '${email_from}';
git config --global user.name 'GitLab'" \
|| die "failed to setup git name and email"
fi
su -l ${MY_USER} -c "git config --global repack.writeBitmaps true"
# determine whether this is an update or a fresh install. we do this by
# checking whether the ${DEST_DIR}/.git directory exists or not
#
if [ -d "${DEST_DIR}/.git" ]; then
local update=true
else
local update=false
fi
if use mysql ; then
ewarn "Please only proceed if you've read and understood the following page:"
ewarn "https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/install/database_mysql.md"
if [ "${update}" = 'true' ]; then
ewarn "Failing to follow those instructions may cause the upgrade to fail"
fi
ewarn
ewarn "Press any key to continue, or abort with Ctrl+C"
read
fi
## Initialize app ##
local RAILS_ENV="production"
local RUBY=${RUBY:-/usr/bin/ruby}
local BUNDLE="${RUBY} /usr/bin/bundle"
if [ "${update}" = 'true' ]; then
einfo "Migrating database ..."
exec_rake db:migrate
# https://github.com/gitlabhq/gitlabhq/issues/5311#issuecomment-31656496
einfo "Migrating iids ..."
exec_rake migrate_iids
einfo "Installing npm modules ..."
exec_rake yarn:install
einfo "Cleaning old precompiled assets ..."
exec_rake gitlab:assets:clean
einfo "Cleaning cache ..."
exec_rake cache:clear
else
# create dummy git repo as workaround for
# https://github.com/bundler/bundler/issues/2039
einfo "Initializing dummy git repository to avoid false errors from bundler"
su -l ${MY_USER} -c "
cd ${DEST_DIR}
git init
git add README.md
git commit -m 'Dummy repository'" >/dev/null
einfo "Initializing database ..."
exec_rake gitlab:setup
einfo "Installing npm modules ..."
exec_rake yarn:install
fi
einfo "Precompiling assests ..."
exec_rake gitlab:assets:compile
if [ "${update}" = 'true' ]; then
ewarn
ewarn "This configuration script runs only common migration tasks."
ewarn "Please read guides on"
ewarn " https://github.com/gitlabhq/gitlabhq/blob/master/doc/update/"
ewarn "for any additional migration tasks specific to your previous GitLab"
ewarn "version."
fi
elog
elog "If you want to make sure that the install/upgrade was successful, start"
elog "Gitlab now and then run these commands (as root):"
elog
elog " cd /opt/gitlab"
elog " sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production"
elog " sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production"
elog
if ! use systemd ; then
elog "You may also run"
elog " /etc/init.d/gitlab check"
elog " for convenience."
fi
}
ryaml() {
ruby -ryaml -e 'puts ARGV[1..-1].inject(YAML.load(File.read(ARGV[0]))) {|acc, key| acc[key] }' "$@"
}
exec_rake() {
local command="${BUNDLE} exec rake $@ RAILS_ENV=${RAILS_ENV} NODE_ENV=${RAILS_ENV}"
echo " ${command}"
su -l ${MY_USER} -c "
export LANG=en_US.UTF-8; export LC_ALL=en_US.UTF-8; export NODE_PATH=${DEST_DIR}/node_modules
cd ${DEST_DIR}
${command}" \
|| die "failed to run rake $@"
}