Merge branch 'feature/gitlab-8.5.8' into 'master'

Feature/gitlab 8.5.8



See merge request !52
This commit is contained in:
Manuel Friedli 2016-03-19 21:54:35 +01:00
commit f57288254c
11 changed files with 428 additions and 24 deletions

View File

@ -1,4 +1,4 @@
AUX gitlab-shell-2.0.0-config-paths.patch 1356 SHA256 442a8e18b4d8e6092db0d39659cba5e41404e90f21070ed50b5460177f28f1b2 SHA512 0445cd42086b2d77825c487d604ddcb11f8fdf4eb8dcdfa1fe1b8e8c24d7b8f273834dbec0bfbb763a35a74605d558cc8d3feaa056eb02a113d18124a764551e WHIRLPOOL 0e3367b229ea4f13818fe2e485dc8da83ad695aec496881cb5eb918b183029b0013518ca64acba1568d93dc418dfaf083c2a86b9f2e3adf9fe15cad038011b30
DIST gitlab-shell-2.6.10.tar.gz 35574 SHA256 c83f1cc9371f90fd0c9907c5cc7e64ba77dff228bb3d427afda999f583ba59a5 SHA512 f03b0d4b1e4b6f3e934acd29ca4e7fb478e7891e31d7fa8e6dfb7cb0d4b1dadd14a88254262d2e71691e01742610a86de1039fd738bde0ba05d6d19fe17fbf10 WHIRLPOOL 6c787b5bdfc6fa0e3ce66a4915d3737fa8fc1f47c1be44c0cecdda802e1bee1cf11f0154d6bb63e799458368bc71553f316024895b2465016d699f597cdfb851
EBUILD gitlab-shell-2.6.10.ebuild 3496 SHA256 942e2c5af4d03353b4d5b48a46bcf05c837cf1d0375434ff083ceee7e389ff61 SHA512 34600582b7e2defd8470a2a4f70213f598ac540f57ce9748cdaf16192f1e79a59eb950d1b15231d27b8c07649116364208fd12294e89453159a39f2e56048474 WHIRLPOOL a17a4881720eb0a7e68db927a93cb40d852250acb5b2f6daa4625e5338c6dce6707b90683885ead72769bc9a36d0e173178d3df8616ceab4eb32114955aa2300
EBUILD gitlab-shell-2.6.10.ebuild 3516 SHA256 fbb3c7c08b5ebf3d4543701e9df739c22cc75c41932fa1dfbe3e691bcb97cd47 SHA512 8d40e7b6c83ee242dd21a176eb729e6d72fbc74c79ecad9c2e3f4df81022d9989044ee789364dece11eb4b2d07d3e60e5be8d8378dc0ad3751ed9cf78efa39f8 WHIRLPOOL d191fb8efe6ad3272e612032febed5104bc1fc12d075191ad4b7b6a36190e16ad4b09dcbb08a00cc0933890cd62d9d96facb2b9b5f2024d45f54587dc8e3ce0c
MISC metadata.xml 234 SHA256 f35b97f99a26d73cc441e1d93bfe25aaa4e9f7f6d90c8d05a74f7b7bc5b68472 SHA512 59d8156b3ca3e99c40d5a2a32de7edf2eb53279b2424998862589d6bad77617d23fc852afec0a92f8ac5bb54a88ebc504cc0641029c1936412e90ab03dfdd447 WHIRLPOOL 935a1401910a42f888c991e443a49275ea8b87976c5aa977f670053d97d18754231749749bc92d37d4b5f45ecf65914480942a11b5827b6c08fb24313a428431

View File

@ -14,12 +14,12 @@ SRC_URI="https://github.com/gitlabhq/gitlab-shell/archive/v${PV}.tar.gz -> ${P}.
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
KEYWORDS="~amd64 ~x86 ~arm ~arm64"
IUSE=""
DEPEND=""
RDEPEND="
dev-vcs/git
>=dev-vcs/git-2.7.3
dev-db/redis
virtual/ssh"
ruby_add_bdepend "

View File

@ -4,6 +4,6 @@ AUX gitlab-workhorse.conf 248 SHA256 6d11d63aa869cfd8c6f77c3a875984c226db633be89
AUX gitlab-workhorse.init 653 SHA256 f38c37ed818cb8c25fb800bfcb5448f659e876b78ea33ea7a1ba3c80e73ea95e SHA512 2667997def39e6dc17e6a1d9be06d6e855d5d3e956e64d93bb3e74bbad0a1d427dc034f9c139f3b05e2666abab014404b2c8013c5347f4ec25fbf5ef86e7e88e WHIRLPOOL 63cd7ff80d88676b44c2d6ccdadf74907d5f8e4268f03ee11775c423bf95955f9d3aaeedd79fa6e0486b2d225336eb2ffa165dd7b9ac87ed0c2d403dc7e5afb4
DIST gitlab-workhorse-0.6.2.tar.bz2 25745 SHA256 ecaea12915758a226aa0877ca57bff2c1c32009bc5aa95735fac1dfac1e2d217 SHA512 05ed31336588a7158e4c27dbea22cddeadcb84296ef8809d5824ded2f9cf5a13631997f13843a2da3bed1b9184e92c23f71d4e0382dcc45a8d209d43783b6905 WHIRLPOOL dc9ba82ca9515f569919674b8214f553d66cc08ce45674676646b9d527c7d37f9d72eb01e76c195b1981b3d2b6af378ed77fde8853e953457a2e31c0e0bf4f8e
DIST gitlab-workhorse-0.6.5.tar.bz2 26694 SHA256 89deb66ea0a0e4ce80d933ef18778eb28a37bc7f427188313db8f50cf5c78172 SHA512 ac7475f7557dce4807bdc74f0d5c873d0bc602ded7df8a88a3a453ef4814ba493b539faddec13e771dabade8919079597c7147f13c3d6b9a3606b52a7b3536ae WHIRLPOOL d059a346f594bb623ec5bd7aa90660326ac2c36d07536ef43939a38d2d19afb0126e10bced5486a44ac652ace4de95880e84963ab45f0603d8049c106664395e
EBUILD gitlab-workhorse-0.6.2.ebuild 866 SHA256 92cde2ed28248dbb4f9ebfeed5bc79999fbbb06a64b979c77d7c27896a4f9c85 SHA512 f4e140aeb09c423fae606e50f596991bdf61b1e1ef6c2e966d0dba00a0331c72c075899e1fcb44f28037f4523d54fbf56775cc4c7d59e55de9e0a7e6a5332768 WHIRLPOOL 9c5ba94be5144a6ea5d78536e3d62faa92772c61ea21c3ec6d25db499982651813c9926be7b8fc1ae52d4428e5ced901f69ced3801f902188aeea4d12ea9b4c6
EBUILD gitlab-workhorse-0.6.5.ebuild 866 SHA256 eab67140a2cada7e4807126bd2fe081750434fae6c1351842d747f5b11c108dc SHA512 953be4d044d3bbfa0f170e420b5efcb47e247b415fc47f46c4b898a2fbb109564b3e92a7ec166726660a1ac1c325bbf77ca66135a568b91ef664841bb9e6449b WHIRLPOOL 71e0aed5e55f26e3d0fa58390b8ff7639d659c3e78bb20735a408bc89a4a6e9b91ce3213cc19bb5075f10c8d8b83c273a445c53049f9b5c70a7f82fd5e991350
EBUILD gitlab-workhorse-0.6.2.ebuild 878 SHA256 2679a2d1668870881431e9e9ce4b121cb6887fd927fa6cf357d0453c841db7bf SHA512 f63f75c50dda6cae8a2dd81f848bce18e64115ed6ce16f6800de99079606672c5820aa3133f042c96632b451c58968c52968075ccf385a54931b7f98bb64d50b WHIRLPOOL 22a03c06c084227c5167f5f466c071813597ec72c9e1246ddc2e991c9e18cf12546925ef9068525cefcdfec2a807e69031ee0f405f6d57ad847b3e4e61d778b6
EBUILD gitlab-workhorse-0.6.5.ebuild 878 SHA256 2fc488ef3b608ffca8c1f78dec86ecfdb4da47dfec806d8b8be6d093759d8e98 SHA512 8274571754abae349a7f8f9761559d00981e9445f074e296b7989ee593def4347ffe9b2e0c866703033cd794a1c24bfeb02f6ec80c262d0f25dbca21dd3786ff WHIRLPOOL b25e5430f51a8b1467188736e054e47429ea63ac7851819b65de94a47f66312979958cb2e540c990d640ef767a8a1bb7e5f5f4478ae3638eb7bb4e1c67fc5f13
MISC metadata.xml 234 SHA256 f35b97f99a26d73cc441e1d93bfe25aaa4e9f7f6d90c8d05a74f7b7bc5b68472 SHA512 59d8156b3ca3e99c40d5a2a32de7edf2eb53279b2424998862589d6bad77617d23fc852afec0a92f8ac5bb54a88ebc504cc0641029c1936412e90ab03dfdd447 WHIRLPOOL 935a1401910a42f888c991e443a49275ea8b87976c5aa977f670053d97d18754231749749bc92d37d4b5f45ecf65914480942a11b5827b6c08fb24313a428431

View File

@ -14,7 +14,7 @@ RESTRICT="mirror"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
KEYWORDS="~amd64 ~x86 ~arm ~arm64"
DEPEND=">=dev-lang/go-1.5.1
!dev-vcs/gitlab-git-http-server"

View File

@ -14,7 +14,7 @@ RESTRICT="mirror"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
KEYWORDS="~amd64 ~x86 ~arm ~arm64"
DEPEND=">=dev-lang/go-1.5.1
!dev-vcs/gitlab-git-http-server"

View File

@ -9,8 +9,10 @@ AUX gitlab.conf 27 SHA256 cd9be088bbb67a5400407fc6f63c061eb224f16748b7d0812ff2c1
DIST gitlab-ce-8.4.3.tar.gz 12187867 SHA256 bc11494885c6ad41f2b6a057d7fbec2fd4df10908f591c84c210f4881aa3c23d SHA512 84018eca604ba1639e19cc45b6ef21ad298cf60a66724bc247bf7a7c94ff1131010317d851855f5676687e8c8148602ad199e35f1029ebab24ccbbafd7b866e1 WHIRLPOOL 418afc8ddb262aa7af22bd79cb9febf1a15625f753208fe4f47cbbc3d79df0566e506febe2917bd2176508312d4a5da7245e36233ec2e50c024b811c1d306b00
DIST gitlab-ce-8.4.4.tar.gz 12186833 SHA256 f8c403d4cecd82aa2021ed5a6d5d7b4ac8526c7ee7a9bb1c7391f8653bf5a01c SHA512 fe8bd002ea164b384e25303e06ab6a6a97c89180a1898bc8a6d6bb07fcfda6be03a057ad7f92e4c192e0c10aa686b897fe18e864b36c314dcd7fee62dd6758bb WHIRLPOOL 8c79ba70f9b56408f70a4b48554114bcad5a4ac2806dfd8fe63ad060b9887bb6cf3d4f5c2d6e7db20aa65a83e2c33879fd32b9cce7277cd6fdd65acbdb399f40
DIST gitlab-ce-8.5.5.tar.gz 15179973 SHA256 859ec6142095d459b1587616df6c83063e87a8c7417ab8606100588525d03e2d SHA512 48f69092a68e2b6a748c35f5cea151f08856a7d19ab58a7f0a90d5b37c5276edf640ba42501aa6aec38008463fce21763b6ee650ad2e6e2b89e815d7f3f07b0a WHIRLPOOL 8db633ed71cb514df6fdb4515a74a4732efe5013d36ea140a3195aac82ec069863eb09e6d241f9416d6fe93fdec8c68e894cbeec3e0b6eba24c24c6d3b23849d
EBUILD gitlab-ce-8.4.3.ebuild 11150 SHA256 3bfedaf3d1c08f78b5b05c2a8730ec0f06b9192dd50056e938dd92fda49e7712 SHA512 24e8fec20389714207bba4170b7eeb403f5cee90ec1b063c2b36eb116f37c2878d9cc48c24467d88db872dc5709b4d6b29e28aa2f60f10779a756b452161acf2 WHIRLPOOL f86654172a28cd40436ee30ac0192445bec405f39c65295f53e9c8d73aeac8e03190321da7b1cdc2966d4ab757ca7ff6f472372bd7ed8ea6b6836ce26efe5ef9
EBUILD gitlab-ce-8.4.4.ebuild 11150 SHA256 3bfedaf3d1c08f78b5b05c2a8730ec0f06b9192dd50056e938dd92fda49e7712 SHA512 24e8fec20389714207bba4170b7eeb403f5cee90ec1b063c2b36eb116f37c2878d9cc48c24467d88db872dc5709b4d6b29e28aa2f60f10779a756b452161acf2 WHIRLPOOL f86654172a28cd40436ee30ac0192445bec405f39c65295f53e9c8d73aeac8e03190321da7b1cdc2966d4ab757ca7ff6f472372bd7ed8ea6b6836ce26efe5ef9
EBUILD gitlab-ce-8.5.5.ebuild 11718 SHA256 cb2a956f2a8fe5fbd47c13958a54ffcc97a3cecb98ee897cb056c8cda1e766a7 SHA512 93933f55e96d34a30fb9de2861e614fbcdef02a858ce440af03d5ecaf1a7d52cf393f71dd107f5d76e1096bdefbd72006451988cfb2090043bc1738824e47814 WHIRLPOOL 697767aa4d02fd130f0ddf65e4fc8082dfa6d89ae6eb652b37051bb7ff3310eb0eace7f4d9b687393f5cc3e628335b2f02deb57e1d280e71f036024c096a38e4
EBUILD gitlab-ce-9999.ebuild 11734 SHA256 353e3f8f93d49d08af49538ba1bad91c7920b8cab3ff87d9ab3b027909a9af77 SHA512 95adc839b45d2aa4bf27e961cd851fc25e59502a0b77973dabb84446fe463e706d6a9bc1f4053ef5a571d9efbecaeca87b8eac2b9dc9ba6979035a924b29e0a4 WHIRLPOOL e0d13e1dbeb61066e01a9e95b4760f3a2b429a723323aec3d4275a738fbd3718f1cf922942d0411534829888c28f0d9ac1f01be285c7474584497f2d15f0973c
DIST gitlab-ce-8.5.8.tar.gz 15180480 SHA256 dd531c7b62a6b3b2377ec79f0735f83cdb379868f4ae24befd10f13797a80c7e SHA512 8a44c8c1dd13a8ba8452cdaef68978a2557f7c47cbeab37fb67c3616ec041b50bf2b02ece8e4c66222b4f705b59ad80c9ee46284f03d6adffc193d3eb9e74d38 WHIRLPOOL 710d11dd0c309a29e241989be310c82786b89b66f73e0e8d9431c6b3bbe161f725fad209c8cfd3f5cbcff91920c94ec857fb54b2ce4fc46c3ffe337935232e14
EBUILD gitlab-ce-8.4.3.ebuild 11220 SHA256 9137339ae00643cfbeb159a887d4c6af92f96562d872b90b434f11ca62037204 SHA512 df571ecc8298107d22ec858694ab709f531366da57ead94ecb2fa2f0af7ed19d369714b0557115b754e3107bce620d1b8cb3473cb1caba9ec0309b918767bf5d WHIRLPOOL a9fd9a626f98a2c5fc8a11fe6c71b172959cad89fa96e33745ad18ec35d1ccde1047b66316f4d8d53bae1efcd4c245342cb974c38fd773748f1e7e48f1915dd7
EBUILD gitlab-ce-8.4.4.ebuild 11220 SHA256 9137339ae00643cfbeb159a887d4c6af92f96562d872b90b434f11ca62037204 SHA512 df571ecc8298107d22ec858694ab709f531366da57ead94ecb2fa2f0af7ed19d369714b0557115b754e3107bce620d1b8cb3473cb1caba9ec0309b918767bf5d WHIRLPOOL a9fd9a626f98a2c5fc8a11fe6c71b172959cad89fa96e33745ad18ec35d1ccde1047b66316f4d8d53bae1efcd4c245342cb974c38fd773748f1e7e48f1915dd7
EBUILD gitlab-ce-8.5.5.ebuild 11788 SHA256 dc6c7bfa6ec529a9e34a64913a80417c5cdc62f953e7da068c5a10b7dc2ed6c5 SHA512 4e580ff2b03c55568d1a65d1debcacc54f058513896544ef473ff03c6251765aef4e96183767eecc62a528eb9ecf7ec0245262b0791fe1c518ba2fbc1dbe6b75 WHIRLPOOL 7e6d63f421d23903ac59de68ead81fa5eff4834f00122aafa5162931ece0fd285c8482425bfc529f9a291873fcff637d599efab349784f2bed72d9fec0fc7c44
EBUILD gitlab-ce-8.5.8.ebuild 11796 SHA256 001317396732b276ee64682501b4d7a48a2710a14841f17f0721a43fe6ab6b50 SHA512 4fd18be998439a20b34239666edf25c3d25f0d84eca457c9f2f954966150fb916cb2690cc43b5a954875bf90b6aa578fd6ecfbe2c888c11e5ea82668ae04ef86 WHIRLPOOL c38f4d2d44fbc7944e872f4a2a06f0dbd2f4f712fc495e7e195a36e7d1f8d698c2645b3fa87287237e2debeaee5a1cc69a854b7ff0ff636a2166d0f0ea512f61
EBUILD gitlab-ce-9999.ebuild 11800 SHA256 be5829f179eddf5e3156094e9b7699b36cde8be17163c92c17e9e514d0561dfc SHA512 26eacd310365c7ce6da198d14a7da9ea5ed9dbacb59d76034e51e2ed1a55581c1e57383024eb68f95949668b7c833126e2ad93e29f5c12b89ef5200ebfbb1c38 WHIRLPOOL 2ee956ca1080f1b374db9271c78b82e7c044498d28e67e445e9c67fdd72b5bab2b5232146ca7063d28e89d5ccb51c55c3a79b6bdb0d67a3903cdd9bbe52e2c5e
MISC metadata.xml 545 SHA256 1b7fc44d811e1ab7638fe4a40253f49d5f1071872d3020c22c4f67662750cb2f SHA512 86f47d297892bccfefa087d93936296f5647993a9ec8e3f47907a6859cbf385e5bc6f00502d7836c9e8d9efef2b6725bf145b0150924c2082b2bd164469ef6ea WHIRLPOOL 6bfb8a55684d68c8bfa6e025a0be965f7b815394ee0896dd2a13cfb524e3cf3f3149acc9072897e30a1842060389576aac07ea8beb4a8b0bfc3e8eab3723f2a1

View File

@ -51,14 +51,18 @@ GEMS_DEPEND="
CDEPEND="
dev-util/cmake
virtual/pkgconfig"
DEPEND="${GEMS_DEPEND}
${CDEPEND}
COMMON_DEPEND="
${GEMS_DEPEND}
>=dev-vcs/gitlab-shell-2.6.10
dev-vcs/git
>=dev-vcs/gitlab-workhorse-0.6.2
kerberos? ( !app-crypt/heimdal )
rugged_use_system_libraries? ( net-libs/http-parser dev-libs/libgit2:0/23 )"
RDEPEND="${DEPEND}
DEPEND="
${CDEPEND}
${COMMON_DEPEND}"
RDEPEND="
${COMMON_DEPEND}
>=dev-db/redis-2.8
virtual/mta
systemd? ( sys-apps/systemd:0= )"

View File

@ -51,14 +51,18 @@ GEMS_DEPEND="
CDEPEND="
dev-util/cmake
virtual/pkgconfig"
DEPEND="${GEMS_DEPEND}
${CDEPEND}
COMMON_DEPEND="
${GEMS_DEPEND}
>=dev-vcs/gitlab-shell-2.6.10
dev-vcs/git
>=dev-vcs/gitlab-workhorse-0.6.2
kerberos? ( !app-crypt/heimdal )
rugged_use_system_libraries? ( net-libs/http-parser dev-libs/libgit2:0/23 )"
RDEPEND="${DEPEND}
DEPEND="
${CDEPEND}
${COMMON_DEPEND}"
RDEPEND="
${COMMON_DEPEND}
>=dev-db/redis-2.8
virtual/mta
systemd? ( sys-apps/systemd:0= )"

View File

@ -51,14 +51,18 @@ GEMS_DEPEND="
CDEPEND="
dev-util/cmake
virtual/pkgconfig"
DEPEND="${GEMS_DEPEND}
${CDEPEND}
COMMON_DEPEND="
${GEMS_DEPEND}
>=dev-vcs/gitlab-shell-2.6.10
dev-vcs/git
>=dev-vcs/gitlab-workhorse-0.6.5
kerberos? ( !app-crypt/heimdal )
rugged_use_system_libraries? ( net-libs/http-parser dev-libs/libgit2:0/24 )"
RDEPEND="${DEPEND}
DEPEND="
${CDEPEND}
${COMMON_DEPEND}"
RDEPEND="
${COMMON_DEPEND}
>=dev-db/redis-2.8
virtual/mta
systemd? ( sys-apps/systemd:0= )"

View File

@ -0,0 +1,386 @@
# 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.6.10
>=dev-vcs/git-2.7.3
>=dev-vcs/gitlab-workhorse-0.6.5
kerberos? ( !app-crypt/heimdal )
rugged_use_system_libraries? ( net-libs/http-parser dev-libs/libgit2:0/24 )"
DEPEND="
${CDEPEND}
${COMMON_DEPEND}"
RDEPEND="
${COMMON_DEPEND}
>=dev-db/redis-2.8
virtual/mta
systemd? ( sys-apps/systemd:0= )"
ruby_add_bdepend "
virtual/rubygems
>=dev-ruby/bundler-1.0"
#
# fix-sendmail-config:
# Fix default settings to work with ssmtp that doesn't know '-t' argument.
#
RUBY_PATCHES=(
"${PN}-fix-sendmail-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}"
# 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"
# 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."
}
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

@ -50,14 +50,18 @@ GEMS_DEPEND="
CDEPEND="
dev-util/cmake
virtual/pkgconfig"
DEPEND="${GEMS_DEPEND}
${CDEPEND}
COMMON_DEPEND="
${GEMS_DEPEND}
>=dev-vcs/gitlab-shell-2.6.10
dev-vcs/git
>=dev-vcs/git-2.7.3
>=dev-vcs/gitlab-workhorse-0.6.5
kerberos? ( !app-crypt/heimdal )
rugged_use_system_libraries? ( net-libs/http-parser dev-libs/libgit2:0/24 )"
RDEPEND="${DEPEND}
DEPEND="
${CDEPEND}
${COMMON_DEPEND}"
RDEPEND="
${COMMON_DEPEND}
>=dev-db/redis-2.8
virtual/mta
systemd? ( sys-apps/systemd:0= )"