Merge branch '21-gitlab-8-9-1' into 'master'

Resolve "GitLab 8.9.1"

Closes #21

See merge request !79
This commit is contained in:
Manuel Friedli 2016-06-26 12:12:08 +02:00
commit 734c83ff7b
17 changed files with 52 additions and 1701 deletions

View file

@ -1,3 +1,9 @@
*gitlab-ci-multi-runner-1.3.1 (26 Jun 2016)
26 Jun 2016; Manuel Friedli <manuel@fritteli.ch>
+gitlab-ci-multi-runner-1.3.1.ebuild, -gitlab-ci-multi-runner-1.1.3.ebuild:
dev-vcs/gitlab-ci-multi-runner:
Added version 1.3.1 and purged old one
07 Jun 2016; Manuel Friedli <manuel@fritteli.ch> +ChangeLog:
Added ChangeLog

View file

@ -1,12 +1,12 @@
AUX gitlab-ci-multi-runner.conf 44 SHA256 0b93ba53d557fbf603b50f6d78eb2c4415b9a79f056142b6edf4a63fc6612d6e SHA512 1f5ff480740b18fc985ae9337b8dc4ddd1bde5253e09042b5542cb9a3db54b9cef1f7b24445c829eb83fcfd8751b693018154f6b97ce0a6e723d5d71d9a27429 WHIRLPOOL fc5218c55917b3303baf649fbafaf1dc50cf52d0ee04852716defe4f21b806f4f313071b1c55920d89da66180405d35da0f7cca73c2617b70bcaa67f725cab2a
AUX gitlab-ci-multi-runner.init 696 SHA256 03fc8cf6f5d8883b69122362202779f1ef8c8bcc5e60b828a97fb4b6b98ba315 SHA512 70e77d175239827df7470d716d59a61147390f9ae3b796f38bfd4edf966dabb09a6be4ed620e34a8eeb1345d7e2c32082dcc00d7857193fc02024b9ba12142b6 WHIRLPOOL 53ce6f85bc624b44242bc424f755414c8303ba953cdbcbc15b5e3be7b67f0438278d1689f7ce2bc2ae5c4a296fd706401988d0f889d8c37eabd7955e6becca91
DIST gitlab-ci-multi-runner-1.1.3-amd64 35154568 SHA256 0ea28a7d53857d31e736f282c3309a6cb89f63ef636834542098e734c6b7c073 SHA512 57f8ecb233d18cd3ebe48d7c1342cad3129ca171ee5b918323ed04ab9433bc9ac7a770e60be1c722be4b94049484757c6bf08a770362b2a8321bba8fca5ad8f6 WHIRLPOOL 4d653523bafaf62da3ab7bfe4671b3ff13d6126b86daee850eca73beaf5e2877357b3f7327395864e4963babee11d79f7c7776b23e34c9a07b3d2ce7b4767cba
DIST gitlab-ci-multi-runner-1.1.3-arm 32274360 SHA256 6d4bc687580c1847b0bd5a231b5f511bb3dd3ad56bba57551ffd95367398cb56 SHA512 bccebb2311a10e96ad6170e381ab41c3bc4e8127c7605e9ae667363b52e87d37719ddb368eea649cfb765e6a7a5619eb3941ef9aaef685422527175abb9c805a WHIRLPOOL 3eb9f7f9c7792aaa1d983c96a2eb515ae0139f487a69d903038155ba9d188c7f1e6c2d0e5ba69502b8130e3d7fb25c09b629aafa44766f484e469c0915222aaa
DIST gitlab-ci-multi-runner-1.1.3-x86 32445128 SHA256 961a232106d3faaed528d3aabe7b023b8bf1f622bb13dc4408808fe238699cdb SHA512 3dadb3d7bad25029fe42f5136caacf656db9662b52ebc2f94b9a2c844dd922cde87a93682854073a038ff82b3fb5f1310ed10e8bc8b0e19cee6c2d6461736f65 WHIRLPOOL d8d67012a916812a5a01e5749118851ed972fd0a82fdd92a776504ae1e86bec619c29e6cf672d99e94ac7e9f063174882e641a039fa5a67aba6638d966d79f82
DIST gitlab-ci-multi-runner-1.1.4-amd64 35350128 SHA256 0674fb0669a7de3c20ed70b94206ba0f2e2e90058458a8df2818f78700ed21a4 SHA512 0a7c1fc6530f28d6b0d6e804a5cea44c49c204d0e5f3a7fbd51ad9ddf61b5e6d3e7d3ee2360b746c421fe351705cf7e2fed2d983afc68383bdca2fd8f1686a23 WHIRLPOOL 274caad86300d0c564e13cdc9d236b621ec768ecd9605e620a6401958d84757c7cc104ac93a93d007b08913d84163d630fe0bff97404132f6505c5384acd856e
DIST gitlab-ci-multi-runner-1.1.4-arm 32386448 SHA256 e5986b65a642124d355aa25822b12f46f81b5ab3a4922f99693788072f8fb4a1 SHA512 e202da365233adbc817036a1a80fea703185985f1ffb4d1d47d4c4efda111cf39d638801873b4bda734aca0708d9f247f5e62a711db4511141b69e4e0b297653 WHIRLPOOL 478bfd2fec6eb2f9825e40b79dbe9b84d88b3728621d9686f9a1c642d9b0ccd762ddc03a8f52855c7b9313ee3e07bbd817e9ff7bd9ea362623bb2397e3c7f491
DIST gitlab-ci-multi-runner-1.1.4-x86 32562200 SHA256 4b5cc4a70d7f8fdb5c389c7525aba24a1cff82f8e76dd01cd7f94c4a053e457d SHA512 c46fae0766b863fb8e41abbf74bf5d6dfdc94daa412850a65711ab97113bd62c2c1c4685d5d12b5508a245aac9448ea4c5da0b0cc925bc525ec22f5d04157a1d WHIRLPOOL c2ca6d6465469a37c1567681638122f401db48b0cc81c5e507a89c90c2a74f25631d0b1b77c00d22868b6392c085c55c7b3b5fa95aabcd927555a0d906520be8
EBUILD gitlab-ci-multi-runner-1.1.3.ebuild 2349 SHA256 6432c48b3a7a36c0b28ccab7fb79382061fa9296df9b6dc9ca32d4caa5f20702 SHA512 2a7674d506e79d8570fa8527dd10b87e775a75b4daf41458bcca28f5ad9863145571d4ebf9d9e0d9df015e48c89a7bd4a05d1bc7928223fdc2b7fd528d5282d8 WHIRLPOOL 6df8346401d631b58a3a6e1ce9f2c0e3e8b871e99880099463dcb9b5639d08b3725c7c83e7f96dfe7e8cba4e60abe77e2afbeb2c7ae8ec13cf02b05d1723fd9f
DIST gitlab-ci-multi-runner-1.3.1-amd64 59026624 SHA256 3a80fefb5bb76e43999d95a44467531b47b30b99385ccb2e67b00279cdab6eb7 SHA512 af62b0e7b76d909bfaaa7ebac385df61ae8ba4ca6e0bd9ad7463f628117f1428160ac1a2aa16834837130edb28a22b2c2e720ee93eb70c1086ce6855127f5767 WHIRLPOOL 140b1aa6bfd6ba45acde7a27b29d0410cbcd3940e37f45de9ab4e5c064ffb4ea73cfe25ae80e30ec6f6cc8733535607c779596e7e56c2412f74c51b3cb9b1328
DIST gitlab-ci-multi-runner-1.3.1-arm 55880648 SHA256 106a6abb55b055f6f9f7f6ac2f65dd26f440b4afcd000cfc128a10c347c3e95d SHA512 a019c30c390d6da949ada3dccc8de9ed0e8c24fc68abbd2d3fa78fb79055c542d74584bff013a228b9abec6e7e2881f99ad5a94ebc008fb19584f12fc55111af WHIRLPOOL 1f9f1e0e4bbfc1c7a3702e2748868e3a9021e9d1289274b4014dbe6876e379ef12f258cdcc9d85320ef5c2e413d78e6815a41e33b9aad2781fba226a2fcc3b13
DIST gitlab-ci-multi-runner-1.3.1-x86 56049856 SHA256 3b8df407e0014bf82d7751d0cc6a55c7cf73be224550cdc239aa23b4f053a7f4 SHA512 4635de807a4812bf75396eb3f81f160409b1997931b5601530af794a06914bcbb41d25139bc5899385e16ae7ec2f09387b5973589c7ea66c5df6b4e993050814 WHIRLPOOL fa576629cd700ff7cd9f55c5da4f4dbf24e8188066df78f383be413052462fccc13d5e3b45ff582785052acef2a77ff49f3a9e1f2f1742e6ce98b67274bb03a3
EBUILD gitlab-ci-multi-runner-1.1.4.ebuild 2349 SHA256 6432c48b3a7a36c0b28ccab7fb79382061fa9296df9b6dc9ca32d4caa5f20702 SHA512 2a7674d506e79d8570fa8527dd10b87e775a75b4daf41458bcca28f5ad9863145571d4ebf9d9e0d9df015e48c89a7bd4a05d1bc7928223fdc2b7fd528d5282d8 WHIRLPOOL 6df8346401d631b58a3a6e1ce9f2c0e3e8b871e99880099463dcb9b5639d08b3725c7c83e7f96dfe7e8cba4e60abe77e2afbeb2c7ae8ec13cf02b05d1723fd9f
MISC ChangeLog 82 SHA256 12ed3543adc88564630b15553233b47b2bf04f4acc8f97eeb5c5befa2c16c75b SHA512 bf31a0cd9c7f4c2b560ef6cd2174e927933d1004c8fab2089e1d0d8c8d76f26f449f9babd33b72176038868259296cd4dda9db0b9cb175274e98fff888290703 WHIRLPOOL f7606de1e805cc293c25b9538e2fd7433ed4cd076bf7e047d7583e4e3886de1a365fe6b1e75bbcbd80f8d4da4a74ec3259d9914462a80ac75e9537dca5c9e52f
EBUILD gitlab-ci-multi-runner-1.3.1.ebuild 2349 SHA256 e08c86353148305b0d0b6e671061ae22bf551b8bdce0902b65112fffb9b35cde SHA512 43c9921253423607a395f943d50c699e33e868aac3c76c06c9d9e3701d97fbf8513d06734eefb826f8a26fa62bd435bd12945dd623af122013edfd6295025185 WHIRLPOOL dec520c11a615649549616dac61335367183f08eec5ec137750d64b8fd47330870370cd5dae50a11244203f8c4ddfdf9ef11ef1e654e6508b999d5db211cfc06
MISC ChangeLog 331 SHA256 0f33ca60ed9d4f2a56a250a64af5322127784b2233b1118d58365908b4423503 SHA512 53adf761c39c6fd9039c71cf59f9ea8cae0a0701658c2d8f244a57a1eb395c88cfdc87a6b4f90ab012a5ac9b6e08675f57f9aebb93d360bbd0180f6966d2f6e8 WHIRLPOOL 9abeef103adb8b8ec725640208c0d7131db5bcd204da7de154cc3fdcf1f7939be010817a1c8e9ba7ae3899c5338ec05f276d8776fed5c9438e9ce667d856616a
MISC metadata.xml 234 SHA256 f35b97f99a26d73cc441e1d93bfe25aaa4e9f7f6d90c8d05a74f7b7bc5b68472 SHA512 59d8156b3ca3e99c40d5a2a32de7edf2eb53279b2424998862589d6bad77617d23fc852afec0a92f8ac5bb54a88ebc504cc0641029c1936412e90ab03dfdd447 WHIRLPOOL 935a1401910a42f888c991e443a49275ea8b87976c5aa977f670053d97d18754231749749bc92d37d4b5f45ecf65914480942a11b5827b6c08fb24313a428431

View file

@ -1,4 +1,4 @@
# Copyright 1999-2015 Gentoo Foundation
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

View file

@ -1,3 +1,8 @@
26 Jun 2016; Manuel Friedli <manuel@fritteli.ch>
-files/fix-Makefile-0.7.4.patch, -gitlab-workhorse-0.7.4.ebuild:
dev-vcs/gitlab-workhorse: Purged unneded version 0.7.4 of dev-vcs/gitlab-
workhorse
*gitlab-workhorse-0.7.6 (18 Jun 2016)
18 Jun 2016; Manuel Friedli <manuel@fritteli.ch> +gitlab-workhorse-0.7.6.ebuild:
@ -5,4 +10,3 @@
07 Jun 2016; Manuel Friedli <manuel@fritteli.ch> +ChangeLog:
Added ChangeLog

View file

@ -1,13 +1,10 @@
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
EBUILD gitlab-workhorse-0.7.6.ebuild 918 SHA256 42a55a2b0604345c1314a1a4333c507db888ad4e456ad4a908514e320658e58a SHA512 14f5a80e5d9effef0cdbb226b1536b75d9a37472c012703c35d38dc0a54fecdca5cf04b56574220327a7f87fcb6875d65757442f17e6f47d26aa8a1d876aa8d9 WHIRLPOOL 07ef711760eb4aed11d60a893074c816dd201ab0ad731bcbba9e914460983a9b17f775e6bce11f6bb0f6a5dfdb384f7a70ecabe0fcf00700b10842d14d81f7fc
MISC ChangeLog 287 SHA256 a075196859b3b9c29ac028cc371d1a56c94b1348627cc61e601b9cc833b99824 SHA512 31dc29b12f4a2acdec5a6c5136edc6d35facc36da58ca1df2094b7e49b2d06bb769c6f75e0044cc33f9395f40f040cc1b797c53a32e11554131705a6b96c2c1b WHIRLPOOL 247975918b5d38a34403955ff97a81fb5c19811829567694752d71d6280389ced9e791758a7c0a3f8bd4e822b51bbf95c494cd024fda2e89dae95450ab3d5e8a
MISC ChangeLog 494 SHA256 786864a54d5dcc86445711d54d1f490ad5056fea3ea7d2a708aef976e4619b75 SHA512 a6d921c05756a28134121d73df2f8aa870bae2f6b8dd704941216573be4b25940c6824e8c0dae657ac3123176ab1f1b17ae4966995f62b76e72b857c04756ba4 WHIRLPOOL fb89cb8c8f164a56a1cc6f98427966f5c33bc06317c19e5559c84802d699f43d049488411ef7db5e187b109edcaf42dd4d1cb6570c69f0062414ded6d46891d5
MISC metadata.xml 234 SHA256 f35b97f99a26d73cc441e1d93bfe25aaa4e9f7f6d90c8d05a74f7b7bc5b68472 SHA512 59d8156b3ca3e99c40d5a2a32de7edf2eb53279b2424998862589d6bad77617d23fc852afec0a92f8ac5bb54a88ebc504cc0641029c1936412e90ab03dfdd447 WHIRLPOOL 935a1401910a42f888c991e443a49275ea8b87976c5aa977f670053d97d18754231749749bc92d37d4b5f45ecf65914480942a11b5827b6c08fb24313a428431

View file

@ -1,12 +0,0 @@
diff --git a/Makefile b/Makefile
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=v0.7.4-$(shell date -u +%Y%m%d.%H%M%S)
export GOPATH=$(shell pwd)/_build
GOBUILD=go build -ldflags "-X main.Version=${VERSION}"
PKG=gitlab.com/gitlab-org/gitlab-workhorse

View file

@ -1,39 +0,0 @@
# 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}-dc9b6c39cf725129662413ec29d115b500be935f"
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,15 @@
26 Jun 2016; Manuel Friedli <manuel@fritteli.ch>
-files/gitlab-ce-8.7.5-fix-redis-config-path.patch, -gitlab-ce-8.7.5.ebuild,
-gitlab-ce-8.8.1.ebuild, -gitlab-ce-8.8.2.ebuild, -gitlab-ce-8.8.3.ebuild,
-gitlab-ce-8.8.4.ebuild, gitlab-ce-9999.ebuild:
www-apps/gitlab-ce: Purged all old versions; updated patchfile for
gitlab-ce-9999
*gitlab-ce-8.9.1 (26 Jun 2016)
18 Jun 2016; Manuel Friedli <manuel@fritteli.ch> +gitlab-ce-8.9.1.ebuild:
Added ebuild for www-apps/gitlab-ce-8.9.1
*gitlab-ce-8.8.5 (18 Jun 2016)
18 Jun 2016; Manuel Friedli <manuel@fritteli.ch> +gitlab-ce-8.8.5.ebuild,

View file

@ -1,6 +1,6 @@
AUX gitlab-ce-8.7.5-fix-redis-config-path.patch 781 SHA256 61210486d4d73f442b9fe3e38367ce278a2a476ffe78b39813436dc03ac346ae SHA512 d027e1cb081226488c899046eaa283dd03de802a39780ce99a69a6620ed79e4b8f85b40b496f925f89b5406c54be294f0fded8c4fa346c703779bb9f68f703a3 WHIRLPOOL bfd1cd51197d30bfc2e7f99b36b554738d08505652f492a02254ed6369f2654ce762265d2bfb93aec398c35b1888d0900c8e9d463cf1565c3d4d8b5be9248d4e
AUX gitlab-ce-8.7.5-fix-sendmail-config.patch 705 SHA256 cfc4ffd896e03cc763601aca5cdd5ac43f85152705cbf5a4e9144a6156d6f77e SHA512 a92659db8cab022185d87f321b037b1731612bf5f89b9df4552dd49b843bb49b6019f8ddda96a6fd6cb6544664a1c3d52ca5fee2c11be8b33698cc713219510f WHIRLPOOL 81a6504a8583bc46ea4005d9f8a2113802439161c40f11d3da46332b8980fc6b9520d81d9e32a6555bcdc893245448ba9151a271c511ae87f6468f588d4804b0
AUX gitlab-ce-8.8.1-fix-redis-config-path.patch 349 SHA256 df585c942ecfa71968e90521f5621af59befbe3bbe48ffbf49a49ddeae989e93 SHA512 af95d7bb4909ca1205098a791f97cf00126ad3407a9bb5c4e8d699ed7ca46843af2fa38cf148c8575b48617ecaa8822e65dad612bda5716acac0dbf10592df6f WHIRLPOOL 40193ae35cbe620d79fb7eb816efaa5a6bef870b4962d81ed6d9267045b2514f6ef4ae129893e06a2c9b06ae695735e50381595eaa1eabd1cea1e5d72711df73
AUX gitlab-ce-8.9.1-fix-redis-config-path.patch 411 SHA256 d88b8c4d4dcc30d7533bc9cccd735d8ca7b2ae3878938904b1b5ba36e11a810c SHA512 4852edec468d5f62f6e903687a1791fd8cc840f361448a538fb3d42e8a885aa326a7663538145eed7f852f3b66a90b8a0ca9dc90f86534bdcc42e66855a801c9 WHIRLPOOL ffeec14be3859e5640e3348de98f67660eacda7a63ea13b463e6411f516a40d09a9e99d841939c9d4317544f2bb6d813156b461e61be27c08b68a67bc2ecbfd6
AUX gitlab-mailroom.service 773 SHA256 39cea460db7fc505b136a2106902d0515890180e74913bf364aa499368fc5f2e SHA512 f82c63a180add1103e2bd115e67826ad7362a844991ef16f1de7fc6c78bf1955155ecf278fc0d759e674ab85736f3ba2a6650d00e9b3ce683316875efd9efa3c WHIRLPOOL 683c67b12f9666d1c1df5ec61e0072acaecd3aff43d0ff475037e178bc58fd9036ae6d8cd45e922098c842abd057231afd4767ce229d4581356f153b48a06208
AUX gitlab-sidekiq.init 989 SHA256 72f9acb269b2e60f7571b2c658f7f29e9c36c6987c9fc8f1d02b9a1bae8ba747 SHA512 cc6ab63f238507bb4a66f48f8df487a8c493afc0e0433ed82c09a7b6dec984a45f465c526cf7be70f485222607af0baa04e7057183f16badcf04950b43fc02f8 WHIRLPOOL 0cda6727f0f0a7a15eb4476c9d651fb5aa6f7ccf9c23a24d040576309c8a30aa6e1790974c82de9656f316c2d9beaf0d1fdd100cab1b7ac7f8cebf2079a13dbe
AUX gitlab-sidekiq.service 1066 SHA256 b9a15ee7498cc5ebecfd51a037ab1e32e66723a1612d5ce9365eefd890b5670e SHA512 33ece22389637b7b4591f4dceedb488fb43a92ca47facb19432f87772bbbf1774d4fb737ace52a6d55533c9e291e343dc56971c6f70fed285a10429d6d97d318 WHIRLPOOL b5a81751b8317bb9244018f9ed82f9793734adbad9983c244429a33d710169eeeed25cdf868d724032866d83bb9676ccbbf616b53363491e15a80e474443f331
@ -8,18 +8,10 @@ AUX gitlab-unicorn.init 2553 SHA256 9f6d3276d52589a5224c1a9b5a117a0d5d3e83317d75
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.7.5.tar.gz 17642879 SHA256 170029e20425b070b1c96c0480f5a2dc09bc4bc361e487b6572f67b138d6f6cc SHA512 138f2d2523aeb4f1dd5130720c0856c74b504463f0b16aaf9217f5dd982a84f93f7dcc684e3719cee9a0e64fc246d10249bea65068a3687f46b76821580c8a4d WHIRLPOOL ca157eeee5b68d3d4327593f6e15ccdf4728ebc4833ac2994b6ecf0379aeb6eec9a851f6bf42a0f09971365849b0fa06b8fe9acde2194bcc818c89b4b871b950
DIST gitlab-ce-8.8.1.tar.gz 17813843 SHA256 842519d8bcff1e7e056c83fdfded8dc042e34d8d8402a5ec2b748b155e0522c0 SHA512 19c0e84c896ac2af3794f9b5fb1a6b66bf466ffff32eb97628fe21e2b27ca3e608729203affa9007e61be5dbcaeaccd80532ab465a8947e3b2d225b5374cc802 WHIRLPOOL 29aa229baaa5e41a0d79315c23d65e770b1a732bbde6f9af7e3afd43e2857424d40f10ab51f28dbbefb3ab9edca06be10651dc22b590ad03e27bf45c1bcea25d
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
DIST gitlab-ce-8.9.1.tar.gz 21151788 SHA256 f93c32ea9c79e80f705afc3b008cfc52b29cbd9de07b6b2b6dd3c5c4338ae0c6 SHA512 2409469acc91da52a04ad4f733ece019fedd94051ba02c48c508c6a9784e51f484b15d9b18c84d12c58e1b3cfe5998315005bc037aac4b228ea0376699ba6243 WHIRLPOOL fd479b7e0c1c6f4e7f54625154f619cdb7cc86739a79f5a196a716799504be0b1d59a5fb15353d74b13269d2e41ca1e3dcad5e36e83a7384875ab2a772ee43df
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
EBUILD gitlab-ce-8.9.1.ebuild 12336 SHA256 d50f5bb06b8fd2082804e096d372d0caca441d5d24d30a5ab3fdbd78d7cf5aa2 SHA512 91a88f5342bdd9736f9e45ccbd690caf50c51eabd327c419aaca4203d65ab37ce562214d59280a073c0945945bd60d6f523ebb6586cec09a91b9fca16a3f0412 WHIRLPOOL 67ab639a78899f8161ee47f07d983e7bc90442348170b36c873b94475fcd11a0799c89fecfc1f7a3e21fc95b553ffbee23655d3d1fb1368dd83b66de46652bd5
EBUILD gitlab-ce-9999.ebuild 12347 SHA256 b7850042b023eb505544b47fcf8896bc0319ce96808d29b462d527aacb25d6c0 SHA512 2fc140d00fde6e248ea7cba17ce6e0243dcdad76c497d052a9bac5abdb6618b27ee2a1cbeb86aa5f4718688746abf1be499830af2fea848aec63ec870f4fa72a WHIRLPOOL 7f2de913692b0d363cc8f24a152302de2feaa70db97069049c3c15515b76da330dbbb11ce868f6d59e22e2c1fd5c7ef3874197d2bc5eb36b60e52056a02dd028
MISC ChangeLog 977 SHA256 ca9944b306d43b5b5fb5e96b1203d1e20cac7891cb01858fd9a077fe97941335 SHA512 b2bc8f8fa4ecc63e54b398f7d427ffaf688c4afe1d19ea24023fe9a1297f35a76d5ea8b1d5bfb83f3c4ee059dee1ad95931295e0cb44fd11d3e129fdf3d7fde3 WHIRLPOOL de031eecaa53aa2e0d02c49ca09fea9e03f9aa256629d0153f68daae2cd4f4081c52989cf89d94e7a2d1fae96644c27a605a5a431d8362eca37af7b144647908
MISC metadata.xml 545 SHA256 1b7fc44d811e1ab7638fe4a40253f49d5f1071872d3020c22c4f67662750cb2f SHA512 86f47d297892bccfefa087d93936296f5647993a9ec8e3f47907a6859cbf385e5bc6f00502d7836c9e8d9efef2b6725bf145b0150924c2082b2bd164469ef6ea WHIRLPOOL 6bfb8a55684d68c8bfa6e025a0be965f7b815394ee0896dd2a13cfb524e3cf3f3149acc9072897e30a1842060389576aac07ea8beb4a8b0bfc3e8eab3723f2a1

View file

@ -1,26 +0,0 @@
diff --git a/config/application.rb b/config/application.rb
index 2e2ed48..7351aa2 100644
--- a/config/application.rb
+++ b/config/application.rb
@@ -4,7 +4,7 @@ require 'rails/all'
require 'devise'
I18n.config.enforce_available_locales = false
Bundler.require(:default, Rails.env)
-require_relative '../lib/gitlab/redis'
+require_relative '/opt/gitlab/lib/gitlab/redis'
module Gitlab
class Application < Rails::Application
diff --git a/config/mail_room.yml b/config/mail_room.yml
index 761a32a..1e2cbbb 100644
--- a/config/mail_room.yml
+++ b/config/mail_room.yml
@@ -2,7 +2,7 @@
<%
require "yaml"
require "json"
-require_relative "lib/gitlab/redis"
+require_relative "/opt/gitlab/lib/gitlab/redis"
rails_env = ENV["RAILS_ENV"] || ENV["RACK_ENV"] || "development"

View file

@ -0,0 +1,13 @@
diff --git a/config/mail_room.yml b/config/mail_room.yml
index 7cab24b..49690d8 100644
--- a/config/mail_room.yml
+++ b/config/mail_room.yml
@@ -2,7 +2,7 @@
<%
require "yaml"
require "json"
-require_relative "lib/gitlab/redis" unless defined?(Gitlab::Redis)
+require_relative "/opt/gitlab/lib/gitlab/redis" unless defined?(Gitlab::Redis)
rails_env = ENV["RAILS_ENV"] || ENV["RACK_ENV"] || "development"

View file

@ -1,399 +0,0 @@
# 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=(
"${P}-fix-sendmail-config.patch"
"${P}-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

@ -1,399 +0,0 @@
# 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

@ -1,399 +0,0 @@
# 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

@ -1,399 +0,0 @@
# 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

@ -53,9 +53,9 @@ CDEPEND="
virtual/pkgconfig"
COMMON_DEPEND="
${GEMS_DEPEND}
>=dev-vcs/gitlab-shell-2.7.2
>=dev-vcs/gitlab-shell-3.0.0
>=dev-vcs/git-2.7.4
=dev-vcs/gitlab-workhorse-0.7.1
>=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="

View file

@ -77,7 +77,7 @@ ruby_add_bdepend "
#
RUBY_PATCHES=(
"${PN}-8.7.5-fix-sendmail-config.patch"
"${PN}-8.8.1-fix-redis-config-path.patch"
"${PN}-8.9.1-fix-redis-config-path.patch"
)
MY_NAME="gitlab"