From 8ef825c15dbc622146620813e7dd00774ea42e9d Mon Sep 17 00:00:00 2001 From: Manuel Friedli Date: Wed, 29 Mar 2017 12:00:32 +0200 Subject: [PATCH 1/3] dev-vcs/gitlab-workhorse: Added ebuild for gitlab-workhorse-1.4.2 and finally cleaned up the fix-makefile-patch mess. Package-Manager: Portage-2.3.3, Repoman-2.3.1 --- dev-vcs/gitlab-workhorse/ChangeLog | 15 +++++++ dev-vcs/gitlab-workhorse/Manifest | 14 +++--- ...le-1.2.1.patch => 0001-fix-Makefile.patch} | 2 +- .../files/fix-Makefile-1.3.0.patch | 12 ------ .../files/fix-Makefile-1.4.1.patch | 12 ------ ...build => gitlab-workhorse-1.2.1-r1.ebuild} | 8 +++- ...build => gitlab-workhorse-1.3.0-r1.ebuild} | 8 +++- ...build => gitlab-workhorse-1.4.1-r1.ebuild} | 6 ++- .../gitlab-workhorse-1.4.2.ebuild | 43 +++++++++++++++++++ 9 files changed, 83 insertions(+), 37 deletions(-) rename dev-vcs/gitlab-workhorse/files/{fix-Makefile-1.2.1.patch => 0001-fix-Makefile.patch} (85%) delete mode 100644 dev-vcs/gitlab-workhorse/files/fix-Makefile-1.3.0.patch delete mode 100644 dev-vcs/gitlab-workhorse/files/fix-Makefile-1.4.1.patch rename dev-vcs/gitlab-workhorse/{gitlab-workhorse-1.2.1.ebuild => gitlab-workhorse-1.2.1-r1.ebuild} (84%) rename dev-vcs/gitlab-workhorse/{gitlab-workhorse-1.3.0.ebuild => gitlab-workhorse-1.3.0-r1.ebuild} (84%) rename dev-vcs/gitlab-workhorse/{gitlab-workhorse-1.4.1.ebuild => gitlab-workhorse-1.4.1-r1.ebuild} (88%) create mode 100644 dev-vcs/gitlab-workhorse/gitlab-workhorse-1.4.2.ebuild diff --git a/dev-vcs/gitlab-workhorse/ChangeLog b/dev-vcs/gitlab-workhorse/ChangeLog index 7cb56bd..750c478 100644 --- a/dev-vcs/gitlab-workhorse/ChangeLog +++ b/dev-vcs/gitlab-workhorse/ChangeLog @@ -1,3 +1,18 @@ +*gitlab-workhorse-1.2.1-r1 (29 Mar 2017) +*gitlab-workhorse-1.3.0-r1 (29 Mar 2017) +*gitlab-workhorse-1.4.1-r1 (29 Mar 2017) +*gitlab-workhorse-1.4.2 (29 Mar 2017) + + 29 Mar 2017; Manuel Friedli + +files/0001-fix-Makefile.patch, +gitlab-workhorse-1.2.1-r1.ebuild, + +gitlab-workhorse-1.3.0-r1.ebuild, +gitlab-workhorse-1.4.1-r1.ebuild, + +gitlab-workhorse-1.4.2.ebuild, -files/fix-Makefile-1.2.1.patch, + -files/fix-Makefile-1.3.0.patch, -files/fix-Makefile-1.4.1.patch, + -gitlab-workhorse-1.2.1.ebuild, -gitlab-workhorse-1.3.0.ebuild, + -gitlab-workhorse-1.4.1.ebuild: + dev-vcs/gitlab-workhorse: Added ebuild for gitlab-workhorse-1.4.2 and finally + cleaned up the fix-makefile-patch mess. + *gitlab-workhorse-1.4.1 (13 Mar 2017) 13 Mar 2017; Manuel Friedli diff --git a/dev-vcs/gitlab-workhorse/Manifest b/dev-vcs/gitlab-workhorse/Manifest index 6009c5b..4ca735b 100644 --- a/dev-vcs/gitlab-workhorse/Manifest +++ b/dev-vcs/gitlab-workhorse/Manifest @@ -1,13 +1,13 @@ -AUX fix-Makefile-1.2.1.patch 354 SHA256 7cb067ad7465e0e72eb503edb4f56e2b080806cb66826b2890a492add86d41df SHA512 0616061973d6cd9a5871095fe7ec1a7a80054399e6926bea8ac36b1196c1a962459eefffcd18a9a080d9bfa1a195aa504ad50642a117e9bace28fe6cad638e24 WHIRLPOOL 428a0db0e0696ceb8931bd89bcfcf476039e8cd7eb04d7bedf39af41338ce72d495fa572ab050c8747026ff9d28c59b15baf8c6c3ac5b9ca198e20bbd702622e -AUX fix-Makefile-1.3.0.patch 354 SHA256 777616d246eb99b2189f68df3eaac9b538845884fda25f879738268f2ecd3112 SHA512 44052c8b90beef243ffc59cabf5c58d84c7e5482022a036ee59f9b4ef392ac5c5df9e36bf0ee8229943d5139da99367dba860622ac1b0e71e5065bdb1d1759d5 WHIRLPOOL 67e27b31dd279dffca80fc79c409f0696430f75dae7a57433d5b913e4b60b99fbdee50089edc70cae69e0e0d95d4602d03975b9b48fa7678ccdeca3b1d0d9c76 -AUX fix-Makefile-1.4.1.patch 354 SHA256 c7b2810895c92a1303a69c719d3b21990c5d4d7111e10cc30914ca619ada0525 SHA512 5b3abe642ca3e9e862d8ea6cf8e3af40c6cc6e89728402bc78760ac709effd0f31c7dfe4e5ff855fa0eb4b9c9d2de5baf000fffa13e4b2c905776a85ebcea442 WHIRLPOOL e089f12164da308887e675a5c08e2fc6faefae199403a972d6508e139ccb0aa6166c1d7dcfbd126876dfb1f674689fd5212e88504af5b7574feddc40658a4562 +AUX 0001-fix-Makefile.patch 360 SHA256 7dfdf28c0124c5054d452a9ff33b7f8f9b818f8aac63f26c8c3b567c919e0930 SHA512 d4a54811aadf330a31a562a78a99e34abaea83b647c8002de72fe27c6b58155879f8238f6382979cdc34370f5a81f979cab6d0f54a8ec8e529ca22a118901d3a WHIRLPOOL 19d77424ff65b51b120e88e9c7bd9f9520213d42cf70aa436e339beb402d528ca5efaf14009ecd2b01e9de1a8bb350b82f52541e885265e5649d869df80a7659 AUX gitlab-workhorse-0.8.2.conf 297 SHA256 8bb99a78197ad22892e4c85496101a39f2c82f6c537f44da8185af54dbb44a38 SHA512 d143489c165ef5e68810bb10d5e97da7ad3be6d53618380231706ec16c3fd8bc3eedbc78a09949479a408646e32aae4cdceaca9b271ba3b816e3449b792c5406 WHIRLPOOL 649d34b60afab816dac559989c9a3b0cb9620c2ac2a7617cfcae8bcc2c421791fa612571f83e6611ec8ab8c26c9c79f9832f4e6a70396497dfc5a40d99bbbef9 AUX gitlab-workhorse-0.8.2.init 681 SHA256 bf3f94853781251629daae935d04294febf317061536624e2c01188dd6688ae7 SHA512 6275abe0910e7327f952dba36827a9083264f76753605767cc11ee7b162fdecef3170783800263bf8acbe891d41e6be9e27b5fcca2a4f035b990c9865aa02647 WHIRLPOOL bc983d0413c0743ef0843a3abb46ee2be78ac6e18b56f96de63b4ea8cb9242f8ef6a96f2d593dbcda33a0a60b7f941f27bd704b7f64a85db7379ef0b42233527 DIST gitlab-workhorse-1.2.1.tar.bz2 381033 SHA256 b9e0bf7c2b3ad1378c59def86d59726e988ee31db94b96d3e907aeae402ce1bd SHA512 de50574b39f84ea980c64cf54e7e0aa5bc94ed933bcb550f5712d07a8d60e4843fcf97993e285bd67361f931dd9a63f5cbde98a96478444b8381f23491635493 WHIRLPOOL 7cea252ada82a4d7281bbdd002fffbc3bebbcffe20748b8e4b8e4e8aa6fcee852bc18076c9ea4761849e24b5291b4552ef3e8ea812f1156ab980f476ded59b7a DIST gitlab-workhorse-1.3.0.tar.bz2 384385 SHA256 b0acbd61a7ccf37512b569dc50625ff89dec9e181f8d5ed0b6115c81ef611032 SHA512 e2ea0183666e48795d97f19117995ce0191ce6d3a3810ceabb9c365b359839d8603b65608d754fd54b41a50fa2375eb64312203d58988aabfe81026f520d2f8f WHIRLPOOL 35e8eee022fc12e7d281656cdb65f35b23eb45fff739bd6fad05e594be56578043445cd6c5fd0ac3d3b097a4d0215a19cff0cc54c2d0d5dbec6dc5df3398fdaf DIST gitlab-workhorse-1.4.1.tar.bz2 624717 SHA256 fb15cfd4cc2215b1a1f67f31f091a0d56c61951cf63f99dadcc5dd8c4b50b121 SHA512 2c70e08abff111f9614c0f6b64ac4b189a3b259c429f9e64dacce48bede3ae5241f44361d753787c7b11c6ee0819790843e7db0da2f0680229ee910e5e6d9c55 WHIRLPOOL f4b4a82823a061918bdea2ffac54491c40b4975fbe67dca1581bfe3790a8fbc825a8a2d8900d8aab242be6c8a720af2aea7e82aff3b97f66e7ab792496984955 -EBUILD gitlab-workhorse-1.2.1.ebuild 950 SHA256 7a3dd2657fb3a3224d57170d4ac416f1d5b74512b9ca84ff0f1d73dc07929994 SHA512 3002655f560b8d15d5cb32e0cf0ba96ae404c160649d9c41deb76e094a21b9e302701a627b26651ef8368374510ddcf416df4079fb034a72c298a0c8ba59317a WHIRLPOOL d75356d647620369083b579d3246f23a97a37490759fc84ea10dfe93636330c77d1a4832151d56d677b05fe8a026dcb9e44686c9c042db66cacf9191c644af2b -EBUILD gitlab-workhorse-1.3.0.ebuild 950 SHA256 3b6ac03d566350a703e5822dab7dcbf8348b355abc9fd093db460ae58a442349 SHA512 065b393b1ad002b69ed5641016f92971fd57dc6ebf5c8619b59fcb9948ab8ea8b6c42eb211a12d1dda4b84a700134d5b582abb72c3450a07effe6e5e735c537e WHIRLPOOL 4d99f80727a225ee8164be6f9df1fbdd80d88ac407d12bd65d0463735f36fec713a1aacfdde14190b3a3510d4bdffad8409467a6b12112f71a26d43c8ab71a52 -EBUILD gitlab-workhorse-1.4.1.ebuild 950 SHA256 04edb77a3bdb3d621c791420bdaec7a86b4a7cabe0f62be5dcae654ddce0c937 SHA512 6c5288f6dc7a40e48ab03e676cb2556cc0e292e151e31a79d1f9383985f6651f0d7a8cef8f27543547aaa1222f927f3ae4d5e37515310ccdef5f08b681fe4173 WHIRLPOOL abe0f660ead583934ee0c10c7ea29e31a2fb9e968148ddfaa95bd89faaf698e9f7e4bee3f81a2098a16b940175a706c203b3340ca1becb81b38f05a791c796cd -MISC ChangeLog 5900 SHA256 49d961a01451aab8f4f957321ea72fc355e21015f1ed33e2187aad0e5bbf03c3 SHA512 5e33d882093a5cefda6b73de1aeb95ceaa834b1a7bd630d6550c67155eae97034bf5c069141c1b06c0ac63327f4cbc880b34d2c7366e5ccf7d8ca3e5e04c75a8 WHIRLPOOL 606ee7ded79b722b72aace9e789f7eeedc3bf2ed7abcc187590c0c97993dd47f868928334ae16b0a9452fc4b489ee9058ff6f3e012bd859987fd9e07e1d2ed65 +DIST gitlab-workhorse-1.4.2.tar.bz2 625125 SHA256 4df4d93bc59102c312ad2a642d7f1ca463357c60d440a11fa72cfcbd4363a8e6 SHA512 1fa23991b463136565185982c1d10d17ecccd44f18138dc27cd0ef8ba0c63abc84347475d295fb71de9aaf8ad3de5747bb656c53c87769d3bce5db67571f89e2 WHIRLPOOL 3e5f2d311d96124546492d3b1da0740e70b8418f3a58f2dae2d457fb15a61d3ebdceea0e67c5a474a00ad7ac67575931a9d6ec8a4cc74572bc5549783b76304d +EBUILD gitlab-workhorse-1.2.1-r1.ebuild 1019 SHA256 59a9b9fef8350811a1ebeb8824b8bacdfc2c145b88367841c82fe327729b63a2 SHA512 e708d5bc395b4eb8760ba218559e65059dcb499ebc45b33360da2b4b738f51fbb81ad1a2f6eb909d0d40025b45faf4c3be8fb84c945f231de0c635c2770bdbc2 WHIRLPOOL b536bb41b413beb5af648e406dc285c2e8d8b2dc8fd2803296753734feca0856219f560817c58c538b0207c4392e3c73142a8c701646033af9218023c1ca7471 +EBUILD gitlab-workhorse-1.3.0-r1.ebuild 1019 SHA256 c89fb85c3f9be066b78dc3eb7eeff6b2a93e5036e526688fe19bfa7c4242795b SHA512 69db5fd2700f3ff5ee8513c60d3a704b7de82757f2c3e8d8162606873aeec05655a30169ce53ca036d52e71507f4d1e39ca1f7520abba3bd9955c5d2408d8a7f WHIRLPOOL 96890317f566dc9775eeb85d231ed92a65979d12adb8dace28bcd52bd1b0e3d5ff3acb852def13edd0d8e797922e82d0fb20b41112933496216578ab92417f97 +EBUILD gitlab-workhorse-1.4.1-r1.ebuild 1019 SHA256 c46bd4235e80fcef8c35ff96638795dcc94cd4398724d94ed362a30f79353035 SHA512 70c9f57d7601abf3b0e9de9970b8aad1c3da9c818781ada3a93cf627f888dec27439cf45a53e87a415eced4c378403b2ee129799775c4cb8b142a2905e2b6e56 WHIRLPOOL 398d56fbc5b47071e68bbf97a6dfee7c0752ea9040d9209435665eaf0167c8d5f7fe4fb2cc8f7826e2961fd5ac4b87388538e4d16d7bce5a87490698f647e2d8 +EBUILD gitlab-workhorse-1.4.2.ebuild 1019 SHA256 12e00f04075eb815e41640f4ca906ce1aaa833104e79c43f19c1a34c4454ce2c SHA512 8b430448c28ea695502f08928626f628657d58582439c3458370a56dc134c108c24f266a3fe2353b1ecd5082d2e53b985fa998b8919b60f81836579c884555e3 WHIRLPOOL ff37a454aa77734d4cd15b6bc4181a5dc8f1ead2d03710fdc59a514cbaa0a67202ded330021f2c6f763797763b8de94e2ffe86c90cba2336903479abcdfc3437 +MISC ChangeLog 6613 SHA256 cb006b86036d17d1a77bd16ee43b701a4bcb245851299fb73181e92fb10cc787 SHA512 e891fd757198a066c82a2f8843911ae836fc962d661d5d5569b82b00b9ce732f015ff5712f32c7ffe71e6ed2091f376ec621cbdfca21d5d0e7e6f85db3be49d1 WHIRLPOOL a6f6b6d975f2d0f73ff17de76c82166a5f106ab869ea15ebd31f15fd4161121c18dd4a1b216884a66e76a2bcf05083d8d6d3105b4c0dcd7dbc13c631a9c0922d MISC metadata.xml 248 SHA256 7b43be15755627edf5c12cf1b50c607d781558640bf8375d685d51d7ade99a32 SHA512 29f9b96b0a77546cce6a8bffd82fae2fd0939d32a7a05ffd0d91f9250a019a3ddaa599b93988c82daabb9c4c4b284dd947e2c47f6ca7727b8539cffa91bcb8c2 WHIRLPOOL 993013c9878ead35469db13d3072f694a341ee654182e0c31d0678f5dd6de4bdc8d59a0b7bb6d685dc41ea6b55dac518cd8034131baea8002170c680e50304d1 diff --git a/dev-vcs/gitlab-workhorse/files/fix-Makefile-1.2.1.patch b/dev-vcs/gitlab-workhorse/files/0001-fix-Makefile.patch similarity index 85% rename from dev-vcs/gitlab-workhorse/files/fix-Makefile-1.2.1.patch rename to dev-vcs/gitlab-workhorse/files/0001-fix-Makefile.patch index 2cd8f8e..59c1b37 100644 --- a/dev-vcs/gitlab-workhorse/files/fix-Makefile-1.2.1.patch +++ b/dev-vcs/gitlab-workhorse/files/0001-fix-Makefile.patch @@ -6,7 +6,7 @@ index 3f6ac91..663ffbb 100644 -PREFIX=/usr/local -VERSION=$(shell git describe)-$(shell date -u +%Y%m%d.%H%M%S) +PREFIX=${DESTDIR}/usr -+VERSION=v1.2.1-$(shell date -u +%Y%m%d.%H%M%S) ++VERSION=v@@VERSION@@-$(shell date -u +%Y%m%d.%H%M%S) BUILD_DIR = $(shell pwd) export GOPATH=${BUILD_DIR}/_build export GO15VENDOREXPERIMENT=1 diff --git a/dev-vcs/gitlab-workhorse/files/fix-Makefile-1.3.0.patch b/dev-vcs/gitlab-workhorse/files/fix-Makefile-1.3.0.patch deleted file mode 100644 index 0007df5..0000000 --- a/dev-vcs/gitlab-workhorse/files/fix-Makefile-1.3.0.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/Makefile b/Makefile -index 3f6ac91..663ffbb 100644 ---- a/Makefile -+++ b/Makefile -@@ -1,5 +1,5 @@ --PREFIX=/usr/local --VERSION=$(shell git describe)-$(shell date -u +%Y%m%d.%H%M%S) -+PREFIX=${DESTDIR}/usr -+VERSION=v1.3.0-$(shell date -u +%Y%m%d.%H%M%S) - BUILD_DIR = $(shell pwd) - export GOPATH=${BUILD_DIR}/_build - export GO15VENDOREXPERIMENT=1 diff --git a/dev-vcs/gitlab-workhorse/files/fix-Makefile-1.4.1.patch b/dev-vcs/gitlab-workhorse/files/fix-Makefile-1.4.1.patch deleted file mode 100644 index a52c259..0000000 --- a/dev-vcs/gitlab-workhorse/files/fix-Makefile-1.4.1.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/Makefile b/Makefile -index 3f6ac91..663ffbb 100644 ---- a/Makefile -+++ b/Makefile -@@ -1,5 +1,5 @@ --PREFIX=/usr/local --VERSION=$(shell git describe)-$(shell date -u +%Y%m%d.%H%M%S) -+PREFIX=${DESTDIR}/usr -+VERSION=v1.4.1-$(shell date -u +%Y%m%d.%H%M%S) - BUILD_DIR = $(shell pwd) - export GOPATH=${BUILD_DIR}/_build - export GO15VENDOREXPERIMENT=1 diff --git a/dev-vcs/gitlab-workhorse/gitlab-workhorse-1.2.1.ebuild b/dev-vcs/gitlab-workhorse/gitlab-workhorse-1.2.1-r1.ebuild similarity index 84% rename from dev-vcs/gitlab-workhorse/gitlab-workhorse-1.2.1.ebuild rename to dev-vcs/gitlab-workhorse/gitlab-workhorse-1.2.1-r1.ebuild index 3080cfa..6bddb3e 100644 --- a/dev-vcs/gitlab-workhorse/gitlab-workhorse-1.2.1.ebuild +++ b/dev-vcs/gitlab-workhorse/gitlab-workhorse-1.2.1-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2016 Gentoo Foundation +# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ @@ -20,7 +20,11 @@ KEYWORDS="~amd64 ~x86 ~arm ~arm64" DEPEND=">=dev-lang/go-1.5.1" -PATCHES=( "${FILESDIR}/fix-Makefile-${PV}.patch" ) +src_prepare() { + epatch "${FILESDIR}/0001-fix-Makefile.patch" + sed -i -e "s/@@VERSION@@/${PV}/" Makefile + eapply_user +} src_install() { local dest=/usr/bin diff --git a/dev-vcs/gitlab-workhorse/gitlab-workhorse-1.3.0.ebuild b/dev-vcs/gitlab-workhorse/gitlab-workhorse-1.3.0-r1.ebuild similarity index 84% rename from dev-vcs/gitlab-workhorse/gitlab-workhorse-1.3.0.ebuild rename to dev-vcs/gitlab-workhorse/gitlab-workhorse-1.3.0-r1.ebuild index c16c5b7..8d0ef33 100644 --- a/dev-vcs/gitlab-workhorse/gitlab-workhorse-1.3.0.ebuild +++ b/dev-vcs/gitlab-workhorse/gitlab-workhorse-1.3.0-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2016 Gentoo Foundation +# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ @@ -20,7 +20,11 @@ KEYWORDS="~amd64 ~x86 ~arm ~arm64" DEPEND=">=dev-lang/go-1.5.1" -PATCHES=( "${FILESDIR}/fix-Makefile-${PV}.patch" ) +src_prepare() { + epatch "${FILESDIR}/0001-fix-Makefile.patch" + sed -i -e "s/@@VERSION@@/${PV}/" Makefile + eapply_user +} src_install() { local dest=/usr/bin diff --git a/dev-vcs/gitlab-workhorse/gitlab-workhorse-1.4.1.ebuild b/dev-vcs/gitlab-workhorse/gitlab-workhorse-1.4.1-r1.ebuild similarity index 88% rename from dev-vcs/gitlab-workhorse/gitlab-workhorse-1.4.1.ebuild rename to dev-vcs/gitlab-workhorse/gitlab-workhorse-1.4.1-r1.ebuild index fea53e7..18cc436 100644 --- a/dev-vcs/gitlab-workhorse/gitlab-workhorse-1.4.1.ebuild +++ b/dev-vcs/gitlab-workhorse/gitlab-workhorse-1.4.1-r1.ebuild @@ -20,7 +20,11 @@ KEYWORDS="~amd64 ~x86 ~arm ~arm64" DEPEND=">=dev-lang/go-1.5.1" -PATCHES=( "${FILESDIR}/fix-Makefile-${PV}.patch" ) +src_prepare() { + epatch "${FILESDIR}/0001-fix-Makefile.patch" + sed -i -e "s/@@VERSION@@/${PV}/" Makefile + eapply_user +} src_install() { local dest=/usr/bin diff --git a/dev-vcs/gitlab-workhorse/gitlab-workhorse-1.4.2.ebuild b/dev-vcs/gitlab-workhorse/gitlab-workhorse-1.4.2.ebuild new file mode 100644 index 0000000..64fb7fe --- /dev/null +++ b/dev-vcs/gitlab-workhorse/gitlab-workhorse-1.4.2.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="6" + +inherit eutils user + +DESCRIPTION="This is the new backend for Git-over-HTTP communication needed for GitLab >= 8.4" +HOMEPAGE="https://gitlab.com/gitlab-org/gitlab-workhorse" +SRC_URI="https://gitlab.com/gitlab-org/${PN}/repository/archive.tar.bz2?ref=v${PV} -> ${P}.tar.bz2" + +MY_GIT_COMMIT="a0f050c8fc680faa2c758c11ad2815cfe367db44" +S="${WORKDIR}/${PN}-v${PV}-${MY_GIT_COMMIT}" +RESTRICT="mirror" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~arm ~arm64" + +DEPEND=">=dev-lang/go-1.5.1" + +src_prepare() { + epatch "${FILESDIR}/0001-fix-Makefile.patch" + sed -i -e "s/@@VERSION@@/${PV}/" Makefile + eapply_user +} + +src_install() { + local dest=/usr/bin + + diropts -m755 + dodir ${dest} + + exeinto ${dest} + for f in "${PN}" gitlab-zip-cat gitlab-zip-metadata ; do + doexe "${S}/${f}" + done + + ## RC script ## + newinitd "${FILESDIR}/${PN}-0.8.2.init" "${PN}" + newconfd "${FILESDIR}/${PN}-0.8.2.conf" "${PN}" +} From c649d36e7d822d4621a7f9b34801e1d4c29661eb Mon Sep 17 00:00:00 2001 From: Manuel Friedli Date: Wed, 29 Mar 2017 12:22:36 +0200 Subject: [PATCH 2/3] www-servers/gitaly: Added dummy-ebuild for gitaly-0.3.0. This will not build, but instead just show an error message upon installation. It is a mere placeholder for the future. It is needed so that the gitaly USE-flag could be added to the gitlab-ce-9.0.1 ebuild. Package-Manager: Portage-2.3.3, Repoman-2.3.1 --- www-servers/gitaly/ChangeLog | 8 +++ www-servers/gitaly/Manifest | 4 ++ www-servers/gitaly/gitaly-0.3.0.ebuild | 67 ++++++++++++++++++++++++++ www-servers/gitaly/metadata.xml | 8 +++ 4 files changed, 87 insertions(+) create mode 100644 www-servers/gitaly/ChangeLog create mode 100644 www-servers/gitaly/Manifest create mode 100644 www-servers/gitaly/gitaly-0.3.0.ebuild create mode 100644 www-servers/gitaly/metadata.xml diff --git a/www-servers/gitaly/ChangeLog b/www-servers/gitaly/ChangeLog new file mode 100644 index 0000000..8b9ab32 --- /dev/null +++ b/www-servers/gitaly/ChangeLog @@ -0,0 +1,8 @@ +*gitaly-0.3.0 (29 Mar 2017) + + 29 Mar 2017; Manuel Friedli +gitaly-0.3.0.ebuild, + +metadata.xml: + www-servers/gitaly: Added dummy-ebuild for gitaly-0.3.0. This will not build, + but instead just show an error message upon installation. It is a mere + placeholder for the future. It is needed so that the gitaly USE-flag could be + added to the gitlab-ce-9.0.1 ebuild. diff --git a/www-servers/gitaly/Manifest b/www-servers/gitaly/Manifest new file mode 100644 index 0000000..7fd6736 --- /dev/null +++ b/www-servers/gitaly/Manifest @@ -0,0 +1,4 @@ +DIST gitaly-0.3.0.tar.bz2 621097 SHA256 60404ae78b6551e7258a30fa615d7d8c200b84f161ecf904e034db3839391766 SHA512 ad50d15f4a97bf5dd2cc64830840041d8537bd251176eb8964cda3fdb6ef6e1bf3c8b7773516c6e1d51005cc0a718a1bc3ca95fc9ee5d0826c3f9690e1235bb6 WHIRLPOOL 364cdc3407d5fef6ac48a67f8bdd477b75300069be2cbf2567aa73ea7406256ea3c15a27c7a13f92d17c6b63f5923d4e737437bdd3a1e8b808de1832cc9c1af8 +EBUILD gitaly-0.3.0.ebuild 1593 SHA256 f07387ac6ec3c68d2c4aa8894804caf5a456b8e12e15937d82fda4d2ed864185 SHA512 95d19b0e799195fa5e3d8cc2879c1017503f68aa586a074119441fbbcff28d2cd9d538830a3a2b40a542bdbfa99518f9afd09232907ac7e763d500cf00abe32f WHIRLPOOL 1e3c778ac33e385865a610dfef5ee07841e9a7b91800b94a3a88714caf38084584524b2f120553a9f13ee2df57309fbd8e9b1e119cdbfd2f6cc1749e25f14bcf +MISC ChangeLog 392 SHA256 c85d6fb8a93d47762d1a6279f7523138234a5951a71700a0abb5bd6c69405704 SHA512 ff7a8dc6e0457f88e22c93ae062fb7c4da834cf679e0742f276465060164dbb510573b55bab7471ae851e5380cc60fece093ef973d4c0da4413ce0f8f3c99263 WHIRLPOOL d3b4cf6e3182e5be74aa8689b2ea5b3baf53bbf2ff2ad56bc60429d89627aad8d148877c285cc1ed0e8960ad5e02344901c3554e7e78c2e2a3a1fca9c5533825 +MISC metadata.xml 248 SHA256 7b43be15755627edf5c12cf1b50c607d781558640bf8375d685d51d7ade99a32 SHA512 29f9b96b0a77546cce6a8bffd82fae2fd0939d32a7a05ffd0d91f9250a019a3ddaa599b93988c82daabb9c4c4b284dd947e2c47f6ca7727b8539cffa91bcb8c2 WHIRLPOOL 993013c9878ead35469db13d3072f694a341ee654182e0c31d0678f5dd6de4bdc8d59a0b7bb6d685dc41ea6b55dac518cd8034131baea8002170c680e50304d1 diff --git a/www-servers/gitaly/gitaly-0.3.0.ebuild b/www-servers/gitaly/gitaly-0.3.0.ebuild new file mode 100644 index 0000000..5cce79d --- /dev/null +++ b/www-servers/gitaly/gitaly-0.3.0.ebuild @@ -0,0 +1,67 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 +inherit eutils golang-build golang-vcs-snapshot user + +EGO_PN="gitlab.com/gitlab-org/gitlab-pages/..." + +MY_PV="v${PV/_/-}" +MY_GIT_HASH="fdcb2c9" + +DESCRIPTION="Stop relying on NFS for horizontal scaling. Speed up Git access using caching." +HOMEPAGE="https://gitlab.com/gitlab-org/gitaly" +SRC_URI="https://gitlab.com/gitlab-org/${PN}/repository/archive.tar.bz2?ref=v${PV} -> ${P}.tar.bz2" + +KEYWORDS="~amd64 ~x86 ~arm ~arm64" +LICENSE="MIT" +SLOT="0/${PVR}" + +DEPEND=">=dev-lang/go-1.5" + +RESTRICT="test mirror" + +#MY_USER="gitlab_pages" + +pkg_setup() { + eerror "This ebuild is but a dummy placeholder. Gitaly is not yet supported." + die "Gitaly is not yet supported." +} + +#pkg_setup() { +# enewgroup ${MY_USER} +# enewuser ${MY_USER} -1 -1 -1 ${MY_USER} +#} + +#src_prepare() { +# epatch "${FILESDIR}/0001-fix-Makefile-${PV}.patch" +# +# sed -i -E \ +# -e "s/@@REVISION@@/${MY_GIT_HASH}/" \ +# src/gitlab.com/gitlab-org/${PN}/Makefile +# +# eapply_user +#} + +#src_compile() { +# emake GOPATH="${WORKDIR}/${P}:$(get_golibdir_gopath)" RELEASE=true -C src/${EGO_PN%/*} all +#} + +#src_install() { +# golang-build_src_install +# dobin bin/* +# dodoc src/${EGO_PN%/*}/README.md src/${EGO_PN%/*}/CHANGELOG +# +# # rc script +# local rcscript="${PN}-0.3.2.init" +# +# cp "${FILESDIR}/${rcscript}" "${T}" || die +# sed -i \ +# -e "s|@USER@|${MY_USER}|g" \ +# "${T}/${rcscript}" \ +# || die "failed to filter ${rcscript}" +# +# newinitd "${T}/${rcscript}" "${PN}" +# newconfd "${FILESDIR}/${PN}-0.3.2.conf" "${PN}" +#} diff --git a/www-servers/gitaly/metadata.xml b/www-servers/gitaly/metadata.xml new file mode 100644 index 0000000..67a771c --- /dev/null +++ b/www-servers/gitaly/metadata.xml @@ -0,0 +1,8 @@ + + + + + manuel@fritteli.ch + Manuel Friedli + + From e9b8c30a917488236df9bdbdba7740f912506eb4 Mon Sep 17 00:00:00 2001 From: Manuel Friedli Date: Wed, 29 Mar 2017 12:23:52 +0200 Subject: [PATCH 3/3] www-apps/gitlab-ce: Added ebuild for Gitlab CE 9.0.1; this is the first one with the gitaly USE flag; though that is not supported yet, it must therefore be disabled at the moment. Package-Manager: Portage-2.3.3, Repoman-2.3.1 --- www-apps/gitlab-ce/ChangeLog | 8 + www-apps/gitlab-ce/Manifest | 6 +- www-apps/gitlab-ce/gitlab-ce-9.0.1.ebuild | 423 ++++++++++++++++++++++ www-apps/gitlab-ce/metadata.xml | 1 + 4 files changed, 436 insertions(+), 2 deletions(-) create mode 100644 www-apps/gitlab-ce/gitlab-ce-9.0.1.ebuild diff --git a/www-apps/gitlab-ce/ChangeLog b/www-apps/gitlab-ce/ChangeLog index f03c9a7..ed3d834 100644 --- a/www-apps/gitlab-ce/ChangeLog +++ b/www-apps/gitlab-ce/ChangeLog @@ -1,3 +1,11 @@ +*gitlab-ce-9.0.1 (29 Mar 2017) + + 29 Mar 2017; Manuel Friedli +gitlab-ce-9.0.1.ebuild, + metadata.xml: + www-apps/gitlab-ce: Added ebuild for Gitlab CE 9.0.1; this is the first one + with the gitaly USE flag; though that is not supported yet, it must therefore + be disabled at the moment. + 28 Mar 2017; Manuel Friedli gitlab-ce-9.0.0.ebuild, gitlab-ce-9999.ebuild: www-apps/gitlab-ce: Moved warning about MySQL migrations to the postinst diff --git a/www-apps/gitlab-ce/Manifest b/www-apps/gitlab-ce/Manifest index 5702502..c7d8222 100644 --- a/www-apps/gitlab-ce/Manifest +++ b/www-apps/gitlab-ce/Manifest @@ -20,11 +20,13 @@ DIST gitlab-ce-8.16.8.tar.gz 20907499 SHA256 b6ca6aebb5facb7b0bf792ac36fa6643098 DIST gitlab-ce-8.17.4.tar.gz 22825573 SHA256 daa0d5d75295a896f7aa230bd965e12e8525a52c96ec0456ee405d083180e091 SHA512 4d9244c2575e8c4e26515ef55e478b459b24f3d53426a8d2e7cd253a879c9ae2a770e92e0e4a74cc88242b5b3ec81f6081c789426553ee9c8ff161abd138fb45 WHIRLPOOL a3131dc319b4aaa98c81c2c5104672363f16fb393ee0f21e8be670c9df6788c383f5fba8459352a37b49467f42307a1be291eff5b9d550390df04d9004514986 DIST gitlab-ce-9.0.0.tar.gz 26260333 SHA256 73012a8d31b2d92a49f0957c78525069e11d5d7bf19ca67bcbabd44b37c8c36a SHA512 b8a48bf538691d0bb1b636f4be6b71010583b4784093ec5f5b3196bebeefd9e7fcfc05cfd48523eb2139ff9e0bd458e20e8174d8c8892cb510d55c2fb154ee32 WHIRLPOOL 5d10e6fed7a9de5db7513afaf29940cadf41a37397249a78b2f3dc0aadde25f73e9f4eb3d18f913c8ad13cbdfecec811cf2246c2ef377017dfe3f021b09a2125 DIST gitlab-ce-9.0.0_rc4.tar.gz 26270878 SHA256 f47ddcf6f4f0336228dd1ef03085c9ea6116157887e8216038d23b69cf7a4d89 SHA512 f4694ebf4ffe38e6c5495f3658eb8003d28b3ac5d67f4533ddc1932afca412a40ea786cd8d99e2891fdf9bacd7b198b29493b97d6d02455d4f4139d4e60a0d63 WHIRLPOOL 81f47820043445e9ff69ae0ad3bcd1e094ab1e3527eec279096ae16a767cec5451b2d94af4dd87cd2939eb2e64368a1a0e543ce40e0e9fd5a716eeef04741c54 +DIST gitlab-ce-9.0.1.tar.gz 26350693 SHA256 94549d69650383347256b9f3f0c11f200e0e4f29118a54a99e137d895db083ed SHA512 b7eed360beab1459da5c56b911e527335f2ec7bf595649c8d0327255488d765971a612987d7b3d10f2b017bf93adfb52f739a20c6d3e251552d82f04ddcf1bea WHIRLPOOL e061946cf9831daa61809b14d71e907717e0840cc8263b5461813795871cd2bd479ddff0d3c4afeda06edfca9f819c333e0be1a0961a1dbf9c86c9d8e0315ee1 EBUILD gitlab-ce-8.15.8.ebuild 11982 SHA256 755bfd6fa532a308d3f458db1456f8de4f2c5f599ab76c18653aad9e038d0697 SHA512 9aa439da7dc61687f1cdce5ff693dd1c8c4edc54aaed288ad0368aa1b64d577a7f3752dee149c200c4d98b43a6347c77251cac9f6d3316b5a6d799a17c3ed583 WHIRLPOOL 02393bfd983341632663096e8b293e3611ac5328a58a50a1c7e800e348e866f37aff53ebe447507a84d5966e019265fde94a30716f43b50228437e04abcd932c EBUILD gitlab-ce-8.16.8.ebuild 11982 SHA256 31537d4a6aeb9ff14ab14c9a27dca51a056e94ee75506ad855a1289f32468694 SHA512 01d536fcfb53a7b39943314a34eeeb9c5b5660604a2fb1a1c2dcd1d7e87d19ab0bbc5bc650feaa1db812047c3783a324d7c8a8bce7dd7381033c3d1ca2e64828 WHIRLPOOL 0f3402e30164ee6d5058c51554cc916d91d5975f438074e3193bf3bdb4e323bca4279c19f00cd7bacd01c2eb6cf13e41a0badabd958e9be58d319224f53403b0 EBUILD gitlab-ce-8.17.4.ebuild 12928 SHA256 f748d42058293ba4f593fbb36be34ecde332d896d04c610fd3b7e91288c18fbb SHA512 3c2736f9b7df066bb105faffef6ce2b6276fe60a686a7462c630a1b7c7c0296d94e33c7ea25a9f24aa814628f318e2430a3e5ca149783c86ef3fb1132dd01877 WHIRLPOOL cd629ba993df3eaef9c9ec1bf1649aa4cfea5f3787d2207a7016c092bff67175d79c6782d643d4c80b3b5971a98858feaa279a184abc4fd936c7e5c8b291dd28 EBUILD gitlab-ce-9.0.0.ebuild 13008 SHA256 3b390e22aa0eda10dafe4c37cc4ccb2ff7e9b4cbbeeba6a64df7255e3440daf6 SHA512 d9f659414d380af24f4fb871f3c50062056b2aebef8f8fae7203b49a9102e55acc6c4be0840575de0953317d3a4fe6b4a4603121072b59cb0459927236cd9434 WHIRLPOOL 667ac5e2ba8ac7406dbd30e84ae13370eb3b55855e0319073d9295b9d8fbaa5f1e4f47b8ed2603394d77744d797512c653894c55a55ae676b87938d122fcdb5a EBUILD gitlab-ce-9.0.0_rc4.ebuild 12910 SHA256 8851160b4454845fb33ce0b9a9dd3e070bed07d3a0e5c5f753c77b0ef301ded0 SHA512 9d109a3ea8fa7a7bb33440b4b21bf988745c4eefb62b834ad88825f3ffa28881eceaf402ec09241b74d91e778258c1a18daae6c86254625af4f54bf6189b32f2 WHIRLPOOL 67aa480b4cf1209a3d7af3bffb1f7f774bf2c6d18bf40960478e13459813ebb9472adc5aec3b84252157b0c3e74f9e7f74cb0d57395983c02ba4c976ffae106f +EBUILD gitlab-ce-9.0.1.ebuild 13090 SHA256 7f5638f9433e5bd495df42a7c5923d174bb2350fecf7a9756ba9be465ed85ef0 SHA512 f4c56769141e7d2aabe5221fcf0514b1c736fb586c7361019bfa86070f6fb5b5988c9f33c86d8b91da90ffdafa9cf4457bf39324b459608872e04512bbc8412c WHIRLPOOL 018f79571615894b1d695dd04149c7953a34c7ffadaba638cba74dd74d8d23503992e763bb481f4580c91364f14621e2bceaf7341d928e9e806fa2b1c10ec122 EBUILD gitlab-ce-9999.ebuild 12949 SHA256 29d8125cbb7bd6d80623f54e1de2c18f7fde2301f5b94238853e2d717f920ad8 SHA512 c537716f9288e09c79508db89d21641424e36f491914aef8102734e8edd12a239f0b839d1ecfdaaf28b6bd19dd324479da3478db74611f97d875b6d5156cbac9 WHIRLPOOL 0a8403ad5f4284e5ec742eec5b6b83124f4a218adacee63cd413e3889934d1511f229d42502d50977cb2b9881f86c0e73e57c4a5421b119c5c44f56f9f8f3a92 -MISC ChangeLog 16689 SHA256 2d5d8b27ed34fa65b56108d2376b4bab7bf363831ade050675139e59b3b41652 SHA512 c2e27a088aa56a1a0cd0697449676b265eb43cd6b914c01913bc747384aa7dfa4ef90499333e257282d8c500cd1fc7e9bcfe85aed381dda315db17fe849f52b2 WHIRLPOOL 80c5160dc809f4f71a9c8c09a34ab5e69947889afce6d965969309b1a5e14de935521f4e277dfcc4e5c7a7abf37793d365ba537e9cc699f94152c5801f928dbf -MISC metadata.xml 665 SHA256 2a0cd67ad42f0cc6d8b88391cf6e3153a9883dab31aae8227c57c95f3f68890d SHA512 64b8fbae373d0a057f705f64c1d097dbfab893bd585e1db65ccdb06cda9569211c9b63fa168ac8de9f6d512a17759ecd20b54d818d2790a6f4c99d0ca73fddc3 WHIRLPOOL a81b21bb46aad9757a502628033eba546c686b83bbf1d651ecabba273c454cfb64574affc180db8358ced87eb638e8ad13d7c79c4cfb9a31e72c577d21ab433e +MISC ChangeLog 17002 SHA256 1d8c3931dc2e130f7796c2f0542533f77509364cffd16c81b5c5ee904c2a982f SHA512 cc33cafc9fd792f4ed5710adfe70c7ad3b209b30f8c78fb1f5a4ddac5f1201e1bcd900ccb9c8ac8d18e4d55743f20075398fbbaacd87195273a6a630343d0c96 WHIRLPOOL 445f3ba9fc20fcebf416d8bacffd737131aa05219569f34af805fff615e7910f357ae4e0102811755bc2edc04af0674f3d16c33b876f319653c5605299394cc2 +MISC metadata.xml 801 SHA256 3dc7486a12903f47f65968d524c93500ba30a4a09fa57e5a9dacf356509b44bb SHA512 e132754b72e64246531fa883400a0cf1a473ac5a6a49623db58ccf118a038b7cf37df03d9550f37b4a25f9ddbb1dcc5652ec9a4f2259d8e3ce202692c4025f41 WHIRLPOOL e9d961681fd790008eaf80fa07ce2c55a00a58f2e920d759793783ca8c8f508602a777e94c0cb65fe87c7dbef0cabdf26e4f4082584421097d939cbab20c4ac6 diff --git a/www-apps/gitlab-ce/gitlab-ce-9.0.1.ebuild b/www-apps/gitlab-ce/gitlab-ce-9.0.1.ebuild new file mode 100644 index 0000000..5878fbb --- /dev/null +++ b/www-apps/gitlab-ce/gitlab-ce-9.0.1.ebuild @@ -0,0 +1,423 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +# Maintainer notes: +# - This ebuild uses Bundler to download and install all gems in deployment mode +# (i.e. into isolated directory inside application). That's not Gentoo way how +# it should be done, but GitLab has too many dependencies that it will be too +# difficult to maintain them via ebuilds. +# + +USE_RUBY="ruby21 ruby23" + +inherit eutils ruby-ng user systemd + +MY_PV="v${PV/_/-}" +MY_GIT_COMMIT="0fa55cc3027beea8c670bfa44c82cbb1ef9d52fc" + +GITALY_VERSION="0.3.0" +GITLAB_PAGES_VERSION="0.4.0" +GITLAB_SHELL_VERSION="5.0.0" +GITLAB_WORKHORSE_VERSION="1.4.2" + +DESCRIPTION="GitLab is a free project and repository management application" +HOMEPAGE="https://about.gitlab.com/" +SRC_URI="https://gitlab.com/gitlab-org/${PN}/repository/archive.tar.gz?ref=${MY_PV} -> ${P}.tar.gz" +RUBY_S="${PN}-${MY_PV}-${MY_GIT_COMMIT}" + +RESTRICT="mirror" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~arm64" +IUSE="kerberos mysql +postgres +unicorn systemd pages -gitaly 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-4.3.0 + >=sys-apps/yarn-0.17.0 + postgres? ( >=dev-db/postgresql-9.1:* ) + mysql? ( virtual/mysql ) + kerberos? ( virtual/krb5 )" +CDEPEND=" + dev-util/cmake + virtual/pkgconfig" +COMMON_DEPEND=" + ${GEMS_DEPEND} + ~dev-vcs/gitlab-shell-${GITLAB_SHELL_VERSION} + >=dev-vcs/git-2.8.4 + ~dev-vcs/gitlab-workhorse-${GITLAB_WORKHORSE_VERSION} + kerberos? ( !app-crypt/heimdal ) + rugged_use_system_libraries? ( net-libs/http-parser dev-libs/libgit2:0/24 ) + pages? ( ~www-servers/gitlab-pages-${GITLAB_PAGES_VERSION} ) + gitaly? ( ~www-servers/gitaly-${GITALY_VERSION} )" +DEPEND=" + ${CDEPEND} + ${COMMON_DEPEND}" +RDEPEND=" + ${COMMON_DEPEND} + >=dev-db/redis-2.8 + virtual/mta + systemd? ( sys-apps/systemd:0= )" +# required bundler >= 1.14.2 +ruby_add_bdepend " + virtual/rubygems + >=dev-ruby/bundler-1.13.7" + +# +# fix-sendmail-config: +# Fix default settings to work with ssmtp that doesn't know '-t' argument. +# fix-redis-config-path: +# Point to the absolute location of redis_config.rb +# +RUBY_PATCHES=( + "01-${PN}-8.7.5-fix-sendmail-config.patch" + "02-${PN}-9.0.0-fix-redis-config-path.patch" + "03-${PN}-8.17.0-database.yml.patch" + "04-${PN}-8.12.7-fix-check-task.patch" + "05-${PN}-9.0.0-replace-sys-filesystem.patch" + "06-${PN}-8.17.0-fix-webpack-config.patch" +) + +MY_NAME="gitlab" +MY_USER="git" # should be same as in gitlab-shell + +DEST_DIR="/opt/${MY_NAME}" +CONF_DIR="/etc/${MY_NAME}" +LOGS_DIR="/var/log/${MY_NAME}" +TEMP_DIR="/var/tmp/${MY_NAME}" + +all_ruby_prepare() { + # fix paths + local satellites_path="${TEMP_DIR}/repo_satellites" + local repos_path=/var/lib/git/repositories + local shell_path=/usr/share/gitlab-shell + sed -i -E \ + -e "/satellites:$/,/\w:$/ s|(\s*path:\s).*|\1${satellites_path}/|" \ + -e "/gitlab_shell:$/,/\w:$/ s|(\s*path:\s).*|\1${shell_path}/|" \ + -e "/gitlab_shell:$/,/\w:$/ s|(\s*repos_path:\s).*|\1${repos_path}/|" \ + -e "/gitlab_shell:$/,/\w:$/ s|(\s*hooks_path:\s).*|\1${shell_path}/hooks/|" \ + config/gitlab.yml.example || die "failed to filter gitlab.yml.example" + + local run_path=/run/${MY_NAME} + sed -i -E \ + -e "s|/home/git/gitlab/tmp/(pids\|sockets)|${run_path}|" \ + -e "s|/home/git/gitlab/log|${LOGS_DIR}|" \ + -e "s|/home/git/gitlab|${DEST_DIR}|" \ + config/unicorn.rb.example || die "failed to filter unicorn.rb.example" + + sed -i \ + -e "s|/home/git/gitlab/tmp/sockets|${run_path}|" \ + lib/support/nginx/gitlab || die "failed to filter nginx/gitlab" + + # modify default database settings for PostgreSQL + sed -i -E \ + -e 's|(username:).*|\1 gitlab|' \ + -e 's|(password:).*|\1 gitlab|' \ + -e 's|(socket:).*|\1 /run/postgresql/.s.PGSQL.5432|' \ + config/database.yml.postgresql \ + || die "failed to filter database.yml.postgresql" + + # rename config files + mv config/gitlab.yml.example config/gitlab.yml + mv config/unicorn.rb.example config/unicorn.rb + + local dbconf=config/database.yml + if use postgres && ! use mysql; then + mv ${dbconf}.postgresql ${dbconf} + rm ${dbconf}.mysql + elif use mysql && ! use postgres; then + mv ${dbconf}.mysql ${dbconf} + rm ${dbconf}.postgresql + fi + + # remove useless files + rm -r lib/support/{deploy,init.d} + use unicorn || rm config/unicorn.rb +} + +all_ruby_install() { + local dest=${DEST_DIR} + local conf=${CONF_DIR} + local logs=${LOGS_DIR} + local temp=${TEMP_DIR} + + # prepare directories + diropts -m750 + dodir ${logs} ${temp} + + diropts -m755 + dodir ${conf} ${dest}/public/uploads + + dosym ${temp} ${dest}/tmp + dosym ${logs} ${dest}/log + + # install configs + insinto ${conf} + doins -r config/* + dosym ${conf} ${dest}/config + + echo 'export RAILS_ENV=production' > "${D}/${dest}/.profile" + + # remove needless dirs + rm -Rf config tmp log + + # install the rest files + # using cp 'cause doins is slow + cp -Rl * "${D}/${dest}"/ + + # install logrotate config + dodir /etc/logrotate.d + cat > "${D}/etc/logrotate.d/${MY_NAME}" <<-EOF + ${logs}/*.log { + missingok + delaycompress + compress + copytruncate + } + EOF + + ## Install gems via bundler ## + + cd "${D}/${dest}" + + local without="development test aws" + local flag; for flag in mysql postgres unicorn kerberos; do + without+="$(use $flag || echo ' '$flag)" + done + local bundle_args="--deployment ${without:+--without ${without}}" + + use "rugged_use_system_libraries" && export RUGGED_USE_SYSTEM_LIBRARIES="YES" + + einfo "Running bundle install ${bundle_args} ..." + ${RUBY} /usr/bin/bundle install ${bundle_args} || die "bundler failed" + + einfo "Cleaning old gems ..." + ${RUBY} /usr/bin/bundle clean + + # clean gems cache + rm -Rf vendor/bundle/ruby/*/cache + rm -Rf vendor/bundle/ruby/*/bundler/gems/charlock_holmes-dde194609b35/.git + + ## RC script ## + + if use systemd ; then + ewarn "Beware: systemd support has not been tested, use at your own risk!" + systemd_newunit "${FILESDIR}/gitlab-8.13.0-sidekiq.service" "gitlab-sidekiq.service" + systemd_dounit "${FILESDIR}/gitlab-unicorn.service" + systemd_dounit "${FILESDIR}/gitlab-workhorse.service" + systemd_dounit "${FILESDIR}/gitlab-mailroom.service" + systemd_dotmpfilesd "${FILESDIR}/gitlab.conf" + else + local rcscript=gitlab-8.13.3-sidekiq.init + use unicorn && rcscript=gitlab-8.13.3-unicorn.init + + cp "${FILESDIR}/${rcscript}" "${T}" || die + sed -i \ + -e "s|@USER@|${MY_USER}|" \ + -e "s|@GITLAB_BASE@|${dest}|" \ + -e "s|@LOGS_DIR@|${logs}|" \ + "${T}/${rcscript}" \ + || die "failed to filter ${rcscript}" + + newinitd "${T}/${rcscript}" "${MY_NAME}" + fi + + # fix permissions + fowners -R ${MY_USER}:${MY_USER} ${dest} ${temp} ${logs} +} + +pkg_postinst() { + elog "If this is an update from a previous version, stop your GitLab" + elog "instance and issue the following command to perform all required" + elog "migrations:" + elog " emerge --config \"=${CATEGORY}/${PF}\"" + elog "PLEASE NOTE: It's HIGHLY recommended to backup your database" + elog "before running the config phase. Run these commands (as root):" + elog + elog " cd /opt/gitlab" + elog " sudo -u git -H bundle exec rake gitlab:backup:create RAILS_ENV=production" + elog + elog "If this was a fresh install, follow these steps:" + elog + elog "1. Configure your GitLab's settings in ${CONF_DIR}/gitlab.yml." + elog + elog "2. Configure your database settings in ${CONF_DIR}/database.yml" + elog " for \"production\" environment." + elog + elog "3. Then you should create a database for your GitLab instance, if you" + elog " haven't done so already." + elog + if use postgres; then + elog "If you have local PostgreSQL running, just copy&run:" + elog " su postgres" + elog " psql -c \"CREATE ROLE gitlab PASSWORD 'gitlab' \\" + elog " NOSUPERUSER NOCREATEDB NOCREATEROLE INHERIT LOGIN;\"" + elog " createdb -E UTF-8 -O gitlab gitlabhq_production" + elog " Note: You should change your password to something more random..." + elog + fi + elog "4. Finally execute the following command to initialize the environment:" + elog " emerge --config \"=${CATEGORY}/${PF}\"" + elog " Note: Do not forget to start Redis server first!" + elog + elog "If you're running GitLab behind an SSL proxy such as nginx or Apache and" + elog "you can't login after the upgrade, be sure to read the section about the" + elog "verification of the CSRF token in GitLab's trouble-shooting guide at" + elog "http://goo.gl/5XGRGv." + if use postgres; then + elog "Please note: As of GitLab 8.6, users of PostgreSQL need to enable the" + elog "`pg_trgm` extension by running the following command as a PostgreSQL" + elog "super user for *every* GitLab database:" + elog " CREATE EXTENSION IF NOT EXISTS pg_trgm;" + elog "For details, see the documentation at the GitLab website." + fi + if use mysql ; then + ewarn "PLEASE also read this document about needed migrations on MySQL:" + ewarn "https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/install/database_mysql.md" + ewarn "Failing to follow those instructions may make the config phase fail!" + fi +} + +pkg_config() { + einfo "Checking configuration files" + + if [ ! -r "${CONF_DIR}/database.yml" ]; then + eerror "Copy ${CONF_DIR}/database.yml.* to" + eerror "${CONF_DIR}/database.yml and edit this file in order to configure your" + eerror "database settings for \"production\" environment."; die + fi + + local email_from="$(ryaml ${CONF_DIR}/gitlab.yml production gitlab email_from)" + local git_home="$(egethome ${MY_USER})" + + # configure Git global settings + if [ ! -e "${git_home}/.gitconfig" ]; then + einfo "Setting git user" + su -l ${MY_USER} -c " + git config --global user.email '${email_from}'; + git config --global user.name 'GitLab'" \ + || die "failed to setup git name and email" + fi + + su -l ${MY_USER} -c "git config --global repack.writeBitmaps true" + + # determine whether this is an update or a fresh install. we do this by + # checking whether the ${DEST_DIR}/.git directory exists or not + # + if [ -d "${DEST_DIR}/.git" ]; then + local update=true + else + local update=false + fi + + ## Initialize app ## + + local RAILS_ENV="production" + local RUBY=${RUBY:-/usr/bin/ruby} + local BUNDLE="${RUBY} /usr/bin/bundle" + + # FIXME: this line existed in older ebuilds, but the variable is + # never used. what was it for!? + # local dbname="$(ryaml ${CONF_DIR}/database.yml production database)" + + if [ "${update}" = 'true' ]; then + einfo "Migrating database ..." + exec_rake db:migrate + + # https://github.com/gitlabhq/gitlabhq/issues/5311#issuecomment-31656496 + einfo "Migrating iids ..." + exec_rake migrate_iids + + einfo "Installing npm modules ..." + exec_yarn install + + einfo "Cleaning old precompiled assets ..." + exec_rake gitlab:assets:clean + + einfo "Cleaning cache ..." + exec_rake cache:clear + else + # create dummy git repo as workaround for + # https://github.com/bundler/bundler/issues/2039 + einfo "Initializing dummy git repository to avoid false errors from bundler" + su -l ${MY_USER} -c " + cd ${DEST_DIR} + git init + git add README.md + git commit -m 'Dummy repository'" >/dev/null + + einfo "Initializing database ..." + exec_rake gitlab:setup + + einfo "Installing npm modules ..." + exec_yarn install + fi + + einfo "Precompiling assests ..." + exec_rake gitlab:assets:compile + + if [ "${update}" = 'true' ]; then + ewarn + ewarn "This configuration script runs only common migration tasks." + ewarn "Please read guides on" + ewarn " https://github.com/gitlabhq/gitlabhq/blob/master/doc/update/" + ewarn "for any additional migration tasks specific to your previous GitLab" + ewarn "version." + fi + elog + elog "If you want to make sure that the install/upgrade was successful, start" + elog "Gitlab now and then run these commands (as root):" + elog + elog " cd /opt/gitlab" + elog " sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production" + elog " sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production" + elog + if ! use systemd ; then + elog "You may also run" + elog " /etc/init.d/gitlab check" + elog " for convenience." + fi +} + +ryaml() { + ruby -ryaml -e 'puts ARGV[1..-1].inject(YAML.load(File.read(ARGV[0]))) {|acc, key| acc[key] }' "$@" +} + +exec_rake() { + local command="${BUNDLE} exec rake $@ RAILS_ENV=${RAILS_ENV} NODE_ENV=${RAILS_ENV}" + + echo " ${command}" + su -l ${MY_USER} -c " + export LANG=en_US.UTF-8; export LC_ALL=en_US.UTF-8; export NODE_PATH=${DEST_DIR}/node_modules + cd ${DEST_DIR} + ${command}" \ + || die "failed to run rake $@" +} + +exec_yarn() { + local command="yarn $@ --${RAILS_ENV}" + + echo " ${command}" + su -l ${MY_USER} -c " + export LANG=en_US.UTF-8; export LC_ALL=en_US.UTF-8; export NODE_PATH=${DEST_DIR}/node_modules + cd ${DEST_DIR} + ${command}" \ + || die "failed to run yarn $@" +} diff --git a/www-apps/gitlab-ce/metadata.xml b/www-apps/gitlab-ce/metadata.xml index 9c26245..1d4d590 100644 --- a/www-apps/gitlab-ce/metadata.xml +++ b/www-apps/gitlab-ce/metadata.xml @@ -8,6 +8,7 @@ Use the Unicorn web server. Never tested the package without it, so disable at your own risk. Use the GitLab Pages feature. See https://gitlab.com/gitlab-org/gitlab-pages/ + Use Gitaly Server to speed up git operations. Not yet supported. See https://gitlab.com/gitlab-org/gitaly/ Use dev-libs/libgit2 from the system instead of the bundled libgit. The bundled library sometimes causes build breakages.