Merge branch '124-gitlab-10-3' into 'master'

Resolve "Gitlab 10.3"

Closes #124

See merge request linux/gentoo-overlay!207
This commit is contained in:
Manuel Friedli 2018-02-18 00:51:40 +01:00
commit 355550f6b8
13 changed files with 782 additions and 4 deletions

View File

@ -1,3 +1,8 @@
*gitlab-runner-10.3.1 (17 Feb 2018)
17 Feb 2018; Manuel Friedli <manuel@fritteli.ch> +gitlab-runner-10.3.1.ebuild:
dev-vcs/gitlab-runner: Add ebuild for version 10.3.1.
*gitlab-runner-10.2.1 (16 Feb 2018)
16 Feb 2018; Manuel Friedli <manuel@fritteli.ch> +gitlab-runner-10.2.1.ebuild:

View File

@ -9,8 +9,12 @@ DIST gitlab-runner-10.1.1.tar.gz 3607287 SHA256 f5bcc173e9694589ee199d9ff7da38c2
DIST gitlab-runner-10.2.1-prebuilt-arm.tar.xz 8554156 SHA256 45e834e16c99378f1b9361349206c115435b8565b8edcfcda13d56d7baf92824 SHA512 6d5158fd7b2e4c40ffeeb1f292b955958526a7370e699a8d0c0ec6b4d321e12e584f04837a707f7f38a2af7e4e073089566dd33bcec8706626dca7eef6f90b2a WHIRLPOOL 6a0f98fcf4e35d88ee49c31ad914fb841d3efb9d47891272eaec78d2f8d8d5e8c2440963742d3e925d4684550f88e2ebe4c5703ad4423523506746af0c0a266f
DIST gitlab-runner-10.2.1-prebuilt-x86_64.tar.xz 10473104 SHA256 6d13458230571770a4950e2a2948a7d9ab2b1efbbb00734798624500d811f0d0 SHA512 9b328687d78166f6791e8ea91bef6ebe11891e7ebda9054dea156da128004b4d6b6439135a20368af7d523ff21981a6f3b60b145ef3cbdb6413511a7746eb0bc WHIRLPOOL b16e4e9a7cb4ed4842616efa1c05afe8244950d0fb0ba487f0c5b043f06a023fe555a398a90e8e4893841e770d3fe7488d6caabed7f6e1af5376eca50d31d7c5
DIST gitlab-runner-10.2.1.tar.gz 3695554 SHA256 530f3281cf99c80136969a1ef9edc60dd726862f5949cf1042e64ac1a2a3ac74 SHA512 c2962586a15c7aaa6c18f500212d67ecb4c4907de8f6e7faac920d9a7714fb51650fb8d81cded71a5c173910c7e5ac61b7d33a6bd0f81faa1b125bee2e242f5f WHIRLPOOL 84ed4fc7a8b04226ba52938458e15b1bbc1417ad0979665ee4b4859504bf9267280efc18e1e3d420788a7ae7a62467b19db906057fc397e54a8894b7113b0292
DIST gitlab-runner-10.3.1-prebuilt-arm.tar.xz 8557640 SHA256 b2579f64edfd67ca80c4604bbe20dfccd8fde11ab47ca873860b123a1bcc964e SHA512 5e2b77827d23a3d3703cef92ad3e69e042c1da3dc58c9c3e9e182a453aaea972a04935e188bd3c44b625c0ae3201214e17b787e71db18f50192fd321b3cf9465 WHIRLPOOL dd2fed8539c89cbc36284f2c8900ef1baf3682e27793351651214fb1b86ff4909b2b22cbec958283210de8dd5614d6285d9e907af824a97ca6b9df44d907ae73
DIST gitlab-runner-10.3.1-prebuilt-x86_64.tar.xz 10471784 SHA256 735498253a39a41959526d811315bef112c586ea01cf8d204113fe9db11f5abf SHA512 115ef90a21af2e4b1b098f904e65eadceaace599e1a45cf1d757ed611be2d8a48d5d53feddf0940dd4cc2d446ebbfa49072e2992a5d246a632ad9ef4a867a0a1 WHIRLPOOL ed7589efa6a2ffcbb1ac88bc8b3ac6eb21b686cc080cb3595f99dc140d7522e1fe5801f2e17c7cbad5916a1635057cd8b42a906d9473fae65fceb6c6f4f076e5
DIST gitlab-runner-10.3.1.tar.gz 3702219 SHA256 6fd684349705d1edd4391be3463442a5b06ac36ec82e11e20b2afa83ac6ee96e SHA512 d49c683057b0b233022a6330ff1e9be712849bab56cece510da54e103e2ee56c5060bd49d08d91c9d7459a3921890720d79befd867a3b58a8ac6ab3e565ec848 WHIRLPOOL 056c306350e2f3ef4b4827d15cb9057e9bc5203984a7b29f84bd3f81bbcf175619830645801baa9b7c67c2362e93bb0e25de1671b33a60a8626b29daa1f1e557
EBUILD gitlab-runner-10.0.2.ebuild 2545 SHA256 59794dd6f33ce0fc0d1c997db7e5e4eaea226485aada8f700e3d183c2284e409 SHA512 4e9e6a93d621f595cc2b20ea4cb49afc0c9c4980b5ba13bec342994596caef0e0272fcd0b2deb087c96beebec283827916aa1b5594337febf592fd0251121327 WHIRLPOOL 5a48199473313fb247f621a8abf146fc794d02316b2cacba77fb3265047cc33115b26f2a21f58fb9648deb85c4c4c1f5190f6f3768bbeb4bc21a1373b5ac52b3
EBUILD gitlab-runner-10.1.1.ebuild 2545 SHA256 7bdf62baddd6a43ee546937f8c87d10bdfda809ddbfd901471c62908c4363165 SHA512 543c36ea54fbfe74e755c17bf0660a9fac7d2841aee17ad99e95816d89606b4934aebee5a6e98621803a4f10a0342c2e9a41d69898c60da202655d1e1da1926c WHIRLPOOL 68f73d719fad6c9c8b849d664f9efb01af27877904e0360515374eb2b1c10f22058e8ae2081faf34f0058dac7579558b8309b089746f802bef0668243ada47e5
EBUILD gitlab-runner-10.2.1.ebuild 2545 SHA256 fc7d7c847bc175f6f74f71f8c0eeef9b4fad9c4d779f79640e6439c907ad0963 SHA512 3ccc5f38b82ef5453724819db7227d3ec234940af8e2a2fdd7b14db199a13e1e2ed0ae55bda87cb0061a0c548bf2acedc940ea3a70dc1dfa5644478df785b97a WHIRLPOOL ed6be446184ccb593c48da4b51336cd5f377f72041014896e2d11b3e2782c0faa36f3513fb5ed0f692eb43af229f71297265d37ed74c52412477cb204c229e2f
MISC ChangeLog 1250 SHA256 36de24297d3f52cc229d3b8b3df3f5c399f46d5ea0606fb1102ed992fd61406c SHA512 60669c86a54b4b0267211f6a1fa15a67d0ea32e5b1cedb1d7e18ab0bf3b40cdee2050f6da9e3bc4f6cb95e455d67ac4e0145cea2382d35a27013ec25bc9ba4e4 WHIRLPOOL 24cff7463f27b2a8d7aca8340a869a58d72f4b5dc39d1f3aecc170ea728dfe976fa5604443ddb67ec28bca5ec4f97c1fd77d86d89ba7cbe6fca7ba60ddb97144
EBUILD gitlab-runner-10.3.1.ebuild 2545 SHA256 fc7d7c847bc175f6f74f71f8c0eeef9b4fad9c4d779f79640e6439c907ad0963 SHA512 3ccc5f38b82ef5453724819db7227d3ec234940af8e2a2fdd7b14db199a13e1e2ed0ae55bda87cb0061a0c548bf2acedc940ea3a70dc1dfa5644478df785b97a WHIRLPOOL ed6be446184ccb593c48da4b51336cd5f377f72041014896e2d11b3e2782c0faa36f3513fb5ed0f692eb43af229f71297265d37ed74c52412477cb204c229e2f
MISC ChangeLog 1426 SHA256 f4a007e0c7de69ddb54b709fddf13cad6cd5e8dc1d19e69ef15d66fdbc5076da SHA512 d5719f9d682259331685f0b1bb465b1f0543dc20f74293a060a1fafc17c3b1f2385a65adc3d5ae653fd9796e67e5ed56b0928b2e43ff0f36d9d03b5e2481ccc0 WHIRLPOOL 1d5aa9fb9e075bba17664e8f800b9ee52c0f96ea1b78734aea9be2f981334f1472b6329acde2bb18ef857645ca5371c17757ef05d46a9297d93214c1efbc4f86
MISC metadata.xml 329 SHA256 f0ae08a64aa32a07486e744ce11ac5448770b7320454015bcd065e312fcb5e9c SHA512 11e4eaf25633c5979e5243350bdf2ddc6d9dca06ab54ec38359591f1d002ea2a224e53b3e6c4ac53b5b2e795a87769fdbd97c547b008272e0a1491141f422e5d WHIRLPOOL ab2c1cb3d9aff1f757b49633f94d4b98da4b83dadab12ab8d869f9e1f6763b3125010147472e58e910e7fc42da262dbd69a1bf3939f3720a79ab4329184b4c35

View File

@ -0,0 +1,95 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit golang-build golang-vcs-snapshot user
EGO_PN="gitlab.com/gitlab-org/gitlab-runner"
GITLAB_COMMIT="f157dc9f"
MY_PV="v${PV/_/-}"
DESCRIPTION="Official GitLab CI Runner written in Go"
HOMEPAGE="https://gitlab.com/gitlab-org/gitlab-runner"
SRC_URI="https://gitlab.com/gitlab-org/${PN}/repository/archive.tar.gz?ref=v${PV} -> ${P}.tar.gz
!docker-build? (
https://${PN}-downloads.s3.amazonaws.com/${MY_PV}/docker/prebuilt-x86_64.tar.xz -> ${P}-prebuilt-x86_64.tar.xz
https://${PN}-downloads.s3.amazonaws.com/${MY_PV}/docker/prebuilt-arm.tar.xz -> ${P}-prebuilt-arm.tar.xz
)"
KEYWORDS="~amd64"
LICENSE="MIT"
SLOT="0"
IUSE="docker-build"
DEPEND="dev-go/gox
dev-go/go-bindata
docker-build? ( >=app-emulation/docker-1.5 )"
RESTRICT="mirror test"
MY_USER="gitlab_runner"
MY_HOME_DIR="/var/lib/gitlab-runner"
pkg_setup() {
# add required user
enewgroup ${MY_USER}
enewuser ${MY_USER} -1 /bin/bash "${MY_HOME_DIR}" ${MY_USER}
}
src_prepare() {
default
pushd src/${EGO_PN} || die
if ! use docker-build; then
mkdir -p out/docker || die
cp "${DISTDIR}"/${P}-prebuilt-x86_64.tar.xz out/docker/prebuilt-x86_64.tar.xz || die
cp "${DISTDIR}"/${P}-prebuilt-arm.tar.xz out/docker/prebuilt-arm.tar.xz || die
sed -i -e "s/docker info/echo false/" Makefile || die
else
einfo "You need to have docker running on your system during build time"
einfo "$(docker info)"
fi
sed -i -e "s#./ci/version#echo ${PV}#"\
-e "s/git rev-parse --short HEAD/echo ${GITLAB_COMMIT}/"\
-e "/^LATEST_STABLE_TAG/d"\
-e "s#git show-ref.*\$#echo gentoo)#"\
-e "s#git describe.*\$#echo 0), 0)#"\
Makefile || die
popd || die
}
src_compile() {
emake GOPATH="${WORKDIR}/${P}:$(get_golibdir_gopath)" RELEASE=true -C src/${EGO_PN} build_current
}
src_install() {
dobin src/${EGO_PN}/out/binaries/gitlab-runner
dodoc src/${EGO_PN}/README.md src/${EGO_PN}/CHANGELOG.md
# rc script
newinitd "${FILESDIR}/${PN}-10.0.2.init" "${PN}"
# conf.d file
local conffile="${PN}-10.0.2.conf"
cp "${FILESDIR}/${conffile}" "${T}" || die
sed -i \
-e "s|@USER@|${MY_USER}|" \
-e "s|@HOME@|${MY_HOME_DIR}|" \
"${T}/${conffile}" \
|| die "failed to filter ${conffile}"
newconfd "${T}/${conffile}" "${PN}"
# config dir
local config_dir="/etc/${PN}"
diropts -m750
dodir "${config_dir}"
# home dir
diropts -m755
dodir "${MY_HOME_DIR}"
# fix owners
fowners -R ${MY_USER}:${MY_USER} "${config_dir}" "${MY_HOME_DIR}"
}

View File

@ -1,3 +1,8 @@
*gitlab-shell-5.10.2 (17 Feb 2018)
17 Feb 2018; Manuel Friedli <manuel@fritteli.ch> +gitlab-shell-5.10.2.ebuild:
dev-vcs/gitlab-shell: Add ebuild for version 5.10.2.
*gitlab-shell-5.10.0 (16 Feb 2018)
16 Feb 2018; Manuel Friedli <manuel@fritteli.ch> +gitlab-shell-5.10.0.ebuild:

View File

@ -15,9 +15,10 @@ EBUILD gitlab-shell-5.0.2.ebuild 3654 SHA256 9f06b267774f58339770844496a90a7b09a
EBUILD gitlab-shell-5.0.4.ebuild 3654 SHA256 6227964f26e195eb914163aba910af177e9d312bccce84783673914c1b6a7341 SHA512 b383072cedf66875317ca90c3daa422e968af6d293bbe2b6efb69e4da91af2ccfc77179ccfa6aa07263ae50f603dab3efc27c36d0c8ac8169b368c9f6474fb75 WHIRLPOOL 9de88e1e7a6d2bc729dbbde54ef40b0046ba698fa1b9874a0751222572eb0d0aa2c9683bc84db44878742d5d4d039d3f96ae893af6a649f73f7c395e932934e4
EBUILD gitlab-shell-5.1.1.ebuild 3889 SHA256 1ec35ad363ec198c9b53974f3410401b559c56814d747941888b475f19479918 SHA512 fdbc2465617043aa2dc813624e513996c7827831abed242fa9dfb2e943825cf710ba65c0d5882a312af64e154f667a82989a787b63e61d0ea8dd81fb4accf035 WHIRLPOOL 3b231de69ff373868a4acbb4df49a6120b443db20f9ab5ecda9902a6f74539b4534a400f86d8de8564fb1d86f71f02aa48e830c18486e08700bbdc2602d2083f
EBUILD gitlab-shell-5.10.0.ebuild 3927 SHA256 bfbbc8298d256f4f1051ab6c3fe59197ea933a798a521940bdae1f884b5954ff SHA512 6d2461f85b1d1232de89471f4e3fe35cbd6d59a5c644913c78c5b7cc868ab035ceec8c96b4973289fefaeb2e836edf7d7cf0bdf7c4364e6e947ba1b32b6c5b85 WHIRLPOOL e44a285e9264875cda07b3bae39fc5f17fd74f9d91927f2dc9d1cd4a34fc310ec2f73808c5096807265fe3dbd94269ce3e03e6b0d5a1ef176cd1236a1c0002ec
EBUILD gitlab-shell-5.10.2.ebuild 3717 SHA256 f0733e56a42e32de7976321a41cb553e6805c7e3d3df41db7180e9a764516b3f SHA512 ae660c8f88b91bd183e786064122ae8e3504efaf5da181b9ad3c2911dd10c981767544a72380b6f23aaf7546b93bdca3e5a7679d54a2d8ee23795e800398106a WHIRLPOOL 72eac46110d8fc2550d52e73cf8577a2c9200b476b6ae1f0fc1bf225af2298b715f7ecb5d0bc3c78bfa75a9bbe39b32aeca036febdca8f8f5ede5c9260593259
EBUILD gitlab-shell-5.3.1.ebuild 3889 SHA256 be4349d3faccc8bda7ec85ad68204de0d525feef55ab9159ba293810ab4c7162 SHA512 2922c2271cb66220432ea0c79b74b2b1015cb55eed3c98845bb8ac15ca6ca2846579802bd832e9b3fa188879b613aada0bdeeca47fce29a6c7bf8d51242e7d6e WHIRLPOOL 2f0aea6989a00f07452e4097436596517bee8fab5b557f2a373d185b76eeeef40c8753e32b32d40f08070cba28e7b59ba86278bf665fa9e19260e799f44d5eb0
EBUILD gitlab-shell-5.8.0.ebuild 3908 SHA256 6f144e30269af1f4b608258da78553f64a1c6fb4e4ad532de4adcc4d93c8962d SHA512 e9131c8d9361a7321837c996b098b515b15cbd93c15067c000a5811d313fb167432bc415a5327a110adc6a92009d52cad78f12311552042c1b214b5df3eae9ba WHIRLPOOL e16d0ea02eceea491c8bc079cd1d4932d83340f1db3a9e249960b57e550ed65903610f0541d89ef616561f83f4c7fc771b1aedd115e48b80c62e72f62d7dbc3a
EBUILD gitlab-shell-5.9.0.ebuild 3908 SHA256 91618dfa168fff385eb362572c8e65e1f72464ea4240b03e60cb554f7c872a8d SHA512 c16e5176dcfc866a696c4b1096b17bf15437ee77db92f28de79990688f146fa38ca2d345d1b3138072626086242f6c3e044a345435ea11ebd0455c3115c8bafe WHIRLPOOL 0b3d586d6c991a20c806ca5a53437aa8eb79eabfa64a26fb839d493052ae2d752dc65ec9626c3c7f62d6de9182d31870eb99c6018f6d490a30962f0b823eccd1
EBUILD gitlab-shell-5.9.3.ebuild 3908 SHA256 27290b4d2d5ceacaf991026c149ea2e1eaa270959490d9a8850596c8e7b4afed SHA512 daa5328dd238804860f8aa52cc4b09c484fc1477dfa6e60aa2fb424e27cc69121dea2c677e02832613ce0bc0023b9b23fe91c53dd455cbe689c6c09bb342138e WHIRLPOOL 8fa05924b1405f79656da46cfe7d22f1631a10ef19629f75fafdec11fe7b6d6fbc0db80ae2a31c81d3c11a9b412f39aa25234e7d5e318b6f4ebbd305af3f6781
MISC ChangeLog 5399 SHA256 412b2056ffc33b31080540adfc5f437cc0366d866dc2404d95796362e6ff6de8 SHA512 6cff16284e35648b629d24a3e6ba3d5b1bab4dc4bd32a2c546954b29f3cf58dc5bc74fd35048e0e0b85c43afbe5f458246e33266276243e2b9bb0b4f0faef6b5 WHIRLPOOL 6b13d2cbe64798d4e7c3a61b5638db16485835d20486b85e1232037c631e6255ba27d5654a62bdfdc170f0948aeb873ea54e627aed599da20f988c5a4dcac9b6
MISC ChangeLog 5572 SHA256 7f452659054ce68f9c7311c0e8e41d9437fb6f979d8dcd76c59c3e6a7c7cb56f SHA512 c8cacc1cdfe073a04e130ea6b310d2356efff90aee29a2589dc7d3ec4e77f048638463afabcc3ff9f45908994f38b32c3afc30477e6ddd6c75f3311c51ad2739 WHIRLPOOL 00c7af0fd46690c9eae9c21c25e7be1272a7dd5be1a2390fe98503f63e8b7b873a6c5482eee395476856ff80af69e32c6dfc8e9a6d2b70f09f991b0a53353979
MISC metadata.xml 248 SHA256 7b43be15755627edf5c12cf1b50c607d781558640bf8375d685d51d7ade99a32 SHA512 29f9b96b0a77546cce6a8bffd82fae2fd0939d32a7a05ffd0d91f9250a019a3ddaa599b93988c82daabb9c4c4b284dd947e2c47f6ca7727b8539cffa91bcb8c2 WHIRLPOOL 993013c9878ead35469db13d3072f694a341ee654182e0c31d0678f5dd6de4bdc8d59a0b7bb6d685dc41ea6b55dac518cd8034131baea8002170c680e50304d1

View File

@ -0,0 +1,132 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
USE_RUBY="ruby23"
EGIT_REPO_URI="https://gitlab.com/gitlab-org/gitlab-shell.git"
EGIT_COMMIT="v${PV}"
inherit eutils git-r3 user
DESCRIPTION="SSH access and repository management for GitLab"
HOMEPAGE="https://gitlab.com/gitlab-org/gitlab-shell"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86 ~arm ~arm64"
IUSE=""
CDEPEND="
>=dev-lang/go-1.8.3
virtual/ruby-ssl"
DEPEND=""
RDEPEND="
>=dev-vcs/git-2.7.4
dev-db/redis
virtual/ssh"
RESTRICT="mirror"
GIT_USER="git"
DEST_DIR="/usr/share/${PN}"
DATA_DIR="/var/lib/git"
LOGS_DIR="/var/log/gitlab"
CONF_FILE="/etc/gitlab-shell.yml"
pkg_setup() {
enewgroup ${GIT_USER}
enewuser ${GIT_USER} -1 /bin/bash ${DATA_DIR} "${GIT_USER}"
local git_shell=$(egetshell ${GIT_USER})
if [ ! ${git_shell} -ef '/bin/bash' ]; then
ewarn "User ${GIT_USER} already exists, but with the shell ${git_shell}."
ewarn "Changing shell to /bin/bash ..."
usermod -s /bin/bash ${GIT_USER} \
|| die "failed to change login shell for ${GIT_USER}"
fi
}
src_prepare() {
epatch "${FILESDIR}/0001-${PN}-4.1.1-config-paths.patch"
epatch "${FILESDIR}/0002-${PN}-5.1.1-Makefile.patch"
# fix paths
sed -i -E \
-e "s|/home/git|${DATA_DIR}|" \
-e "s|[\# ]*(log_file: ).*|\1\"${LOGS_DIR}/gitlab-shell.log\"|" \
config.yml.example || die "failed to filter config.yml.example"
sed -i \
-e "s|File\.join(ROOT_PATH, 'config.yml')|'${CONF_FILE}'|" \
lib/gitlab_config.rb || die "failed to filter gitlab_config.rb"
eapply_user
}
src_install() {
# install lib
insinto ${DEST_DIR}; doins -r lib LICENSE README.md VERSION
# install scripts
exeinto ${DEST_DIR}/bin; doexe bin/*
exeinto ${DEST_DIR}/hooks; doexe hooks/*
exeinto ${DEST_DIR}/support; doexe support/*
# create symlinks to bin
local name; for name in $(basename -a bin/gitlab-*); do
dosym "${DEST_DIR}/bin/${name}" "/usr/bin/${name}"
done
insinto $(dirname ${CONF_FILE})
newins config.yml.example $(basename ${CONF_FILE})
# create symlink for .gitlab_shell_secret
einfo "creating symlink for .gitlab_shell_secret"
TOKEN_FILE="${DEST_DIR}/.gitlab_shell_secret"
dosym ../../../opt/gitlab/.gitlab_shell_secret "${TOKEN_FILE}"
# Gitaly stupidly hardcodes the path to config.yml :(
MY_CONF_FILE="${DEST_DIR}/config.yml"
dosym "${CONF_FILE}" "${MY_CONF_FILE}"
# prepare directories
diropts -m750; dodir ${DATA_DIR}
diropts -m770; keepdir ${DATA_DIR}/repositories
diropts -m755; dodir ${LOGS_DIR}
# GitLab stupidly expects that gitlab-shell is in home of git user...
dosym ${DEST_DIR} ${DATA_DIR}/gitlab-shell
# fix permissions
fowners -R ${GIT_USER}:${GIT_USER} ${DATA_DIR} ${LOGS_DIR}
}
pkg_postinst() {
# check git home directory
local git_home=$(egethome ${GIT_USER})
if [ ! "${git_home}" -ef ${DATA_DIR} ]; then
ewarn "An authorized_keys is configured to be inside ${DATA_DIR}/.ssh,"
ewarn "but HOME of ${GIT_USER} user is located in ${git_home}. You must"
ewarn "either change the authorized_keys location in ${CONF_FILE},"
ewarn "or change home directory of ${GIT_USER} user to ${DATA_DIR}"
ewarn "and move ${git_home}/.ssh here."
ewarn
fi
local auth_dir="${git_home}/.ssh"
elog "Initializing authorized_keys file in ${auth_dir}"
mkdir -p ${auth_dir}
touch ${auth_dir}/authorized_keys
chmod -R u=rwX,go=- ${auth_dir}
chown -R ${GIT_USER}:${GIT_USER} ${auth_dir}
elog
elog "GitLab Shell was initialized. Repositories are located in"
elog "${DATA_DIR}/repositories, scripts in ${DEST_DIR}/bin."
elog "All gitlab-* scripts was symlinked to /usr/bin to be on your path."
elog
elog "You should change your gitlab_url in: ${CONF_FILE}."
}

View File

@ -1,3 +1,8 @@
*gitlab-ce-10.3.7 (17 Feb 2018)
17 Feb 2018; Manuel Friedli <manuel@fritteli.ch> +gitlab-ce-10.3.7.ebuild:
www-apps/gitlab-ce: Add ebuild for version 10.3.7.
*gitlab-ce-10.2.8 (16 Feb 2018)
16 Feb 2018; Manuel Friedli <manuel@fritteli.ch>

View File

@ -23,6 +23,7 @@ DIST gitlab-ce-10.0.4.tar.gz 40040781 SHA256 eef116f75b64b835402a87e3737a3721143
DIST gitlab-ce-10.0.7.tar.gz 40049508 SHA256 890eed75ee502cd6c612756815ac8c854eeee3d00ab3d7bf00ee580db8141264 SHA512 770b747a35988b663f1ffe3b05b317839cc66e9c76e64e51673d066787a42acbb688b739fe9fe3a6dc787f2e44d6fbd99388ea0a20f103bedc631ed0054401f4 WHIRLPOOL 0de51582532936620b4140013f87652e7581956fd6e662d83e53ed024699ff70c2c52fbb863f8052c5df36bd5b63cff0cc6fd9372c97ea2265aa1242a2d6afdc
DIST gitlab-ce-10.1.7.tar.gz 41749804 SHA256 d04dca23289adad80ba239d993aa67dcd14f50a1b935d91136247124e8b5f1f9 SHA512 3ebf8ab1e57ef82caeef940264a6f755e091717879d7ac36ce786155440ebd1264fa3320012cea4d1e6c319926a818cfcb19740fb765f069d5d18841ac1c0a21 WHIRLPOOL c91234ffd82c5e7380afbb49e3a6cd848d7744dc299dfe039fa02485e4d831fc24247e7613d5dd20d4e9752015f59c0638ea95f4eaa96afe50e8748eca0a7ad5
DIST gitlab-ce-10.2.8.tar.gz 42393303 SHA256 4314e87513684dc08f67c3d4be5f5f26502ae9963793a9abd8ba8cb4cc0b0a48 SHA512 cdd30f8500d1c902c42fd60b155143dc76ebc9990cc9c515ab2229f678feedebf6e1c7bd9c2c59b374cea2259eb7ad1384f50184787f45381afdaf3eb8e82803 WHIRLPOOL d5bb64d4f4254acd6a675dda653490ed34560f331d47ff9ad294dd042a515d8d3b14345a7950754f2d7c7ad676fb4328a76bf1885c91bec540c26b4edaaa5b14
DIST gitlab-ce-10.3.7.tar.gz 42852145 SHA256 383485d773ef506c7d8b0d2a6b4f59ba53bd638639c6ebec0282808b0f4e3701 SHA512 f4488e5a02067ebfbc9dcc0d1e0b06eeb047ea793c5e5c286e54c2fcee56d88f0a4b4dcbae66319a63960e7737ff134ab615764524fb7bb5bf017b0d035a55e0 WHIRLPOOL 051981082d07726abc0c98b2070e26aa2770bb2ce38e37d4711c69745cf704f7c3ecec577bee840f331bae456c5d6c0e43a4e7527bb845541c43ec4b40874d28
DIST gitlab-ce-9.0.13.tar.gz 26366204 SHA256 056c98acb558776a2919b1aa501cb5303e66eb3cfe1d54b26988492be1c3816b SHA512 42fae9a01adc1eaac8e59b4ddb5f1d7c11d409dab32b84bf9849eedfed88bf87f7d36d0f9687f253424e2eacdbf83b3560bf9e64baa1533e4b1b6ff6e3be65e7 WHIRLPOOL d5c312d3f63057786ad28b2fba328d7a0593a5140aad617067b0aa0319d741f36ff32e573a436bf663f0f56d820b02fea5e22a430355856268306582fb62396a
DIST gitlab-ce-9.1.10.tar.gz 30516975 SHA256 37cfd9dafcfbcd432d7d7a3abc6889bcd35321fc00b717f4810bf432791b0243 SHA512 81a7b9836aafcb348b6c38d8c19917053fc7a6adc6328d4b05215aa3d5c698adb708068d36bdc82df61e5b2d6b269c0ba8682b4994fa4a36b98fabe5b17e5f07 WHIRLPOOL b0affc921e0b41faabe354805fbcbd56a5839f7eeb880c00c2f10b68b0f2865b8e39ed58cfd99f6b6d0f2517bd465ff3f227fc6f17e1c1e17128299f21a911f2
DIST gitlab-ce-9.2.10.tar.gz 30988788 SHA256 a30e9d08d08433713df958d447a76cf2ed16344c7de56614f2849e8caad3e3b5 SHA512 fd4602c86edaf3060e1f5b8c8d6c5e4d40ec64f7f3d2519008b8c096720016c9a0dc6357bc464e72e4b52b25bd12ab26a4166898fba608383b4e4647ad49782c WHIRLPOOL f6b79e71f906c461ed89bd23bd537ae640b55c6727d7275e16ecb3b7349957f1461138d8fef5163137cabae59dccfdd8c4b22bd425800bf2eee3b732fd9a2908
@ -34,6 +35,7 @@ EBUILD gitlab-ce-10.0.4.ebuild 13526 SHA256 0fa438ddcca42b2ec6090bdb587635c8e82c
EBUILD gitlab-ce-10.0.7.ebuild 13568 SHA256 c164db3f0af93824bb97992b20b0bc5415bbc701c80469593038c773c453b976 SHA512 ba702162d9fad73d46953649c9faf913069f2059fbd253d8019224c1645c56cb6c0ec69893be6238e42ee3d54bbcd9a22343eece1975e084d7ff73d4efbb79dd WHIRLPOOL 37f6ebb5c9e4a60df200272235dca55819b81936cb8f74a43fff7a79a3330666587d082e18cdca20ecd610eea0b18c86eadf183353f83e72606d1ccffb756949
EBUILD gitlab-ce-10.1.7.ebuild 13679 SHA256 9c1bec7e86d46422f87baecaece80197c506b758eab28fd85fc214512ff67e3c SHA512 6958f3f67b7d8729519175337b5e411b9d32fa3e7348105870d5f35c938e905cc60e7af23802b1b5835610c72e9a76ca50c229f5d862403ffd5065e82ee39d25 WHIRLPOOL 6caf644203291c7903f7c67a93e3f11a3f8d632e01384390742bc8b1fc4068e494f750c44817f0143a0f6eeaadbb4a7243c4194397fded59956363b49bd32ae4
EBUILD gitlab-ce-10.2.8.ebuild 13681 SHA256 0e02e1a51f335872facce2751aa23d8ff5b9cd8aa7359fed1cd0f5a3ed5bd1e7 SHA512 805d6a717b0dcdc6551f549722abb8322a51d6cee1eb807dabac1fe4b98ffd32fcf3667d1de7f845a08e9dfb72afa257c51c6382cbc48f5f23fe15b027724dde WHIRLPOOL 1c48b8ea54d65d1d2ea001c6af45c0a76f0587d815353675ce36245c721f4b2d9c5b48c608fe632743863f5db859c5ee0c96b95fe6b429fcdd7053d4e8fb86e8
EBUILD gitlab-ce-10.3.7.ebuild 14085 SHA256 cbff8442516b815e386974191d48464202b3b4f93e5d4688a71de08fadaeb89c SHA512 311e256f675c6cbb8e374448858e0adcfecd6a5432c4384a5d9c302a3c82dcab0aab0eb9a79d90f8f770dba0d1d984f0b7e3d53ce1e3b2c4c915aaa2facdbdd7 WHIRLPOOL 29674dc1a54311518047df70ecd21971b642bc7b8511d8c6ba3f754b7beae3de10c289704dcd214c7c5cf76f60772117c2649daac4d691b13387d758d2fb3f36
EBUILD gitlab-ce-9.0.13.ebuild 13139 SHA256 ecdcd1d6ca3999eb4b299628bac4c97a231cfcf682569cc1a0c11241cfcb6099 SHA512 8a6b8f3f05f54a752d57651b34ba4f6310e6695ea6eea1bbebe4a1dd38aa9ea0e9030bd59448a886918e20ea81f1b167236712e21fb6c43b7fb50b79565e2d87 WHIRLPOOL 0873a646dcb208e8c006e0e587fc03003594fd00e790e22d89839c9ffb8b7403a2df7b306ddfb817ea10a32e58d095d97989591de18ca78782bd468ae1fb8bc7
EBUILD gitlab-ce-9.1.10.ebuild 13295 SHA256 a69c179d072e76597091d825956bc308a25757a95406444a95a4ccbe9fe8ee9e SHA512 cc01ae887bce9e838eb020c7b414de4f80c5cc94762bd7c65fc5f6ab732b3ac7447f3f136b054557a5a93d09ed946b821d027fe29d7fdeea6eaaa6fc336cf394 WHIRLPOOL 1778e46da386704fbecc9e62769b9ab6ccdb40ee1028ef33607b4668e3fafbd0996ff4397128d8320098e3bf5c8f1d47a227e3c61a73a26a63663223790c8107
EBUILD gitlab-ce-9.2.10.ebuild 13040 SHA256 ace7b7561f499e43c19284153358b718275ac55792650391f39fa4ab89941c20 SHA512 22c8723251fefd50739ac082f04c377543f659720346cd29680d4956a2d6a37bb27b2c6beb723c09f49d7e478375e6679940f63f43c644564155a0eaffe300ed WHIRLPOOL 9601c5fcdc9b8d753a58ea4b4606957f3d09e63834335703896f55b16c41df7b81ef00b64e57f4409322789dcaa3745d60b31a973950c99037895d71a38ddaf2
@ -41,5 +43,5 @@ EBUILD gitlab-ce-9.3.11.ebuild 13699 SHA256 e56490b1f59cf32e84d65ba3c91231c07a41
EBUILD gitlab-ce-9.4.7.ebuild 13526 SHA256 5078d51dcca18d9c5380bff25d494437506482beb4e586727b577f1c475363ec SHA512 244e178828910739018fa794c9f03c8f3b0411e45298800eaf828099f9d468b01d73102c9183ce6552d4ba208c086e5b4de85b4e0427e5502b9a54d56cb6a636 WHIRLPOOL 0306b7fc67f570d2ece6cc321461604c2be4fe886122750a481c6573800bbb4164c4cecee54a29a408b1eee17aa479a54271b395575d2d606dbd2ec3ddc4a1ae
EBUILD gitlab-ce-9.5.10.ebuild 13526 SHA256 6e7c361f31989dd608eff4c8dd01b7301b142b4d38acdf38e61e2eecb2d4b285 SHA512 e33e56c8e49bd2ef03dd9af508b186f7908b8502960cbdb95ca9166631b84d5357c4965c0919e432ee5de9b9eeb33f68773ac405c24430568f9abb0d8e7354a6 WHIRLPOOL 3e866d785e8018096a92a223a2f6cedf4398cc07726a183d805005b3cd718fed2296edd63f5bc9d2b8849fe2298e9a61bf998a2241de2cd5ab4527f8ddaed325
EBUILD gitlab-ce-9999.ebuild 13468 SHA256 ab13060918b09a67f3f0c653a3836c1077933c606e5ea4e3416fde204aa530af SHA512 f14bc61622929dc57460fd7e4b3d965437fdc44706c52608a6b278021960bb70b62f81a6dd38beeb134c0f40ef29a81e07ea5a49c9a7a8e7ab63f55529231cb8 WHIRLPOOL 204d2f97890f2868b9f890fcc9b03d3c47c6916e52af341cf946e197acd8c2287409a5a1e525183a62fec9588eaa21b9d3ad30bba3b12267aa4c9e1163ca7fb0
MISC ChangeLog 25899 SHA256 f59dc17469898c39b749dd8ca802123585790c2467c1f3a66fbc8129fd035035 SHA512 fc43a3374e811f74b88102db461cb1b31a3ff830c7c770604f346e372867595ad8713ee3afb3c60c3df77a7e1be7504dc1925e48111176e3573155f197dc6e93 WHIRLPOOL f1394d10f61611b5c539086890910ef03651bdab21dead81b60e90b0a30257128ca9f8443e5c8a3929805dfe47ee53984d46c852431d444258aca776b4fd6830
MISC ChangeLog 26064 SHA256 8820edb5b622f84bedd3dc859312642a9efc672eda16f3d6517424a0af71e118 SHA512 269983d651bf8c7e1e67d9a32d29da88b7f01754b58380e18dabded57374a49b4be4651659026373d14b51d8d3d3ea2441aeab5e274dc236eb0a02d584e0e72f WHIRLPOOL 22267d14138614165b9c5cb4407cb46ed7be44ffaa2f5346b6dbffe9b684fe7b733191d344771d89c2fd059ec58ecfe9724d616bdad366a6b616fde929ae0580
MISC metadata.xml 801 SHA256 3dc7486a12903f47f65968d524c93500ba30a4a09fa57e5a9dacf356509b44bb SHA512 e132754b72e64246531fa883400a0cf1a473ac5a6a49623db58ccf118a038b7cf37df03d9550f37b4a25f9ddbb1dcc5652ec9a4f2259d8e3ce202692c4025f41 WHIRLPOOL e9d961681fd790008eaf80fa07ce2c55a00a58f2e920d759793783ca8c8f508602a777e94c0cb65fe87c7dbef0cabdf26e4f4082584421097d939cbab20c4ac6

View File

@ -0,0 +1,442 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
# 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="ruby23"
inherit eutils ruby-ng user systemd
MY_PV="v${PV/_/-}"
MY_GIT_COMMIT="586669a02ee7a18635d8e590117ac9e2bd9b62f4"
GITLAB_GITALY_VERSION="0.59.2"
GITLAB_PAGES_VERSION="0.6.0"
GITLAB_SHELL_VERSION="5.10.2"
GITLAB_WORKHORSE_VERSION="3.3.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-libs/re2
dev-util/ragel
>=net-libs/nodejs-4.3.0
>=sys-apps/yarn-0.17.0
postgres? ( >=dev-db/postgresql-9.6:* )
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
~www-servers/gitlab-workhorse-${GITLAB_WORKHORSE_VERSION}
kerberos? ( !app-crypt/heimdal )
rugged_use_system_libraries? ( net-libs/http-parser dev-libs/libgit2:0/26 )
pages? ( ~www-servers/gitlab-pages-${GITLAB_PAGES_VERSION} )
~www-servers/gitlab-gitaly-${GITLAB_GITALY_VERSION}"
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.15.4"
#
# 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
#
PATCHES=(
"${FILESDIR}/01-${PN}-8.7.5-fix-sendmail-config.patch"
"${FILESDIR}/02-${PN}-9.0.0-fix-redis-config-path.patch"
"${FILESDIR}/03-${PN}-10.2.8-database.yml.patch"
"${FILESDIR}/04-${PN}-9.3.0-fix-check-task.patch"
"${FILESDIR}/05-${PN}-9.0.0-replace-sys-filesystem.patch"
"${FILESDIR}/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
local run_path=/run/${MY_NAME}
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/|" \
-e "/path: \\/home\\/git\\/repositories\\/$/ s|/home/git/repositories/|/var/lib/git/repositories/|" \
-e "/gitaly_address:/ s|/home/git/gitlab/tmp/sockets/private/|${run_path}/sockets/|" \
config/gitlab.yml.example || die "failed to filter gitlab.yml.example"
sed -i -E \
-e "s|/home/git/gitlab/tmp|${run_path}|g" \
-e "s|/home/git/gitlab/log|${LOGS_DIR}|g" \
-e "s|/home/git/gitlab|${DEST_DIR}|g" \
config/unicorn.rb.example || die "failed to filter unicorn.rb.example"
sed -i \
-e "s|/home/git/gitlab/tmp|${run_path}|g" \
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}"/
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-9.3.5-sidekiq.init
use unicorn && rcscript=gitlab-9.3.5-unicorn.init
cp "${FILESDIR}/${rcscript}" "${T}" || die
sed -i \
-e "s|@USER@|${MY_USER}|g" \
-e "s|@GITLAB_BASE@|${dest}|g" \
-e "s|@LOGS_DIR@|${logs}|g" \
"${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 "You must grant the GitLab user permissions the following on the database:"
ewarn " mysql -u root -p -e \\"
ewarn " \"GRANT TRIGGER ON \`gitlab\`.* TO 'gitlab'@'localhost';\""
ewarn "PLEASE also read this document about needed migrations on MySQL:"
ewarn
ewarn "https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/install/database_mysql.md"
ewarn
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
if use mysql ; then
ewarn "Please only proceed if you've read and understood the following page:"
ewarn "https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/install/database_mysql.md"
if [ "${update}" = 'true' ]; then
ewarn "Failing to follow those instructions may cause the upgrade to fail"
fi
ewarn
ewarn "Press any key to continue, or abort with Ctrl+C"
read
fi
ewarn "Now is a good time to create a backup of your Gitlab installation, just in case."
ewarn "To do so, abort this configuration with Ctrl+C and type the following commands:"
ewarn " cd /opt/gitlab"
ewarn " sudo -u git -H bundle exec rake gitlab:backup:create RAILS_ENV=production"
ewarn "Then, re-run the configuration step. If you want to skip the backup, press any key now."
read
## Initialize app ##
local RAILS_ENV="production"
local RUBY=${RUBY:-/usr/bin/ruby}
local BUNDLE="${RUBY} /usr/bin/bundle"
if [ "${update}" = 'true' ]; then
einfo "Migrating database ..."
exec_rake db:migrate
einfo "Compiling GetText PO files ..."
exec_rake gettext:compile
# https://github.com/gitlabhq/gitlabhq/issues/5311#issuecomment-31656496
einfo "Migrating iids ..."
exec_rake migrate_iids
einfo "Installing npm modules ..."
exec_rake 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 "Compiling GetText PO files ..."
exec_rake gettext:pack
exec_rake gettext:po_to_json
einfo "Installing npm modules ..."
exec_rake 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 $@"
}

View File

@ -1,3 +1,10 @@
*gitlab-gitaly-0.59.2 (17 Feb 2018)
17 Feb 2018; Manuel Friedli <manuel@fritteli.ch>
+files/0002-gitlab-gitaly-0.59.2-fix-config.toml.example.patch,
+gitlab-gitaly-0.59.2.ebuild:
www-servers/gitlab-gitaly: Add ebuild for version 0.59.2.
*gitlab-gitaly-0.52.1 (16 Feb 2018)
16 Feb 2018; Manuel Friedli <manuel@fritteli.ch> +gitlab-gitaly-0.52.1.ebuild:

View File

@ -3,6 +3,7 @@ AUX 0001-gitlab-gitaly-0.23.0-fix-Makefile.patch 253 SHA256 e1a3d0ea2d10145dd9d9
AUX 0002-gitlab-gitaly-0.11.2-fix-config.toml.example.patch 700 SHA256 7f5c3f840581c2c2e98741ad6fcb9b486948dbcd80f52f4c45538b9fe9009087 SHA512 e89636c4e38697fad62553e8b07677fdc0fef5b83249ce79f748e1da7300c28514cdbf7a182232ced95222c9578cc9028de5e039b82f31175c22d840c83c0286 WHIRLPOOL 2b9c2b2b96da648b5f71a4ee8940c2a0a148e9005178e012afc73dd7709a5c407e04240adfb96a4ea3d2384248a23682a8d5727c967ddd5368f0d2d3b38d24e5
AUX 0002-gitlab-gitaly-0.35.0-fix-config.toml.example.patch 1015 SHA256 44cd87bb35224634ef9832f2d1e79de2ab27580101665a049eaf20f5ffae590d SHA512 9110e6f42babac04c98227ecfff3a961ec35fe6c487559e5a638676f409dbf6b0b133524b092322085cb7c7c41c5fc729c7b6be80bae10931efd5785172f01b2 WHIRLPOOL 8b0f1aa8c8c9c2ea4a8a5dbfd1e5a00603d587209b0967be82a9d78d0eabe4d350ac44fce80bfc9dac77ea2c0ff5d0f954e8cb4fb50ee778fb636599b1d8456f
AUX 0002-gitlab-gitaly-0.43.1-fix-config.toml.example.patch 1095 SHA256 3e9558a127675bca052a9219265572504729380087665f2cd681c44d5545f101 SHA512 1ee6b6a127a6f7e82970c2e4270b42427a88bfbca5ba9d979d6667381d2a6cf934c77cc6e2f47af24a2810e0427285565bc42a0d26c36649a9177b917ac5a424 WHIRLPOOL f96a7dd2952d5a8d7652d5e6966c4e2d85c3a9785e824108068fab158f5871cd1a0ca0f88f563478c4f937ba2d9e3df489611d07c092ff0c4c9b6668f0abb5fb
AUX 0002-gitlab-gitaly-0.59.2-fix-config.toml.example.patch 1183 SHA256 edd4dc6f1d1b56bfc902d79c0abb2d3b85b69cfe3b90e4250b804fafe00f49c3 SHA512 4a9bf3222e442fcd76cf62921a7f184e67784532c2c4706f3f7d3d1b7a13c874520dba6ef629d93aa1514ce3483827d1a11cf7a04ae530fb4ed67844be1e9353 WHIRLPOOL a93af879b93415470e41449390388f908dba17dc1ea5f4e47e5bbe80fcac11f85c64ce18899aa2ee084438598e24e2ddc72076c0d63bd8fc61de4f2ee8ee2cc0
AUX gitlab-gitaly-0.11.2.conf 289 SHA256 da2640e0ac6a3f356d68f2825c78a1965703df292cd6631b2e884e1a9c7ecc87 SHA512 86f2b4dd283de117c3a371a98a1472d248a21a2c931be6644bec2406249e000fe2e55d031b523d6e64fa2eaa3addad27704f338f65cad6b559680c5c327b9614 WHIRLPOOL 18cb38b35c9a79c6eaaa15ed9bbbeb6dc502a0291f3bff2bf1f59a950556c4c3fd3742a4097ab784c1e9a12d2209b336f2bf688b0888e13bb1b7f78219bb6d87
AUX gitlab-gitaly-0.11.2.init 631 SHA256 32257b9e72c2ee201e5104f6eafc134920237f0f5465110edda4778dd92c17a2 SHA512 a0bf57f392a75b1a2875837ec1ad47b61317c6ae530d12e60ae3f62f69b0fb8ef48499b31751fab788df1a6ab842926a73443795a5888258f62e473e2953299a WHIRLPOOL 8185d1927c021be4b3de7c4e0228c68cba558b35c0894c6b17de7f24ebc42dd771593b2d9169f27c5a1ada90e14b2fdb651521ddf39660a77dece586c7f1d348
DIST gitlab-gitaly-0.10.0.tar.bz2 693273 SHA256 44a4a68beb75b464b35fd003cf47a9bc483bb6bbcc8ab4bd4ef87a75329a3747 SHA512 1d7b2d38d68ceaacde03d0ba2cbec19f730527af6a0d56fd92c03f41a4d11c4e5db5c5cc2bd363a8ccfc0f5bf3fb678aec4b17e5996ccc7f1898a78e4598cc1a WHIRLPOOL 737ff05c6992e90eab9ba38a721cf699d87ea1ef84005dbaa16d37ef3c33cec9607571b0421412bba3efd2bf88267ff7d624e57ac92cc08b14c3b8801779c455
@ -16,6 +17,7 @@ EBUILD gitlab-gitaly-0.35.0-r2.ebuild 1143 SHA256 f27758444fefb15b9ea55cc9be68e8
EBUILD gitlab-gitaly-0.38.0-r1.ebuild 1035 SHA256 c667625968e0cb0530679184353724687bc193c0a8166fea0d9f8a516ce6db40 SHA512 e585a18c64a2e8aca2796c45066e1b1113cba9320a47f9af638fce171ac362060edac4216e7259628433e5b5facaebbf876bf807dd99f80ebd8c88e7cb726992 WHIRLPOOL 7f329f60fce603e61ebf90cc2aa0182d58574d449f096f3cf59c4751f1db9d5eb856d1fa0ee67c565d392261e45c784e25a3b4014f9a44857c31ca04af8cb70f
EBUILD gitlab-gitaly-0.43.1.ebuild 1073 SHA256 594e68b869e53fe6fbdcf8fdade3889f55883b8b4ab17a2b064b3fd12a1ef739 SHA512 e3e7f045aa0565267bb516f685685c704841b5186dcca1282274ddd9392b734ac7808cb99d587ced3c87a357dc5af02bca99056386f0db0f9ecd07bba9e6e18e WHIRLPOOL 1329e9b461fe5c7386aa127a815602c655f8411a030537de9a247ea033723cfd60eb00a38e39cb775c985607b90b0e30fe55a9ef6856b49204a2ddc8427afa1c
EBUILD gitlab-gitaly-0.52.1.ebuild 1073 SHA256 594e68b869e53fe6fbdcf8fdade3889f55883b8b4ab17a2b064b3fd12a1ef739 SHA512 e3e7f045aa0565267bb516f685685c704841b5186dcca1282274ddd9392b734ac7808cb99d587ced3c87a357dc5af02bca99056386f0db0f9ecd07bba9e6e18e WHIRLPOOL 1329e9b461fe5c7386aa127a815602c655f8411a030537de9a247ea033723cfd60eb00a38e39cb775c985607b90b0e30fe55a9ef6856b49204a2ddc8427afa1c
EBUILD gitlab-gitaly-0.59.2.ebuild 1073 SHA256 a9899ddb752550e82510d101a93286cb6b872b8faa53d008e55af3ddc2d2e685 SHA512 da7ba77fe0a9234c5e4f5994a3c7fa9c11a93cdd6f9cff3ab5a658f6a9385a0bea8f00cee878a43c9580632c9837c305b293e8609f3e284b958f7b514ef10c81 WHIRLPOOL e4b12a160c2cfc08da4fd36fcbde8dcd1f383acbd5211c50dfcea1610e4e5105ca9720f9f8c34a7ab41fe2c33a77d3129ae527fd94f3b8d0259e9c2e4ec9a027
EBUILD gitlab-gitaly-0.6.0.ebuild 769 SHA256 601ca500d12250325bf6f924d53b28cb120cc75da9b9e1d83cd4c9317aa1ee91 SHA512 1263c919fb3c126a0ba5dda2b9da45b0a16b6bb703ec4260b11b40463fcfedd1249389272ab638d25ced351a63c0812c0cbc7ea035f9c2250d2eb79786424c2d WHIRLPOOL 261dfdd551dad839d687b2092027de33e95142e1ed7336fd6513742044ff219353743988aefad8e5da6850a8e1c8d5b44baf08c6702960a829673cfc5580e152
MISC ChangeLog 4772 SHA256 b9da1dd32bc93b63482d0942a3aad179c47540793e31026f00c7b9c8c209c69b SHA512 c536758090c57f0c63bda2fcf282cc0548486adab02bcb4d638b63192a8a705c31723bf9c8764616b8a2c5ea508a58a687790144739951f336f0db086e2f1c61 WHIRLPOOL 4363a5a5625dbcec90b975d362cb55528e470b8393e47216c59931458fa376ee307103e3bbb84163ce48aabaceb3d95179aa3a7c230f010631369c3e4bee0815
MISC ChangeLog 5020 SHA256 198eaa93db9ce37a1cb442811ad6c54c72faf6c41d730bc6d88c9d59b04644a4 SHA512 26202dbd0a5907dd6bc236551023bbdb2ee75e431b52e0309a1af85cb1ac80f59a5d68f4fe86f639276224b27582acf78ff3e8bc62387086b225b1a77ded61e8 WHIRLPOOL 88a7573a71b0ee89b1d5197c8c1fd3e8dfbff55cd8858aa1ab004e3ee860a1748f3981c19d1cce7322ae80d7c06caa1cbbb49658ab18d8f3bb5e5ec26d1e3187
MISC metadata.xml 248 SHA256 7b43be15755627edf5c12cf1b50c607d781558640bf8375d685d51d7ade99a32 SHA512 29f9b96b0a77546cce6a8bffd82fae2fd0939d32a7a05ffd0d91f9250a019a3ddaa599b93988c82daabb9c4c4b284dd947e2c47f6ca7727b8539cffa91bcb8c2 WHIRLPOOL 993013c9878ead35469db13d3072f694a341ee654182e0c31d0678f5dd6de4bdc8d59a0b7bb6d685dc41ea6b55dac518cd8034131baea8002170c680e50304d1

View File

@ -0,0 +1,39 @@
diff --git a/config.toml.example b/config.toml.example
index 10f8cce..09add0c 100644
--- a/config.toml.example
+++ b/config.toml.example
@@ -1,6 +1,6 @@
# Example Gitaly configuration file
-socket_path = "/home/git/gitlab/tmp/sockets/private/gitaly.socket"
+socket_path = "/run/gitlab/sockets/gitaly.socket"
# The directory where Gitaly's executables are stored
bin_dir = "/home/git/gitaly"
@@ -19,7 +19,7 @@ bin_dir = "/home/git/gitaly"
[[storage]]
name = "default"
-path = "/home/git/repositories"
+path = "/var/lib/git/repositories"
# # You can optionally configure more storages for this Gitaly instance to serve up
#
@@ -40,7 +40,7 @@ path = "/home/git/repositories"
[gitaly-ruby]
# The directory where gitaly-ruby is installed
-dir = "/home/git/gitaly/ruby"
+dir = "/var/lib/gitlab-gitaly/ruby"
# # Gitaly-ruby resident set size (RSS) that triggers a memory restart (bytes)
# max_rss = 300000000
@@ -53,7 +53,7 @@ dir = "/home/git/gitaly/ruby"
[gitlab-shell]
# The directory where gitlab-shell is installed
-dir = "/home/git/gitlab-shell"
+dir = "/usr/share/gitlab-shell"
# # You can adjust the concurrency of each RPC endpoint
# [[concurrency]]

View File

@ -0,0 +1,39 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
EGIT_REPO_URI="https://gitlab.com/gitlab-org/gitaly.git"
EGIT_COMMIT="v${PV}"
inherit eutils git-r3 user
DESCRIPTION="Gitaly is a Git RPC service for handling all the git calls made by GitLab."
HOMEPAGE="https://gitlab.com/gitlab-org/gitaly"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86 ~arm"
DEPEND=">=dev-lang/go-1.8.3
dev-ruby/bundler"
RDEPEND="${DEPEND}"
src_prepare() {
epatch "${FILESDIR}/0001-${PN}-0.23.0-fix-Makefile.patch"
epatch "${FILESDIR}/0002-${PN}-0.59.2-fix-config.toml.example.patch"
}
src_install() {
# TODO fowners, fperms on config.toml.example
insinto "/etc/gitlab"
newins "config.toml.example" "gitaly-config.toml"
newconfd "${FILESDIR}/${PN}-0.11.2.conf" "gitlab-gitaly"
newinitd "${FILESDIR}/${PN}-0.11.2.init" "gitlab-gitaly"
into "/usr"
newbin "gitaly" "gitlab-gitaly"
# install gitaly-ruby
insinto "/var/lib/gitlab-gitaly"
doins -r "ruby"
fperms 0755 /var/lib/gitlab-gitaly/ruby/bin/{gitaly-ruby,ruby-cd}
}