Merge branch 'master' into 89-add-ebuild-for-gitlab-ci-multi-runner-9-0

This commit is contained in:
Manuel Friedli 2017-03-29 11:19:44 +02:00
commit e928a4fd35
6 changed files with 452 additions and 21 deletions

View File

@ -1,11 +1,3 @@
*gitlab-ci-multi-runner-9.0.0_rc2 (19 Mar 2017)
19 Mar 2017; Manuel Friedli <manuel@fritteli.ch>
+files/0001-fix-Makefile-9.0.0.patch,
+gitlab-ci-multi-runner-9.0.0_rc2.ebuild:
dev-vcs/gitlab-ci-multi-runner: Added preliminary ebuild for gitlab-ci-
multi-runner-9.0.0_rc2. It still needs some love and doesn't even compile yet.
*gitlab-ci-multi-runner-1.11.1 (16 Mar 2017)
16 Mar 2017; Manuel Friedli <manuel@fritteli.ch>

View File

@ -1,7 +1,6 @@
AUX 0001-fix-Makefile-1.10.4.patch 3308 SHA256 c87a85a704ee054f85343d01e187933e67a6cca989adcf686a6f16a37406340d SHA512 bcd746a39997287334a77847322f11cbdc55c790540061f3bc9d9ac60ddc19683abf431e558c3e1a033f3ac3b5de0404da8ab82d2a3c254a214c1e0e80bfd76d WHIRLPOOL 71ec341a2e79a431062eb99c96bb2c7286858417e62c10082af48d5cd90de88a0eefd91a2bdda351e0bdbceea7452b79e88f83d566a79432c45ceaea5b7476c9
AUX 0001-fix-Makefile-1.11.1.patch 3376 SHA256 1c8123815ed8df86942b4cfd11b8c91e7a08945664e97df11b6f34cc583a093e SHA512 2bb4dd17cd47f85799932e09294244d899361b152ff47b0883c985b989b1c222a0bec8090e7692d1eea0655969883fad400d0c5a68c07dde0cefe67f6775654d WHIRLPOOL da952b735599208091b028aaf3b32077c63e24c4796226975b22aef7c57bb7d1b2872a96b21ce877bdf46b761295b6e602a5eacdb7e3c4e58c07b34801f650e7
AUX 0001-fix-Makefile-1.8.0.patch 3281 SHA256 70db95de830679916f1a0c446a5eb42ebdc77446d2a46e31f919107ea452d0a0 SHA512 d73db4e0122741da7bd7be9fd5a2b36c4aaeb0b3b0789604cefe1e98a613c0e5141299d7764b694080ccd8ff9094e8f0b134c950339e2f4ced31d8851f2fe63f WHIRLPOOL 24a3459cf882281b57bfbfb8471fc0f6ce1d0630ecd360d1fd813663f35a500f9f3cc826b89df0069d62d23f6d8cf0d0405254e967fc4c2eba0abf635f5da29b
AUX 0001-fix-Makefile-9.0.0.patch 3376 SHA256 1c8123815ed8df86942b4cfd11b8c91e7a08945664e97df11b6f34cc583a093e SHA512 2bb4dd17cd47f85799932e09294244d899361b152ff47b0883c985b989b1c222a0bec8090e7692d1eea0655969883fad400d0c5a68c07dde0cefe67f6775654d WHIRLPOOL da952b735599208091b028aaf3b32077c63e24c4796226975b22aef7c57bb7d1b2872a96b21ce877bdf46b761295b6e602a5eacdb7e3c4e58c07b34801f650e7
AUX 0001-fix-Makefile.patch 3401 SHA256 d764379ad6b027eaab6e6f8a3874befad9567e5114caa247843d9abad29bf10e SHA512 12a44684aa05df41dea29e66bf42ec6a6b40f06b1a9c8a2682c5ce7a62264b1135df3a69f98cd9bf10bc05da062c61cfa02f803226d022ed9ebaf0bf6469449b WHIRLPOOL cdab4d9382f522ef136e77eeb38c7532172bc538e95254c4e57dfdf9b277d10f469211350994a228529142dc07d04f1df89a81acac01665ca2c9c9961f7da65a
AUX gitlab-ci-multi-runner.conf 44 SHA256 0b93ba53d557fbf603b50f6d78eb2c4415b9a79f056142b6edf4a63fc6612d6e SHA512 1f5ff480740b18fc985ae9337b8dc4ddd1bde5253e09042b5542cb9a3db54b9cef1f7b24445c829eb83fcfd8751b693018154f6b97ce0a6e723d5d71d9a27429 WHIRLPOOL fc5218c55917b3303baf649fbafaf1dc50cf52d0ee04852716defe4f21b806f4f313071b1c55920d89da66180405d35da0f7cca73c2617b70bcaa67f725cab2a
AUX gitlab-ci-multi-runner.init 662 SHA256 faf47cdc02b78527d98cd044f2d2aed38a44e39fc6aa5ccc6249c6bce7b979b2 SHA512 9a2f6bcac4c1b992aa5f046cc2cf8f379d2b1f5b6d8065793996828be1527fb5e9131b2967131c292003319f2b27c0cb1229a147236279027e11d13f73e9bd76 WHIRLPOOL 7ffb5d25cb5bd66459981fb71a79d4690b1efaff41e5873431b8ec9cae62783c9fb71ea426a0a1d8f0bf9fdd7dbcb569136dc38f7736296565258a0dcfa3536f
@ -29,5 +28,5 @@ EBUILD gitlab-ci-multi-runner-1.7.0.ebuild 3250 SHA256 fc9f976619ff9ddedaceee812
EBUILD gitlab-ci-multi-runner-1.8.0.ebuild 3258 SHA256 d54d70f365868526144decb5671c834bf259d8b8659ec57a8ed9cd55cb6589da SHA512 7023a29d0615b986ef6d0fb0f2ca3ba9f0c0cca095b739cb7da63eb13cb4bee413978807032a674bd5876da9eda198a8fbb11be44c5fe43099e8e98148524b10 WHIRLPOOL c77aaa33c1d24a278cf53d63aa54052c5bddc5c671d2189457b209dcd8a8bf4c911f50be6478c613ba111a709f500f2fb4ba98399fc78a5ece897c852b79d4a4
EBUILD gitlab-ci-multi-runner-1.9.2.ebuild 3258 SHA256 2d753e9effbba47ddce697875a94572ea44a866fd4988924d38c5f3e87030f14 SHA512 7e691285841aad5fd200e83ed039cf24f3185d18d4b55545f2f325b9fbb6affc30e54ec1aa104799d3cdbfbdbfc4ad96c481485e8f5ce40753ad17b4dc5084d9 WHIRLPOOL 6b00e7b8446c6b78502f2fca6dcf752273245a8a71830fb968a286ae6cf1f0029285a547e0c568ae668315006a39cf9880e0db384504f428538c4810e11805f6
EBUILD gitlab-ci-multi-runner-9.0.0_rc3.ebuild 3319 SHA256 f9ec2a196569c2fd1b0cdda595b0e4a819bf9bcbdab2174fa02a25633360ed99 SHA512 170c6a0574f74ecb2106152b8a71eea16b0765cc71634758a7a14e2a6948848e5a07a60fb9e5a3ccb6abe60253eac0cfaa513eee6e33166af7b7749fda6d958c WHIRLPOOL 68f9f369c27fca8fd75d42ca5e59b901c9fbf27f7062e76479654d608e24e3400aeeab4f69b4a1fd817bf6abce0cb9ed450c8d4087a5685fc3ed88d9ec012f48
MISC ChangeLog 1869 SHA256 0548d0cac95fbaddfed475355f791128f07270c8e6812745ad8a4c1360addd7e SHA512 cf5495ad836bd6b623daee529711e98a900f7756857cc55d83c364d3fdd448d0fa880edb94b20a2f9be29f0d39c85ead90452a81a871af2facd1f956cfd16abc WHIRLPOOL 306973a7d309ff80d6a0d0484ae493baebc97b74db6cc02c0a6a6f55f19d4fa2cdf7a6b6664f41c78e9a888bfeda95c884a916dc799b220305a5fe4cafa89795
MISC ChangeLog 1527 SHA256 f69fb48fa08aff1dc4e751af5dc0035289aaf39c4fb4511b680a938a30bbc311 SHA512 e94da9dd3a9cadf9461e3536a1ea632b16e5704735f30fa47da08652c7bada1d6d0823dde5cdeffeef0787a8ec6a8fe357b841cb4a59e9c345702c113a4a0f10 WHIRLPOOL 50cbf5c714f6a4dc8203a588095e9540157ef3f8d9e406910b93cdc46402bfbdf76a0e5f23e90d4fb25142a222b4c95004c893657d7e73cb3fedeeb0dcd2fe57
MISC metadata.xml 329 SHA256 f0ae08a64aa32a07486e744ce11ac5448770b7320454015bcd065e312fcb5e9c SHA512 11e4eaf25633c5979e5243350bdf2ddc6d9dca06ab54ec38359591f1d002ea2a224e53b3e6c4ac53b5b2e795a87769fdbd97c547b008272e0a1491141f422e5d WHIRLPOOL ab2c1cb3d9aff1f757b49633f94d4b98da4b83dadab12ab8d869f9e1f6763b3125010147472e58e910e7fc42da262dbd69a1bf3939f3720a79ab4329184b4c35

View File

@ -1,3 +1,19 @@
28 Mar 2017; Manuel Friedli <manuel@fritteli.ch> gitlab-ce-9.0.0.ebuild,
gitlab-ce-9999.ebuild:
www-apps/gitlab-ce: Moved warning about MySQL migrations to the postinst
phase, as the config phase might fail when the database is not updated. So the
message must be displayed earlier.
28 Mar 2017; Manuel Friedli <manuel@fritteli.ch> gitlab-ce-9.0.0.ebuild,
gitlab-ce-9999.ebuild:
www-apps/gitlab-ce: Fixed the latest ebuild to use yarn instead of npm.
*gitlab-ce-9.0.0 (28 Mar 2017)
28 Mar 2017; Manuel Friedli <manuel@fritteli.ch> +gitlab-ce-9.0.0.ebuild:
www-apps/gitlab-ce: Added ebuild for Gitlab CE 9.0.0, dropping the ~arm
keyword due to the dependency to yarn, which is not available on unstable arm.
19 Mar 2017; Manuel Friedli <manuel@fritteli.ch> gitlab-ce-9.0.0_rc4.ebuild,
gitlab-ce-9999.ebuild:
www-apps/gitlab-ce: Updated ebuild for gitlab-ce-9999 and also cleaned

View File

@ -18,11 +18,13 @@ AUX gitlab.conf 27 SHA256 cd9be088bbb67a5400407fc6f63c061eb224f16748b7d0812ff2c1
DIST gitlab-ce-8.15.8.tar.gz 20035995 SHA256 9fafd6478a6d165ab6acd6f89f169fe72d46df547efe1bf3ac8d3a5bc4ffec11 SHA512 db287ea59d94eacd3c1219f458a403239f7aa39bea0d5e82fac80afc7216b96ac394740ab717c3ed26068617e1234105144820e41b0825511e1adc29e8891bfb WHIRLPOOL b03faf4b30b5c82535c0e148edec7fb5ff26405cfa8587b4bd287e834bb5f3eb6ddabd0b5f1472672b4108bdcb6066d63eb1a117e35fedf2c94d63348186afd6
DIST gitlab-ce-8.16.8.tar.gz 20907499 SHA256 b6ca6aebb5facb7b0bf792ac36fa6643098ddcbfd5364bf966311b48a2a0e68e SHA512 a5b77e39133078bc98a5c2d0b463e31c99eaaa44c28c70921546a8dfd45e24ff64bc310f8d067c40b609c3b19d13761afbc6068866e00297cb14b0e343b1a00c WHIRLPOOL 150c5b396703007e3b91f73407f5558045dcf4be74c2a12850e65bb7b5280582a8907312f5c09febb17649f98dbe40dd18968e69ef66d6026d3f69b79e6515c0
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
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-9999.ebuild 12869 SHA256 4a1e486e7386aa942bbd22c29457850584dab007b64715fc6f316ce5c98fcaf8 SHA512 ed66b809ca6e04956a9d4f5ef027aa9e174bad5cd80131a30fc34a1011f0221483b6fb52e893394b429d70919fc65496711a9c700c630c2ff31665827912df82 WHIRLPOOL b1b2582dcb1f600f199216c1bb532eac524ff3cce594e052039be29547164557997c65573f943c00240ab0986b0f1c1315602c3a65a0986e9f64a2df1827288e
MISC ChangeLog 15951 SHA256 2285d94a5e109d8db4f83147d5de126d4cb9a0e5d025593c776a03bf2e0de78d SHA512 18137fc5a70a721c2dd617529167a9c0a9ac808ed76819be02325802ef299ef1c5b58a7a3e72d047acbdd1a5304de1e73bd02ebe43b47d46aa1861dffff9ee70 WHIRLPOOL dba276237866fa33e27877169c8989386aa34bc0d4eb7b53758c7e7383f3997d0fd1367a4044142d6e98dd9d2b52619f3d1f96f73dae3d1f2f10620ee2f64b45
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

View File

@ -0,0 +1,421 @@
# 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="cf020e66dff606f6ea2d2dbaeb7bef43d446c536"
GITLAB_PAGES_VERSION="0.4.0"
GITLAB_SHELL_VERSION="5.0.0"
GITLAB_WORKHORSE_VERSION="1.4.1"
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 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} )"
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 $@"
}

View File

@ -290,6 +290,11 @@ pkg_postinst() {
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() {
@ -343,7 +348,7 @@ pkg_config() {
exec_rake migrate_iids
einfo "Installing npm modules ..."
exec_npm install
exec_yarn install
einfo "Cleaning old precompiled assets ..."
exec_rake gitlab:assets:clean
@ -364,7 +369,7 @@ pkg_config() {
exec_rake gitlab:setup
einfo "Installing npm modules ..."
exec_npm install
exec_yarn install
fi
einfo "Precompiling assests ..."
@ -377,10 +382,6 @@ pkg_config() {
ewarn " https://github.com/gitlabhq/gitlabhq/blob/master/doc/update/"
ewarn "for any additional migration tasks specific to your previous GitLab"
ewarn "version."
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"
fi
fi
elog
elog "If you want to make sure that the install/upgrade was successful, start"
@ -412,13 +413,13 @@ exec_rake() {
|| die "failed to run rake $@"
}
exec_npm() {
local command="npm $@ --${RAILS_ENV}"
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 npm $@"
|| die "failed to run yarn $@"
}