Updated gitlab / dependency ebuilds
git-svn-id: svn+ssh://svnintern.kmrc.de/projects/gentoo/iwm-overlay@34766 cbe59ace-07ea-0310-918e-868702b5370d
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
AUX gitlab-shell-2.0.0-config-paths.patch 1356 SHA256 442a8e18b4d8e6092db0d39659cba5e41404e90f21070ed50b5460177f28f1b2 SHA512 0445cd42086b2d77825c487d604ddcb11f8fdf4eb8dcdfa1fe1b8e8c24d7b8f273834dbec0bfbb763a35a74605d558cc8d3feaa056eb02a113d18124a764551e WHIRLPOOL 0e3367b229ea4f13818fe2e485dc8da83ad695aec496881cb5eb918b183029b0013518ca64acba1568d93dc418dfaf083c2a86b9f2e3adf9fe15cad038011b30
|
||||
DIST gitlab-shell-2.6.5.tar.gz 33445 SHA256 586092a62b053adf0b046372aa5983b1170446456cd24e63c145460acc927648 SHA512 52f5c1db5b813dcd68183c6ca02e1fa0eb693040d2e6dedbb903743c285feaddd2a2836726228673eb6da99da07fcd04103e9207443b9f4fb42ba6d1bd4e29db WHIRLPOOL f52937b73942bd2064bc4414f9d4c8b34366dac59912ee926347ba02b7d44c28630a8f530beea82c3df5b6b801db5249080269a9a4e2f8daf33c484a3d203754
|
||||
EBUILD gitlab-shell-1.8.0.ebuild 2500 SHA256 ea37fd4b4b3c526f808be1efbfaa4ea5b8fbd6bbaac13838016882c1df3cb1f6 SHA512 711c2e77ffa1b06c5922fcf47f8c4bb57815ff3168d13f07e15bc929976b074b0d17cfe5c85d4ef223b86e5fca25f0594a3a9666165ca045b0680617eea1e59b WHIRLPOOL 0348ca8b560414b7c2e2a366f8728cf12640dc4985f5633a46228b54d770195378f82a5a5e5476572fe1bfe6e05f9bbe9c73c244e6f11f1c3ee35c682639bf00
|
||||
EBUILD gitlab-shell-1.9.1.ebuild 2500 SHA256 ea37fd4b4b3c526f808be1efbfaa4ea5b8fbd6bbaac13838016882c1df3cb1f6 SHA512 711c2e77ffa1b06c5922fcf47f8c4bb57815ff3168d13f07e15bc929976b074b0d17cfe5c85d4ef223b86e5fca25f0594a3a9666165ca045b0680617eea1e59b WHIRLPOOL 0348ca8b560414b7c2e2a366f8728cf12640dc4985f5633a46228b54d770195378f82a5a5e5476572fe1bfe6e05f9bbe9c73c244e6f11f1c3ee35c682639bf00
|
||||
EBUILD gitlab-shell-1.9.4.ebuild 2500 SHA256 ea37fd4b4b3c526f808be1efbfaa4ea5b8fbd6bbaac13838016882c1df3cb1f6 SHA512 711c2e77ffa1b06c5922fcf47f8c4bb57815ff3168d13f07e15bc929976b074b0d17cfe5c85d4ef223b86e5fca25f0594a3a9666165ca045b0680617eea1e59b WHIRLPOOL 0348ca8b560414b7c2e2a366f8728cf12640dc4985f5633a46228b54d770195378f82a5a5e5476572fe1bfe6e05f9bbe9c73c244e6f11f1c3ee35c682639bf00
|
||||
@@ -5,3 +7,4 @@ EBUILD gitlab-shell-1.9.6.ebuild 2500 SHA256 a39c5a44b54c70d16f30de155020ff003fb
|
||||
EBUILD gitlab-shell-2.0.1.ebuild 2633 SHA256 5ca86fbf40b7d606d5a456285437b46fd317aa94053a5e108c9830fe149cba5e SHA512 fe036c162fe78aab513aad36439cb41711248a7cc88956eee93974648ff17d973e1cd302fe73453db193eacd97d4bd93c82cb51087dff5b028d7c88793fedb71 WHIRLPOOL 5692ecf2f4e05676dc648b1159e96925b7e261704d4b8180d454e58e47bb6acca009e6e7106a76c1737fad6bb909f5ae75ac04f6a3ca54ebd8121ee78026b11b
|
||||
EBUILD gitlab-shell-2.5.4.ebuild 2783 SHA256 bcb7ce5594785e8bbe4da4817e37fb9ea5c674cc704da48df228ff77d04fe182 SHA512 14c1089278f77482653540b1df9ec64d8b7aefcd900625592377834a3ad9cb9068a56dd98e8f6019e80fad233e920b4ffde743f9b09b1deacac323efe86acd1f WHIRLPOOL 56e63a5aa0b0f40f76c060c3785a263eb42bb427554cdd346ee07364b647d009b5e9c7d1a285a74ffcc70b7538ad6a8a5b2cb4ee99430b75d828fc1a284599b5
|
||||
EBUILD gitlab-shell-2.6.0.ebuild 2629 SHA256 16e0bdaa0817acadb808b9ef389fbcf653f320c97299c596efae920da2bd32fd SHA512 4bb3342ffad64d13b5f60ca3d17c3dc8e428d7730596d8cfdad6889122dc5cc53f4d3716b7414dcf470ca54fe90aa01836958ddf009e2f8271564c5346c7c323 WHIRLPOOL cbb368bc8da1f78ead7aeda3187a58f7f4b13247f97b97cd1b25acd578bcdedfb5c189d3b1a3a4cecf2e932f2f9bbe1fdca8fe123d2026ef6a4b67d58869ba61
|
||||
EBUILD gitlab-shell-2.6.5.ebuild 3494 SHA256 18b44221e71ae92d0c6d7d5d12a895a2241b9fd51f3eb081e50ff49c36e6e13e SHA512 3b33ff20e643bd8a9b66b2c4830bd3c43b38707306adca5522cf428699fd83d8b16d3c55bc5c86c022afc50a3b5fe913ff1d7b903313ebbac72131831be8a6bc WHIRLPOOL 36ccf083f951ef9b1a432dc9d543bd0111a0abab3b7299b2ff40657a5ae725adcb9aa414610f43f8624045317d044aab4aa86f1245024ec57774083f56861a44
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
diff --git a/config.yml.example b/config.yml.example
|
||||
index 94eb593..3d60f48 100644
|
||||
--- a/config.yml.example
|
||||
+++ b/config.yml.example
|
||||
@@ -19,10 +19,10 @@ http_settings:
|
||||
# Give the canonicalized absolute pathname,
|
||||
# REPOS_PATH MUST NOT CONTAIN ANY SYMLINK!!!
|
||||
# Check twice that none of the components is a symlink, including "/home".
|
||||
-repos_path: "/home/git/repositories"
|
||||
+repos_path: "/var/lib/git/repositories"
|
||||
|
||||
# File used as authorized_keys for gitlab user
|
||||
-auth_file: "/home/git/.ssh/authorized_keys"
|
||||
+auth_file: "/var/lib/git/.ssh/authorized_keys"
|
||||
|
||||
# Redis settings used for pushing commit notices to gitlab
|
||||
redis:
|
||||
@@ -36,7 +36,7 @@ redis:
|
||||
|
||||
# Log file.
|
||||
# Default is gitlab-shell.log in the root directory.
|
||||
-# log_file: "/home/git/gitlab-shell/gitlab-shell.log"
|
||||
+# log_file: "/var/log/gitlab/gitlab-shell.log"
|
||||
|
||||
# Log level. INFO by default
|
||||
log_level: INFO
|
||||
diff --git a/lib/gitlab_config.rb b/lib/gitlab_config.rb
|
||||
index c97743b..97f4658 100644
|
||||
--- a/lib/gitlab_config.rb
|
||||
+++ b/lib/gitlab_config.rb
|
||||
@@ -8,7 +8,7 @@ class GitlabConfig
|
||||
end
|
||||
|
||||
def home
|
||||
- ENV['HOME']
|
||||
+ "/var/lib/git"
|
||||
end
|
||||
|
||||
def repos_path
|
||||
@@ -36,7 +36,7 @@ class GitlabConfig
|
||||
end
|
||||
|
||||
def log_file
|
||||
- @config['log_file'] ||= File.join(ROOT_PATH, 'gitlab-shell.log')
|
||||
+ @config['log_file'] ||= "/var/log/gitlab/gitlab-shell.log"
|
||||
end
|
||||
|
||||
def log_level
|
||||
@@ -0,0 +1,126 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
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 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"
|
||||
|
||||
# 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}."
|
||||
}
|
||||
Reference in New Issue
Block a user