Downgrade to gitlab 7.8.1
git-svn-id: svn+ssh://svnintern.kmrc.de/projects/gentoo/iwm-overlay@33392 cbe59ace-07ea-0310-918e-868702b5370d
This commit is contained in:
parent
afe3295f99
commit
b1e1edb37d
@ -3,4 +3,5 @@ EBUILD gitlab-shell-1.9.1.ebuild 2500 SHA256 ea37fd4b4b3c526f808be1efbfaa4ea5b8f
|
|||||||
EBUILD gitlab-shell-1.9.4.ebuild 2500 SHA256 ea37fd4b4b3c526f808be1efbfaa4ea5b8fbd6bbaac13838016882c1df3cb1f6 SHA512 711c2e77ffa1b06c5922fcf47f8c4bb57815ff3168d13f07e15bc929976b074b0d17cfe5c85d4ef223b86e5fca25f0594a3a9666165ca045b0680617eea1e59b WHIRLPOOL 0348ca8b560414b7c2e2a366f8728cf12640dc4985f5633a46228b54d770195378f82a5a5e5476572fe1bfe6e05f9bbe9c73c244e6f11f1c3ee35c682639bf00
|
EBUILD gitlab-shell-1.9.4.ebuild 2500 SHA256 ea37fd4b4b3c526f808be1efbfaa4ea5b8fbd6bbaac13838016882c1df3cb1f6 SHA512 711c2e77ffa1b06c5922fcf47f8c4bb57815ff3168d13f07e15bc929976b074b0d17cfe5c85d4ef223b86e5fca25f0594a3a9666165ca045b0680617eea1e59b WHIRLPOOL 0348ca8b560414b7c2e2a366f8728cf12640dc4985f5633a46228b54d770195378f82a5a5e5476572fe1bfe6e05f9bbe9c73c244e6f11f1c3ee35c682639bf00
|
||||||
EBUILD gitlab-shell-1.9.6.ebuild 2500 SHA256 a39c5a44b54c70d16f30de155020ff003fb2e9da22e44360715ada3528bac0fe SHA512 e71bd23c81d1d29c6ebdf58ae480a3ae20b0b66ceffa927e03de10a969a85921ee8088e346ed0e5783d95466d94aca5797e6507409f164d6cf17bc59ff44b843 WHIRLPOOL 93fc131e889553b3b44e7c255eb87e8b30d3941330aa969b054d0b11e6eb741fa5b1c5c2b3143a3284e2bb82443607621aa69979326cf31a412c00167c7facb0
|
EBUILD gitlab-shell-1.9.6.ebuild 2500 SHA256 a39c5a44b54c70d16f30de155020ff003fb2e9da22e44360715ada3528bac0fe SHA512 e71bd23c81d1d29c6ebdf58ae480a3ae20b0b66ceffa927e03de10a969a85921ee8088e346ed0e5783d95466d94aca5797e6507409f164d6cf17bc59ff44b843 WHIRLPOOL 93fc131e889553b3b44e7c255eb87e8b30d3941330aa969b054d0b11e6eb741fa5b1c5c2b3143a3284e2bb82443607621aa69979326cf31a412c00167c7facb0
|
||||||
EBUILD gitlab-shell-2.0.1.ebuild 2633 SHA256 5ca86fbf40b7d606d5a456285437b46fd317aa94053a5e108c9830fe149cba5e SHA512 fe036c162fe78aab513aad36439cb41711248a7cc88956eee93974648ff17d973e1cd302fe73453db193eacd97d4bd93c82cb51087dff5b028d7c88793fedb71 WHIRLPOOL 5692ecf2f4e05676dc648b1159e96925b7e261704d4b8180d454e58e47bb6acca009e6e7106a76c1737fad6bb909f5ae75ac04f6a3ca54ebd8121ee78026b11b
|
EBUILD gitlab-shell-2.0.1.ebuild 2633 SHA256 5ca86fbf40b7d606d5a456285437b46fd317aa94053a5e108c9830fe149cba5e SHA512 fe036c162fe78aab513aad36439cb41711248a7cc88956eee93974648ff17d973e1cd302fe73453db193eacd97d4bd93c82cb51087dff5b028d7c88793fedb71 WHIRLPOOL 5692ecf2f4e05676dc648b1159e96925b7e261704d4b8180d454e58e47bb6acca009e6e7106a76c1737fad6bb909f5ae75ac04f6a3ca54ebd8121ee78026b11b
|
||||||
EBUILD gitlab-shell-2.6.0.ebuild 2640 SHA256 643378765357a827da67384b4244a9d5c6b3fd80577d419c22df119109574fc3 SHA512 5143b2d6dc36a73d47c03b74ff909a8508305ebde340c85a5a042a3b9aed69cae35b0231384969c566ae444467be268812c8da24c685eea4ad636645bac9fb07 WHIRLPOOL fb2b741804ebbb5203722e6f3cb8d92448cc9b8814295d5c7a095046e5f4768e64c652c50a30fa8f168c622b6f6e900468877c60a80e9f88974df557aba0f615
|
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
|
||||||
|
101
dev-vcs/gitlab-shell/gitlab-shell-2.5.4.ebuild
Normal file
101
dev-vcs/gitlab-shell/gitlab-shell-2.5.4.ebuild
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
# Copyright 1999-2013 Gentoo Foundation
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
# $Header: $
|
||||||
|
|
||||||
|
EAPI="5"
|
||||||
|
|
||||||
|
EGIT_REPO_URI="https://github.com/gitlabhq/gitlab-shell.git"
|
||||||
|
EGIT_COMMIT="v${PV}"
|
||||||
|
USE_RUBY="ruby20"
|
||||||
|
|
||||||
|
inherit eutils git-2 ruby-ng user
|
||||||
|
|
||||||
|
DESCRIPTION="GitLab Shell is a free SSH access and repository management application"
|
||||||
|
HOMEPAGE="https://github.com/gitlabhq/gitlab-shell"
|
||||||
|
LICENSE="MIT"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~amd64 ~x86 ~arm"
|
||||||
|
|
||||||
|
DEPEND="$(ruby_implementation_depend ruby20)
|
||||||
|
dev-vcs/git
|
||||||
|
virtual/ssh
|
||||||
|
dev-db/redis"
|
||||||
|
RDEPEND="${DEPEND}"
|
||||||
|
|
||||||
|
GIT_USER="git"
|
||||||
|
GIT_GROUP="git"
|
||||||
|
HOME=$(if [ -n "$(getent passwd git | cut -d: -f6)" ]; then (getent passwd git | cut -d: -f6); else (echo /var/lib/git); fi)
|
||||||
|
REPO_DIR="${HOME}/repositories"
|
||||||
|
AUTH_FILE="${HOME}/.ssh/authorized_keys"
|
||||||
|
KEY_DIR=$(dirname "${AUTH_FILE}")
|
||||||
|
DEST_DIR="/var/lib/${PN}"
|
||||||
|
|
||||||
|
pkg_setup() {
|
||||||
|
|
||||||
|
enewgroup ${GIT_GROUP}
|
||||||
|
enewuser ${GIT_USER} -1 -1 "${HOME}" ${GIT_GROUP}
|
||||||
|
}
|
||||||
|
|
||||||
|
all_ruby_unpack() {
|
||||||
|
git-2_src_unpack
|
||||||
|
cd ${P}
|
||||||
|
sed -i \
|
||||||
|
-e "s|\(user:\).*|\1 ${GIT_USER}|" \
|
||||||
|
-e "s|\(repos_path:\).*|\1 \"${REPO_DIR}\"|" \
|
||||||
|
-e "s|\(auth_file:\).*|\1 \"${AUTH_FILE}\"|" \
|
||||||
|
config.yml.example || die "failed to filter config.yml.example"
|
||||||
|
}
|
||||||
|
|
||||||
|
all_ruby_install() {
|
||||||
|
|
||||||
|
rm -Rf .git .gitignore
|
||||||
|
|
||||||
|
insinto ${DEST_DIR}
|
||||||
|
touch gitlab-shell.log
|
||||||
|
doins -r . || die
|
||||||
|
|
||||||
|
dosym ${DEST_DIR}/bin/gitlab-keys /usr/bin/gitlab-keys || die
|
||||||
|
dosym ${DEST_DIR}/bin/gitlab-projects /usr/bin/gitlab-projects || die
|
||||||
|
dosym ${DEST_DIR}/bin/gitlab-shell /usr/bin/gitlab-shell || die
|
||||||
|
dosym ${DEST_DIR}/bin/check /usr/bin/gitlab-check || die
|
||||||
|
|
||||||
|
fperms 0755 ${DEST_DIR}/bin/gitlab-keys || die
|
||||||
|
fperms 0755 ${DEST_DIR}/bin/gitlab-projects || die
|
||||||
|
fperms 0755 ${DEST_DIR}/bin/gitlab-shell || die
|
||||||
|
fperms 0755 ${DEST_DIR}/bin/check || die
|
||||||
|
fperms 0755 ${DEST_DIR}/bin/create-hooks || die
|
||||||
|
fperms 0755 ${DEST_DIR}/bin/install || die
|
||||||
|
|
||||||
|
fperms 0755 ${DEST_DIR}/hooks/post-receive || die
|
||||||
|
fperms 0755 ${DEST_DIR}/hooks/pre-receive || die
|
||||||
|
|
||||||
|
fowners ${GIT_USER} ${DEST_DIR}/gitlab-shell.log
|
||||||
|
fowners ${GIT_USER} ${DEST_DIR} || die
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
|
||||||
|
dodir "${REPO_DIR}" || die
|
||||||
|
|
||||||
|
if [[ ! -d "${KEY_DIR}" ]] ; then
|
||||||
|
mkdir "${KEY_DIR}" || die
|
||||||
|
chmod 0700 "${KEY_DIR}" || die
|
||||||
|
chown ${GIT_USER}:${GIT_GROUP} "${KEY_DIR}" -R || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ! -e "${AUTH_FILE}" ]] ; then
|
||||||
|
touch "${AUTH_FILE}" || die
|
||||||
|
chmod 0600 "${AUTH_FILE}" || die
|
||||||
|
chown ${GIT_USER}:${GIT_GROUP} "${AUTH_FILE}" || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ! -d "${REPO_DIR}" ]] ; then
|
||||||
|
mkdir "${REPO_DIR}"
|
||||||
|
chmod ug+rwX,o-rwx "${REPO_DIR}" -R || die
|
||||||
|
chmod ug-s,o-rwx "${REPO_DIR}" -R || die
|
||||||
|
chown ${GIT_USER}:${GIT_GROUP} "${REPO_DIR}" -R || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
elog "Copy ${DEST_DIR}/config.yml.example to ${DEST_DIR}/config.yml"
|
||||||
|
elog "and edit this file in order to configure your GitLab-Shell settings."
|
||||||
|
}
|
@ -14,7 +14,7 @@ DESCRIPTION="GitLab Shell is a free SSH access and repository management applica
|
|||||||
HOMEPAGE="https://github.com/gitlabhq/gitlab-shell"
|
HOMEPAGE="https://github.com/gitlabhq/gitlab-shell"
|
||||||
LICENSE="MIT"
|
LICENSE="MIT"
|
||||||
SLOT="0"
|
SLOT="0"
|
||||||
KEYWORDS="~amd64 ~x86"
|
KEYWORDS=""
|
||||||
|
|
||||||
DEPEND="$(ruby_implementation_depend ruby20)
|
DEPEND="$(ruby_implementation_depend ruby20)
|
||||||
dev-vcs/git
|
dev-vcs/git
|
||||||
|
@ -8,9 +8,12 @@ AUX gitlabhq-7.0.0-fix-checks-gentoo.patch 413 SHA256 5e9358e6670ed6711f171876c4
|
|||||||
AUX gitlabhq-7.0.0.init 1920 SHA256 79bc5cece6bf79b57c9512cfafa72f4791aeb759b81de5ae5daa2f380a2c069a SHA512 5e5601391fb8866782bbaad48d04364b3dc45e06a144931b7b159da98052c93971fd46f3029a1e194b16a8791fbbc35c1b7e858b0453363bf1a5563dbb364036 WHIRLPOOL e81339c047b246a53c63ea5f2da8ba32821afab891b9976b4beab9bff9358d65f335c5936cc6e0fef35314774ea105163f821f9295658639beba2fda9a39c0e7
|
AUX gitlabhq-7.0.0.init 1920 SHA256 79bc5cece6bf79b57c9512cfafa72f4791aeb759b81de5ae5daa2f380a2c069a SHA512 5e5601391fb8866782bbaad48d04364b3dc45e06a144931b7b159da98052c93971fd46f3029a1e194b16a8791fbbc35c1b7e858b0453363bf1a5563dbb364036 WHIRLPOOL e81339c047b246a53c63ea5f2da8ba32821afab891b9976b4beab9bff9358d65f335c5936cc6e0fef35314774ea105163f821f9295658639beba2fda9a39c0e7
|
||||||
AUX gitlabhq-7.4.3-fix-checks-gentoo.patch 413 SHA256 5e9358e6670ed6711f171876c46b7222e3fcb66e6cfa1658b3627d2878a92d87 SHA512 50a1e441d9bfcf0f5784fa1b940833653010dca23d96ca9b2cd462b7f659aa5ca6042c7eb8b2b5dd3319e507accd0ccb8d0c5ee2be78aa35749df9c3e924e899 WHIRLPOOL 7452073e202ecf7bb08ee463c088bbe883ba31aeb8f96db18f16af6f119cba6e698fa3a619122b05a69c932434b856d8162ff59c33f66214b7cbb53035a619a3
|
AUX gitlabhq-7.4.3-fix-checks-gentoo.patch 413 SHA256 5e9358e6670ed6711f171876c46b7222e3fcb66e6cfa1658b3627d2878a92d87 SHA512 50a1e441d9bfcf0f5784fa1b940833653010dca23d96ca9b2cd462b7f659aa5ca6042c7eb8b2b5dd3319e507accd0ccb8d0c5ee2be78aa35749df9c3e924e899 WHIRLPOOL 7452073e202ecf7bb08ee463c088bbe883ba31aeb8f96db18f16af6f119cba6e698fa3a619122b05a69c932434b856d8162ff59c33f66214b7cbb53035a619a3
|
||||||
AUX gitlabhq-7.4.3.init 1920 SHA256 544cf4d927964d38efd016234016e4ac9670cc5c22a702c8fe5c118047822775 SHA512 d297bc4696a571917f3d70222398d12e3fad75f1c7f25ceaf8789c33b0384f31ae34918df392a45a976327f629bac795145f4c377b7c6226e352fe6de96174c7 WHIRLPOOL d2092ea1844e2768847ebfc8bccf732908b30fcf7c7e1a8f1b10cc7f48e6a089540ddc61ebea140f22bf4aae099d65616c4daa258b9f760b8a437a35ea54be6e
|
AUX gitlabhq-7.4.3.init 1920 SHA256 544cf4d927964d38efd016234016e4ac9670cc5c22a702c8fe5c118047822775 SHA512 d297bc4696a571917f3d70222398d12e3fad75f1c7f25ceaf8789c33b0384f31ae34918df392a45a976327f629bac795145f4c377b7c6226e352fe6de96174c7 WHIRLPOOL d2092ea1844e2768847ebfc8bccf732908b30fcf7c7e1a8f1b10cc7f48e6a089540ddc61ebea140f22bf4aae099d65616c4daa258b9f760b8a437a35ea54be6e
|
||||||
|
AUX gitlabhq-7.8.1-fix-checks-gentoo.patch 412 SHA256 01a04c47d51b10674e38395d8197320c3e0ff65af65c42006bd42330a38fe6e3 SHA512 962cf056270073759376340f42f0a89af8073e9237ad8f1c9d602a5b3fbe378f3cafbeec910156a7fc1046a87a641dcccc0d39d9031255bf4cb4e1b38817e693 WHIRLPOOL e5ff60cecb4683c0f1917e7b81ce657acb8d1e80ff9375ca4d6e68214d8720a518cfbd48659ea741f7fcc8fbcf0bb82be8bc030ccffc347b50b88300e1d6aa68
|
||||||
|
AUX gitlabhq-7.8.1.init 1943 SHA256 a3706f4b58a86320ea205396eee9561388f5da5d0694f839b83222d83f57cf4b SHA512 29cc7acb41f02441273bb76fcf94f0b781c96d4c7b7ccb3b5bafeff168831d841921afe052671da21ba3fb84200cfffcfcc86eaf61e84b4ce7b102369b4d23c7 WHIRLPOOL 6d9e7da52c173f6d4ba723105f10513eea9efd280d5bdd228eaa44d14d7fc459e58a04482b7cfe61d4c5ddc30cdeefcd085ab0f660246eb28bf927a017ff3ee2
|
||||||
AUX gitlabhq-7.9.0-fix-checks-gentoo.patch 413 SHA256 5e9358e6670ed6711f171876c46b7222e3fcb66e6cfa1658b3627d2878a92d87 SHA512 50a1e441d9bfcf0f5784fa1b940833653010dca23d96ca9b2cd462b7f659aa5ca6042c7eb8b2b5dd3319e507accd0ccb8d0c5ee2be78aa35749df9c3e924e899 WHIRLPOOL 7452073e202ecf7bb08ee463c088bbe883ba31aeb8f96db18f16af6f119cba6e698fa3a619122b05a69c932434b856d8162ff59c33f66214b7cbb53035a619a3
|
AUX gitlabhq-7.9.0-fix-checks-gentoo.patch 413 SHA256 5e9358e6670ed6711f171876c46b7222e3fcb66e6cfa1658b3627d2878a92d87 SHA512 50a1e441d9bfcf0f5784fa1b940833653010dca23d96ca9b2cd462b7f659aa5ca6042c7eb8b2b5dd3319e507accd0ccb8d0c5ee2be78aa35749df9c3e924e899 WHIRLPOOL 7452073e202ecf7bb08ee463c088bbe883ba31aeb8f96db18f16af6f119cba6e698fa3a619122b05a69c932434b856d8162ff59c33f66214b7cbb53035a619a3
|
||||||
AUX gitlabhq-7.9.0.init 1920 SHA256 544cf4d927964d38efd016234016e4ac9670cc5c22a702c8fe5c118047822775 SHA512 d297bc4696a571917f3d70222398d12e3fad75f1c7f25ceaf8789c33b0384f31ae34918df392a45a976327f629bac795145f4c377b7c6226e352fe6de96174c7 WHIRLPOOL d2092ea1844e2768847ebfc8bccf732908b30fcf7c7e1a8f1b10cc7f48e6a089540ddc61ebea140f22bf4aae099d65616c4daa258b9f760b8a437a35ea54be6e
|
AUX gitlabhq-7.9.0.init 1920 SHA256 ceb6bdd0f497d5c615c3d037c9211ed68b0979356a2e972be430243d1248a7d1 SHA512 37bbea92a7a9427c8b9203e5ef13e2f1db7b0fb02b22457849d785517f8253e161f065821a17ed06d41d662237f2cb930cc2ae4f75091ed951e7eadf9283803a WHIRLPOOL 3c7fe0029385b85ad9fd9a07bfc1ba3683664d2233367e369ed89e43bebd9615279fbbe76bc777ca3366adc3a856a4c27f55b80fa685fc53608fc8078ab3b5e1
|
||||||
EBUILD gitlabhq-6.9.2.ebuild 11730 SHA256 baca492d6634b1e932cf5d1be9a9f56f3aada00ee7e3f10e5fbbb40fd180bf22 SHA512 c1731cb8df63ff9bc04e29ac06a0ec9cd7587ac372460ea0d4ae17735257c19376b9b95e943f46570b3feff541110c96b19de1b1e215655ee28e07f5bdb07846 WHIRLPOOL f916eab9f96e93caba3954079af7f2af5cb3c83bbc5ca2b4f419845c6d84a89148e64a5a7a43c6771bf0590206bc5f2733ec7ba642f74b103a4d142d362b44b8
|
EBUILD gitlabhq-6.9.2.ebuild 11730 SHA256 baca492d6634b1e932cf5d1be9a9f56f3aada00ee7e3f10e5fbbb40fd180bf22 SHA512 c1731cb8df63ff9bc04e29ac06a0ec9cd7587ac372460ea0d4ae17735257c19376b9b95e943f46570b3feff541110c96b19de1b1e215655ee28e07f5bdb07846 WHIRLPOOL f916eab9f96e93caba3954079af7f2af5cb3c83bbc5ca2b4f419845c6d84a89148e64a5a7a43c6771bf0590206bc5f2733ec7ba642f74b103a4d142d362b44b8
|
||||||
EBUILD gitlabhq-7.0.0.ebuild 11770 SHA256 319b8321bad5bd01db8cc633733c557643cacf0251a93c2b94e53d6c8cf716ca SHA512 3c8537afbb1b0aa03957cede02747e967088410e782ed35aed8e2f34d4c282312b88a6fb2f60cb87aeda42688af492795d8562345dcdf010f9844516bd419827 WHIRLPOOL b47a85ee57523a67e9ec6fe6dd93231344e358920b1f42796fc60d614d0cad1ae4696f93b474e12ac08922d684b622b493e45ce5cf968ae3374c83d462e7af19
|
EBUILD gitlabhq-7.0.0.ebuild 11770 SHA256 319b8321bad5bd01db8cc633733c557643cacf0251a93c2b94e53d6c8cf716ca SHA512 3c8537afbb1b0aa03957cede02747e967088410e782ed35aed8e2f34d4c282312b88a6fb2f60cb87aeda42688af492795d8562345dcdf010f9844516bd419827 WHIRLPOOL b47a85ee57523a67e9ec6fe6dd93231344e358920b1f42796fc60d614d0cad1ae4696f93b474e12ac08922d684b622b493e45ce5cf968ae3374c83d462e7af19
|
||||||
EBUILD gitlabhq-7.4.3.ebuild 12261 SHA256 355978fca0c05f261864a0514cb60379b76d7a943daca390fd96601125da7e28 SHA512 02cb41d7ae7cc29c46dc8b745679e3ee6d1bf39fed035e6e1a773900fca743783f8604a3f3bd70c9673a7f03581410ee32c50808226c55ab390671949a68da58 WHIRLPOOL 095d19b2fe9f0789881ab89ef98cc1f711dc567900e160b1a8a0a4523295ad0a8a49e45beeac62c7698ad0c9f46bccba3e0a24c6a190cf21ece2c9bf0e22325a
|
EBUILD gitlabhq-7.4.3.ebuild 12261 SHA256 355978fca0c05f261864a0514cb60379b76d7a943daca390fd96601125da7e28 SHA512 02cb41d7ae7cc29c46dc8b745679e3ee6d1bf39fed035e6e1a773900fca743783f8604a3f3bd70c9673a7f03581410ee32c50808226c55ab390671949a68da58 WHIRLPOOL 095d19b2fe9f0789881ab89ef98cc1f711dc567900e160b1a8a0a4523295ad0a8a49e45beeac62c7698ad0c9f46bccba3e0a24c6a190cf21ece2c9bf0e22325a
|
||||||
EBUILD gitlabhq-7.9.0.ebuild 12284 SHA256 2507a0b3fea09d4491e7b14bf5d2fdf3c555736cb90b66a62c826d10dde81e92 SHA512 dcfffad8244fa9c9d3a642a9b966b66b337265a0495f3459f7757311b524e6c5e390344e5915e569f09dc66a5bb6f28813d4fed96fa3f1f850277c22562ed2b2 WHIRLPOOL 6d3bb6286302dded7caaed293adf294c39799f38beefd614cee3c91edc9252588124ef69eb40a3b05e39215bdcd104224589ca07cc8d30d1daf6f7276cf7acee
|
EBUILD gitlabhq-7.8.1.ebuild 14392 SHA256 48a5f077df36006c05fac449c0abccb6af43519f4991c836c88205250d13d8f8 SHA512 6a2caf094aafe6c3620a4ada3bc56a96553526653826c826989042f64a98f2887fe2f2296ce45bf41d25c8a90c91ddf2f7be8447c17c6db1bd37ba5aee2183cc WHIRLPOOL 65b5b953d18ec147ef4992967c48b0184f8dd36bc5872572e5d33c8b0a9126d974453d657eb01d409b8dfe99f54d9fecd19d3edcae6dd6c9bcf259097bf82f0a
|
||||||
|
EBUILD gitlabhq-7.9.0.ebuild 12273 SHA256 37e25a3640a33b0ce8a5cb5ed579665a118134882a1946f1ab869169418eb9c4 SHA512 8f467ae66b6fe25d58401c9f0aced0f2c8d54df40689a0b4d6a45437dde03e422e4ba0d419f4bc9b7e9232e475fdae3efc0d28e7855bc15a2f61aa04fdc5b14f WHIRLPOOL 3d23bb51ed5da285cd61e535da75349a5a43e86e4a35a300d7eae8500b4badf35da6ebc7c37ecfb77ce010a60cf1ee28516a93cbd2d26f472aeb9b2e0691ea41
|
||||||
|
@ -0,0 +1,11 @@
|
|||||||
|
--- lib/tasks/gitlab/check.rake.orig 2013-11-16 21:51:59.570000000 +0100
|
||||||
|
+++ lib/tasks/gitlab/check.rake 2013-11-16 21:52:40.900000000 +0100
|
||||||
|
@@ -20,8 +20,6 @@
|
||||||
|
check_gitlab_config_not_outdated
|
||||||
|
check_log_writable
|
||||||
|
check_tmp_writable
|
||||||
|
- check_init_script_exists
|
||||||
|
- check_init_script_up_to_date
|
||||||
|
check_projects_have_namespace
|
||||||
|
check_satellites_exist
|
||||||
|
check_redis_version
|
64
www-apps/gitlabhq/files/gitlabhq-7.8.1.init
Normal file
64
www-apps/gitlabhq/files/gitlabhq-7.8.1.init
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
#!/sbin/runscript
|
||||||
|
|
||||||
|
name="GitLab"
|
||||||
|
description="GitLab 7.8 on Unicorns"
|
||||||
|
|
||||||
|
: ${gitlab_user:=git}
|
||||||
|
: ${gitlab_group:=git}
|
||||||
|
: ${gitlab_home:="/opt/gitlabhq-7.8"}
|
||||||
|
|
||||||
|
: ${server_pidfile:="/opt/gitlabhq-7.8/tmp/pids/unicorn.pid"}
|
||||||
|
: ${sidekiq_pidfile:="/opt/gitlabhq-7.8/tmp/pids/sidekiq.pid"}
|
||||||
|
|
||||||
|
: ${sidekiq_log:="/var/log/gitlabhq-7.8/sidekiq.log"}
|
||||||
|
|
||||||
|
: ${rails_env:=production}
|
||||||
|
|
||||||
|
server_command="/usr/bin/bundle"
|
||||||
|
server_command_args="exec unicorn_rails -c ${gitlab_home}/config/unicorn.rb -E ${rails_env} -D"
|
||||||
|
sidekiq_command="/usr/bin/bundle"
|
||||||
|
sidekiq_start_command_args="exec sidekiq -q post_receive -q mailer -q system_hook -q project_web_hook -q gitlab_shell -q common -q default -e ${rails_env} -P ${sidekiq_pidfile} -d -L ${sidekiq_log} >> ${sidekiq_log}"
|
||||||
|
sidekiq_stop_command_args="exec sidekiqctl stop ${sidekiq_pidfile} >> ${sidekiq_log}"
|
||||||
|
|
||||||
|
if [ ${rails_env} = development ]; then
|
||||||
|
sidekiq_command_args+=" VVERBOSE=1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
depend() {
|
||||||
|
provide gitlab
|
||||||
|
need redis
|
||||||
|
use net mysql
|
||||||
|
}
|
||||||
|
|
||||||
|
start() {
|
||||||
|
ebegin "Starting GitLab 7.8 Unicorn servers"
|
||||||
|
|
||||||
|
checkpath -d -o "${gitlab_user}:${gitlab_group}" -m750 "$(dirname "${server_pidfile}")"
|
||||||
|
checkpath -d -o "${gitlab_user}:${gitlab_group}" -m750 "$(dirname "${sidekiq_pidfile}")"
|
||||||
|
|
||||||
|
start-stop-daemon --start \
|
||||||
|
--chdir "${gitlab_home}" \
|
||||||
|
--user="${gitlab_user}:${gitlab_group}" \
|
||||||
|
--pidfile="${server_pidfile}" \
|
||||||
|
--exec ${server_command} -- ${server_command_args}
|
||||||
|
eend $?
|
||||||
|
|
||||||
|
ebegin "Starting GitLab 7.8 Sidekiq"
|
||||||
|
cd "${gitlab_home}"
|
||||||
|
sudo -u git -H ${sidekiq_command} ${sidekiq_start_command_args}
|
||||||
|
eend $?
|
||||||
|
}
|
||||||
|
|
||||||
|
stop() {
|
||||||
|
ebegin "Stopping GitLab 7.8 Sidekiq"
|
||||||
|
cd "${gitlab_home}"
|
||||||
|
sudo -u git -H ${sidekiq_command} ${sidekiq_stop_command_args}
|
||||||
|
eend $?
|
||||||
|
|
||||||
|
ebegin "Stopping GitLab 7.8 Unicorn servers"
|
||||||
|
start-stop-daemon --stop \
|
||||||
|
--chdir "${gitlab_home}" \
|
||||||
|
--user="${gitlab_user}:${gitlab_group}" \
|
||||||
|
--pidfile="${server_pidfile}"
|
||||||
|
eend $?
|
||||||
|
}
|
@ -1,16 +1,16 @@
|
|||||||
#!/sbin/runscript
|
#!/sbin/runscript
|
||||||
|
|
||||||
name="GitLab"
|
name="GitLab"
|
||||||
description="GitLab 7.4 on Unicorns"
|
description="GitLab 7.9 on Unicorns"
|
||||||
|
|
||||||
: ${gitlab_user:=git}
|
: ${gitlab_user:=git}
|
||||||
: ${gitlab_group:=git}
|
: ${gitlab_group:=git}
|
||||||
: ${gitlab_home:="/opt/gitlabhq-7.4"}
|
: ${gitlab_home:="/opt/gitlabhq-7.9"}
|
||||||
|
|
||||||
: ${server_pidfile:="/opt/gitlabhq-7.4/tmp/pids/unicorn.pid"}
|
: ${server_pidfile:="/opt/gitlabhq-7.9/tmp/pids/unicorn.pid"}
|
||||||
: ${sidekiq_pidfile:="/opt/gitlabhq-7.4/tmp/pids/sidekiq.pid"}
|
: ${sidekiq_pidfile:="/opt/gitlabhq-7.9/tmp/pids/sidekiq.pid"}
|
||||||
|
|
||||||
: ${sidekiq_log:="/var/log/gitlabhq-7.4/sidekiq.log"}
|
: ${sidekiq_log:="/var/log/gitlabhq-7.9/sidekiq.log"}
|
||||||
|
|
||||||
: ${rails_env:=production}
|
: ${rails_env:=production}
|
||||||
|
|
||||||
@ -31,7 +31,7 @@ depend() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
start() {
|
start() {
|
||||||
ebegin "Starting GitLab 7.4 Unicorn servers"
|
ebegin "Starting GitLab 7.9 Unicorn servers"
|
||||||
|
|
||||||
checkpath -d -o "${gitlab_user}:${gitlab_group}" -m750 "$(dirname "${server_pidfile}")"
|
checkpath -d -o "${gitlab_user}:${gitlab_group}" -m750 "$(dirname "${server_pidfile}")"
|
||||||
checkpath -d -o "${gitlab_user}:${gitlab_group}" -m750 "$(dirname "${sidekiq_pidfile}")"
|
checkpath -d -o "${gitlab_user}:${gitlab_group}" -m750 "$(dirname "${sidekiq_pidfile}")"
|
||||||
@ -43,19 +43,19 @@ start() {
|
|||||||
--exec ${server_command} -- ${server_command_args}
|
--exec ${server_command} -- ${server_command_args}
|
||||||
eend $?
|
eend $?
|
||||||
|
|
||||||
ebegin "Starting GitLab 7.4 Sidekiq"
|
ebegin "Starting GitLab 7.9 Sidekiq"
|
||||||
cd "${gitlab_home}"
|
cd "${gitlab_home}"
|
||||||
sudo -u git -H ${sidekiq_command} ${sidekiq_start_command_args}
|
sudo -u git -H ${sidekiq_command} ${sidekiq_start_command_args}
|
||||||
eend $?
|
eend $?
|
||||||
}
|
}
|
||||||
|
|
||||||
stop() {
|
stop() {
|
||||||
ebegin "Stopping GitLab 7.4 Sidekiq"
|
ebegin "Stopping GitLab 7.9 Sidekiq"
|
||||||
cd "${gitlab_home}"
|
cd "${gitlab_home}"
|
||||||
sudo -u git -H ${sidekiq_command} ${sidekiq_stop_command_args}
|
sudo -u git -H ${sidekiq_command} ${sidekiq_stop_command_args}
|
||||||
eend $?
|
eend $?
|
||||||
|
|
||||||
ebegin "Stopping GitLab 7.4 Unicorn servers"
|
ebegin "Stopping GitLab 7.9 Unicorn servers"
|
||||||
start-stop-daemon --stop \
|
start-stop-daemon --stop \
|
||||||
--chdir "${gitlab_home}" \
|
--chdir "${gitlab_home}" \
|
||||||
--user="${gitlab_user}:${gitlab_group}" \
|
--user="${gitlab_user}:${gitlab_group}" \
|
||||||
|
440
www-apps/gitlabhq/gitlabhq-7.8.1.ebuild
Normal file
440
www-apps/gitlabhq/gitlabhq-7.8.1.ebuild
Normal file
@ -0,0 +1,440 @@
|
|||||||
|
# Copyright 1999-2013 Gentoo Foundation
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
# $Header: $
|
||||||
|
|
||||||
|
EAPI="5"
|
||||||
|
|
||||||
|
# Mainteiner 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 flags analytics and public-projects applies our custom patches, see
|
||||||
|
# https://github.com/cvut/gitlabhq for more information.
|
||||||
|
#
|
||||||
|
|
||||||
|
USE_RUBY="ruby20"
|
||||||
|
PYTHON_DEPEND="2:2.7"
|
||||||
|
|
||||||
|
EGIT_REPO_URI="https://github.com/gitlabhq/gitlabhq.git"
|
||||||
|
EGIT_COMMIT="v${PV}"
|
||||||
|
|
||||||
|
inherit eutils git-2 python ruby-ng versionator user
|
||||||
|
|
||||||
|
DESCRIPTION="GitLab is a free project and repository management application"
|
||||||
|
HOMEPAGE="https://github.com/gitlabhq/gitlabhq"
|
||||||
|
|
||||||
|
LICENSE="MIT"
|
||||||
|
SLOT=$(get_version_component_range 1-2)
|
||||||
|
KEYWORDS="~amd64 ~x86 ~arm"
|
||||||
|
IUSE="memcached mysql +postgres +unicorn"
|
||||||
|
|
||||||
|
## Gems dependencies:
|
||||||
|
# charlock_holmes dev-libs/icu
|
||||||
|
# grape, capybara dev-libs/libxml2, dev-libs/libxslt
|
||||||
|
# json dev-util/ragel
|
||||||
|
# yajl-ruby dev-libs/yajl
|
||||||
|
# pygments.rb python 2.5+
|
||||||
|
# execjs net-libs/nodejs, or any other JS runtime
|
||||||
|
# pg dev-db/postgresql-base
|
||||||
|
# mysql virtual/mysql
|
||||||
|
# rugged net-libs/http-parser dev-libs/libgit2
|
||||||
|
#
|
||||||
|
GEMS_DEPEND="
|
||||||
|
dev-libs/icu
|
||||||
|
dev-libs/libxml2
|
||||||
|
dev-libs/libxslt
|
||||||
|
dev-util/ragel
|
||||||
|
dev-libs/yajl
|
||||||
|
net-libs/nodejs
|
||||||
|
postgres? ( dev-db/postgresql )
|
||||||
|
mysql? ( virtual/mysql )
|
||||||
|
memcached? ( net-misc/memcached )
|
||||||
|
net-libs/http-parser
|
||||||
|
>=dev-libs/libgit2-0.21.3
|
||||||
|
<dev-libs/libgit2-0.22.0"
|
||||||
|
DEPEND="${GEMS_DEPEND}
|
||||||
|
$(ruby_implementation_depend ruby19 '=' -1.9.3*)[readline,ssl,yaml]
|
||||||
|
>=dev-vcs/git-1.8.1.5
|
||||||
|
>=dev-vcs/gitlab-shell-2.5.4
|
||||||
|
net-misc/curl
|
||||||
|
virtual/ssh"
|
||||||
|
RDEPEND="${DEPEND}
|
||||||
|
dev-db/redis
|
||||||
|
virtual/mta
|
||||||
|
virtual/krb5"
|
||||||
|
ruby_add_bdepend "
|
||||||
|
virtual/rubygems
|
||||||
|
>=dev-ruby/bundler-1.0"
|
||||||
|
|
||||||
|
RUBY_PATCHES=(
|
||||||
|
"${P}-fix-checks-gentoo.patch"
|
||||||
|
)
|
||||||
|
|
||||||
|
GIT_USER="git"
|
||||||
|
GIT_GROUP="git"
|
||||||
|
GIT_HOME=$(getent passwd $GIT_USER | cut -d: -f6)
|
||||||
|
DEST_DIR="/opt/${PN}-${SLOT}"
|
||||||
|
CONF_DIR="/etc/${PN}-${SLOT}"
|
||||||
|
|
||||||
|
GIT_REPOS="${GIT_HOME}/repositories"
|
||||||
|
GIT_SATELLITES="${GIT_HOME}/gitlab-satellites"
|
||||||
|
GITLAB_SHELL="/var/lib/gitlab-shell"
|
||||||
|
GITLAB_SHELL_HOOKS="${GITLAB_SHELL}/hooks"
|
||||||
|
|
||||||
|
RAILS_ENV=${RAILS_ENV:-production}
|
||||||
|
RUBY=${RUBY:-ruby20}
|
||||||
|
BUNDLE="${RUBY} /usr/bin/bundle"
|
||||||
|
|
||||||
|
pkg_setup() {
|
||||||
|
enewgroup ${GIT_GROUP}
|
||||||
|
enewuser ${GIT_USER} -1 -1 ${DEST_DIR} "$GIT_GROUP}"
|
||||||
|
}
|
||||||
|
|
||||||
|
all_ruby_unpack() {
|
||||||
|
git-2_src_unpack
|
||||||
|
}
|
||||||
|
|
||||||
|
each_ruby_prepare() {
|
||||||
|
|
||||||
|
# fix path to repo and gitlab-shell hooks
|
||||||
|
test -d "${GITLAB_SHELL_HOOKS}" || die "Gitlab Shell hooks directory not found: \"${GITLAB_SHELL_HOOKS}. Have you properly installed dev-vcs/gitlab-shell"?
|
||||||
|
|
||||||
|
sed -i \
|
||||||
|
-e "s|\(\s*path:\s\)/.*/gitlab-shell/|\1 ${GITLAB_SHELL}/|" \
|
||||||
|
-e "s|\(\s*repos_path:\s\)/.*|\1 ${GIT_REPOS}/|" \
|
||||||
|
-e "s|\(\s*hooks_path:\s\)/.*|\1 ${GITLAB_SHELL_HOOKS}/|" \
|
||||||
|
-e "s|\(\s*path:\s\)/.*/gitlab-satellites/|\1 ${GIT_SATELLITES}/|" \
|
||||||
|
-e "s|\(\s*GITLAB_SHELL:\s*\)|\1\n\tpath: \"${GITLAB_SHELL}\"|" \
|
||||||
|
config/gitlab.yml.example || die "failed to filter gitlab.yml.example"
|
||||||
|
|
||||||
|
# modify database settings
|
||||||
|
sed -i \
|
||||||
|
-e 's|\(username:\) postgres.*|\1 gitlab|' \
|
||||||
|
-e 's|\(password:\).*|\1 gitlab|' \
|
||||||
|
-e 's|\(socket:\).*|/run/postgresql/.s.PGSQL.5432|' \
|
||||||
|
config/database.yml.postgresql \
|
||||||
|
|| die "failed to filter database.yml.postgresql"
|
||||||
|
|
||||||
|
# replace "secret" token with random one
|
||||||
|
local randpw=$(echo ${RANDOM}|sha512sum|cut -c 1-128)
|
||||||
|
sed -i -e "/secret_token =/ s/=.*/= '${randpw}'/" \
|
||||||
|
config/initializers/secret_token.rb \
|
||||||
|
|| die "failed to filter secret_token.rb"
|
||||||
|
|
||||||
|
# remove needless files
|
||||||
|
#rm -r .git Satisfy gitlab::check.
|
||||||
|
rm .foreman .gitignore Procfile
|
||||||
|
use unicorn || rm config/unicorn.rb.example
|
||||||
|
use postgres || rm config/database.yml.postgresql
|
||||||
|
use mysql || rm config/database.yml.mysql
|
||||||
|
|
||||||
|
# remove dependency on therubyracer and libv8 (we're using nodejs instead)
|
||||||
|
local tfile; for tfile in Gemfile{,.lock}; do
|
||||||
|
sed -i \
|
||||||
|
-e '/therubyracer/d' \
|
||||||
|
-e '/libv8/d' \
|
||||||
|
"${tfile}" || die "failed to filter ${tfile}"
|
||||||
|
done
|
||||||
|
|
||||||
|
# change thin and unicorn dependencies to be optional
|
||||||
|
sed -i \
|
||||||
|
-e '/^gem "thin"/ s/$/, group: :thin/' \
|
||||||
|
-e '/^gem "unicorn"/ s/$/, group: :unicorn/' \
|
||||||
|
Gemfile || die "failed to modify Gemfile"
|
||||||
|
|
||||||
|
# change cache_store
|
||||||
|
if use memcached; then
|
||||||
|
sed -i \
|
||||||
|
-e "/\w*config.cache_store / s/=.*/= :dalli_store, { namespace: 'gitlab' }/" \
|
||||||
|
config/environments/production.rb \
|
||||||
|
|| die "failed to modify production.rb"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Update pathes for unicorn
|
||||||
|
if use unicorn; then
|
||||||
|
sed -i \
|
||||||
|
-e "s#/home/git/gitlab#${DEST_DIR}#" \
|
||||||
|
config/unicorn.rb.example \
|
||||||
|
|| die "failed to modify unicorn.rb.example"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Use >timfle-krb5-auth-0.8, see https://github.com/timfel/krb5-auth/pull/7
|
||||||
|
sed -i \
|
||||||
|
-e "s#timfel\-krb5\-auth (0.8)#timfel\-krb5\-auth (0.8.3)#g" \
|
||||||
|
Gemfile.lock \
|
||||||
|
|| die "failed to update Gemfile.lock"
|
||||||
|
}
|
||||||
|
|
||||||
|
each_ruby_install() {
|
||||||
|
local dest="${DEST_DIR}"
|
||||||
|
local conf="/etc/${PN}-${SLOT}"
|
||||||
|
local temp="/var/tmp/${PN}-${SLOT}"
|
||||||
|
local logs="/var/log/${PN}-${SLOT}"
|
||||||
|
local uploads="${DEST_DIR}/public/uploads"
|
||||||
|
|
||||||
|
## Prepare directories ##
|
||||||
|
|
||||||
|
diropts -m750
|
||||||
|
keepdir "${logs}"
|
||||||
|
dodir "${temp}"
|
||||||
|
|
||||||
|
diropts -m755
|
||||||
|
keepdir "${conf}"
|
||||||
|
dodir "${dest}"
|
||||||
|
dodir "${uploads}"
|
||||||
|
|
||||||
|
dosym "${temp}" "${dest}/tmp"
|
||||||
|
dosym "${logs}" "${dest}/log"
|
||||||
|
|
||||||
|
## Link gitlab-shell into git home
|
||||||
|
dosym "${GITLAB_SHELL}" "${GIT_HOME}/gitlab-shell"
|
||||||
|
|
||||||
|
## Install configs ##
|
||||||
|
|
||||||
|
insinto "${conf}"
|
||||||
|
doins -r config/*
|
||||||
|
dosym "${conf}" "${dest}/config"
|
||||||
|
|
||||||
|
insinto "${dest}/.ssh"
|
||||||
|
newins "${FILESDIR}/config.ssh" config
|
||||||
|
|
||||||
|
echo "export RAILS_ENV=production" > "${D}/${dest}/.profile"
|
||||||
|
|
||||||
|
## Install all others ##
|
||||||
|
|
||||||
|
# remove needless dirs
|
||||||
|
rm -Rf config tmp log
|
||||||
|
|
||||||
|
insinto "${dest}"
|
||||||
|
doins -r ./
|
||||||
|
|
||||||
|
## Install logrotate config ##
|
||||||
|
|
||||||
|
dodir /etc/logrotate.d
|
||||||
|
sed -e "s|@LOG_DIR@|${logs}|" \
|
||||||
|
"${FILESDIR}"/gitlab.logrotate > "${D}"/etc/logrotate.d/${PN}-${SLOT} \
|
||||||
|
|| die "failed to filter gitlab.logrotate"
|
||||||
|
|
||||||
|
## Install gems via bundler ##
|
||||||
|
|
||||||
|
cd "${D}/${dest}"
|
||||||
|
|
||||||
|
local without="development test thin"
|
||||||
|
local flag; for flag in memcached mysql postgres unicorn; do
|
||||||
|
without+="$(use $flag || echo ' '$flag)"
|
||||||
|
done
|
||||||
|
local bundle_args="--deployment ${without:+--without ${without}}"
|
||||||
|
|
||||||
|
# Use systemlibs for rugged
|
||||||
|
${BUNDLE} config build.rugged --use-system-libraries
|
||||||
|
|
||||||
|
# Use systemlibs for nokogiri as suggested
|
||||||
|
${BUNDLE} config build.nokogiri --use-system-libraries
|
||||||
|
|
||||||
|
# Fix invalid ldflags for charlock_holmes,
|
||||||
|
# see https://github.com/brianmario/charlock_holmes/issues/32
|
||||||
|
${BUNDLE} config build.charlock_holmes --with-ldflags='-L. -Wl,-O1 -Wl,--as-needed -rdynamic -Wl,-export-dynamic -Wl,--no-undefined -lz -licuuc'
|
||||||
|
|
||||||
|
einfo "Running bundle install ${bundle_args} ..."
|
||||||
|
${BUNDLE} install ${bundle_args} || die "bundler failed"
|
||||||
|
|
||||||
|
## Clean ##
|
||||||
|
|
||||||
|
local gemsdir=vendor/bundle/ruby/$(ruby_rbconfig_value 'ruby_version')
|
||||||
|
|
||||||
|
# remove gems cache
|
||||||
|
rm -Rf ${gemsdir}/cache
|
||||||
|
|
||||||
|
# fix permissions
|
||||||
|
fowners -R ${GIT_USER}:${GIT_GROUP} "${dest}" "${conf}" "${temp}" "${logs}"
|
||||||
|
fperms o+Xr "${temp}" # Let nginx access the unicorn socket
|
||||||
|
|
||||||
|
## RC scripts ##
|
||||||
|
local rcscript=${P}.init
|
||||||
|
|
||||||
|
cp "${FILESDIR}/${rcscript}" "${T}" || die
|
||||||
|
sed -i \
|
||||||
|
-e "s|@GIT_USER@|${GIT_USER}|" \
|
||||||
|
-e "s|@GIT_GROUP@|${GIT_USER}|" \
|
||||||
|
-e "s|@SLOT@|${SLOT}|" \
|
||||||
|
-e "s|@DEST_DIR@|${dest}|" \
|
||||||
|
-e "s|@LOG_DIR@|${logs}|" \
|
||||||
|
-e "s|@RESQUE_QUEUE@|${resque_queue}|" \
|
||||||
|
"${T}/${rcscript}" \
|
||||||
|
|| die "failed to filter ${rcscript}"
|
||||||
|
|
||||||
|
if use memcached; then
|
||||||
|
sed -i -e '/^depend/,// {/need / s/$/ memcached/}' \
|
||||||
|
"${T}/${rcscript}" || die "failed to filter ${rcscript}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
newinitd "${T}/${rcscript}" "${PN}-${SLOT}"
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
if [ ! -e "${GIT_HOME}/.ssh/id_rsa" ]; then
|
||||||
|
einfo "Generating SSH key for git user"
|
||||||
|
su -l ${GIT_USER} -s /bin/sh -c "
|
||||||
|
ssh-keygen -q -N '' -t rsa -f ${GIT_HOME}/.ssh/id_rsa" \
|
||||||
|
|| die "failed to generate SSH key"
|
||||||
|
fi
|
||||||
|
if [ ! -e "${GIT_HOME}/.gitconfig" ]; then
|
||||||
|
einfo "Setting git user in ${GIT_HOME}/.gitconfig, feel free to "
|
||||||
|
einfo "modify this file according to your needs!"
|
||||||
|
su -l ${GIT_USER} -s /bin/sh -c "
|
||||||
|
git config --global user.email 'gitlab@localhost';
|
||||||
|
git config --global user.name 'GitLab'" \
|
||||||
|
|| die "failed to setup git name and email"
|
||||||
|
fi
|
||||||
|
|
||||||
|
elog "If this is a new installation, proceed with the following steps:"
|
||||||
|
elog
|
||||||
|
elog " 1. Copy ${CONF_DIR}/gitlab.yml.example to ${CONF_DIR}/gitlab.yml"
|
||||||
|
elog " and edit this file in order to configure your GitLab settings."
|
||||||
|
elog
|
||||||
|
elog " 2. Copy ${CONF_DIR}/database.yml.* to ${CONF_DIR}/database.yml"
|
||||||
|
elog " and edit this file in order to configure your database settings"
|
||||||
|
elog " for \"production\" environment."
|
||||||
|
elog
|
||||||
|
elog " 3. If this is a new installation, create a database for your GitLab instance."
|
||||||
|
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 gitlab_production"
|
||||||
|
elog " Note: You should change your password to something more random..."
|
||||||
|
elog
|
||||||
|
elog " GitLab uses polymorphic associations which are not SQL-standard friendly."
|
||||||
|
elog " To get it work you must use this ugly workaround:"
|
||||||
|
elog " psql -U postgres -d gitlab"
|
||||||
|
elog " CREATE CAST (integer AS text) WITH INOUT AS IMPLICIT;"
|
||||||
|
elog
|
||||||
|
fi
|
||||||
|
elog " 4. Execute the following command to finalize your setup:"
|
||||||
|
elog " emerge --config \"=${CATEGORY}/${PF}\""
|
||||||
|
elog " Note: Do not forget to start Redis server."
|
||||||
|
elog
|
||||||
|
elog "To update an existing instance, run the following command and choose upgrading when prompted:"
|
||||||
|
elog " emerge --config \"=${CATEGORY}/${PF}\""
|
||||||
|
elog
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_config() {
|
||||||
|
## Check config files existence ##
|
||||||
|
|
||||||
|
einfo "Checking configuration files ..."
|
||||||
|
|
||||||
|
if [ ! -r "${CONF_DIR}/database.yml" ] ; then
|
||||||
|
eerror "Copy \"${CONF_DIR}/database.yml.*\" to \"${CONF_DIR}/database.yml\""
|
||||||
|
eerror "and edit this file in order to configure your database settings for"
|
||||||
|
eerror "\"production\" environment."
|
||||||
|
die
|
||||||
|
fi
|
||||||
|
if [ ! -r "${CONF_DIR}/gitlab.yml" ]; then
|
||||||
|
eerror "Copy \"${CONF_DIR}/gitlab.yml.example\" to \"${CONF_DIR}/gitlab.yml\""
|
||||||
|
eerror "and edit this file in order to configure your GitLab settings"
|
||||||
|
eerror "for \"production\" environment."
|
||||||
|
die
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Ask user whether this is the first installation
|
||||||
|
einfo "Do you want to upgrade an existing installation? [Y|n] "
|
||||||
|
do_upgrade=""
|
||||||
|
while true
|
||||||
|
do
|
||||||
|
read -r do_upgrade
|
||||||
|
if [[ $do_upgrade == "n" || $do_upgrade == "N" ]] ; then do_upgrade="" && break
|
||||||
|
elif [[ $do_upgrade == "y" || $do_upgrade == "Y" || $do_upgrade == "" ]] ; then do_upgrade=1 && break
|
||||||
|
else eerrorn "Please type either \"Y\" or \"N\" ... " ; fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [[ $do_upgrade ]] ; then
|
||||||
|
|
||||||
|
LATEST_DEST=$(test -n "${LATEST_DEST}" && echo ${LATEST_DEST} || \
|
||||||
|
find /opt -maxdepth 1 -iname 'gitlabhq-*' -and -type d -and -not -iname "gitlabhq-${SLOT}" | \
|
||||||
|
sort -r | head -n1)
|
||||||
|
|
||||||
|
if [[ -z "${LATEST_DEST}" || ! -d "${LATEST_DEST}" ]] ; then
|
||||||
|
einfo "Please enter the path to your latest Gitlab instance:"
|
||||||
|
while true
|
||||||
|
do
|
||||||
|
read -r LATEST_DEST
|
||||||
|
test -d ${LATEST_DEST} && break ||\
|
||||||
|
eerror "Please specify a valid path to your Gitlab instance!"
|
||||||
|
done
|
||||||
|
else
|
||||||
|
einfo "Found your latest Gitlab instance at \"${LATEST_DEST}\"."
|
||||||
|
fi
|
||||||
|
|
||||||
|
einfo "Please make sure that you've stopped your running Gitlab instance and that you've created a backup: "
|
||||||
|
elog "\$ cd \"${LATEST_DEST}\" && sudo -u ${GIT_USER} ${BUNDLE} exec rake gitlab:backup:create RAILS_ENV=production"
|
||||||
|
elog ""
|
||||||
|
|
||||||
|
einfo "Press ENTER to continue, STRG-C to cancel"
|
||||||
|
read
|
||||||
|
|
||||||
|
einfo "Migrating uploads ..."
|
||||||
|
einfo "This will move your uploads from \"$LATEST_DEST\" to \"${DEST_DIR}\", continue? [Y|n] "
|
||||||
|
migrate_uploads=""
|
||||||
|
while true
|
||||||
|
do
|
||||||
|
read -r migrate_uploads
|
||||||
|
if [[ $migrate_uploads == "n" || $migrate_uploads == "N" ]] ; then migrate_uploads="" && break
|
||||||
|
elif [[ $migrate_uploads == "y" || $migrate_uploads == "Y" || $migrate_uploads == "" ]] ; then migrate_uploads=1 && break
|
||||||
|
else eerror "Please type either \"Y\" or \"N\" ... " ; fi
|
||||||
|
done
|
||||||
|
if [[ $migrate_uploads ]] ; then
|
||||||
|
su -l ${GIT_USER} -s /bin/sh -c "
|
||||||
|
mv ${LATEST_DEST}/public/uploads/* ${DEST_DIR}/public/uploads/" \
|
||||||
|
|| die "failed to migrate uplaods."
|
||||||
|
fi
|
||||||
|
|
||||||
|
einfo "Migrating config ..."
|
||||||
|
for conf in database.yml gitlab.yml resque.yml unicorn.rb ; do
|
||||||
|
cp "${LATEST_DEST}/config/${conf}" "${DEST_DIR}/config/"
|
||||||
|
|
||||||
|
example="${DEST_DIR}/config/${conf}.example"
|
||||||
|
test -d "${example}" && mv "${example}" "${DEST_DIR}/config/.cfg0000_${conf}"
|
||||||
|
done
|
||||||
|
CONFIG_PROTECT="${DEST_DIR}" dispatch-conf || die "failed to migrate config."
|
||||||
|
|
||||||
|
einfo "Migrating database ..."
|
||||||
|
su -l ${GIT_USER} -s /bin/sh -c "
|
||||||
|
export LANG=en_US.UTF-8; export LC_ALL=en_US.UTF-8
|
||||||
|
cd ${DEST_DIR}
|
||||||
|
${BUNDLE} exec rake db:migrate RAILS_ENV=production
|
||||||
|
${BUNDLE} exec rake gitlab:satellites:create RAILS_ENV=production" \
|
||||||
|
|| die "failed to migrate database."
|
||||||
|
|
||||||
|
einfo "Clear redis cache ..."
|
||||||
|
su -l ${GIT_USER} -s /bin/sh -c "
|
||||||
|
export LANG=en_US.UTF-8; export LC_ALL=en_US.UTF-8
|
||||||
|
cd ${DEST_DIR}
|
||||||
|
${BUNDLE} exec rake cache:clear RAILS_ENV=production" \
|
||||||
|
|| die "failed to run cache:clear"
|
||||||
|
|
||||||
|
einfo "Clear and precompile assets ..."
|
||||||
|
su -l ${GIT_USER} -s /bin/sh -c "
|
||||||
|
export LANG=en_US.UTF-8; export LC_ALL=en_US.UTF-8
|
||||||
|
cd ${DEST_DIR}
|
||||||
|
${BUNDLE} exec rake assets:clean RAILS_ENV=production
|
||||||
|
${BUNDLE} exec rake assets:precompile RAILS_ENV=production" \
|
||||||
|
|| die "failed to run assets:precompile"
|
||||||
|
|
||||||
|
else
|
||||||
|
|
||||||
|
einfo "Initializing database ..."
|
||||||
|
su -l ${GIT_USER} -s /bin/sh -c "
|
||||||
|
export LANG=en_US.UTF-8; export LC_ALL=en_US.UTF-8
|
||||||
|
cd ${DEST_DIR}
|
||||||
|
${BUNDLE} exec rake gitlab:setup RAILS_ENV=${RAILS_ENV}" \
|
||||||
|
|| die "failed to run rake gitlab:setup"
|
||||||
|
fi
|
||||||
|
|
||||||
|
einfo "You might want to run the following in order to check your application status:"
|
||||||
|
einfo "# cd ${DEST_DIR} && sudo -u ${GIT_USER} ${BUNDLE} exec rake gitlab:check RAILS_ENV=production"
|
||||||
|
einfo ""
|
||||||
|
einfo "GitLab is prepared, now you should configure your web server."
|
||||||
|
}
|
@ -26,7 +26,7 @@ HOMEPAGE="https://github.com/gitlabhq/gitlabhq"
|
|||||||
|
|
||||||
LICENSE="MIT"
|
LICENSE="MIT"
|
||||||
SLOT=$(get_version_component_range 1-2)
|
SLOT=$(get_version_component_range 1-2)
|
||||||
KEYWORDS="~amd64 ~x86"
|
KEYWORDS=""
|
||||||
IUSE="memcached mysql +postgres +unicorn"
|
IUSE="memcached mysql +postgres +unicorn"
|
||||||
|
|
||||||
## Gems dependencies:
|
## Gems dependencies:
|
||||||
|
Loading…
Reference in New Issue
Block a user