Merge branch '62-gitlab-8-13-5' into 'master'

Resolve "GitLab-8.13.5"

Closes #62

See merge request !127
This commit is contained in:
Manuel Friedli 2016-11-11 10:35:52 +01:00
commit 94053a635f
12 changed files with 625 additions and 19 deletions

View file

@ -1,3 +1,9 @@
*gitlab-shell-4.0.0 (11 Nov 2016)
11 Nov 2016; Manuel Friedli <manuel@fritteli.ch> +gitlab-shell-4.0.0.ebuild:
dev-vcs/gitlab-shell: added ebuilds for gitlab-shell-4.0.0, a dependency of
gitlab-ce-8.14
22 Oct 2016; Manuel Friedli <manuel@fritteli.ch> -gitlab-shell-3.4.0.ebuild,
-gitlab-shell-3.6.0.ebuild:
dev-vcs/gitlab-shell: purged unneeded ebuilds

View file

@ -2,8 +2,10 @@ AUX gitlab-shell-3.2.0-config-paths.patch 1826 SHA256 c83db7c37dcac577ce499eab4b
DIST gitlab-shell-3.5.0.tar.gz 73374 SHA256 6591b768a4f51c535e97e5632518583f6559a4202f4219739ad01a27161687ef SHA512 b5935c6f9b19bab1716901c8015e107f7fbc545646d5e35a6a943e1692d3ddd61efeb862f4d59efe75eda9c1117adf9d90b50f572ab0a69199069d1fc52e8718 WHIRLPOOL 938c600d0810867fc9aef62a286b05dc34bf52352612530d459614483e3c37b3cef6ee5b2dc11f7b041218cbe569d11f4f5f0240b9c28e613bd762c06786772e
DIST gitlab-shell-3.6.1.tar.gz 74806 SHA256 180dcce14e9caa9c7f09eefdb2e10189318a0f994c4931fae2acebd92e9e4fa3 SHA512 6f54b0a9ddccabb3971c48301292835ecf953e0a9bb3b9d1d78af416a42e3d2883a157ab02990e748b0e6b02805864c314fe9cd538834ab831f565f0c573ed3a WHIRLPOOL 1219213217d5ec280ee521c4f64328634402c795a4fbd10beac3481f4e622faf03859589ee641bbd34647b057c77bdef0d7e1a2906375c3de21cd6b4739a7826
DIST gitlab-shell-3.6.6.tar.gz 77199 SHA256 db3f54b561bb81059256c634967b181707e11cc25e30b0fa76eb034718d0eaf9 SHA512 d1d15687169f7b151caf3b371d6570099129a2a69d7732e6be7337f70aaef7e36c87e8aa5140e9697c7be36185743bb939d862790b440fc18d7a864d570fcb6b WHIRLPOOL 4161901369cc12a89fb89c41bd98cfc2cfdeb5aac6d317597ae11f10bcd401e4c18148ce9a20f5e967a6fb11559f33aa72c82dff1a52764c5a19bcd0f06250c1
DIST gitlab-shell-4.0.0.tar.gz 76582 SHA256 2d8d5e31eac5007a70720465d71c6cee74428a71c2fda7e21ca8393bc8c8966f SHA512 dd44528dc2914025e850b7172df1c5e0b39f8c1764adeea62a824643723c3264c462006ddf0cc6f4519d0caf0c39e6cee601f9f7988eb54138118176178045e4 WHIRLPOOL 462886da23a1723049914759f0b315d39c42488e55dfab4debae57c7b20878a421dac36a77d5e82603119e4eb142c83dbf18e28213670abd81396de1d0c683cf
EBUILD gitlab-shell-3.5.0.ebuild 3653 SHA256 3b73797e283ff4ec30c87d50a54a80cf6895c0c03dedc3ff34087b3037dd9fd5 SHA512 cc235d625f1eabac09822fbca06b706886601e550958338ea5ee7ccfdbbb85e2d96bb348b4ccce532c92d18389c63ddb78bcd77e407f789127fbb3d9ac32d0d9 WHIRLPOOL 4a8bb0ee8a1b547bb8517c300806457187a8fd1855b223cf079784733fdef55e2dd5fa9998da9523bcd3b021aa10d45cc74445bae5bd8f853e3355d6a1d6417a
EBUILD gitlab-shell-3.6.1.ebuild 3653 SHA256 c36f3fcec5b4f954c404e4f41a773461971116d7ad2bd484b05ef479c4915ad2 SHA512 fedce05647f773f5a7e54fd8764f8934666a51d9b5e8a5e93201bd504a042ade828cbb0043817b8552bdb4d1cdee6fd2404b17c4e9a7ed3ce75fc41e79c866fd WHIRLPOOL 4853bcfb4dfe1dd152645ce4d572797ba158d5edf53349f3d66489009b10ec2cd7a598beef46bc9b1e104891a3071e1cb9b67471e284b626023a9e1b46b559a8
EBUILD gitlab-shell-3.6.6.ebuild 3653 SHA256 49c383d1d5895069a6783e44d492935879801efd95f57548a81e10df48339038 SHA512 4e6dd5c34a56ed0e1fc45819c93239c61d900304cc8df20855f4e71e4fab234b5e81612f256155022f362f4f9a0959531a3999eb7ece9013914129e4343795cf WHIRLPOOL 92d40a6cb8dd19a42093a746e29ead878eeb9b0c741e23ca3e6213c0a14b820584633db8f2d5ac60cd28da15546232de417db72ccdf8608bc49ac333107f7193
MISC ChangeLog 1999 SHA256 2bc63e08adc90cd5216837c82621c8238a869ab699a3dcf38b568467c9142f9e SHA512 5d6bf2f3c3d312f5813fa035ecf22b0dd7648ec4b99ff38cf409bfc63fc3826ffd063c93ab0b4485e13ddaad89680fec39678c0c0d660280a8a13f69b3518ac5 WHIRLPOOL 904c6056d1b2a59604ae8cd468a288f07354ca2e9e18524682cf02065d0a2d5709698c89287911edb0c0172051ca9fe92e62a74edd37115fde33f6ecfcc1a59e
EBUILD gitlab-shell-4.0.0.ebuild 3653 SHA256 1413668c9a75cc89b4043e497b9339639bcfce942486d8dada512968c53633b9 SHA512 0f825e5812084601b56f790d880da266986717cd2a35a4033cb75710b3cae624fe5015412a0674dab3c2099eaf29a956af19ffcc6d671bcddf72dfb8507f47e1 WHIRLPOOL dff4dc61e0f568767e25e865546a57018f82b2f28c5bc974df263021d19c0cf194a269b21b8422878e09cb3fd8c7cb34600e005c49dacde0c56df1701bb5e64c
MISC ChangeLog 2210 SHA256 e0078f0626c5c8bb11243563a54e3596f4d145204d481800491417627d0b33d9 SHA512 1a55c57982db8ee7c6f3b776503fa78faa3a19fda2f11592aeb15716d250f843c2546c8628af42f9d2ee0c8f34e39ba95da04576b770fb6c4d7c9f67e8b23275 WHIRLPOOL ee5cec43e3b6a25f3a3ff45d98bf2fcb4000a684b4d8da63fc9c1858f68b5959561ef744096522f69fd1e63f97f7a0736750c795487a257fb9d3cdab0c9b4f09
MISC metadata.xml 248 SHA256 7b43be15755627edf5c12cf1b50c607d781558640bf8375d685d51d7ade99a32 SHA512 29f9b96b0a77546cce6a8bffd82fae2fd0939d32a7a05ffd0d91f9250a019a3ddaa599b93988c82daabb9c4c4b284dd947e2c47f6ca7727b8539cffa91bcb8c2 WHIRLPOOL 993013c9878ead35469db13d3072f694a341ee654182e0c31d0678f5dd6de4bdc8d59a0b7bb6d685dc41ea6b55dac518cd8034131baea8002170c680e50304d1

View file

@ -0,0 +1,130 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI="5"
USE_RUBY="ruby21 ruby23"
inherit eutils ruby-ng user
MY_PV="v${PV/_/-}"
MY_GIT_COMMIT="ed59fbc3b72146cd9c4e040c64150c8b961c7d42"
DESCRIPTION="SSH access and repository management for GitLab"
HOMEPAGE="https://gitlab.com/gitlab-org/gitlab-shell"
SRC_URI="https://gitlab.com/gitlab-org/gitlab-shell/repository/archive.tar.gz?ref=${MY_PV} -> ${P}.tar.gz"
RUBY_S="${PN}-${MY_PV}-${MY_GIT_COMMIT}"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86 ~arm ~arm64"
IUSE=""
DEPEND=""
RDEPEND="
>=dev-vcs/git-2.7.4
dev-db/redis
virtual/ssh"
ruby_add_bdepend "
virtual/ruby-ssl"
MERGE_TYPE="binary"
RUBY_PATCHES=(
"${PN}-3.2.0-config-paths.patch"
)
GIT_USER="git"
DEST_DIR="/usr/share/${PN}"
DATA_DIR="/var/lib/git"
LOGS_DIR="/var/log/gitlab"
CONF_FILE="/etc/gitlab-shell.yml"
pkg_setup() {
enewgroup ${GIT_USER}
enewuser ${GIT_USER} -1 /bin/bash ${DATA_DIR} "${GIT_USER}"
local git_shell=$(egetshell ${GIT_USER})
if [ ! ${git_shell} -ef '/bin/bash' ]; then
ewarn "User ${GIT_USER} already exists, but with the shell ${git_shell}."
ewarn "Changing shell to /bin/bash ..."
usermod -s /bin/bash ${GIT_USER} \
|| die "failed to change login shell for ${GIT_USER}"
fi
}
all_ruby_prepare() {
# fix paths
sed -i -E \
-e "s|/home/git|${DATA_DIR}|" \
-e "s|[\# ]*(log_file: ).*|\1\"${LOGS_DIR}/gitlab-shell.log\"|" \
config.yml.example || die "failed to filter config.yml.example"
sed -i \
-e "s|File\.join(ROOT_PATH, 'config.yml')|'${CONF_FILE}'|" \
lib/gitlab_config.rb || die "failed to filter gitlab_config.rb"
}
all_ruby_install() {
# install lib
insinto ${DEST_DIR}; doins -r lib LICENSE README.md VERSION
# install scripts
exeinto ${DEST_DIR}/bin; doexe bin/*
exeinto ${DEST_DIR}/hooks; doexe hooks/*
exeinto ${DEST_DIR}/support; doexe support/*
# create symlinks to bin
local name; for name in $(basename -a bin/gitlab-*); do
dosym "${DEST_DIR}/bin/${name}" "/usr/bin/${name}"
done
insinto $(dirname ${CONF_FILE})
newins config.yml.example $(basename ${CONF_FILE})
# create symlink for .gitlab_shell_secret
einfo "creating symlink for .gitlab_shell_secret"
TOKEN_FILE="${DEST_DIR}/.gitlab_shell_secret"
dosym /opt/gitlab/.gitlab_shell_secret "$TOKEN_FILE"
# prepare directories
diropts -m750; dodir ${DATA_DIR}
diropts -m770; keepdir ${DATA_DIR}/repositories
diropts -m755; dodir ${LOGS_DIR}
# GitLab stupidly expects that gitlab-shell is in home of git user...
dosym ${DEST_DIR} ${DATA_DIR}/gitlab-shell
# fix permissions
fowners -R ${GIT_USER}:${GIT_USER} ${DATA_DIR} ${LOGS_DIR}
}
pkg_postinst() {
# check git home directory
local git_home=$(egethome ${GIT_USER})
if [ ! "${git_home}" -ef ${DATA_DIR} ]; then
ewarn "An authorized_keys is configured to be inside ${DATA_DIR}/.ssh,"
ewarn "but HOME of ${GIT_USER} user is located in ${git_home}. You must"
ewarn "either change the authorized_keys location in ${CONF_FILE},"
ewarn "or change home directory of ${GIT_USER} user to ${DATA_DIR}"
ewarn "and move ${git_home}/.ssh here."
ewarn
fi
local auth_dir="${git_home}/.ssh"
elog "Initializing authorized_keys file in ${auth_dir}"
mkdir -p ${auth_dir}
touch ${auth_dir}/authorized_keys
chmod -R u=rwX,go=- ${auth_dir}
chown -R ${GIT_USER}:${GIT_USER} ${auth_dir}
elog
elog "GitLab Shell was initialized. Repositories are located in"
elog "${DATA_DIR}/repositories, scripts in ${DEST_DIR}/bin."
elog "All gitlab-* scripts was symlinked to /usr/bin to be on your path."
elog
elog "You should change your gitlab_url in: ${CONF_FILE}."
}

View file

@ -1,3 +1,10 @@
*gitlab-workhorse-1.0.0 (11 Nov 2016)
11 Nov 2016; Manuel Friedli <manuel@fritteli.ch>
+files/fix-Makefile-1.0.0.patch, +gitlab-workhorse-1.0.0.ebuild:
dev-vcs/gitlab-workhorse: added ebuild for gitlab-workhorse-1.0.0; dependency
of gitlab-ce-8.14
22 Oct 2016; Manuel Friedli <manuel@fritteli.ch>
-files/fix-Makefile-0.7.11.patch, -files/gitlab-workhorse.conf,
-files/gitlab-workhorse.init, -gitlab-workhorse-0.7.11.ebuild,

View file

@ -1,10 +1,13 @@
AUX fix-Makefile-0.8.2.patch 354 SHA256 5ad06525d351b433d32569040eac8756aa067860e20f68cea92e59807bbebfbb SHA512 e39e834c3346a75494de0b2daebaa2a2d519c35b5d4f42ffb5a92dcedfca9d2541f523791c744eb3effdcc62503134e3585a9f002425f787727e18614116c670 WHIRLPOOL 39bd515da32f8aa31be1532d5b32f073feaed3cbee2064075c67669c5c683094806e8438b4cf5bf3601de3009b0279787813f78827c25dd3fa7b6c455ab6823c
AUX fix-Makefile-0.8.5.patch 354 SHA256 1773a2e9f535c08f602903924b24918553acf563ac9804f79f26f9f58cd915bf SHA512 2fa8ed07e5e2d012452368047b8aef441015f013c92670961d3b1ea7f131eb49379e0817eeb0da38f04ddd6b9aaf0d081bfcc6ed9c5b83c94ef97b1831836b08 WHIRLPOOL 20849d2cbbb2d5feb48255c3e98a0c9a524078fb51c311d09e833056f07a35c938bc82686338f028ade7eb74090c6c84473e6945e9bde99dbe3d2d057b94a7f2
AUX fix-Makefile-1.0.0.patch 354 SHA256 97432841e31d2904f6c3d23b4a5e885def82423c404d45e7b0a03be23bf683cc SHA512 44c0a7b8a3078b7308645fcb7c2ec801ac774dcd138356f3c01e6cdd6cd80bbf1fab155f2b604b0f000f6189f36b3c0a1bd8cf9dbb69ca2f8e6fe7e709ffe86b WHIRLPOOL ca42e23b701247f900615d2dbf1d6c983bfb5aa0519c9e100d94e6019a018f11c30794522aba05e0bee89dfa1a898dc2271326fc495cb3428603e972d3c548d0
AUX gitlab-workhorse-0.8.2.conf 297 SHA256 8bb99a78197ad22892e4c85496101a39f2c82f6c537f44da8185af54dbb44a38 SHA512 d143489c165ef5e68810bb10d5e97da7ad3be6d53618380231706ec16c3fd8bc3eedbc78a09949479a408646e32aae4cdceaca9b271ba3b816e3449b792c5406 WHIRLPOOL 649d34b60afab816dac559989c9a3b0cb9620c2ac2a7617cfcae8bcc2c421791fa612571f83e6611ec8ab8c26c9c79f9832f4e6a70396497dfc5a40d99bbbef9
AUX gitlab-workhorse-0.8.2.init 681 SHA256 bf3f94853781251629daae935d04294febf317061536624e2c01188dd6688ae7 SHA512 6275abe0910e7327f952dba36827a9083264f76753605767cc11ee7b162fdecef3170783800263bf8acbe891d41e6be9e27b5fcca2a4f035b990c9865aa02647 WHIRLPOOL bc983d0413c0743ef0843a3abb46ee2be78ac6e18b56f96de63b4ea8cb9242f8ef6a96f2d593dbcda33a0a60b7f941f27bd704b7f64a85db7379ef0b42233527
DIST gitlab-workhorse-0.8.2.tar.bz2 226124 SHA256 869feddeef18ab01183e2cd969445d5d091cbd09b7e9d98d1c1b505df7c84d62 SHA512 ad9d24e9eaed2644e5703600341aa1af37f69cc902d1dc49b0338dddbb56f987fa9608d447b29419c5e5d7548f4e8fa8f073b76dd9799994fb1464fb766e9da9 WHIRLPOOL 70f605ed70e1696e89ebd0964ded9e47f6401a0da942edf90a9fac4366a67d85e1b8e339cc8928bce5ba84af7ace950e17eaa3d2393ca19f3f39ee9a52cc27c3
DIST gitlab-workhorse-0.8.5.tar.bz2 229807 SHA256 fec50a37d17c359726ac3e0d2bad4ad3431e6bec9aaa6dbf5dcb81bfce469369 SHA512 c149c4cecc1c64c472e38eaae8cf4522a4b19907ef3a9eda4490ddb6cda6083bdbbc1a827cfc2c4d7ac151e3edc4b5dbfb168e2590ea71f12c2836680b2d8033 WHIRLPOOL 21aa589997e934c664fcf3b6cfb19246910a87ec674fbf2fea5a04728bc00248c79b4ed555601af0adbd20a11ca2ba040c1ccb92323acda7bab3da8c37840340
DIST gitlab-workhorse-1.0.0.tar.bz2 233511 SHA256 c053224e050b9169441316bb1ab1a23449c7e8c125d4172badfc84ddc700e09a SHA512 f6369c777e3fd422f8136276c8f7ccd5a73d60e2559427074c484672d048dbbae9c7f8a0af7fd54e64de0ca3d1a679cb294f114397b8137a929437b7e10284db WHIRLPOOL b322ee8150c2ca6d0f85a211240fe87b15006ad364c333126d48d65d93ebd57d31f312f88d437bbd473acdaa1f74154b20f9f71a51e8ff0f381f793d89fba6e7
EBUILD gitlab-workhorse-0.8.2-r1.ebuild 950 SHA256 9ac8a68b13fded800fdaa077df3a5a448662d36e88ef144e565719e95d847612 SHA512 0d776e4be9abef95576103a600425dbb9a73d87dd21387b71dd3f54a62ffb7a9f36713f84c8c6222df0f694d8199148c02b884a56a6abb030d5d3fc9cebd6649 WHIRLPOOL b03658ea70cc2a1bc5034699ef6f6fb8d823889438da7f98d8ba728c7a1c56329aa2e934f902a2964f21975e4a3595d0d7011524ccab31fd0c6e52eea1967ea3
EBUILD gitlab-workhorse-0.8.5.ebuild 950 SHA256 259a4406de93bd2849916d537b67103bcbd4247c5e00871a0c4d9f0bfc84ae11 SHA512 b30e842434de5ba6277b7e1cb3bc38240eeba272dc3ace95a1dfc2dac7b63b1a7cc098e4c2e763ec57b4592c66b3b990a903e1d2382613ef1a7acd5346e9a9c5 WHIRLPOOL a8734afda28cd6c76c3ff381d780188a4d79c7abe3ca2f96087cb1e82c0f7e37acf0610ae80eed1123a66da16a53b6d4d5f080588a45d3016d73efcd5dc91b3a
MISC ChangeLog 4311 SHA256 61076db45a47a43aceb9c48b016ccabcc4b92a70b74c5336a3407867958cb21d SHA512 e63962f5116e934ef70b96ede8354d1710918ab4c6e4a72f6f372e0459ec53bfea4e591dd39604b7f3429a32e32bb5f41e3c11c9a757a14a3824c89edaa55ca3 WHIRLPOOL 84ffcc1b65b948a0fa6385f208d8e1444c4f587cb6e786d816b750789a671a9db0155c0f01f09d562651a8f7256ac0d29152d412e0af1599e90021419615572c
EBUILD gitlab-workhorse-1.0.0.ebuild 950 SHA256 0177716249d616021e648a97e2ca38972a5587e09357f6bf96086b655dbdd7a5 SHA512 65976da76880b22341a0317a97baf4be786fb593e1fc33774d31e8c23ae7b91f67a1d890f3decd6cf83b5732da311c042ef60cd26f030b8f6ad2fd61a27e7f74 WHIRLPOOL 437c69ce0cc4025fa4d32346b9eef9de78ef1a215de2ff8bc6edfb72af43708e35dc6ee1b064f021c566acfcd0bb11156487042e7468680b5781904ce4fbda16
MISC ChangeLog 4570 SHA256 8df9a2d2435bdd01c1a16cc84c6f8013030ba9c29c26a7f57995befea6e1cc80 SHA512 75b87f3fcb526ccb814b2c7a0c39e8ca30eff705e4070f5fe397c55afe7495625355ba928086261822e9adbf86eb35ac63dffe87be8e7d52323fccfbf68e772c WHIRLPOOL b9eedbaf47a7a3457e26a8ebbafd7a6b136793a446755f29becf8a39ce5d0e6620cd4a1d22d6d0fa6b4502468a078b7e9c62346c5effe90b2789019e502e96d1
MISC metadata.xml 248 SHA256 7b43be15755627edf5c12cf1b50c607d781558640bf8375d685d51d7ade99a32 SHA512 29f9b96b0a77546cce6a8bffd82fae2fd0939d32a7a05ffd0d91f9250a019a3ddaa599b93988c82daabb9c4c4b284dd947e2c47f6ca7727b8539cffa91bcb8c2 WHIRLPOOL 993013c9878ead35469db13d3072f694a341ee654182e0c31d0678f5dd6de4bdc8d59a0b7bb6d685dc41ea6b55dac518cd8034131baea8002170c680e50304d1

View file

@ -0,0 +1,12 @@
diff --git a/Makefile b/Makefile
index 3f6ac91..663ffbb 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,5 @@
-PREFIX=/usr/local
-VERSION=$(shell git describe)-$(shell date -u +%Y%m%d.%H%M%S)
+PREFIX=${DESTDIR}/usr
+VERSION=v1.0.0-$(shell date -u +%Y%m%d.%H%M%S)
BUILD_DIR = $(shell pwd)
export GOPATH=${BUILD_DIR}/_build
export GO15VENDOREXPERIMENT=1

View file

@ -0,0 +1,39 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI="6"
inherit eutils user
DESCRIPTION="This is the new backend for Git-over-HTTP communication needed for GitLab >= 8.4"
HOMEPAGE="https://gitlab.com/gitlab-org/gitlab-workhorse"
SRC_URI="https://gitlab.com/gitlab-org/${PN}/repository/archive.tar.bz2?ref=v${PV} -> ${P}.tar.bz2"
MY_GIT_COMMIT="b598d29066ee0c36b7c1b604965d6c78edc39dfd"
S="${WORKDIR}/${PN}-v${PV}-${MY_GIT_COMMIT}"
RESTRICT="mirror"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86 ~arm ~arm64"
DEPEND=">=dev-lang/go-1.5.1"
PATCHES=( "${FILESDIR}/fix-Makefile-${PV}.patch" )
src_install() {
local dest=/usr/bin
diropts -m755
dodir ${dest}
exeinto ${dest}
for f in "${PN}" gitlab-zip-cat gitlab-zip-metadata ; do
doexe "${S}/${f}"
done
## RC script ##
newinitd "${FILESDIR}/${PN}-0.8.2.init" "${PN}"
newconfd "${FILESDIR}/${PN}-0.8.2.conf" "${PN}"
}

View file

@ -1,3 +1,12 @@
*gitlab-ce-8.13.5 (11 Nov 2016)
*gitlab-ce-8.14.0_rc1 (11 Nov 2016)
11 Nov 2016; Manuel Friedli <manuel@fritteli.ch> +gitlab-ce-8.13.5.ebuild,
+gitlab-ce-8.14.0_rc1.ebuild, -gitlab-ce-8.12.0_rc6.ebuild,
gitlab-ce-9999.ebuild:
www-apps/gitlab-ce: added ebuild for gitlab-ce-8.13.5 and updated the
bleeding-edge ones
04 Nov 2016; Manuel Friedli <manuel@fritteli.ch>
files/gitlab-8.13.3-sidekiq.init, files/gitlab-8.13.3-unicorn.init:
www-apps/gitlab-ce: fixed init script for gitlab-ce-8.13.3

View file

@ -15,14 +15,16 @@ AUX gitlab-unicorn.init 3127 SHA256 de2f5861bec58eaac284e74baabe25288a520bc4f7da
AUX gitlab-unicorn.service 773 SHA256 010c9e223a30400d9155b39499eb0d7efad23b66baab9fcd9e365c689086b9bd SHA512 0bf9630aa91ed8f590a7bfa42d09b7ba33f6342b43b3d191c792c11157f8926c2a2ac2390eebd8179637e29b5bf68233d4699d62463497a0fd45b9bdbdd9167b WHIRLPOOL fbc709a5550dcc548a35c22c812dafe52ee507f5678b57c22c709ee89a399ae9109e2f56b7a13135d4140f1e024ebc4effe4aa4de13e0f36691da2a0737d9792
AUX gitlab-workhorse.service 930 SHA256 09348a52fec333b4b19828752e0484400c1efa9dfb644723fcf8e80537e294b6 SHA512 6332024fe0049287899cf482b6e4439e9dd90da14e489d08aa8e5e79cb7872efcc517d99b69fa23b011b382acb1e5926496a78f08af5d2d64daa515b869a0c6a WHIRLPOOL 3749c6719b2a35c7de29763cd616e1e9cc30a85aa1630ffc46440334459b5922503d52629556c125a6dd6574bdc5f23f1b2a7f2a85e2270a415b22246e0b6bae
AUX gitlab.conf 27 SHA256 cd9be088bbb67a5400407fc6f63c061eb224f16748b7d0812ff2c101f43ca263 SHA512 909c49fee6d050c1e94b2559ff2a9d54c5c346492be0e2920b50d56d69eaddbed67e3ac12e012d2a9601b5596640ebf33c8dc68fc588a03ca370d963294be37f WHIRLPOOL fa436e8d7d2643d450259d26b6e7b24dae69df47ed22e5ef2a567f37aa785fbf3b0eb1129ae7c8bf8986c29559fc3b744a34064375e5245dce2b10053cd715d9
DIST gitlab-ce-8.12.0_rc6.tar.gz 26786541 SHA256 41719da8de79093accae302c0cb7082e3e4248ed2413f6cda456051fead1f05c SHA512 e5c6ea64e3fc495c41dfe405325caf3fb34e58416d6cf284805f3e9666b085f4ef58b97e0de04ded4cf658421d8e4b716781f9ce58465410a7a715e72800feaf WHIRLPOOL b29ae1c37f71e4474077f18fe42f07bca213f7cf6faa2f942b615430aa68245a43a6223e430926c1b917debff548fd6d6b8c3f5c6e4e7ddd121878e2c390e9ba
DIST gitlab-ce-8.12.7.tar.gz 27110532 SHA256 003e497e23f730f4990bdb4b431109f2956b5bbf1d202a4003f5af65424157d4 SHA512 7ad53f5fe0c88cfcf5688de5d55489964a4b5e8dd763fbf7d832c199432b9532f0a75e6d803f1d03387c86b3ba0b47b1b75b97e783f7661662b656c7f9aea216 WHIRLPOOL 026d11a8adcde5312b46d626bebc6ed33bfea344042deb1fab0a40a52cfd7deccfe78ef2a544293456f08bf7acbd917233533898b54c3b9dcee9121520607ff2
DIST gitlab-ce-8.13.0.tar.gz 27763918 SHA256 0c4736ec84fe371334a0b7feca34eb6a2a371242c2ed0ba356b201de5c5e4a46 SHA512 e08ce15b6b8658d12c20cb7b522607c6c54880c1e2737f48e4a80f5d3fd8efb10f680b3a4a8c975dbc5237eea2b0f5fef185286d1ea3a7786573fa2bbca4149c WHIRLPOOL 91e4dc8732f3df17ffa81d5fa9ec6b0be8a04c956021ac95c859819643da426b5cafef2d1811cbc3507688179f2645839ae64eac6bb1941fc17076977bdff960
DIST gitlab-ce-8.13.3.tar.gz 27773077 SHA256 040e43517e10782a0f11b3bfc9c349cec9e48e5c10cf8d46c7e468beb7677101 SHA512 3031798e0c56a7a028a544943304ac84e5a427e40d9db40fe75aba215192f493ee4508d6d99f0a5814ac11a52f8db673d03012cae052b3841c3407c6b9fb83a8 WHIRLPOOL 2a78824adda0aa4006facf0c791b6f0be930eb574a38dda6d58db3cd9331238f50caae4e2e6acb7442a3488b3b9c91239a488063377d6b34befc5a3375c94c7d
EBUILD gitlab-ce-8.12.0_rc6.ebuild 11943 SHA256 62bcdc0b04fd791be8ecb48529d0c09705a6c843f245dce58f4780b3782f8195 SHA512 8f1cf916b29cc8d8b078ba19658ebd39585eb6d95ed106e8beb64ccdb17bfbe22fcf5af10baa13cc941d0d733cd0ea8f2ee4a9b960459e96c41744a35d6f2c74 WHIRLPOOL 48ce3279bf1f0c5658e726935c01020555f9d1705623ed8e12dd73670a32fa9b316a26aa7ed41786662e363e61f448ef523bb3ea0e65ed2d7653a3cf6ef67fe7
DIST gitlab-ce-8.13.5.tar.gz 27814361 SHA256 05749840b2cf9c39cc54dd88c58571195437811b133379506523df6757c26fec SHA512 9039b46adcff7e4d9ba8029d3b97cedf672179c54c9dc48a91693ed52b2a09b8cdf3dbdfd671e58c2d91f52741bcd4220d75dc896f62cfba798f4bb64931691e WHIRLPOOL 5c6e4db776d5f021aedef7e6a6e6315c7ba01da518b0571aa00037afcad5304ea75e3d130da77644e5ca824653a507c7224207581b440437505ceb0e0d34b628
DIST gitlab-ce-8.14.0_rc1.tar.gz 28550360 SHA256 f26f3b779ec9e0dff980e2b51632dc1e19deab7619f9df2655d30717a859b950 SHA512 27d24f6486325f2f34af85bca6fb02934133416fa92bfde4dde24053fe69a43bcca36e7102f9708b786f71277a51164ed29cf00a20f6481176ff2e5d23c17c9a WHIRLPOOL 3897f573cd4270cb9174ef3b42991649f227b83d9405e19424b93577dad38c97c3624076ced36d1c582b2650d9b5c711dfef53ba1e7fd9793577b0a94535288c
EBUILD gitlab-ce-8.12.7.ebuild 12068 SHA256 5acdce0ee5f3c6cf20a120758ad0c60ec70574d38cc2ee56037b3789d812edfd SHA512 7daf877280f4a8242fa83e1b70d5cabe99aa8bd547d0b4f9a4921c60c44228f508e39a8a4f751b987078c4d680aaff374a055c8ca5882b12f110b232c0006f4e WHIRLPOOL be51f8c53ac45db3c13f179d447665b536df4848a4c63cf5619d2620fbca7bd2701b861f636235d7e746ee7f560eb084e949288f11dceaaef826c138be321625
EBUILD gitlab-ce-8.13.0.ebuild 11859 SHA256 b90393b330f1048ea73536071793f1897d62e14773bc170600abb9ab9dc0fcc0 SHA512 31c32936dbe355dc9dae68bb5b726822a9f5222796dd11dc95b8907fbb2e316930a95568061557328a9d87b5b5eded5867a1a8d552cd9041f10054140d461426 WHIRLPOOL 2ce6cf02c5b27fe70f00795c16fa3d20f369ba820f8583c90808ac5d6c1d838425d447caaad67b76ebc64e6a3f1b6866ac2e890566dc71504056c20103b8ad97
EBUILD gitlab-ce-8.13.3.ebuild 11979 SHA256 b5a243613dbca1645c70b0b76191172d823a1775372172054c653706261dd1e7 SHA512 9121a34bb8f071395f26d0dbb87fb8bae50f00b8b606c1ced4d43d7e9908c7937fc5bd3d15992b34545206bcbf138e2ab1a593df709904b409ad9041b6a62f9a WHIRLPOOL d7c84308560a28e0222da75acad82cda660770acff43b180d40b35e6395f46adc66afb40ce3ba8c73dd76251e89f72b9dff51bc602c82154a1ea974f693104fa
EBUILD gitlab-ce-9999.ebuild 11913 SHA256 59e03c337984ef9363e1e20777c3057f958c20c97a8ae553fe463933570e22ac SHA512 f681ba98c41296b50a94301a8680951a8529020efd278747ccaa27c410cd92057ea03947d2d9918aa42802843189c6b93e4d19fe04e54f3b029b5a94c3676f79 WHIRLPOOL 5641e173c055027ab1c6800dd2c95297ac2d9007d8210f4f13d1644313086e01e0449c121ce9a9d9b5349a6a91c2db870b92449fb5609e00d7bc1f9cd2bd6a9c
MISC ChangeLog 9998 SHA256 945c6da3d2114565ec0983d14a37763ad7406a976fbbdc8bb17d3387111d62ee SHA512 71c0182af4c7851a75ae84e0ee43edd4fbba0ed65cd71621104f929f8c430100e473a0b70000a7290baa85780e3adba2e5e238f11ef6ff2fe1b87f685ce8c4fb WHIRLPOOL 53ea463bc97680f3950b93ac53c61f2bf3c3c1196e9f22bfb4cf05f315abe2867c20b7e50753cafae6da801ee472f9c80e8435efecab871987d5ae93836163af
EBUILD gitlab-ce-8.13.5.ebuild 11979 SHA256 7b16a160712995d17004adbdfed92974f31e83bdbad745f0999e403c7db50090 SHA512 9bad09441979c9ef7bc764cddf3daf02b85b657b21b0b409dcd2257fcbae9691c3afef605ebe3f60eb11bdc61abb0ff6b22b344d41ef549dea7795576deba987 WHIRLPOOL 960d55ed74694e31dedd28307a45cfe6808fd94eb4e79c667d670f84d00a9f6bc72d702e1a59d9325087752e1a2f7ccbfcb290e573e31da0384ed3fa2ae91bae
EBUILD gitlab-ce-8.14.0_rc1.ebuild 11956 SHA256 d925166fafd33c210cea347cbda70581b2ae1b44c9412670056a12678fe091a5 SHA512 add34a2ccb55d0cdea434236d2ed10b3dc2ec2879216dfc2ab611a1ba6bc172d7fcd1c6a2a47b1ac6d9318e2006c2ab6879e41f64e075ff8167c1e268d248b4a WHIRLPOOL 18866b9e74e0915cf12f38f9ac32d4a49e52951aa932e469cbe735ab1dd2d704910a335d823ccf40e312538c59e07bc2d21ad7c91b42bd51b768e1a70111dce6
EBUILD gitlab-ce-9999.ebuild 11913 SHA256 9f3f58ebf1fa7fa7c6b00374e83dda8476116057ee8c6a3ecb5779f0bc7e5254 SHA512 5f2a68f540e26129d9d57a5a72ee924503bc8f8cc89539545aa0ebedf70e42e6104be879eff8cfa65fcde151dad0b4e78523210aee0f9f26549e6279dc76246e WHIRLPOOL 9810dc5e8a1f87601448fae42c8f136e2a9d1ad892357c15590bf53f26b70d3022b383da7b801a51a4ad88ec1f7033f072d294bcc884f614f695e294cfa40e2b
MISC ChangeLog 10326 SHA256 da12df11f2931226c61e3ee21cbce3a321c8f67f559cdf5ebedf9d5c932261fd SHA512 0abc2fc358e7ea8f342b55ecd9344216bc670387126f5fca4fe2dee37626a0235b615a9441d6a6586339339f6b74e7db9fd56f8554e980c925506a3aa2552e76 WHIRLPOOL bd45f399ddd9eaa633b871c67cf3ad389c6b8b6c7f3969b8673b58591f620d7a6922a1863bbf12388bd8b976c1ab45d1bdb31768077a644c33e8b64c7a390cc5
MISC metadata.xml 559 SHA256 6c3f48d3ef57c97bf27790f33ee04bd8de8b01597caa8a2a7a473d6d0a3c5759 SHA512 5aa340b5429795d84cd106ee673fd55a42fd4b0d3299d6b95c6a3e3d50812a9620820a4de5c57d5048af0c3ecec7f575d5856d2f7fadc210aadcbdd4dd040fe1 WHIRLPOOL f3d7b8c0522e09f5156e6bb446bb74e4c75f5da4495ca2ece1eb78afce59307abe01bf3c5dd5344278fcac9e334300d912031c806f51b981591c01bc3588c6f3

View file

@ -0,0 +1,391 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI="5"
# 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="ruby21 ruby23"
inherit eutils ruby-ng user systemd
MY_PV="v${PV/_/-}"
MY_GIT_COMMIT="09cedb5f68b5cdb1b2e2a08ccf4505a847e02155"
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 ~arm ~arm64"
IUSE="kerberos mysql +postgres +unicorn systemd 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-util/ragel
net-libs/nodejs
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-3.6.6
>=dev-vcs/git-2.7.4
~dev-vcs/gitlab-workhorse-0.8.5
kerberos? ( !app-crypt/heimdal )
rugged_use_system_libraries? ( net-libs/http-parser dev-libs/libgit2:0/24 )"
DEPEND="
${CDEPEND}
${COMMON_DEPEND}"
RDEPEND="
${COMMON_DEPEND}
>=dev-db/redis-2.8
virtual/mta
systemd? ( sys-apps/systemd:0= )"
ruby_add_bdepend "
virtual/rubygems
>=dev-ruby/bundler-1.0"
#
# 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
#
RUBY_PATCHES=(
"01-${PN}-8.7.5-fix-sendmail-config.patch"
"02-${PN}-8.11.0-fix-redis-config-path.patch"
"03-${PN}-8.12.7-database.yml.patch"
"04-${PN}-8.12.7-fix-check-task.patch"
"05-${PN}-8.12.7-replace-sys-filesystem.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
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/|" \
config/gitlab.yml.example || die "failed to filter gitlab.yml.example"
local run_path=/run/${MY_NAME}
sed -i -E \
-e "s|/home/git/gitlab/tmp/(pids\|sockets)|${run_path}|" \
-e "s|/home/git/gitlab/log|${LOGS_DIR}|" \
-e "s|/home/git/gitlab|${DEST_DIR}|" \
config/unicorn.rb.example || die "failed to filter unicorn.rb.example"
sed -i \
-e "s|/home/git/gitlab/tmp/sockets|${run_path}|" \
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}"/
# 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-8.13.3-sidekiq.init
use unicorn && rcscript=gitlab-8.13.3-unicorn.init
cp "${FILESDIR}/${rcscript}" "${T}" || die
sed -i \
-e "s|@USER@|${MY_USER}|" \
-e "s|@GITLAB_BASE@|${dest}|" \
-e "s|@LOGS_DIR@|${logs}|" \
"${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
}
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
## Initialize app ##
local RAILS_ENV="production"
local RUBY=${RUBY:-/usr/bin/ruby}
local BUNDLE="${RUBY} /usr/bin/bundle"
# FIXME: this line existed in older ebuilds, but the variable is
# never used. what was it for!?
# local dbname="$(ryaml ${CONF_DIR}/database.yml production database)"
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 "Cleaning old precompiled assets ..."
exec_rake 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
fi
einfo "Precompiling assests ..."
exec_rake assets:precompile
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}"
echo " ${command}"
su -l ${MY_USER} -c "
export LANG=en_US.UTF-8; export LC_ALL=en_US.UTF-8
cd ${DEST_DIR}
${command}" \
|| die "failed to run rake $@"
}

View file

@ -16,7 +16,7 @@ USE_RUBY="ruby21 ruby23"
inherit eutils ruby-ng user systemd
MY_PV="v${PV/_/-}"
MY_GIT_COMMIT="bcd02e0d75d7a934ee18d11643c1eaca434cf17b"
MY_GIT_COMMIT="f8ca16802ad446c48ed26ce75745035f13fa3e03"
DESCRIPTION="GitLab is a free project and repository management application"
HOMEPAGE="https://about.gitlab.com/"
@ -54,9 +54,9 @@ CDEPEND="
virtual/pkgconfig"
COMMON_DEPEND="
${GEMS_DEPEND}
~dev-vcs/gitlab-shell-3.5.0
~dev-vcs/gitlab-shell-4.0.0
>=dev-vcs/git-2.7.4
~dev-vcs/gitlab-workhorse-0.8.2
~dev-vcs/gitlab-workhorse-1.0.0
kerberos? ( !app-crypt/heimdal )
rugged_use_system_libraries? ( net-libs/http-parser dev-libs/libgit2:0/24 )"
DEPEND="
@ -80,6 +80,9 @@ ruby_add_bdepend "
RUBY_PATCHES=(
"01-${PN}-8.7.5-fix-sendmail-config.patch"
"02-${PN}-8.11.0-fix-redis-config-path.patch"
"03-${PN}-8.12.7-database.yml.patch"
"04-${PN}-8.12.7-fix-check-task.patch"
"05-${PN}-8.12.7-replace-sys-filesystem.patch"
)
MY_NAME="gitlab"
@ -90,10 +93,6 @@ CONF_DIR="/etc/${MY_NAME}"
LOGS_DIR="/var/log/${MY_NAME}"
TEMP_DIR="/var/tmp/${MY_NAME}"
# When updating ebuild to newer version, check list of the queues in
# https://gitlab.com/gitlab-org/gitlab-ce/blob/${MY_PV}/bin/background_jobs
SIDEKIQ_QUEUES="post_receive,mailers,archive_repo,system_hook,project_web_hook,gitlab_shell,incoming_email,runner,common,default"
all_ruby_prepare() {
# fix paths
local satellites_path="${TEMP_DIR}/repo_satellites"
@ -210,21 +209,20 @@ all_ruby_install() {
if use systemd ; then
ewarn "Beware: systemd support has not been tested, use at your own risk!"
systemd_newunit "${FILESDIR}/gitlab-8.10.6-sidekiq.service" "gitlab-sidekiq.service"
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-sidekiq.init
use unicorn && rcscript=gitlab-unicorn.init
local rcscript=gitlab-8.13.3-sidekiq.init
use unicorn && rcscript=gitlab-8.13.3-unicorn.init
cp "${FILESDIR}/${rcscript}" "${T}" || die
sed -i \
-e "s|@USER@|${MY_USER}|" \
-e "s|@GITLAB_BASE@|${dest}|" \
-e "s|@LOGS_DIR@|${logs}|" \
-e "s|@QUEUES@|${SIDEKIQ_QUEUES}|" \
"${T}/${rcscript}" \
|| die "failed to filter ${rcscript}"
@ -303,6 +301,8 @@ pkg_config() {
|| 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
#
@ -368,6 +368,11 @@ pkg_config() {
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() {

View file

@ -52,9 +52,9 @@ CDEPEND="
virtual/pkgconfig"
COMMON_DEPEND="
${GEMS_DEPEND}
>=dev-vcs/gitlab-shell-3.6.6
>=dev-vcs/gitlab-shell-4.0.0
>=dev-vcs/git-2.7.4
>=dev-vcs/gitlab-workhorse-0.8.5
>=dev-vcs/gitlab-workhorse-1.0.0
kerberos? ( !app-crypt/heimdal )
rugged_use_system_libraries? ( net-libs/http-parser dev-libs/libgit2:0/24 )"
DEPEND="