Merge branch '20-gitlab-8-8-5' into 'master'

Resolve "GitLab 8.8.5"

Closes #20

See merge request !78
This commit is contained in:
Manuel Friedli 2016-06-18 17:51:28 +02:00
commit fa7ac3aae7
8 changed files with 465 additions and 11 deletions

View File

@ -1,3 +1,8 @@
*gitlab-workhorse-0.7.6 (18 Jun 2016)
18 Jun 2016; Manuel Friedli <manuel@fritteli.ch> +gitlab-workhorse-0.7.6.ebuild:
Added ebuild for dev-vcs/gitlab-workhorse-0.7.6 and deleted obsolete patch file
07 Jun 2016; Manuel Friedli <manuel@fritteli.ch> +ChangeLog:
Added ChangeLog

View File

@ -1,11 +1,13 @@
AUX fix-Makefile-0.6.5.patch 377 SHA256 e96f13b11f1e05042542dd9bbf507954634b23674e15ea76a97503d484fee7c0 SHA512 13282a291239425aa4de8186dc0db2f8e06c3c1441b71042b3885ff9621ce2f7391e06f08463e671a134022bda74fbe8c836625eb3f8dd38c54b875810afab2f WHIRLPOOL 9d926bef63fc66f08d0b0235116540d6ba8d8a4d071b4305227090e90cf4a5ae58cf720f1c5a93680f391fc8cc818fe72e2c12f19ae004fd7a18df788c64c4ea
AUX fix-Makefile-0.7.1.patch 377 SHA256 10fa5bfbf9d61de4f07d0f117a0d2e2498f97b7a23a04f37e0a0bcfdf87c69c1 SHA512 c25175937b18a153f63990d37fb3161aa55428df3f7f3d9e1bc22836c055511cee649a998239c9765adbc1273ba8059ac2b1b1e2b3c4d016d762ccb78834a5bf WHIRLPOOL 85ecc6518b540a8cee0189e67c0cf3b67ca1943e4ed3433ea6827fe37fda11d1ac741b142d7d43ccc2afe5d4b85b6a02b9c603c21bc4df1b107e4a411cafc898
AUX fix-Makefile-0.7.4.patch 397 SHA256 99b860adbb10866a9c9891c567d322c61a521e37b4e8f0861414aa03a09e459d SHA512 497c1102aeb348629b79245de421eca2284e96ea29f0037bda13933a2519c43bdf40baa0d2ef7833fac7638b6b8f8159623ee87b2d8ec9369f250ade549f92af WHIRLPOOL fe2f63c8a7560b43811419ca5f56a7f633fd88c78a7c5266c13b08a58364fdd015296dd15ea1dd90da9a38126fb9a3a54e585f3c8dcd6ecbf0e2f1bc29c2191f
AUX fix-Makefile-0.7.6.patch 397 SHA256 e38d2418507d2b76013523a1e527163560101089b377760b220648cc60527c92 SHA512 11681e6dfaf674beb7fa3a5cabec56f835f63173dceab188ef5fb0a33e82b5af8fc7bf90f009f036358f13e56be4979937433614f21ad4316ea58382ad99a980 WHIRLPOOL bf394735aad3bb331aafc98b97be4553b1fdff190bf6ac90af88541ed152b4b8f767baab4f2ad5fc5bb47301c5ce15654e658c8bb1efe8eac108ceae52b8eb31
AUX gitlab-workhorse.conf 248 SHA256 6d11d63aa869cfd8c6f77c3a875984c226db633be899ad7ce97fafe94236eee7 SHA512 234213c8361702bdfeea40bd306b5899de19f34ce985e090a86e01aa601cf4ed23da4dfb75f74fe5986bbea5535a7a6a745406b4f67f79d352bd1c863777c7f1 WHIRLPOOL 8ac1134cde3aee942466d206e703ebd5330f83537d7e29641447f812d857bcc57b07fbf82eab086c0d622750694f64fabf8ffca2ba26a725f61b40fd1941e963
AUX gitlab-workhorse.init 653 SHA256 f38c37ed818cb8c25fb800bfcb5448f659e876b78ea33ea7a1ba3c80e73ea95e SHA512 2667997def39e6dc17e6a1d9be06d6e855d5d3e956e64d93bb3e74bbad0a1d427dc034f9c139f3b05e2666abab014404b2c8013c5347f4ec25fbf5ef86e7e88e WHIRLPOOL 63cd7ff80d88676b44c2d6ccdadf74907d5f8e4268f03ee11775c423bf95955f9d3aaeedd79fa6e0486b2d225336eb2ffa165dd7b9ac87ed0c2d403dc7e5afb4
DIST gitlab-workhorse-0.7.1.tar.bz2 26792 SHA256 3f00a7813d84a86980d739fad30e527257ff186fd0e3df069d42760b6b056ae7 SHA512 7d9a02a37a6e4612c07a7ced022151a19d783e902fa21bd1a401066101ff07e61ed281217bf01bd7f51ae5cd329eea212ebff1c01d30e80d52d4a8b71bb94eb3 WHIRLPOOL edf291bbf981b58543169c839b449e92b95ecfda0be127429c6490981380e00e1cefc0a0684dc38dbe9f573e93e37f51f0d4b5385418b10af16a5a12c77f9b80
DIST gitlab-workhorse-0.7.4.tar.bz2 27353 SHA256 61f0b4e6a786ce24101283f14d863d58b9b0703897b8967dd81b571a0dde54ca SHA512 f00b92ed25956f5af1db1c58c0ea8bdd9a36744d258dbdbaedf2f6c9ddd1b0a552667c20f2265ffd0f95c1abf73644743d39829f123a41466b1270c208f88684 WHIRLPOOL 5f3aab30d4acbc70604cb08c3b26d865d055441384de25c1d03e9d69633d8ee0be57169784422a17e2603efb0aeb1d1c9afc1a67aa10e834e7d53db444db496b
DIST gitlab-workhorse-0.7.6.tar.bz2 27970 SHA256 a00e6db3de8a48bc8ac44e609bf994e81fbcdf9226ea77d5ea5700e89a1deaf1 SHA512 a269110823602ae0e92bfcbfb391f7999144caeb35ae62a32f5ec896b04a7e9d791a8baba21c06784acec4d1f074ba3ec99a79a2eab14b664196e6b72d7132be WHIRLPOOL c8b5716df1ce525927c5a56492a1eab7a2a7776c3541f4ac50e3621fc5332d3278b08c5cfde54c9ae05e6a32ec355de44c63f16861e4e7921685ced483eebcdc
EBUILD gitlab-workhorse-0.7.1.ebuild 854 SHA256 c9e78983856490f7b638453356da30d6396f96ea3960f990e9cbb5dbef249eef SHA512 3c490abda76ed861ac7c126a656b91c4dac72f70ac99688865ec8a90a5aabb34f6d767899445510b9bbbc4edd30ba6b756668bb8d7c529dc000ba7fd570801e1 WHIRLPOOL e03f624cb7eceb56d45e638f772b935086bda3c21ec9e7e804aaf2449a2f6546da6d3143fe8499343b0fa7dc489a9413f1720a757d09e0803d8105af34116151
EBUILD gitlab-workhorse-0.7.4.ebuild 918 SHA256 e7466db698fae0bc0aa112fe9698bc94a862f07575df0dfbd098c9125382d058 SHA512 48757189f18c1c6cbeb5ede420cce8adc4fbb807cf8f1c06e937dfca212fee1dc7bc20cf52d6ecf58bd872f2d7c0e821f0e41fd4ad042c0e857221a9265959d2 WHIRLPOOL 26a76aa4900e4a231b52c6ff3230ebcb72fba697fc13ccff893c5fda66bc2b75f7f87a391eb6cf6e15bb8b0bb1079917c34f9ea90667c2b3ae421d59a74327ce
MISC ChangeLog 82 SHA256 12ed3543adc88564630b15553233b47b2bf04f4acc8f97eeb5c5befa2c16c75b SHA512 bf31a0cd9c7f4c2b560ef6cd2174e927933d1004c8fab2089e1d0d8c8d76f26f449f9babd33b72176038868259296cd4dda9db0b9cb175274e98fff888290703 WHIRLPOOL f7606de1e805cc293c25b9538e2fd7433ed4cd076bf7e047d7583e4e3886de1a365fe6b1e75bbcbd80f8d4da4a74ec3259d9914462a80ac75e9537dca5c9e52f
EBUILD gitlab-workhorse-0.7.6.ebuild 918 SHA256 42a55a2b0604345c1314a1a4333c507db888ad4e456ad4a908514e320658e58a SHA512 14f5a80e5d9effef0cdbb226b1536b75d9a37472c012703c35d38dc0a54fecdca5cf04b56574220327a7f87fcb6875d65757442f17e6f47d26aa8a1d876aa8d9 WHIRLPOOL 07ef711760eb4aed11d60a893074c816dd201ab0ad731bcbba9e914460983a9b17f775e6bce11f6bb0f6a5dfdb384f7a70ecabe0fcf00700b10842d14d81f7fc
MISC ChangeLog 287 SHA256 a075196859b3b9c29ac028cc371d1a56c94b1348627cc61e601b9cc833b99824 SHA512 31dc29b12f4a2acdec5a6c5136edc6d35facc36da58ca1df2094b7e49b2d06bb769c6f75e0044cc33f9395f40f040cc1b797c53a32e11554131705a6b96c2c1b WHIRLPOOL 247975918b5d38a34403955ff97a81fb5c19811829567694752d71d6280389ced9e791758a7c0a3f8bd4e822b51bbf95c494cd024fda2e89dae95450ab3d5e8a
MISC metadata.xml 234 SHA256 f35b97f99a26d73cc441e1d93bfe25aaa4e9f7f6d90c8d05a74f7b7bc5b68472 SHA512 59d8156b3ca3e99c40d5a2a32de7edf2eb53279b2424998862589d6bad77617d23fc852afec0a92f8ac5bb54a88ebc504cc0641029c1936412e90ab03dfdd447 WHIRLPOOL 935a1401910a42f888c991e443a49275ea8b87976c5aa977f670053d97d18754231749749bc92d37d4b5f45ecf65914480942a11b5827b6c08fb24313a428431

View File

@ -1,12 +1,12 @@
diff --git a/Makefile b/Makefile
index c81222f..1a90927 100644
index 9b3146d..b3c0630 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=0.6.5-$(shell date -u +%Y%m%d.%H%M%S)
+VERSION=v0.7.6-$(shell date -u +%Y%m%d.%H%M%S)
export GOPATH=$(shell pwd)/_build
GOBUILD=go build -ldflags "-X main.Version=${VERSION}"
all: gitlab-zip-cat gitlab-zip-metadata gitlab-workhorse
PKG=gitlab.com/gitlab-org/gitlab-workhorse

View File

@ -0,0 +1,39 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI="5"
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"
S="${WORKDIR}/${PN}-v${PV}-988b04b63537e20a101a74b6b1a984e75f09eb22"
RESTRICT="mirror"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86 ~arm ~arm64"
DEPEND=">=dev-lang/go-1.5.1"
src_prepare() {
epatch "${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}.init" "${PN}"
newconfd "${FILESDIR}/${PN}.conf" "${PN}"
}

View File

@ -1,3 +1,10 @@
*gitlab-ce-8.8.5 (18 Jun 2016)
18 Jun 2016; Manuel Friedli <manuel@fritteli.ch> +gitlab-ce-8.8.5.ebuild,
gitlab-ce-9999.ebuild:
www-apps/gitlab-ce: added ebuild for version 8.8.5 and updated dependencies
for version 9999 (git master)
*gitlab-ce-8.8.4 (13 Jun 2016)
13 Jun 2016; Manuel Friedli <manuel@fritteli.ch> +gitlab-ce-8.8.4.ebuild:

View File

@ -13,11 +13,13 @@ DIST gitlab-ce-8.8.1.tar.gz 17813843 SHA256 842519d8bcff1e7e056c83fdfded8dc042e3
DIST gitlab-ce-8.8.2.tar.gz 18475752 SHA256 a726fe8439a85f3a22fd3df31b2ab6d8ff9ab4301090a399c439ec27dbd6d3e0 SHA512 57d1b0874657b225b34ff7421cd2a1f3b5bcd0261bd9f44a761302fb81622f47296c896d726abb94530337b2a529bd7a1504896e5240252015d4eaa4c0993cc3 WHIRLPOOL 0ed528deecb909c4bae253be7b5066ff14c864efb9f0f6ae8d8a3649d3f2f84887caa57b385d7ae58e1fc6cb59e72d9da3847310e11e139134b06374361af1ea
DIST gitlab-ce-8.8.3.tar.gz 18477429 SHA256 afacbb6ab40b8eb02825d3ec82125c3f23cbb28d816cda2f7b24e8b3e3cf1861 SHA512 d8907a1c3ac4e98e2332100b72b3a4a1c804590873ac8b115b0f76fd9b7d275db4ee0474be9343b053fcc602512f0e0537f90f10533375da1c829a648d172904 WHIRLPOOL f8c9e326714da3fd791ecf452c88ff91ef95bc1d8cdf104fc8facbd855cf9345f51b86f612225915c04da474f3879fa80797a718c187c975309c5f22cc140b7d
DIST gitlab-ce-8.8.4.tar.gz 18477082 SHA256 298cce24c3c9db43e810d892ddfb09499d87e99caec01bc9c741f09392ebb106 SHA512 05ed4213c8c9a653498b8687070e6cff017f7cf2b19b461036f15a102d770a3fb19f571c271fe18071c7be3969ad179d72023a1b0cc5e5585ea81aea32605608 WHIRLPOOL 024f2b1ff347ab629f304fedd00e61068c2b8de99569dcf5870b3535a89a8a7cb166874995e53e76ae6ff3d5d9602d61c849bf6520e24fb7e308d08dcf05c1d0
DIST gitlab-ce-8.8.5.tar.gz 18478664 SHA256 385fefd73ea70797ee2b1d9084c0b5a0f90917a7636926537746bd86143e0335 SHA512 9fef95ecabc16fd441b81ca107567d7ff5abfde39bbfe23b777b0ca1e11cb0bb3028cb597a04c31b478e06fb2f91bd635fc4484ee01d44b4856e528d5eea328c WHIRLPOOL 8a010f2dfc635c87dc3434daae60c0f5965cccb98fd37672ccb772c5baaf2cfe1e232fa1dd21e612d6d08f409714e79e879c46ea28a0e2fe24198308f280b34a
EBUILD gitlab-ce-8.7.5.ebuild 12328 SHA256 19aa6d76fa724ed44c5518edcb2fe48c351047b2a57ed632d3b9427c96776232 SHA512 1f3a250061e46b3d4eec7ecb089b0d57c5cabc093d992aef26b05d29be39432868d2d3e64abe10294dd68dc8fc5de8d4a464332e66d1dafe9af88e2d305909e9 WHIRLPOOL 6f9887e1914297e41daa34c8792a5c2cdf8dea6092dedf5aa151f023190473db45782dba30f17c7c03d62a496a20aa3d576a7029b970122806a9b7e0913308d8
EBUILD gitlab-ce-8.8.1.ebuild 12335 SHA256 3b0889b1560663ec37f63a67c0191baef646d1858769ac4bba20f2ecbb0a43c6 SHA512 3867329ef7b310b412935cb27d6650ba4d1f32d373196d21e8255510283304dcd7fe9cfcafc1ca6f17ee195c4eeb9440f848a00ded50148374c47d4805e41aff WHIRLPOOL 4ce78d0e2b653848159f231bf89802cd1e9d83269994362b5dfb1ce2b27d12eafdd0d8961294d0f943231eb38a5e78a3c7b66547d2d875e410bd23aafb8968b6
EBUILD gitlab-ce-8.8.2.ebuild 12342 SHA256 0b528722bb3bc7d232dc6a272973bf8da77992fefa308dabf4b7a9fba8548c18 SHA512 430ee8b469bf43bd8889e9375c49ca83a35d2956c6964e0f1dd07921fbb124a8d7decf60950fbbbc836025d74e73da1e7c89119da2348090d163eb6062739fb4 WHIRLPOOL 3730bf6b32dbc0c3605b15a953114aca56faf859f83672f05ad0b92251697a9cc0778b13d3ba3fd25ddb0858e8ce43b400573f68a605e063ad9bed8597c29fc5
EBUILD gitlab-ce-8.8.3.ebuild 12342 SHA256 0b528722bb3bc7d232dc6a272973bf8da77992fefa308dabf4b7a9fba8548c18 SHA512 430ee8b469bf43bd8889e9375c49ca83a35d2956c6964e0f1dd07921fbb124a8d7decf60950fbbbc836025d74e73da1e7c89119da2348090d163eb6062739fb4 WHIRLPOOL 3730bf6b32dbc0c3605b15a953114aca56faf859f83672f05ad0b92251697a9cc0778b13d3ba3fd25ddb0858e8ce43b400573f68a605e063ad9bed8597c29fc5
EBUILD gitlab-ce-8.8.4.ebuild 12342 SHA256 0b528722bb3bc7d232dc6a272973bf8da77992fefa308dabf4b7a9fba8548c18 SHA512 430ee8b469bf43bd8889e9375c49ca83a35d2956c6964e0f1dd07921fbb124a8d7decf60950fbbbc836025d74e73da1e7c89119da2348090d163eb6062739fb4 WHIRLPOOL 3730bf6b32dbc0c3605b15a953114aca56faf859f83672f05ad0b92251697a9cc0778b13d3ba3fd25ddb0858e8ce43b400573f68a605e063ad9bed8597c29fc5
EBUILD gitlab-ce-9999.ebuild 12347 SHA256 709ccae7ec6c98868c8a054da2cfc0f68745bdd6e3cb600b5a2e473a0dc95703 SHA512 51191da52049563da5569132e652688bec7c4cc2c4d9267f751b6b13f3028762632d991b80d22f481532308a088d0f287060da04736cdbec5f6990d1fd9b7d53 WHIRLPOOL 6c3aefe4c3d35d7c0d984a51608e72d106f06d5fd93a5e22a56cb8345c212660b3d8d6758b3a6d2941961f0a4880b755b6558447a34f8615b44c1145246826bf
MISC ChangeLog 234 SHA256 75ded9a3f381ac0208343e1b976a739f72135123dbf5f55652bbf9dae681c443 SHA512 66dd5807e3e9ec7f7ede6bcb8c7dcdd4f2dab67d487484b2ec35dfbd93fb310eb9292db4ec9ad6150a21601731b68647773478fdf4276186f3d4f78c01c6590e WHIRLPOOL 055a652fda51f927e1d7f0b5c107ea1bea2e15f215a51bd3523bb40c4737df1626de220047262c957b278f42cff95b5f70340be85b5c31401e33ae30b6b3d630
EBUILD gitlab-ce-8.8.5.ebuild 12342 SHA256 0b528722bb3bc7d232dc6a272973bf8da77992fefa308dabf4b7a9fba8548c18 SHA512 430ee8b469bf43bd8889e9375c49ca83a35d2956c6964e0f1dd07921fbb124a8d7decf60950fbbbc836025d74e73da1e7c89119da2348090d163eb6062739fb4 WHIRLPOOL 3730bf6b32dbc0c3605b15a953114aca56faf859f83672f05ad0b92251697a9cc0778b13d3ba3fd25ddb0858e8ce43b400573f68a605e063ad9bed8597c29fc5
EBUILD gitlab-ce-9999.ebuild 12347 SHA256 ce1daacacd7755d663c858352ed7955fd8c7c76cab310b002c273bb078cd5fe8 SHA512 c9e9666ab89fade17ccfaeb2cc77a87d243fcd7692770a265572fa38553d21c2f52cced641da32448375e4a3c7b2a62d98fccae896b33e61de04ba163c7c2605 WHIRLPOOL 37bd2c66d00b1e452258d510bccb9d7aa066bbe703aee514d9db8c4076005ff3d75185404cf34be9827d2baf577fe05c46b62109ee79e96cffc0a53906906e07
MISC ChangeLog 479 SHA256 88062b0410e41cef71c204ce9d56c8181091335f37000f9b8a5c764882fbe30e SHA512 0bb04b65a9dcab698418a05a7c9ede79f3cc7ab35d789baaac900de79ca16f35ace6832608232473d7dfb60effefe8a7ec269a0d01ef6fc837e24850b4c2921d WHIRLPOOL b176a6e42d836998bf1180944ae0edd2bf77b3bdb894ffcc0596041be519f227ecc596052645a9ff2cacc8a6f95ee38ffbf1021a32e8ef9bea551d78812ec765
MISC metadata.xml 545 SHA256 1b7fc44d811e1ab7638fe4a40253f49d5f1071872d3020c22c4f67662750cb2f SHA512 86f47d297892bccfefa087d93936296f5647993a9ec8e3f47907a6859cbf385e5bc6f00502d7836c9e8d9efef2b6725bf145b0150924c2082b2bd164469ef6ea WHIRLPOOL 6bfb8a55684d68c8bfa6e025a0be965f7b815394ee0896dd2a13cfb524e3cf3f3149acc9072897e30a1842060389576aac07ea8beb4a8b0bfc3e8eab3723f2a1

View File

@ -0,0 +1,399 @@
# 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"
inherit eutils ruby-ng user systemd
MY_PKGNAME="gitlabhq"
DESCRIPTION="GitLab is a free project and repository management application"
HOMEPAGE="https://about.gitlab.com/"
SRC_URI="https://github.com/${MY_PKGNAME}/${MY_PKGNAME}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
RUBY_S="${MY_PKGNAME}-${PV}"
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-2.7.2
>=dev-vcs/git-2.7.4
=dev-vcs/gitlab-workhorse-0.7.1
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=(
"${PN}-8.7.5-fix-sendmail-config.patch"
"${PN}-8.8.1-fix-redis-config-path.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}"
# When updating ebuild to newer version, check list of the queues in
# https://gitlab.com/gitlab-org/gitlab-ce/blob/v${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"
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
# fix permissions
fowners -R ${MY_USER}:${MY_USER} ${dest} ${temp} ${logs}
## RC script ##
if use systemd ; then
ewarn "Beware: systemd support has not been tested, use at your own risk!"
systemd_dounit "${FILESDIR}/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
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}"
newinitd "${T}/${rcscript}" "${MY_NAME}"
fi
}
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() {
local shell_conf='/etc/gitlab-shell.yml'
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
# check gitlab-shell configuration
if [ -r ${shell_conf} ]; then
local shell_repos_path="$(ryaml ${shell_conf} repos_path)"
local gitlab_repos_path="$(ryaml ${CONF_DIR}/gitlab.yml \
production gitlab_shell repos_path)"
if [ ! "${shell_repos_path}" -ef "${gitlab_repos_path}" ]; then
eerror "repos_path in ${CONF_DIR}/gitlab.yml and ${shell_conf}"
eerror "must points to the same location! Fix the repos_path location and"
eerror "run this again."; die
fi
else
ewarn "GitLab Shell checks skipped, could not find config file at"
ewarn "${shell_conf}. Make sure that you have gitlab-shell properly"
ewarn "installed and that repos_path is the same as in GitLab."
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
if [ ! -d "${DEST_DIR}/.git" ]; then
# 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
fi
## Initialize app ##
local RAILS_ENV="production"
local RUBY=${RUBY:-/usr/bin/ruby}
local BUNDLE="${RUBY} /usr/bin/bundle"
local dbname="$(ryaml ${CONF_DIR}/database.yml production database)"
if [ -f "${DEST_DIR}/.secret" ]; then
local update=true
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
local update=false
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
}
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

@ -54,7 +54,7 @@ COMMON_DEPEND="
${GEMS_DEPEND}
>=dev-vcs/gitlab-shell-3.0.0
>=dev-vcs/git-2.7.4
>=dev-vcs/gitlab-workhorse-0.7.4
>=dev-vcs/gitlab-workhorse-0.7.5
kerberos? ( !app-crypt/heimdal )
rugged_use_system_libraries? ( net-libs/http-parser dev-libs/libgit2:0/24 )"
DEPEND="
@ -76,8 +76,8 @@ ruby_add_bdepend "
# Point to the absolute location of redis_config.rb
#
RUBY_PATCHES=(
"${PN}-8.7.3-fix-sendmail-config.patch"
"${PN}-8.7.0-fix-redis-config-path.patch"
"${PN}-8.7.5-fix-sendmail-config.patch"
"${PN}-8.8.1-fix-redis-config-path.patch"
)
MY_NAME="gitlab"