added ebuild for gitlab-shell-2.4.0
This commit is contained in:
parent
0457729c52
commit
13f760d7d9
2 changed files with 132 additions and 0 deletions
|
@ -8,6 +8,7 @@ DIST gitlab-shell-1.9.7.tar.gz 18833 SHA256 1e0c4f77dcd7de6a7d91f7889aaf8961ed2d
|
|||
DIST gitlab-shell-2.0.0.tar.gz 19880 SHA256 da6caeca56889464055edf13e7617a4c4c85df1d0da66d3105babb962f755fe7 SHA512 87467b12b5e41f8265e9eb1ab361b80d1133887925a8555820902d7c0cc9e65ce5342de283b50c4104796be50db4fc9338cdbc2c5d340614dfd7c961c95a280d WHIRLPOOL 0a40fac81a7361f0ecc2aa67993b54c82777ff885b199cf5afa049d9169982a9f6cae042b912c80076a512a26def83eaf5ce2fd3149405f14597bab7fb0316de
|
||||
DIST gitlab-shell-2.0.1.tar.gz 19905 SHA256 5a10be90c02dfc05e32943c08c556fff3f1175af41e9fd09bade644e655da7f4 SHA512 381b71001526530d6fdba02abefbd812d9b1ad338bedc8599ce632bde20665a9c07df22c81634a505d8b6e71cf5b5824fa6f1219ac4789c05d3a99e52d972c24 WHIRLPOOL 5ba43a9b94e0e4822b6050ec493ad07bb93ad278b3fa204b792bddf186c22da4b1663fb58627f4ed9fa9d793e6f97ac0b45a6cacab9c56794283af1071c967ed
|
||||
DIST gitlab-shell-2.3.1.tar.gz 21501 SHA256 4ed5799c685b00840ddb7dbecf87401be3e75454424dde5d3a99c07a76b033aa SHA512 b456fe85dae428f7626bab78dcda64e842f29a12238cbf214b7f21f97d9ab3b2e9b2fa78257ff01c97f1576fc28fbdb3f7db5f33fbbdfb9b72371b8850632190 WHIRLPOOL 8acc8af2ad87e0d83fd53c6985b61004323c3fde3b11e6e8379b9e8d6a05f069133540dfd60051e5dab8ca0357a57b4815d685d9a550196e1e14a2a91b1da6f2
|
||||
DIST gitlab-shell-2.4.0.tar.gz 21760 SHA256 31629b085794312c90757340ec2cbf2a5c760b98e72fc0e75d5989aa82ce2184 SHA512 9849c44d907ca13647bd4ec8fd1ad889abf957b8be4e0b902eb6e380ab5586a5d595db7821b0fb37381a03aad439171dd37f70da99492ced2643fc9b4e317d43 WHIRLPOOL 2bcfa1a62754fd3776fe1ea4cb4344d34baa065a6717b6418b25ac5095ae2160f55c6d2bbb525e6101553288883b84a8c7d153ffd0cbaef1d0a582cbf6e3ff70
|
||||
EBUILD gitlab-shell-1.9.3.ebuild 3381 SHA256 c62f0c0d33d004fadbc8172254ca61a04b921cad4fb21228284502ce79dbf983 SHA512 de85888a48e18210c0b3b5ce6bd36c9473e5c0d592c8657fea9c56856661cc261a3542b6cdcc4277a52d810265c73098ec81045abf2e5d33970a3116125b7719 WHIRLPOOL acf3fdedb73b8ecf025cad85bfd1503b8de796d6bc4d5c37a2ac371c4cd94c777f868cf514f201909ea660de8f6fecc02d177254764ba25ac3b75d8e5804b332
|
||||
EBUILD gitlab-shell-1.9.4.ebuild 3341 SHA256 6947af19aeb95a832fc2fc7a82b021afe5a4fb3897c37cde62929125ae31f471 SHA512 ad20f6df96a12aa5afa2a659f92889a39bdd7f8a9dee8df6362d90a41e982d7d49162adc44a2d20fbd9a739f2a11dfd440fd89a611bb580d423198f0baa53578 WHIRLPOOL eca0e2d014bcc81655cec619515ad4fc3efd83a9375042a75ae5a03b048c6ea5f56f4291d30a94de9ca6fc5bdef4910ffef87d063b09f10f50b084569c629695
|
||||
EBUILD gitlab-shell-1.9.6.ebuild 3341 SHA256 6947af19aeb95a832fc2fc7a82b021afe5a4fb3897c37cde62929125ae31f471 SHA512 ad20f6df96a12aa5afa2a659f92889a39bdd7f8a9dee8df6362d90a41e982d7d49162adc44a2d20fbd9a739f2a11dfd440fd89a611bb580d423198f0baa53578 WHIRLPOOL eca0e2d014bcc81655cec619515ad4fc3efd83a9375042a75ae5a03b048c6ea5f56f4291d30a94de9ca6fc5bdef4910ffef87d063b09f10f50b084569c629695
|
||||
|
@ -15,3 +16,4 @@ EBUILD gitlab-shell-1.9.7.ebuild 3348 SHA256 e76c7155c1532a5d60545632b938af401a2
|
|||
EBUILD gitlab-shell-2.0.0.ebuild 3297 SHA256 668c0430dc5783852cfff4588ac1fef2fa049a5e58b233566d12b923e8778b2f SHA512 a40aebc6d437a9577e2e830f84a6666b49dd0bcce211ed4d1311dad6f98e47bb9816f6b1155a4439e0fe475484cedb483f02a788de4282a0563550b8ea30b8e0 WHIRLPOOL a57d9250c7fc89e331c55dfa589be972111b6963efd17cad35ef7a01477a5b2c5cfffdb3265f4f8affa4edbbd3fc61a7d003b72b5ab96b0e99f5aa3cfd0a9b8a
|
||||
EBUILD gitlab-shell-2.0.1.ebuild 3304 SHA256 35c085cd702149462fafe0bdfdb41ab244fe06c6caef3542aceb399d37f334bf SHA512 24725735f67323d5b6cd95f9a54981c20288acea05b07b1b195b62bf9add1b850fb787f4a9fb7749f7103cd932023d3180653dc812a02d6314ec1b674e751449 WHIRLPOOL 8adf08faa3892f2ab5ad03eadab584097f6869a720517fd925f34a05f042410411cb3132df42b1d82c3f5dba68fdb2f76b1f00611747d3f48074d9e69dc9c49f
|
||||
EBUILD gitlab-shell-2.3.1.ebuild 3635 SHA256 d7b6f533145bdf67c3b19bfb2e5d330be77077939d2b75bff73d056c29645dd6 SHA512 b3f1690327682a30fbe166e38ec49171fedec22127db1555195271e4ed949238ad6d1b186dcb4d7a9c31f5c44ad60663e68efb0adfd29f1b9d6e18f58b260954 WHIRLPOOL 2a24f5a92d4a2495b8d4dd7a4182c869e32def571b2e74450659017256be08c02f4a9fa6ff8523c819391b8204aebbac41ecb6d8f5e4198168a34f10348cd73a
|
||||
EBUILD gitlab-shell-2.4.0.ebuild 3635 SHA256 d7b6f533145bdf67c3b19bfb2e5d330be77077939d2b75bff73d056c29645dd6 SHA512 b3f1690327682a30fbe166e38ec49171fedec22127db1555195271e4ed949238ad6d1b186dcb4d7a9c31f5c44ad60663e68efb0adfd29f1b9d6e18f58b260954 WHIRLPOOL 2a24f5a92d4a2495b8d4dd7a4182c869e32def571b2e74450659017256be08c02f4a9fa6ff8523c819391b8204aebbac41ecb6d8f5e4198168a34f10348cd73a
|
||||
|
|
130
dev-vcs/gitlab-shell/gitlab-shell-2.4.0.ebuild
Normal file
130
dev-vcs/gitlab-shell/gitlab-shell-2.4.0.ebuild
Normal file
|
@ -0,0 +1,130 @@
|
|||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: $
|
||||
|
||||
EAPI="5"
|
||||
|
||||
USE_RUBY="ruby20 ruby21"
|
||||
|
||||
inherit eutils ruby-ng user
|
||||
|
||||
DESCRIPTION="SSH access and repository management for GitLab"
|
||||
HOMEPAGE="https://github.com/gitlabhq/gitlab-shell"
|
||||
SRC_URI="https://github.com/gitlabhq/gitlab-shell/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE=""
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND="
|
||||
dev-vcs/git
|
||||
dev-db/redis
|
||||
virtual/ssh"
|
||||
ruby_add_bdepend "
|
||||
virtual/ruby-ssl"
|
||||
|
||||
MERGE_TYPE="binary"
|
||||
|
||||
RUBY_PATCHES=(
|
||||
"${PN}-2.0.0-config-paths.patch"
|
||||
)
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
all_ruby_prepare() {
|
||||
# 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"
|
||||
}
|
||||
|
||||
all_ruby_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 random .gitlab_shell_secret
|
||||
einfo "creating random .gitlab_shell_secret"
|
||||
RANDOM_TOKEN=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)
|
||||
TOKEN_FILE="${DEST_DIR}/.gitlab_shell_secret"
|
||||
echo $RANDOM_TOKEN > ${D}/"$TOKEN_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}
|
||||
|
||||
fowners ${GIT_USER}:${GIT_USER} "${TOKEN_FILE}"
|
||||
fperms 600 "${TOKEN_FILE}"
|
||||
}
|
||||
|
||||
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}."
|
||||
}
|
Loading…
Reference in a new issue