Merge branch '82-gitlab-ce-8-17-3' into 'master'

Resolve "gitlab-ce-8.17.3"

Closes #82

See merge request !149
This commit is contained in:
Manuel Friedli 2017-03-13 18:07:13 +01:00
commit daa080daf4
8 changed files with 527 additions and 8 deletions

View file

@ -1,3 +1,10 @@
*gitlab-ce-8.17.3 (13 Mar 2017)
13 Mar 2017; Manuel Friedli <manuel@fritteli.ch> +gitlab-ce-8.17.3.ebuild,
gitlab-ce-9999.ebuild, metadata.xml:
www-apps/gitlab-ce: added ebuild for gitlab-ce-8.17.3, which is the initial
ebuild to contain a USE flag for gitlab-pages
*gitlab-ce-8.17.2 (07 Mar 2017) *gitlab-ce-8.17.2 (07 Mar 2017)
07 Mar 2017; Manuel Friedli <manuel@fritteli.ch> +gitlab-ce-8.17.2.ebuild: 07 Mar 2017; Manuel Friedli <manuel@fritteli.ch> +gitlab-ce-8.17.2.ebuild:

View file

@ -21,6 +21,7 @@ DIST gitlab-ce-8.16.6.tar.gz 20901900 SHA256 5b88dd855afc44da2b8f059056321fc0dd4
DIST gitlab-ce-8.17.0.tar.gz 22991847 SHA256 3883c2e505e511f83072f950b9d211783148b97e29f34144e57c8b180d7f4518 SHA512 e0ee1b1ab21a6ad262cccbb2abf544ccb18dafcaf61e83aa02bac0182bdd35a47a725741382876f3bb79f6f42764c59b7a992c16a916a1673a716417b34d8a87 WHIRLPOOL fe3c36e41d0fe3c3420a3e52dc61fc30f424d2832cd82587a6e50b6c6450ee9e99bb2897f87cc949b4663055a35e159cf7b6f471b6aa9046c6bb8b1fae526ab7 DIST gitlab-ce-8.17.0.tar.gz 22991847 SHA256 3883c2e505e511f83072f950b9d211783148b97e29f34144e57c8b180d7f4518 SHA512 e0ee1b1ab21a6ad262cccbb2abf544ccb18dafcaf61e83aa02bac0182bdd35a47a725741382876f3bb79f6f42764c59b7a992c16a916a1673a716417b34d8a87 WHIRLPOOL fe3c36e41d0fe3c3420a3e52dc61fc30f424d2832cd82587a6e50b6c6450ee9e99bb2897f87cc949b4663055a35e159cf7b6f471b6aa9046c6bb8b1fae526ab7
DIST gitlab-ce-8.17.0_rc3.tar.gz 23031572 SHA256 13ac75ce0737e9e9f46fea59828a0a71f3ad9fc4436859bc68938d4719190ba9 SHA512 c5998f7aeefd65ea46ee6357f15bc6e60253742f6007252bf9a1543f29f8973951f8d0f8d60dba87b08dbf5256427e9bf28198274a9dadb92b30b7f5adc76cd1 WHIRLPOOL 86380fedcacbd18f13b12f4792b506421726c4226512471eeeda8d085abc89e6b43f54b0301e0cbdb1f3afe6dade84452690576435220c0afc559bcd5f341df3 DIST gitlab-ce-8.17.0_rc3.tar.gz 23031572 SHA256 13ac75ce0737e9e9f46fea59828a0a71f3ad9fc4436859bc68938d4719190ba9 SHA512 c5998f7aeefd65ea46ee6357f15bc6e60253742f6007252bf9a1543f29f8973951f8d0f8d60dba87b08dbf5256427e9bf28198274a9dadb92b30b7f5adc76cd1 WHIRLPOOL 86380fedcacbd18f13b12f4792b506421726c4226512471eeeda8d085abc89e6b43f54b0301e0cbdb1f3afe6dade84452690576435220c0afc559bcd5f341df3
DIST gitlab-ce-8.17.2.tar.gz 22995277 SHA256 6819b8e289b7c23ee1880d935f443bb63896e45f62e2d203dfd87f9b8f90d3ae SHA512 b66b3ee0233641aee27d6cd1748069df8b7a705414f7e5b41875d861f425382f4a7f31639219660db1811fdd0e0655526f7760fb49b4847efb486b37ced11205 WHIRLPOOL ab8c986a08c5cf86b5d4a3a56059827b6c1e561c7c76e72ba3433c589bd3514177019db587eee68aadc1ac0ed8b748e813ccdc2fea3fae9b773979e7829562d0 DIST gitlab-ce-8.17.2.tar.gz 22995277 SHA256 6819b8e289b7c23ee1880d935f443bb63896e45f62e2d203dfd87f9b8f90d3ae SHA512 b66b3ee0233641aee27d6cd1748069df8b7a705414f7e5b41875d861f425382f4a7f31639219660db1811fdd0e0655526f7760fb49b4847efb486b37ced11205 WHIRLPOOL ab8c986a08c5cf86b5d4a3a56059827b6c1e561c7c76e72ba3433c589bd3514177019db587eee68aadc1ac0ed8b748e813ccdc2fea3fae9b773979e7829562d0
DIST gitlab-ce-8.17.3.tar.gz 22821238 SHA256 85299a2e10e57ae988483d1a10503e17703d767f6b757f8b07093f0011c58fe5 SHA512 3d73d2b7d48237777871c0c062e8568e083389fae9ba75a0b648bb96ae638e6f4d1f9f0bddc6ab15c5ba21b5d92da792b0fdb83b94cb89b95824a0c937a32de8 WHIRLPOOL 8532172fd004d9b7831299ebcaa165eabbc732af21ace334f903a894ffd673b078be423f13de1734b1170f5e5c4b104847ae27a11d12802048dab1ba77b755b2
EBUILD gitlab-ce-8.15.4.ebuild 11982 SHA256 db794f18bc0d023a8b6adf49b82c2e37fd38b7206b064a7700289c0cfa16961c SHA512 ca30780d28ffc0242ac5f6ccad178cc44464a81f2d44cb13e53ddf06700d0f39b9fee9b77e356735435079b34090049d50d9019af71e92d6d8faaf3767a39dc5 WHIRLPOOL 42ee8b8e5a2c6fba69ecdbf6e306a87f369fa193f721c73481edc744953bfd210cb4495bc603ba01566efb2b0869ec71284a1f1b1c34d1a124bd08546829ca37 EBUILD gitlab-ce-8.15.4.ebuild 11982 SHA256 db794f18bc0d023a8b6adf49b82c2e37fd38b7206b064a7700289c0cfa16961c SHA512 ca30780d28ffc0242ac5f6ccad178cc44464a81f2d44cb13e53ddf06700d0f39b9fee9b77e356735435079b34090049d50d9019af71e92d6d8faaf3767a39dc5 WHIRLPOOL 42ee8b8e5a2c6fba69ecdbf6e306a87f369fa193f721c73481edc744953bfd210cb4495bc603ba01566efb2b0869ec71284a1f1b1c34d1a124bd08546829ca37
EBUILD gitlab-ce-8.15.7.ebuild 11982 SHA256 fab225a8a8a9373898b5c604ce41ed65c4648c46131798315df833326b006fb7 SHA512 ea17dc9927336aed09ba21e0e1c9c4df2998f941a05ff30e9ef9951b5318bcdfb1d332fa8d285a27f26356a9fa9a5f72da45882ab8edbfa6046ec96764dae47f WHIRLPOOL d51629d3c67f8be2636a2e5cb4bb4d4a7b0402394f47aaa01fc182c29f1d3ee916a2d5bb8086bbe871f41294e348ec024d81a775ba9c30028d8b97d93d637620 EBUILD gitlab-ce-8.15.7.ebuild 11982 SHA256 fab225a8a8a9373898b5c604ce41ed65c4648c46131798315df833326b006fb7 SHA512 ea17dc9927336aed09ba21e0e1c9c4df2998f941a05ff30e9ef9951b5318bcdfb1d332fa8d285a27f26356a9fa9a5f72da45882ab8edbfa6046ec96764dae47f WHIRLPOOL d51629d3c67f8be2636a2e5cb4bb4d4a7b0402394f47aaa01fc182c29f1d3ee916a2d5bb8086bbe871f41294e348ec024d81a775ba9c30028d8b97d93d637620
EBUILD gitlab-ce-8.16.4.ebuild 11982 SHA256 91875777d0953bffddd31318d9c5d4666ba59bd3446804d063c1199c603bd5a6 SHA512 7112bf185f25d90a11ee2a6e9d197c1ce781b49c486cc1afaff002ad66dcec7c9b43c3b9b6c26c62d23bb7e8c0fdd4c527e53a99f9674bb4af1e404454960227 WHIRLPOOL 76bd66e8b7d4ff04f02354cb6cdf3fa0b92ccf2cdcad26cf117f12330b3f3588713fd0d0465da2515750348975eb81daa6e02f984025804b7db50da99f4e8e5e EBUILD gitlab-ce-8.16.4.ebuild 11982 SHA256 91875777d0953bffddd31318d9c5d4666ba59bd3446804d063c1199c603bd5a6 SHA512 7112bf185f25d90a11ee2a6e9d197c1ce781b49c486cc1afaff002ad66dcec7c9b43c3b9b6c26c62d23bb7e8c0fdd4c527e53a99f9674bb4af1e404454960227 WHIRLPOOL 76bd66e8b7d4ff04f02354cb6cdf3fa0b92ccf2cdcad26cf117f12330b3f3588713fd0d0465da2515750348975eb81daa6e02f984025804b7db50da99f4e8e5e
@ -29,6 +30,7 @@ EBUILD gitlab-ce-8.16.6.ebuild 11982 SHA256 2cc7b8f06153f28ebcc34a5ff8e24be79168
EBUILD gitlab-ce-8.17.0.ebuild 12831 SHA256 9556fe5712044ebe473b7ff8b847a4daa5ca1818a0ac714f22afc5725199da72 SHA512 4aaa00f4eac87a4bbe598cde792997e25b137eea9fdaf7e7c8394ec5e2abc54302ed5432efe1c7055dc195ca2599f9027463480c943f108bb399daa2eee833f5 WHIRLPOOL aec29db1dc7236f60d2723ec97444fa437a4f8b3092cbf53305f3cddbb6851a40b1a77a306daf4c9780ffe9a8eed760c580371bf95da66b18d884a32c3e48cd5 EBUILD gitlab-ce-8.17.0.ebuild 12831 SHA256 9556fe5712044ebe473b7ff8b847a4daa5ca1818a0ac714f22afc5725199da72 SHA512 4aaa00f4eac87a4bbe598cde792997e25b137eea9fdaf7e7c8394ec5e2abc54302ed5432efe1c7055dc195ca2599f9027463480c943f108bb399daa2eee833f5 WHIRLPOOL aec29db1dc7236f60d2723ec97444fa437a4f8b3092cbf53305f3cddbb6851a40b1a77a306daf4c9780ffe9a8eed760c580371bf95da66b18d884a32c3e48cd5
EBUILD gitlab-ce-8.17.0_rc3.ebuild 12258 SHA256 179da162a7ff3ab1fc9f3173aff30c59a73005622ccb0fe8ada57f950c9d0dd7 SHA512 b5f244a7a7ac980b1e1c1595b88613cf6f3649591a9430dac0db3a174432648b05707b0e3e79450f5882fb7044aca6bb3778a19566ad6c83c5fd30ee8c09893e WHIRLPOOL 49cfbbfedfcafecfa8a775bf0e3a8a9daa2fcce3a819ce92ab07ccaaa4b3881221cce5ebf4ec9333b9ed7a884717d037336dc644d359137e06fe5df3f51e9aaa EBUILD gitlab-ce-8.17.0_rc3.ebuild 12258 SHA256 179da162a7ff3ab1fc9f3173aff30c59a73005622ccb0fe8ada57f950c9d0dd7 SHA512 b5f244a7a7ac980b1e1c1595b88613cf6f3649591a9430dac0db3a174432648b05707b0e3e79450f5882fb7044aca6bb3778a19566ad6c83c5fd30ee8c09893e WHIRLPOOL 49cfbbfedfcafecfa8a775bf0e3a8a9daa2fcce3a819ce92ab07ccaaa4b3881221cce5ebf4ec9333b9ed7a884717d037336dc644d359137e06fe5df3f51e9aaa
EBUILD gitlab-ce-8.17.2.ebuild 12831 SHA256 b57a4f683a5eafaa5d0149b0256833e329a757ad470e24bba163c57ba841eeeb SHA512 ed84da9ab62d0893b36a2ade744248b663634c5b05b8e8b608d064068c31a3d19a0e4917f932a0a2caee48a8f509359e50cc982c43bd5d1d958343ea5c5637d9 WHIRLPOOL dfb96d29b45adf5d03313fd9dd6cbc39c70a1736272867737f0bf8d429510add4e3fcd77b329690b9393cc506c9387f4342bed001c2bda50901ba9480fe241d5 EBUILD gitlab-ce-8.17.2.ebuild 12831 SHA256 b57a4f683a5eafaa5d0149b0256833e329a757ad470e24bba163c57ba841eeeb SHA512 ed84da9ab62d0893b36a2ade744248b663634c5b05b8e8b608d064068c31a3d19a0e4917f932a0a2caee48a8f509359e50cc982c43bd5d1d958343ea5c5637d9 WHIRLPOOL dfb96d29b45adf5d03313fd9dd6cbc39c70a1736272867737f0bf8d429510add4e3fcd77b329690b9393cc506c9387f4342bed001c2bda50901ba9480fe241d5
EBUILD gitlab-ce-9999.ebuild 12766 SHA256 d6b55d9812c53897bcf8cf37ee53796e82eea3436521a3b49fa9de5b5d65997b SHA512 3291fe592b3c77b9b475e96fae36a32e17a74b883be7c7a46cb07981556c9a914201426d4a5f2602d35acdf375a9400be0af1d4b99ae3da30423f8b85054e9ab WHIRLPOOL 2329daae3eaa008a7e58e780e677647319e6945f0199c32655f0d86958bbb3cae5f32b09238afd784087a187e69f7b13c8d9e07edc127b8ea62e202946de6371 EBUILD gitlab-ce-8.17.3.ebuild 12928 SHA256 8e79b5c6724ef50b00f1c6eb607af6c4dc44a8ea5a7b2735c016726247043c3e SHA512 7d32ef8db701c1d4570b4071a55e61611f3bbff3f308adee84594c43f4089befc1a8ade8d66f7f36a4f9f6fd0f1f3c8fe6172eda663a5e2bd277646d4e1fdfa7 WHIRLPOOL 36a8c32bddeb51e89da1e314375bec1765e238d4fc1f658a492601b2a46d838993dde921570956e6c43086d9d3e09727b83f99e99168cfe95ef2e4fba6b69e6b
MISC ChangeLog 14384 SHA256 0808e6c73143f5c48273b21f09172c4a80e39d21ff8b39f4f4fcd6634e2b3069 SHA512 6276f6515aac9f8d060b842a2100cbe50138045a31d66d7118f8ba003c6c056b09cad7ef5643299ca0fcaf2cb3d654ae39aa3b3fe91e841032417e519d4fe9e1 WHIRLPOOL c47d579e1b0f7c0a478f7f05d3387c8c954684f2789501511fbfad06e6e3a0e35187934c7ba6ee092d8a73bbc90cce6c5d212e161cbad666b0920d07596efcdf EBUILD gitlab-ce-9999.ebuild 12864 SHA256 ae1c00758e08c97414d3fea2ad636be6f01a6d61bac25dad441834316e48152e SHA512 7ee796c04f450733603569cbb7eb351ae145313dec19fbf333563eaad9721af4b03bedd5415471f40bcf42367cdc3eb0cfd6940da6e42284d6e7dae4baebb451 WHIRLPOOL fd1504cf829fdfefc341627f63d3c583304a0b9b7bcfa39b53452f02b13ce859ec3250f0d439711035ef46c7e8adf41c7414fa2a0bb5479fb71c17be8f1340eb
MISC metadata.xml 559 SHA256 6c3f48d3ef57c97bf27790f33ee04bd8de8b01597caa8a2a7a473d6d0a3c5759 SHA512 5aa340b5429795d84cd106ee673fd55a42fd4b0d3299d6b95c6a3e3d50812a9620820a4de5c57d5048af0c3ecec7f575d5856d2f7fadc210aadcbdd4dd040fe1 WHIRLPOOL f3d7b8c0522e09f5156e6bb446bb74e4c75f5da4495ca2ece1eb78afce59307abe01bf3c5dd5344278fcac9e334300d912031c806f51b981591c01bc3588c6f3 MISC ChangeLog 14662 SHA256 943f84ad5c20e417960eabc5d9ff3013d1e89f289afcfa7c81c12c979257946c SHA512 f3e60d56c5e0166e5ee2990313dc8541bd7570fbb332cfddfb588f24506f0360812e5e45eea820000438fdbaed027e07ca9dc5feb0438568a57c52ecd816e319 WHIRLPOOL 2096d793258acea414ed84f8d892d315f3fd7bf6f1fe6d25d7f75364ddffd964e8ff27bb6a8467051cac9d26ebee70162f3f043143317fd90e7d1fa63faa1fde
MISC metadata.xml 665 SHA256 2a0cd67ad42f0cc6d8b88391cf6e3153a9883dab31aae8227c57c95f3f68890d SHA512 64b8fbae373d0a057f705f64c1d097dbfab893bd585e1db65ccdb06cda9569211c9b63fa168ac8de9f6d512a17759ecd20b54d818d2790a6f4c99d0ca73fddc3 WHIRLPOOL a81b21bb46aad9757a502628033eba546c686b83bbf1d651ecabba273c454cfb64574affc180db8358ced87eb638e8ad13d7c79c4cfb9a31e72c577d21ab433e

View file

@ -0,0 +1,420 @@
# 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="f0c970ec5f660fa768ee2b21e378ed3bda770239"
GITLAB_PAGES_VERSION="0.3.2"
GITLAB_SHELL_VERSION="4.1.1"
GITLAB_WORKHORSE_VERSION="1.3.0"
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 ~arm ~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
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}
>=net-libs/nodejs-4.3.0
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}-8.11.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}-8.16.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
}
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_npm 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_npm 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."
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"
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_npm() {
local command="npm $@ --${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 $@"
}

View file

@ -19,8 +19,9 @@ EGIT_REPO_URI="https://gitlab.com/gitlab-org/${PN}.git"
EGIT_BRANCH="master" EGIT_BRANCH="master"
EGIT_CHECKOUT_DIR="${WORKDIR}/all" EGIT_CHECKOUT_DIR="${WORKDIR}/all"
GITLAB_SHELL_VERSION="4.1.1" GITLAB_PAGES_VERSION="0.4.0"
GITLAB_WORKHORSE_VERSION="1.3.0" GITLAB_SHELL_VERSION="5.0.0"
GITLAB_WORKHORSE_VERSION="1.4.1"
DESCRIPTION="GitLab is a free project and repository management application" DESCRIPTION="GitLab is a free project and repository management application"
HOMEPAGE="https://about.gitlab.com/" HOMEPAGE="https://about.gitlab.com/"
@ -30,7 +31,7 @@ RESTRICT="mirror"
LICENSE="MIT" LICENSE="MIT"
SLOT="0" SLOT="0"
KEYWORDS="" KEYWORDS=""
IUSE="kerberos mysql +postgres +unicorn systemd rugged_use_system_libraries" IUSE="kerberos mysql +postgres +unicorn systemd pages rugged_use_system_libraries"
## Gems dependencies: ## Gems dependencies:
# charlock_holmes dev-libs/icu # charlock_holmes dev-libs/icu
@ -61,7 +62,8 @@ COMMON_DEPEND="
>=dev-vcs/gitlab-workhorse-${GITLAB_WORKHORSE_VERSION} >=dev-vcs/gitlab-workhorse-${GITLAB_WORKHORSE_VERSION}
>=net-libs/nodejs-4.3.0 >=net-libs/nodejs-4.3.0
kerberos? ( !app-crypt/heimdal ) kerberos? ( !app-crypt/heimdal )
rugged_use_system_libraries? ( net-libs/http-parser dev-libs/libgit2:0/24 )" rugged_use_system_libraries? ( net-libs/http-parser dev-libs/libgit2:0/24 )
pages? ( >=www-servers/gitlab-pages-${GITLAB_PAGES_VERSION} )"
DEPEND=" DEPEND="
${CDEPEND} ${CDEPEND}
${COMMON_DEPEND}" ${COMMON_DEPEND}"

View file

@ -7,6 +7,7 @@
</maintainer> </maintainer>
<use> <use>
<flag name="unicorn">Use the Unicorn web server. Never tested the package without it, so disable at your own risk.</flag> <flag name="unicorn">Use the Unicorn web server. Never tested the package without it, so disable at your own risk.</flag>
<flag name="pages">Use the GitLab Pages feature. See https://gitlab.com/gitlab-org/gitlab-pages/</flag>
<flag name="rugged_use_system_libraries">Use dev-libs/libgit2 from the system instead of the bundled libgit. The bundled library sometimes causes build breakages.</flag> <flag name="rugged_use_system_libraries">Use dev-libs/libgit2 from the system instead of the bundled libgit. The bundled library sometimes causes build breakages.</flag>
</use> </use>
</pkgmetadata> </pkgmetadata>

View file

@ -1,3 +1,10 @@
*gitlab-pages-0.3.2-r1 (13 Mar 2017)
13 Mar 2017; Manuel Friedli <manuel@fritteli.ch>
+gitlab-pages-0.3.2-r1.ebuild:
www-servers/gitlab-pages: added arches ~x86, ~arm, ~arm64; otherwise repoman
would complain about the most recent gitlab-ce ebuilds.
07 Mar 2017; Manuel Friedli <manuel@fritteli.ch> 07 Mar 2017; Manuel Friedli <manuel@fritteli.ch>
files/gitlab-pages-0.3.2.conf, files/gitlab-pages-0.3.2.init: files/gitlab-pages-0.3.2.conf, files/gitlab-pages-0.3.2.init:
www-servers/gitlab-pages: Fixed buggy configuration: - Logfile was not www-servers/gitlab-pages: Fixed buggy configuration: - Logfile was not

View file

@ -2,6 +2,7 @@ AUX 0001-fix-Makefile-0.3.2.patch 744 SHA256 7efe9ee3cdf0e7e324155d05651f535b39f
AUX gitlab-pages-0.3.2.conf 148 SHA256 2b1d40d38d729a4e705455a2fbe745618c573cdc7159683ebf42f3a28d41a473 SHA512 57ff7ef4f3c5f221e39f8cfd29ab58ccb126d672260ee983d6f1221bfe2cfe5553b4f0187ce384f05fc6694ad31c2f7ae02155d0c21247eccd1d7dbf1632ffba WHIRLPOOL 1cb70bb5a9e6876a58e7cf78a68e9a08a0ae947237a537f7cf93b727cdb69482114cd2c1ccd17e27b80590be11e9904bae81e06afab83066c0d10926d22dd301 AUX gitlab-pages-0.3.2.conf 148 SHA256 2b1d40d38d729a4e705455a2fbe745618c573cdc7159683ebf42f3a28d41a473 SHA512 57ff7ef4f3c5f221e39f8cfd29ab58ccb126d672260ee983d6f1221bfe2cfe5553b4f0187ce384f05fc6694ad31c2f7ae02155d0c21247eccd1d7dbf1632ffba WHIRLPOOL 1cb70bb5a9e6876a58e7cf78a68e9a08a0ae947237a537f7cf93b727cdb69482114cd2c1ccd17e27b80590be11e9904bae81e06afab83066c0d10926d22dd301
AUX gitlab-pages-0.3.2.init 698 SHA256 6751226148f5c8b53bdf3422053115ed6bb6ac3d7795b605617a7733a2b84437 SHA512 10e299febee0a66f03e8debe3f20ad635b52b5238a2ad23f585d30f14d5c0f591825bd892119f564f427e93a539184e39424c8cdc78200b2dbb5d0f588738176 WHIRLPOOL 7142b6a056a0d0a90bb18d1fdc5995c07156e05216b9e5779548427ad6f7aed4cf8eb090acfcbd0a7cc07826c0b6dfc5276ca176a80783d40405d2011a253fe0 AUX gitlab-pages-0.3.2.init 698 SHA256 6751226148f5c8b53bdf3422053115ed6bb6ac3d7795b605617a7733a2b84437 SHA512 10e299febee0a66f03e8debe3f20ad635b52b5238a2ad23f585d30f14d5c0f591825bd892119f564f427e93a539184e39424c8cdc78200b2dbb5d0f588738176 WHIRLPOOL 7142b6a056a0d0a90bb18d1fdc5995c07156e05216b9e5779548427ad6f7aed4cf8eb090acfcbd0a7cc07826c0b6dfc5276ca176a80783d40405d2011a253fe0
DIST gitlab-pages-0.3.2.tar.bz2 205531 SHA256 392b0620871ab36a362f8b8b9008c266eda465e6f32611ccbdbe640cd77ae7b5 SHA512 e452af8a9d2032ccba827a7a165abf324008c585369f74d14a47524eaaa3255a92c38f102e8cf63a86012650da6265aa1a28f0ade5131ebb1df51e6202be0edc WHIRLPOOL d47459d214d1ed9818de534885ea806f092fe2fb02b2aa08b00b95fb9c3f2693b7c9b8d3e5723be55535888e1276ba4dbc24ead2f659677a43d326dcff9f3925 DIST gitlab-pages-0.3.2.tar.bz2 205531 SHA256 392b0620871ab36a362f8b8b9008c266eda465e6f32611ccbdbe640cd77ae7b5 SHA512 e452af8a9d2032ccba827a7a165abf324008c585369f74d14a47524eaaa3255a92c38f102e8cf63a86012650da6265aa1a28f0ade5131ebb1df51e6202be0edc WHIRLPOOL d47459d214d1ed9818de534885ea806f092fe2fb02b2aa08b00b95fb9c3f2693b7c9b8d3e5723be55535888e1276ba4dbc24ead2f659677a43d326dcff9f3925
EBUILD gitlab-pages-0.3.2-r1.ebuild 1968 SHA256 947c1a842bf512d712a73c723adc9db7651041e740a575050ea636b43948d294 SHA512 c7330aaee4252d6c0bde0440d4dace061e59802459efb3da71148c100e71fe6231bb694a5aaf57e8372d5c8fca2ca84a3d359ce86dcb8c918e12fca92ca22757 WHIRLPOOL 68762bc267f336c0ac866c8e782f878d1ad5dd7066fd85bb0d5ed506b8ea9b57f28a801d6e2535869912b93fa2143f13b0155771b3ee0a31cedd3b64a01169bd
EBUILD gitlab-pages-0.3.2.ebuild 1951 SHA256 c3617997d32d94ac44131e048a71f9e99db0243223f3158089154317cb4a3fc6 SHA512 123890a3c2c24d45be2a0e5d5042d8b3fe95fc6a7a51d447056fc08363a4414e47624b9c0744cba922f642fec3cc35952efdfc43bc4c5cbaac24deeb8554b3e1 WHIRLPOOL 7e09a647a1748c41da4120fdf8fd66bdd0a0adbc09a7462ffc7e3c9e5fdadf9036fa27c48272baef45d23977bf004df712aa3b4f11ecee113c4ffc306acbcc18 EBUILD gitlab-pages-0.3.2.ebuild 1951 SHA256 c3617997d32d94ac44131e048a71f9e99db0243223f3158089154317cb4a3fc6 SHA512 123890a3c2c24d45be2a0e5d5042d8b3fe95fc6a7a51d447056fc08363a4414e47624b9c0744cba922f642fec3cc35952efdfc43bc4c5cbaac24deeb8554b3e1 WHIRLPOOL 7e09a647a1748c41da4120fdf8fd66bdd0a0adbc09a7462ffc7e3c9e5fdadf9036fa27c48272baef45d23977bf004df712aa3b4f11ecee113c4ffc306acbcc18
MISC ChangeLog 715 SHA256 1cdc53deb505288e62b3b1fd7f26259ebd5462e6fdc6fc0bff46a41b91d028e7 SHA512 786edeb0f99dfe9a1e604970961ff3bc8f55ddab5621d9c9d3decc8397af5c30d207ea3f432e3b944776913b30fe25fcb986d77df58ea346fd4a86d5684e5977 WHIRLPOOL 7f9bcd41be0149d7f3858c0978dc5ca3d9dc264ec9f6d799351e8bd982e7d7e4f6a2d175d3469f2551fdcaee424a3e1e19a615b4f31b04466e2a3c25e4e3c095 MISC ChangeLog 977 SHA256 78595c7a79bea94352d2a0682caa80db4e94a6a46da0ce9fc5f40642785046b7 SHA512 edc7b2840e3f787a5470dcf9c03789281ebecd3f82a0b90abd8902c51f93610964385687a8c7471c6806f8cbd1e25c6eb6cf5d51987ceac7172e12fbf70b092b WHIRLPOOL e2ff633b28b3439d3a136942b6548f25928ce59a1eedaf06fbce16f7dace5490ec1db61bcff301712f6ec506ebaf0020fbc7cc27ea215dbc45bb5299366f37df
MISC metadata.xml 248 SHA256 7b43be15755627edf5c12cf1b50c607d781558640bf8375d685d51d7ade99a32 SHA512 29f9b96b0a77546cce6a8bffd82fae2fd0939d32a7a05ffd0d91f9250a019a3ddaa599b93988c82daabb9c4c4b284dd947e2c47f6ca7727b8539cffa91bcb8c2 WHIRLPOOL 993013c9878ead35469db13d3072f694a341ee654182e0c31d0678f5dd6de4bdc8d59a0b7bb6d685dc41ea6b55dac518cd8034131baea8002170c680e50304d1 MISC metadata.xml 248 SHA256 7b43be15755627edf5c12cf1b50c607d781558640bf8375d685d51d7ade99a32 SHA512 29f9b96b0a77546cce6a8bffd82fae2fd0939d32a7a05ffd0d91f9250a019a3ddaa599b93988c82daabb9c4c4b284dd947e2c47f6ca7727b8539cffa91bcb8c2 WHIRLPOOL 993013c9878ead35469db13d3072f694a341ee654182e0c31d0678f5dd6de4bdc8d59a0b7bb6d685dc41ea6b55dac518cd8034131baea8002170c680e50304d1

View file

@ -0,0 +1,79 @@
# 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_BRANCH="1-10-stable"
MY_GIT_HASH="7285dc6"
DESCRIPTION="Simple HTTP server written in Go made to serve GitLab Pages with CNAMEs and SNI"
HOMEPAGE="https://gitlab.com/gitlab-org/gitlab-pages"
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() {
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}"
}
pkg_postinst() {
elog
elog "If this is a fresh install of GitLab CI Multi Runner, please configure it"
elog "with the following command:"
elog " emerge --config \"=${CATEGORY}/${PF}\""
}
pkg_config() {
einfo "You need to register the runner with your GitLab CI instance. Please"
einfo "Follow the instructions at"
einfo
einfo "https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/blob/master/docs/install/linux-manually.md"
einfo
einfo "Perhaps I'll improve the ebuild later ... kthxbye."
}