Merge branch 'purge-obsolete-gitlab' into 'master'
Purge obsolete gitlab See merge request linux/gentoo-overlay!212
This commit is contained in:
commit
994b689b42
55 changed files with 48 additions and 5575 deletions
|
@ -1,84 +0,0 @@
|
|||
06 Sep 2017; Manuel Friedli <manuel@fritteli.ch>
|
||||
-gitlab-ci-multi-runner-bin-1.6.0.ebuild,
|
||||
-gitlab-ci-multi-runner-bin-1.7.0.ebuild,
|
||||
-gitlab-ci-multi-runner-bin-1.8.0.ebuild:
|
||||
dev-vcs/gitlab-ci-multi-runner-bin: Prune versions <9.2.0
|
||||
|
||||
*gitlab-ci-multi-runner-bin-1.8.0 (23 Nov 2016)
|
||||
|
||||
23 Nov 2016; Manuel Friedli <manuel@fritteli.ch>
|
||||
+gitlab-ci-multi-runner-bin-1.8.0.ebuild,
|
||||
-gitlab-ci-multi-runner-bin-1.4.1.ebuild,
|
||||
-gitlab-ci-multi-runner-bin-1.5.0.ebuild:
|
||||
dev-vcs/gitlab-ci-multi-runner-bin: added ebuild for gitlab-ci-multi-
|
||||
runner-1.8.0 and pruned old ones
|
||||
|
||||
24 Oct 2016; Manuel Friedli <manuel@fritteli.ch>
|
||||
gitlab-ci-multi-runner-bin-1.4.1.ebuild,
|
||||
gitlab-ci-multi-runner-bin-1.5.0.ebuild,
|
||||
gitlab-ci-multi-runner-bin-1.6.0.ebuild,
|
||||
gitlab-ci-multi-runner-bin-1.7.0.ebuild:
|
||||
dev-vcs/gitlab-ci-multi-runner-bin: prevent the simultaneous installation of
|
||||
gitlab-ci-multi-runner and gitlab-ci-multi-runner-bin
|
||||
|
||||
*gitlab-ci-multi-runner-1.7.0 (23 Oct 2016)
|
||||
|
||||
23 Oct 2016; Manuel Friedli <manuel@fritteli.ch>
|
||||
+gitlab-ci-multi-runner-1.7.0.ebuild:
|
||||
dev-vcs/gitlab-ci-multi-runner: added ebuild for version 1.7.0
|
||||
|
||||
23 Sep 2016; Manuel Friedli <manuel@fritteli.ch>
|
||||
gitlab-ci-multi-runner-1.6.0.ebuild:
|
||||
dev-vcs/gitlab-ci-multi-runner: corrected description
|
||||
|
||||
*gitlab-ci-multi-runner-1.6.0 (23 Sep 2016)
|
||||
|
||||
23 Sep 2016; Manuel Friedli <manuel@fritteli.ch>
|
||||
+gitlab-ci-multi-runner-1.6.0.ebuild:
|
||||
dev-vcs/gitlab-ci-multi-runner: added ebuild for gitlab-ci-multi-runner-1.6.0
|
||||
|
||||
05 Sep 2016; Manuel Friedli <manuel@fritteli.ch>
|
||||
gitlab-ci-multi-runner-1.4.1.ebuild, gitlab-ci-multi-runner-1.5.0.ebuild:
|
||||
dev-vcs/gitlab-ci-multi-runner: fixed gitlab-ci-multi-runner ebuilds for
|
||||
EAPI="6"
|
||||
|
||||
01 Sep 2016; Manuel Friedli <manuel@fritteli.ch>
|
||||
gitlab-ci-multi-runner-1.4.1.ebuild, gitlab-ci-multi-runner-1.5.0.ebuild:
|
||||
dev-vcs/gitlab-ci-multi-runner: updated to EAPI="6"
|
||||
|
||||
22 Aug 2016; Manuel Friedli <manuel@fritteli.ch>
|
||||
-gitlab-ci-multi-runner-1.3.2.ebuild:
|
||||
dev-vcs/gitlab-ci-multi-runner: purged all ebuild versions <gitlab-ci-multi-
|
||||
runner-1.4.1
|
||||
|
||||
*gitlab-ci-multi-runner-1.5.0 (22 Aug 2016)
|
||||
|
||||
22 Aug 2016; Manuel Friedli <manuel@fritteli.ch>
|
||||
+gitlab-ci-multi-runner-1.5.0.ebuild:
|
||||
dev-vcs/gitlab-ci-multi-runner: added gitlab-ci-multi-runner-1.5.0. to be
|
||||
used along with gitlab-ce-8.11.0
|
||||
|
||||
*gitlab-ci-multi-runner-1.4.1 (26 Jul 2016)
|
||||
|
||||
26 Jul 2016; Manuel Friedli <manuel@fritteli.ch>
|
||||
+gitlab-ci-multi-runner-1.4.1.ebuild, -gitlab-ci-multi-runner-1.1.4.ebuild,
|
||||
-gitlab-ci-multi-runner-1.3.1.ebuild:
|
||||
dev-vcs/gitlab-ci-multi-runner: - added ebuild for version 1.4.1 - deleted
|
||||
ebuilds for versions <1.3.2
|
||||
|
||||
*gitlab-ci-multi-runner-1.3.2 (09 Jul 2016)
|
||||
|
||||
09 Jul 2016; Manuel Friedli <manuel@fritteli.ch>
|
||||
+gitlab-ci-multi-runner-1.3.2.ebuild:
|
||||
dev-vcs/gitlab-ci-multi-runner: added ebuild for version 1.3.2 which contains
|
||||
a bugfix for ARM
|
||||
|
||||
*gitlab-ci-multi-runner-1.3.1 (26 Jun 2016)
|
||||
|
||||
26 Jun 2016; Manuel Friedli <manuel@fritteli.ch>
|
||||
+gitlab-ci-multi-runner-1.3.1.ebuild, -gitlab-ci-multi-runner-1.1.3.ebuild:
|
||||
dev-vcs/gitlab-ci-multi-runner:
|
||||
Added version 1.3.1 and purged old one
|
||||
|
||||
07 Jun 2016; Manuel Friedli <manuel@fritteli.ch> +ChangeLog:
|
||||
Added ChangeLog
|
|
@ -1,8 +0,0 @@
|
|||
AUX gitlab-ci-multi-runner.conf 44 SHA256 0b93ba53d557fbf603b50f6d78eb2c4415b9a79f056142b6edf4a63fc6612d6e SHA512 1f5ff480740b18fc985ae9337b8dc4ddd1bde5253e09042b5542cb9a3db54b9cef1f7b24445c829eb83fcfd8751b693018154f6b97ce0a6e723d5d71d9a27429 WHIRLPOOL fc5218c55917b3303baf649fbafaf1dc50cf52d0ee04852716defe4f21b806f4f313071b1c55920d89da66180405d35da0f7cca73c2617b70bcaa67f725cab2a
|
||||
AUX gitlab-ci-multi-runner.init 702 SHA256 7a19a20f0b3138a86d805872706ebc2918b01663cfdb351aa2d2cb89707602e9 SHA512 005e10a1c2974209f74efb5899d8f7627284947b716049a5211a2c5767a43b7a629061d96a6f445646f88cdb4afb9918fc2d154d68fabd4fe8ec4e0b9fd0125f WHIRLPOOL 85100f9a311ce1a39adddc10dee5af7862dceff5ae24e30c2830b74cdf78d74357fc0f0b43010a79909caf31e33439f0facc5dbd8e87b6452180093d1058eb3d
|
||||
DIST gitlab-ci-multi-runner-bin-9.2.0-amd64 70053912 SHA256 bc84cee7cfccc3b5ae0ed9737fd2e89e9aa1c358b0a69b20261f6ac55fe4d696 SHA512 efb52bb7a6014df32fd4ef1bef218c243e09a931fa6938fb5331fc166b93d0d83a636f804370c9dd4c7b9c81c71150bee49d9081df8bdd69e667079ebed66a69 WHIRLPOOL 96332aa68c80990b5ce26ab6dfbf43515efbccc3a75ccb3a17491e02c3553ce2baf962d45b83e9b6e1875b4ad098ce75e34e841ffdf1e0181ff755319f352497
|
||||
DIST gitlab-ci-multi-runner-bin-9.2.0-arm 66560073 SHA256 ccc67dde278d1ded1c4aa6785de8ef1429b971ba9fb955109c8d9cd9d8ce862f SHA512 878ed2efb619ca43e03319a77b35bc79842eb8f62e3e1cf4bb51b0e9256a44ff44112557ad14467e24b41280d67c96b78f381e5d194dd5404911b1122c13d70d WHIRLPOOL 84ee58bb7e54491af55754beb0e0b398b5d546de5f8f48e38f3837b1c92cdbc4e1268a824bbf08c2cac36d85f344a0f96b2ed256bd5d51e99edc807a9c41154e
|
||||
DIST gitlab-ci-multi-runner-bin-9.2.0-x86 66332255 SHA256 ec03950240611049bb8537c93fe82459d70a2b20642b4f56f615a72eb2cd501c SHA512 e7c7d6d6888d4b99204a9a9f0c9bb8b454cfd90ebf22e1909b97bd1d32c2282f8ca06a679078bb6b6b4fdb024a015411d62823a1f4f4eed931d7c884ed584e70 WHIRLPOOL f28d0596c38cda742ac300ed0d372220f9c58b235accab4c4a9686fd43905f46c9549c14a76c571fe6a94dc8190aaf57b3fe8513e95091a7daebeb43bc63cc30
|
||||
EBUILD gitlab-ci-multi-runner-bin-9.2.0.ebuild 2405 SHA256 bdc223064f17fabc925c5b56ee5887422322acd70324a9a69d48d9a5d2c5db90 SHA512 696e910ecedd2f45e56f5c627a24b119953b7c9c8e3da0eba855247729962d01b3aa537a4c45bded620f685b21422c77ef93a134e37266f99dcd5fef6dc767a7 WHIRLPOOL c42ce74d9114fcc872a6e363965191b344f7f379ccb0878d9c73c8fb72c6fa75816b18bc566f09823eee22fbdb20668c57112ed64f5611a90bbf4a16a7a71bee
|
||||
MISC ChangeLog 3240 SHA256 24bb1651c40c4dd49d57d9a95b74ce842cbbe2dcddba4bc76f52d06c10795abf SHA512 f224ca1e45c9d56fcc4dd6f15e687a07e5be77a809ec9ada1eeaf4ad1234fd08143e6bc91c96b973003c38485cb839127f1534f4705e92f985f4d72aecffb43d WHIRLPOOL aefff25c7cb7a56f2625e870e1362b9888f9d5b303bcd702a662b080f782745646fca656ef91b2891c5eead4987e42525df8e1c80ed12eed375d758413db6899
|
||||
MISC metadata.xml 248 SHA256 7b43be15755627edf5c12cf1b50c607d781558640bf8375d685d51d7ade99a32 SHA512 29f9b96b0a77546cce6a8bffd82fae2fd0939d32a7a05ffd0d91f9250a019a3ddaa599b93988c82daabb9c4c4b284dd947e2c47f6ca7727b8539cffa91bcb8c2 WHIRLPOOL 993013c9878ead35469db13d3072f694a341ee654182e0c31d0678f5dd6de4bdc8d59a0b7bb6d685dc41ea6b55dac518cd8034131baea8002170c680e50304d1
|
|
@ -1 +0,0 @@
|
|||
LOGFILE=/var/log/gitlab-ci-multi-runner.log
|
|
@ -1,23 +0,0 @@
|
|||
#!/sbin/openrc-run
|
||||
# Copyright 2015-2016 Nicolas Heine
|
||||
|
||||
depend() {
|
||||
after sshd
|
||||
need net
|
||||
need localmount
|
||||
}
|
||||
|
||||
start() {
|
||||
ebegin "Starting gitlab-ci-multi-runner"
|
||||
checkpath -d /var/run
|
||||
checkpath -f -o @USER@ -m640 "${LOGFILE}"
|
||||
start-stop-daemon --start -b -u @USER@ --chdir /opt/gitlab-ci-multi-runner --pidfile /var/run/gitlab-ci-multi-runner.pid -1 "${LOGFILE}" -2 "${LOGFILE}" --make-pidfile \
|
||||
--exec /opt/gitlab-ci-multi-runner/gitlab-ci-multi-runner -- run
|
||||
eend $?
|
||||
}
|
||||
|
||||
stop() {
|
||||
ebegin "Stopping gitlab-ci-multi-runner"
|
||||
start-stop-daemon --stop --pidfile /var/run/gitlab-ci-multi-runner.pid
|
||||
eend $?
|
||||
}
|
|
@ -1,102 +0,0 @@
|
|||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
|
||||
inherit eutils user
|
||||
|
||||
MY_PN="gitlab-ci-multi-runner"
|
||||
|
||||
DESCRIPTION="Binary version of GitLab CI Multi Runner, the build processor for GitLab 8.14+"
|
||||
HOMEPAGE="https://gitlab.com/gitlab-org/${MY_PN}"
|
||||
SRC_URI="x86? ( https://${MY_PN}-downloads.s3.amazonaws.com/v${PV}/binaries/${MY_PN}-linux-386 -> ${P}-x86 )
|
||||
amd64? ( https://${MY_PN}-downloads.s3.amazonaws.com/v${PV}/binaries/${MY_PN}-linux-amd64 -> ${P}-amd64 )
|
||||
arm? ( https://${MY_PN}-downloads.s3.amazonaws.com/v${PV}/binaries/${MY_PN}-linux-arm -> ${P}-arm )"
|
||||
|
||||
RESTRICT="mirror"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86 ~arm"
|
||||
|
||||
DEPEND="dev-vcs/git
|
||||
!dev-vcs/gitlab-ci-multi-runner"
|
||||
RDEPEND="${DEPEND}
|
||||
net-libs/nodejs
|
||||
virtual/mta"
|
||||
|
||||
MY_USER="gitlab_ci_multi_runner"
|
||||
|
||||
DEST_DIR="/opt/${MY_PN}"
|
||||
LOGS_DIR="/var/log/${MY_PN}"
|
||||
TEMP_DIR="/var/tmp/${MY_PN}"
|
||||
RUN_DIR="/run/${MY_PN}"
|
||||
|
||||
pkg_setup() {
|
||||
enewgroup ${MY_USER}
|
||||
enewuser ${MY_USER} -1 /bin/bash ${DEST_DIR} ${MY_USER}
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
local a="$(usev amd64)$(usev arm)$(usev x86)"
|
||||
mkdir -p "${S}"
|
||||
cp "${DISTDIR}/${P}-${a}" "${S}/${MY_PN}"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
chmod +x "${S}/${MY_PN}"
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# nothing to compile, binary all-in-one goodness! (?)
|
||||
:
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local dest=${DEST_DIR}
|
||||
local conf="/etc/gitlab-runner"
|
||||
|
||||
diropts -m755
|
||||
dodir ${dest}
|
||||
|
||||
exeinto ${dest}
|
||||
doexe "${S}/${MY_PN}"
|
||||
|
||||
diropts -m750
|
||||
dodir ${conf}
|
||||
|
||||
dosym ${conf} ${dest}/.gitlab-runner
|
||||
|
||||
# fix permissions
|
||||
fowners -R ${MY_USER}:${MY_USER} ${dest} ${conf}
|
||||
|
||||
## RC script ##
|
||||
|
||||
local rcscript="${MY_PN}.init"
|
||||
|
||||
cp "${FILESDIR}/${rcscript}" "${T}" || die
|
||||
sed -i \
|
||||
-e "s|@USER@|${MY_USER}|" \
|
||||
"${T}/${rcscript}" \
|
||||
|| die "failed to filter ${rcscript}"
|
||||
|
||||
newinitd "${T}/${rcscript}" "${MY_PN}"
|
||||
newconfd "${FILESDIR}/${MY_PN}.conf" "${MY_PN}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog
|
||||
elog "If this is a fresh install of GitLab CI Multi Runner, please configure it"
|
||||
elog "with the following command:"
|
||||
elog " emerge --config \"=${CATEGORY}/${PF}\""
|
||||
}
|
||||
|
||||
pkg_config() {
|
||||
einfo "You need to register the runner with your GitLab CI instance. Please"
|
||||
einfo "Follow the instructions at"
|
||||
einfo
|
||||
einfo "https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/blob/master/docs/install/linux-manually.md"
|
||||
einfo
|
||||
einfo "Perhaps I'll improve the ebuild later ... kthxbye."
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>manuel@fritteli.ch</email>
|
||||
<name>Manuel Friedli</name>
|
||||
</maintainer>
|
||||
</pkgmetadata>
|
|
@ -1,3 +1,7 @@
|
|||
08 Mar 2018; Manuel Friedli <manuel@fritteli.ch>
|
||||
-gitlab-ci-multi-runner-9.4.2.ebuild:
|
||||
dev-vcs/gitlab-ci-multi-runner: Purge old version of gitlab-ci-multi-runner
|
||||
|
||||
*gitlab-ci-multi-runner-9.4.2 (17 Sep 2017)
|
||||
*gitlab-ci-multi-runner-9.5.0 (17 Sep 2017)
|
||||
|
||||
|
|
|
@ -1,12 +1,8 @@
|
|||
AUX gitlab-ci-multi-runner-9.3.0.init 702 SHA256 124ad23c8af197e861a290bb5316fc23f100b7e25a5b1d8b169bb8adff39e3b7 SHA512 5f44e4245a5ccd6fe55484e8cb8a4254608fe02b37c151c472acafbe75bc8767b67fc28b8edef318114b5cfff1e3c7bb4b0bf7df28e9445e95784536fe0e6996 WHIRLPOOL ae1d3c4e4501bafee4252da7217a18791dccf318858877aa7cf84a37ed35a1bffda2e8e6e87ef4098816a4290cd5abbfb176aab83219e6176938fdf6e913fc9e
|
||||
AUX gitlab-ci-multi-runner.conf 44 SHA256 0b93ba53d557fbf603b50f6d78eb2c4415b9a79f056142b6edf4a63fc6612d6e SHA512 1f5ff480740b18fc985ae9337b8dc4ddd1bde5253e09042b5542cb9a3db54b9cef1f7b24445c829eb83fcfd8751b693018154f6b97ce0a6e723d5d71d9a27429 WHIRLPOOL fc5218c55917b3303baf649fbafaf1dc50cf52d0ee04852716defe4f21b806f4f313071b1c55920d89da66180405d35da0f7cca73c2617b70bcaa67f725cab2a
|
||||
DIST gitlab-ci-multi-runner-9.4.2-prebuilt-arm.tar.xz 9090344 SHA256 c3f128fd0c870da3bb7d2d525cb1d9965e6b1fc25c011be5fd497d3d69df1988 SHA512 241496e167221470201f6a227adc55a3570560fb740a9862859e9661abebb5bff2e67ad070ccde2de2a29e7ec48c7ba1b47183f1cda6a660d0914f107b0b3795 WHIRLPOOL 5385a1b718e64d6438bb11fa1a14705bef2aacecdc27d9a6ead43ff630c07634b798e7f23a8c967afdaa9cab431bc3755a5ed97df2b9bfad156aa58d2d8d9cbd
|
||||
DIST gitlab-ci-multi-runner-9.4.2-prebuilt-x86_64.tar.xz 11107472 SHA256 ef2ca32cf86446c1831c8893f4be5fb895fea18e090d08d9b2b41d62b58ac8b1 SHA512 d5b9d475ae1aadb72a8bb89b45d21eeeb97c534443dffe3cc091ed347798f33298269adea173b2dace65b0b6502f53cdd7b7f2b332a87c606585e1f20852838f WHIRLPOOL ce06c7ae28b8bcbc761df6934874bf21bdf14a71d0c817ab0023d8f0a573df4c0750bf18d3b1220303e6a61b0c485d88f5453e552623ebee7287b47d3beda36e
|
||||
DIST gitlab-ci-multi-runner-9.4.2.tar.gz 3205943 SHA256 44fe7f7a37679ceeb20135df1f4fff52a2956bcc7f9e8e54d8c63c7beb65e802 SHA512 18be1f2ace8a88631ac500bac7036068f0fcd3bddb20ceda6b1f9c7d38a2ef93991b9e7da4349fb4c9f206504aab6d75ab96dcc990d7cf8c74d46784b228f1a4 WHIRLPOOL 278091a8cf186da6c2551d472b8db7ba860725608a2d4c4bcda4e3fbf6e51b015736dd18b3e3811f5415adc1e9d4ca06223c9ee84d8d37b825c965d8860000e8
|
||||
DIST gitlab-ci-multi-runner-9.5.0-prebuilt-arm.tar.xz 8536276 SHA256 12d3106afeec6eacba9771e6c08ec851c002160b0c37b6a03516f035473a9746 SHA512 49ae61727a98082adfc6b0b9fd5b108fc7981f4628dc20a6dd6136102b9e17f3877ad61efff51e2ef3e7da40e01571dd2f94849fb120bec55ba028542751569c WHIRLPOOL 554f8511d8b44446879644eb032a86b494695c0dfa57ea6c26887e674a34e73af20f80781119ae772ebe21e0abf0729cfeb2324cb151c99819faa2b11603bbdb
|
||||
DIST gitlab-ci-multi-runner-9.5.0-prebuilt-x86_64.tar.xz 9542776 SHA256 b771f522bb628d694fde2933fd293d4e4bfd1facf9b9650ecc940f8e6f817717 SHA512 da953698b2656d5d85a77891a3944951c8099ea61533b6c600d867edb4bb9ee90c799aadb46eb1509abee2810f98a511e20bb8f61adfce0b6c2cb008db1fc1b8 WHIRLPOOL aed32dcc2222195854886ee5bd07c3d3220493486de9a11e45910fc107a955cbe07b64067f45ceb12439c5b73cd60f70ab7653e0a14e9b1eb59144c808ddd3ae
|
||||
DIST gitlab-ci-multi-runner-9.5.0.tar.gz 3561774 SHA256 752dd8ba9e20f85b4835d627524a713ae1d7718743f8e455ff867a05de2d2091 SHA512 e536c82043f706a100511e8467ef5df55e5d8d06ec34653a3523b370a8e595e8ba3b3885e97b67ad66c241a27e1db54ddc8170af963f52b844304b2145eff8bf WHIRLPOOL a7ded183dfa447812eac767ec3a2c2c2739e8c96934aaf968e678f0e1801bd14d7693e2f4db79f39060fa7ee1050c880640f1f893f92292e51c9500a984eba08
|
||||
EBUILD gitlab-ci-multi-runner-9.4.2.ebuild 2323 SHA256 65ba2066eb20ab01f4d991cde3f3b8ea21ced7959bab57387a709366a9143cb0 SHA512 923b743a0249efc14acd95d9860349524dd8a89904c1d3df30ac9889c1ce4f79210c52a1dbb120dac4ddc4e1d21cafb090f7fcca8ffb4cced4ca0ed7f9cb24ab WHIRLPOOL 1f067bf4e89e8764300dcdd344f9169206e806c274a02fb84fcf7c8157c990f263e6aded7bff7cf973561c1d87b32ca65530becd5c35532be276c9a0f45a5c4b
|
||||
DIST gitlab-ci-multi-runner-9.5.0.tar.gz 3561337 SHA256 ef50ff9bb6ed406b4815d0a65f4475c95dcc35fffa49bab41ca1867d3662ce8b SHA512 fc3622411da4f8ffed25a1569472e86a2ae4f0924f3758923894305bf0689028f8585cd2dc7504a1fa7e9b148dfd953ba92a9390b4df39464e16abf50f15302d WHIRLPOOL 34834dcbddfa0247f3ac2fec9093037c9accb039177c937483aa705b2eb0cf4a3fce974eb5361fec5bc3c804890a5c312ab85342fc78b23a2391b46300fa8d1f
|
||||
EBUILD gitlab-ci-multi-runner-9.5.0.ebuild 2323 SHA256 2bc7f2232a6f2a09e8fa0f8788b1a62a3b76582575f9704c578428369adf3d8b SHA512 c555640eae9fab3589493eb62d3203449d708be2e5e1175944f5adedabfdcfa307ea16649f7b1f5843d1be4d0ef1e18d92b3cbe52b03b08d0174af383040b5bd WHIRLPOOL 101fae9675ac984db39848da392e35e67b46f9a491c1cc1241e41e5a6a8d2547c24574f73098ebb3c448bc8ac9db185d6568ae927ec92af52bb21bff61f5fbed
|
||||
MISC ChangeLog 3396 SHA256 96c42cee0c6be08b964a6867a2ecfaa1575ae33c012da2818208bfa00387ec5b SHA512 159fc9db6d8efcb46e5f04ea045feb618414a1686ddcc03efe33d6426985e6f72eeb66bf1fd8d790c7c5e7e6fde529f4f1eafcd1a89a942dfe478e308a1a011c WHIRLPOOL d8e187240f5c5984872c0ed3b7cb980f8df7bcde24d6969087456d28cbdb36e00b688e9686491bad8503a97f271b611bd0fcf1bc7e532fdbbb42b2d182e91465
|
||||
MISC ChangeLog 3567 SHA256 9634416fb6eaf775cc7af90a00ac7df42b7a3713b78b67086d4943aa5dbdf89b SHA512 6441c81dad79668743624b5f3ac21b89d447421c645561bd329b662c69f958f780fb028edfca690da690aedfd2606f336928086cdcd28e65522651d520f7ce42 WHIRLPOOL 0c0cc5e4143ce1acb5ae33233404d50bee4b560e27b939cd03df71e515424392e934e62f5aaf3019458944701694f054cfcbdff07ecf02cb6874daf4c5fdfa9b
|
||||
MISC metadata.xml 329 SHA256 f0ae08a64aa32a07486e744ce11ac5448770b7320454015bcd065e312fcb5e9c SHA512 11e4eaf25633c5979e5243350bdf2ddc6d9dca06ab54ec38359591f1d002ea2a224e53b3e6c4ac53b5b2e795a87769fdbd97c547b008272e0a1491141f422e5d WHIRLPOOL ab2c1cb3d9aff1f757b49633f94d4b98da4b83dadab12ab8d869f9e1f6763b3125010147472e58e910e7fc42da262dbd69a1bf3939f3720a79ab4329184b4c35
|
||||
|
|
|
@ -1,82 +0,0 @@
|
|||
# Copyright 1999-2017 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-ci-multi-runner"
|
||||
|
||||
GITLAB_COMMIT="6d06f2ec"
|
||||
|
||||
MY_PV="v${PV/_/-}"
|
||||
|
||||
DESCRIPTION="Official GitLab CI Runner written in Go"
|
||||
HOMEPAGE="https://gitlab.com/gitlab-org/gitlab-ci-multi-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_ci_multi_runner"
|
||||
MY_HOME_DIR="/opt/gitlab-ci-multi-runner"
|
||||
|
||||
pkg_setup() {
|
||||
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-ci-multi-runner
|
||||
dodoc src/${EGO_PN}/README.md src/${EGO_PN}/CHANGELOG.md
|
||||
|
||||
# rc script
|
||||
local rcscript="${PN}-9.3.0.init"
|
||||
|
||||
cp "${FILESDIR}/${rcscript}" "${T}" || die
|
||||
sed -i \
|
||||
-e "s|@USER@|${MY_USER}|" \
|
||||
-e "s|@HOME@|${MY_HOME_DIR}|" \
|
||||
"${T}/${rcscript}" \
|
||||
|| die "failed to filter ${rcscript}"
|
||||
|
||||
newinitd "${T}/${rcscript}" "${PN}"
|
||||
newconfd "${FILESDIR}/${PN}.conf" "${PN}"
|
||||
|
||||
}
|
|
@ -1,3 +1,8 @@
|
|||
08 Mar 2018; Manuel Friedli <manuel@fritteli.ch> -gitlab-shell-5.0.0.ebuild,
|
||||
-gitlab-shell-5.0.2.ebuild, -gitlab-shell-5.0.4.ebuild,
|
||||
-gitlab-shell-5.1.1.ebuild, -gitlab-shell-5.3.1.ebuild:
|
||||
dev-vcs/gitlab-shell: Purge obsolete versions of gitlab-shell
|
||||
|
||||
*gitlab-shell-5.10.2 (17 Feb 2018)
|
||||
|
||||
17 Feb 2018; Manuel Friedli <manuel@fritteli.ch> +gitlab-shell-5.10.2.ebuild:
|
||||
|
|
|
@ -1,24 +1,14 @@
|
|||
AUX 0001-gitlab-shell-4.1.1-config-paths.patch 2152 SHA256 e789f0c8a8b7ec8a840ce26dd63d6e5386a149f619d7ad5a6788577d897c4826 SHA512 6ae5af0c364061af4c9675804e2f6d6b662ed4891ed4c80bc1be39e9da6343db372e58bf04a0d3c8a4fc218daeb8cda45636e0da0c67ec801168e84004d05b86 WHIRLPOOL b8136b81ef943c15feeca303d1d7f0d55c85ff7f7ec82bfceea026ce334ca24fce0dfb599946562bd0aceb89a2216bcfaa894235c43f41e3031a305f85e756b4
|
||||
AUX 0002-gitlab-shell-5.1.1-Makefile.patch 252 SHA256 cb45d73d9a2b5a30d2c457d6ddef9953b4a907e4929575709997a3edcb416cc2 SHA512 ce185a66e746e7791ca7ace15757d24a6fe426a986837a3b41c18771c0e3395baa05488735273171d41f764a9cee2517dc64e629f4d9b2aedc0bd57650350d9f WHIRLPOOL d6c6562a9d6efb904580732c43538b86b7ea8fb9dab538ede162018f86974a2e330403b385f636734b67be894063671e17814865de0ae36b8e8eb9ef1199aa3d
|
||||
AUX gitlab-shell-4.1.1-config-paths.patch 2152 SHA256 e789f0c8a8b7ec8a840ce26dd63d6e5386a149f619d7ad5a6788577d897c4826 SHA512 6ae5af0c364061af4c9675804e2f6d6b662ed4891ed4c80bc1be39e9da6343db372e58bf04a0d3c8a4fc218daeb8cda45636e0da0c67ec801168e84004d05b86 WHIRLPOOL b8136b81ef943c15feeca303d1d7f0d55c85ff7f7ec82bfceea026ce334ca24fce0dfb599946562bd0aceb89a2216bcfaa894235c43f41e3031a305f85e756b4
|
||||
DIST gitlab-shell-5.0.0.tar.gz 78585 SHA256 7611fdf0b64592365bdb6ba442a4263d129b05c280d5105ea641baec7a0b45ab SHA512 84c86c42e0ff6029ddcdd9a93410b261f4f5a1e8cdb0fd114db2eab56b1fc63f4f8ed6d0cc0c6016d0f02413d6d213aab7a995adadb186c0dfe49e49b762e904 WHIRLPOOL ddaf25f837dbbdbfd6578062b89a8102ffbe0dc88f51890a38f59add61653368b0ad0ea146a8a7eac52fa482f7316aae712f53075f750db02fa8e8ce370f76e6
|
||||
DIST gitlab-shell-5.0.2.tar.gz 79009 SHA256 bb5125f12f2f3fbbb93aa78f6810cd62f97bda564d01112a831bf41d4e42ef34 SHA512 c960e1e2c3c9f35927255442f4e20b82af8881d123c3edeffe7ebdc6523fe2456ae1e7149527255eb5e3d2d369b4f70b7c902314d881a20b893fea9fac968f73 WHIRLPOOL dc5be75f111074c8e9f018533ddcef64edcded4c5f3003a3f7297d9153469894f4c8a3e387419055a3e51732daa9db8a3b936984a24f3b4d1a9e0cbc968a7119
|
||||
DIST gitlab-shell-5.0.4.tar.gz 626142 SHA256 9947c9cf7e7f2e1c2af696cf4610c6e2ad256dcae42e95cc0c8dc387ad5d07e3 SHA512 2718e99a43ad934dfb6d8b3df47bab0b957fa362c84510434fdd07ed994bf53ab059569ff0da106c8bd5ebc49cc460694ad5fb2fec57f0fb0cbb297609a00d97 WHIRLPOOL 6666d2dcb06c156686080b6a0f489ef03d331bc8f20eeb996fe5ce51aeb25d2f334002c15e235c1ad21d808eee8617aa178a5ad974ea99ec8f89bd2478f7f9eb
|
||||
DIST gitlab-shell-5.1.1.tar.gz 688960 SHA256 33a4b79b0b06ad935a4bcf1ad41ab88882eb31b349cca007f1e60f3eb5826a06 SHA512 a247e37bfd7b8fe28fe68f3b9d401ccfe534bd4221bce2cda092f6a72a6926f49944f4a008c71636426ca1f7ae6033f53035bc10a8d8121c8093e09abfc675f4 WHIRLPOOL 29aaa30c73997a28cdb68485087a36c6c8109b9f909e2776899f1094a17dcbc6189ed759f9acc81caa6cda516b44f89ad36567bd9f96ec6802e4553182607e20
|
||||
DIST gitlab-shell-5.10.0.tar.gz 712749 SHA256 703d96c71dd507995780c6bd1de88d618df95e92593f099a3505136bd2547337 SHA512 d25e84f97c52aa626c9b8d7c739017dbe9cc13710e23a7257d08ecaa20dafb3af8e78aca8e768d77e9abc741a4078e322194870fb6151356ce5a5004f6f0032f WHIRLPOOL 10727efc8f043b45bb8f8a141684312932e64f28f599e735a2a705d504f4ce75330acbe707e007a9a44ed94d00a546ab041e256434958700b4ae532f00e482c6
|
||||
DIST gitlab-shell-5.3.1.tar.gz 708811 SHA256 989e7976c56d09d455e5e67e587426be2aca71ef2e27541c8654e74aac82f68c SHA512 00c6dde3d7a59c956396988b2f5790291c44fe134812588ab5c03e7612d49c08de2f5fd08a8b4a55a2c95a46db1d0cdb0e07469958d5c0d6c778d0f9dd279afc WHIRLPOOL 266218edb547e2e7fab95982f78d5c2a7057e061a48a854697949214791dab512f4512a57197ce1ac901dd2b97f4e363a39b8cd2ac74f5cb002ffdc38b8fd06a
|
||||
DIST gitlab-shell-5.8.0.tar.gz 718927 SHA256 7c6a02e12ec0efcca23b9200dc18be29a8ce2bf70f9802bb188fc22dbf1875d3 SHA512 f17e4ec95dce29608684de27d9a4f7a3fa69cd25fb68223576a4501ef83fc50bfb74668599672edc8c8d670585b47e22825004cba2227bb4ef6f0e3c27d06b59 WHIRLPOOL 941c5c9daf6e319e44c49af627474e87f33e964bbad0b59b84f90f7b7e8ca82b5f0635102964b9fd7b74f8101b6af6539aa966978468105ad9b004cb2fa76222
|
||||
DIST gitlab-shell-5.9.0.tar.gz 710920 SHA256 5085b531abd1c3ebbc73c7b77c05e674fe42d975c4d9c64bdc54704c51a15907 SHA512 e89a0f2b97e502b003ee62eacfa520dc248b93cf68a0d2eabae5672ee968ca68fd01839c9195422fb680e341756ec399af0a7654fc4e6fbe7d12f3af3643d2c6 WHIRLPOOL 45bd1f044314de3d093fb6689b5c50ca9243aa097e54f75e15485eda6504ab91975a5e8c4df115a94dfe228d98923ebc5f68e85eb050a95fd71f5927d5a89354
|
||||
DIST gitlab-shell-5.9.3.tar.gz 711416 SHA256 43692b5ba3c9757ad201611b66f199a636e6d4b47c144ebfd5e8d9b9c996e127 SHA512 b58c7eac03152378bba7f965e630669b6d3628edc11e880500eca5a200d93777e164c3f31c1a241c7b5789d3cbbb19944005268c406d4371ccbe90f913be215e WHIRLPOOL 2ab0627c4ab532c6d291b8ebce6e5d34484bef8ac8cf3feee0d2c1ba2a8d7c570b6e36df1b1c6b121a49145d49b6d1a5d8a37a70ca3f8af70f3231125674a3d2
|
||||
EBUILD gitlab-shell-5.0.0.ebuild 3654 SHA256 2a3a890e9c7d9dd8af476dd0cdfe480512dacdcbbf53182bd353797c76684256 SHA512 243b7add0a8f737640d46c7c0bd8b0a6c93b1275302d1cd3cfae20cfb77116645a8b384a977ae862941cadb7200f81dc6a6eaf604372fa5a1bfa1761430627e5 WHIRLPOOL b8762ae9c23b2c1a8e322b5b22ece63eaa1421a5cfc53b067b036c61d9c59f84d4a38e4ed95f002be6d5e5c1ce8d9c88d694a8fee5abe1a0b1dda5f4751c2722
|
||||
EBUILD gitlab-shell-5.0.2.ebuild 3654 SHA256 9f06b267774f58339770844496a90a7b09af75a3354a28619af90d57e1aaf0d0 SHA512 a972f71789a11fa611d3b591bff438273e764dce6646a912d4f71c968d1f7e9d3350c9589d6b2dad00e300cf350daf1efe617751300ab866eec66a799f2f76a4 WHIRLPOOL 420f705da6d31de25ba4a19979cb2da5ea4275d020a8a6ac0c34792857b2c5f6d0fbe33c0ca7573c5084b062f12fef14b2f73b88db523521d8fffe8f492ffeee
|
||||
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 5572 SHA256 7f452659054ce68f9c7311c0e8e41d9437fb6f979d8dcd76c59c3e6a7c7cb56f SHA512 c8cacc1cdfe073a04e130ea6b310d2356efff90aee29a2589dc7d3ec4e77f048638463afabcc3ff9f45908994f38b32c3afc30477e6ddd6c75f3311c51ad2739 WHIRLPOOL 00c7af0fd46690c9eae9c21c25e7be1272a7dd5be1a2390fe98503f63e8b7b873a6c5482eee395476856ff80af69e32c6dfc8e9a6d2b70f09f991b0a53353979
|
||||
MISC ChangeLog 5833 SHA256 122b2e18ba78c963faa1f46153dd8e118cc1e7d929c181fce82f1bed26b707c9 SHA512 17376f31cc4bc73082c8c80021a70dce48d032cb63410abcae474e2184923612c13fedfc8b450a85a1e875d679a617bce461bbecb8a3c464f357c6c31acb85b8 WHIRLPOOL 5ea586f822f8e0b6d57a21b6eb372b0b33906c5c3c4ff5152b747cf5c5e7540f7551c175606d0afd46f94c9a67b38ff11bad8e9a1fe09421c78a2eb1418be4da
|
||||
MISC metadata.xml 248 SHA256 7b43be15755627edf5c12cf1b50c607d781558640bf8375d685d51d7ade99a32 SHA512 29f9b96b0a77546cce6a8bffd82fae2fd0939d32a7a05ffd0d91f9250a019a3ddaa599b93988c82daabb9c4c4b284dd947e2c47f6ca7727b8539cffa91bcb8c2 WHIRLPOOL 993013c9878ead35469db13d3072f694a341ee654182e0c31d0678f5dd6de4bdc8d59a0b7bb6d685dc41ea6b55dac518cd8034131baea8002170c680e50304d1
|
||||
|
|
|
@ -1,129 +0,0 @@
|
|||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
|
||||
USE_RUBY="ruby21 ruby23"
|
||||
|
||||
inherit eutils ruby-ng user
|
||||
|
||||
MY_PV="v${PV/_/-}"
|
||||
MY_GIT_COMMIT="199e2d62ebea9939e48d442c6a866d26d0aede4f"
|
||||
|
||||
DESCRIPTION="SSH access and repository management for GitLab"
|
||||
HOMEPAGE="https://gitlab.com/gitlab-org/gitlab-shell"
|
||||
SRC_URI="https://gitlab.com/gitlab-org/gitlab-shell/repository/archive.tar.gz?ref=${MY_PV} -> ${P}.tar.gz"
|
||||
RUBY_S="${PN}-${MY_PV}-${MY_GIT_COMMIT}"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86 ~arm ~arm64"
|
||||
IUSE=""
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND="
|
||||
>=dev-vcs/git-2.7.4
|
||||
dev-db/redis
|
||||
virtual/ssh"
|
||||
ruby_add_bdepend "
|
||||
virtual/ruby-ssl"
|
||||
|
||||
MERGE_TYPE="binary"
|
||||
|
||||
RUBY_PATCHES=(
|
||||
"${PN}-4.1.1-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}."
|
||||
}
|
|
@ -1,129 +0,0 @@
|
|||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
|
||||
USE_RUBY="ruby21 ruby23"
|
||||
|
||||
inherit eutils ruby-ng user
|
||||
|
||||
MY_PV="v${PV/_/-}"
|
||||
MY_GIT_COMMIT="3d22504d1cebecdfe778e3ee10b9a380efea80dd"
|
||||
|
||||
DESCRIPTION="SSH access and repository management for GitLab"
|
||||
HOMEPAGE="https://gitlab.com/gitlab-org/gitlab-shell"
|
||||
SRC_URI="https://gitlab.com/gitlab-org/gitlab-shell/repository/archive.tar.gz?ref=${MY_PV} -> ${P}.tar.gz"
|
||||
RUBY_S="${PN}-${MY_PV}-${MY_GIT_COMMIT}"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86 ~arm ~arm64"
|
||||
IUSE=""
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND="
|
||||
>=dev-vcs/git-2.7.4
|
||||
dev-db/redis
|
||||
virtual/ssh"
|
||||
ruby_add_bdepend "
|
||||
virtual/ruby-ssl"
|
||||
|
||||
MERGE_TYPE="binary"
|
||||
|
||||
RUBY_PATCHES=(
|
||||
"${PN}-4.1.1-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}."
|
||||
}
|
|
@ -1,129 +0,0 @@
|
|||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
|
||||
USE_RUBY="ruby21 ruby23"
|
||||
|
||||
inherit eutils ruby-ng user
|
||||
|
||||
MY_PV="v${PV/_/-}"
|
||||
MY_GIT_COMMIT="285c061ed8933c0d94a9ad027f99653039673324"
|
||||
|
||||
DESCRIPTION="SSH access and repository management for GitLab"
|
||||
HOMEPAGE="https://gitlab.com/gitlab-org/gitlab-shell"
|
||||
SRC_URI="https://gitlab.com/gitlab-org/gitlab-shell/repository/archive.tar.gz?ref=${MY_PV} -> ${P}.tar.gz"
|
||||
RUBY_S="${PN}-${MY_PV}-${MY_GIT_COMMIT}"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86 ~arm ~arm64"
|
||||
IUSE=""
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND="
|
||||
>=dev-vcs/git-2.7.4
|
||||
dev-db/redis
|
||||
virtual/ssh"
|
||||
ruby_add_bdepend "
|
||||
virtual/ruby-ssl"
|
||||
|
||||
MERGE_TYPE="binary"
|
||||
|
||||
RUBY_PATCHES=(
|
||||
"${PN}-4.1.1-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}."
|
||||
}
|
|
@ -1,139 +0,0 @@
|
|||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
|
||||
USE_RUBY="ruby23"
|
||||
|
||||
inherit eutils ruby-ng user
|
||||
|
||||
MY_PV="v${PV/_/-}"
|
||||
MY_GIT_COMMIT="0a64624152735766c428d1532e434dd0bf5a9748"
|
||||
|
||||
DESCRIPTION="SSH access and repository management for GitLab"
|
||||
HOMEPAGE="https://gitlab.com/gitlab-org/gitlab-shell"
|
||||
SRC_URI="https://gitlab.com/gitlab-org/gitlab-shell/repository/archive.tar.gz?ref=${MY_PV} -> ${P}.tar.gz"
|
||||
RUBY_S="${PN}-${MY_PV}-${MY_GIT_COMMIT}"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86 ~arm ~arm64"
|
||||
IUSE=""
|
||||
|
||||
CDEPEND=">=dev-lang/go-1.8.3"
|
||||
DEPEND=""
|
||||
RDEPEND="
|
||||
>=dev-vcs/git-2.7.4
|
||||
dev-db/redis
|
||||
virtual/ssh"
|
||||
ruby_add_bdepend "
|
||||
virtual/ruby-ssl"
|
||||
|
||||
MERGE_TYPE="binary"
|
||||
|
||||
RUBY_PATCHES=(
|
||||
"0001-${PN}-4.1.1-config-paths.patch"
|
||||
"0002-${PN}-5.1.1-Makefile.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_compile() {
|
||||
emake all
|
||||
}
|
||||
|
||||
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}"
|
||||
|
||||
# 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}."
|
||||
}
|
|
@ -1,139 +0,0 @@
|
|||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
|
||||
USE_RUBY="ruby23"
|
||||
|
||||
inherit eutils ruby-ng user
|
||||
|
||||
MY_PV="v${PV/_/-}"
|
||||
MY_GIT_COMMIT="5f1ab2100c2e520785a46da6d759685a65849d51"
|
||||
|
||||
DESCRIPTION="SSH access and repository management for GitLab"
|
||||
HOMEPAGE="https://gitlab.com/gitlab-org/gitlab-shell"
|
||||
SRC_URI="https://gitlab.com/gitlab-org/gitlab-shell/repository/archive.tar.gz?ref=${MY_PV} -> ${P}.tar.gz"
|
||||
RUBY_S="${PN}-${MY_PV}-${MY_GIT_COMMIT}"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86 ~arm ~arm64"
|
||||
IUSE=""
|
||||
|
||||
CDEPEND=">=dev-lang/go-1.8.3"
|
||||
DEPEND=""
|
||||
RDEPEND="
|
||||
>=dev-vcs/git-2.7.4
|
||||
dev-db/redis
|
||||
virtual/ssh"
|
||||
ruby_add_bdepend "
|
||||
virtual/ruby-ssl"
|
||||
|
||||
MERGE_TYPE="binary"
|
||||
|
||||
RUBY_PATCHES=(
|
||||
"0001-${PN}-4.1.1-config-paths.patch"
|
||||
"0002-${PN}-5.1.1-Makefile.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_compile() {
|
||||
emake all
|
||||
}
|
||||
|
||||
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}"
|
||||
|
||||
# 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}."
|
||||
}
|
|
@ -1,3 +1,14 @@
|
|||
08 Mar 2018; Manuel Friedli <manuel@fritteli.ch>
|
||||
-files/03-gitlab-ce-8.17.0-database.yml.patch,
|
||||
-files/03-gitlab-ce-9.2.2-database.yml.patch,
|
||||
-files/04-gitlab-ce-8.12.7-fix-check-task.patch,
|
||||
-files/gitlab-8.13.3-sidekiq.init, -files/gitlab-8.13.3-unicorn.init,
|
||||
-gitlab-ce-10.0.0_rc3.ebuild, -gitlab-ce-10.0.4.ebuild,
|
||||
-gitlab-ce-9.0.13.ebuild, -gitlab-ce-9.1.10.ebuild, -gitlab-ce-9.2.10.ebuild,
|
||||
-gitlab-ce-9.3.11.ebuild, -gitlab-ce-9.4.7.ebuild, -gitlab-ce-9999.ebuild,
|
||||
metadata.xml:
|
||||
www-apps/gitlab-ce: Purge all versions depending on <libgit2:0/26
|
||||
|
||||
*gitlab-ce-10.3.7 (17 Feb 2018)
|
||||
|
||||
17 Feb 2018; Manuel Friedli <manuel@fritteli.ch> +gitlab-ce-10.3.7.ebuild:
|
||||
|
|
|
@ -1,47 +1,27 @@
|
|||
AUX 01-gitlab-ce-8.7.5-fix-sendmail-config.patch 705 SHA256 cfc4ffd896e03cc763601aca5cdd5ac43f85152705cbf5a4e9144a6156d6f77e SHA512 a92659db8cab022185d87f321b037b1731612bf5f89b9df4552dd49b843bb49b6019f8ddda96a6fd6cb6544664a1c3d52ca5fee2c11be8b33698cc713219510f WHIRLPOOL 81a6504a8583bc46ea4005d9f8a2113802439161c40f11d3da46332b8980fc6b9520d81d9e32a6555bcdc893245448ba9151a271c511ae87f6468f588d4804b0
|
||||
AUX 02-gitlab-ce-9.0.0-fix-redis-config-path.patch 423 SHA256 9de3711c1f06a0561001166f2a44b4c1dc5fa3fa57a5230eb1dcc2b5d394449c SHA512 ae89fa3c6fde777e844e777862415450787ebf83653435cea329d66810c5805d2126d41cb1ce40b15c42371543bc182a59305b8b1b6a7433121340a625300370 WHIRLPOOL d97962907bb1fc610ebc52665a6ce51f40ee932e7ac715279f3c0554f2880a7b220ecbac2c4c97bd4d3dac22b9a025aa729805221ed5e6d15f04f6cd8e210d22
|
||||
AUX 03-gitlab-ce-10.2.8-database.yml.patch 2681 SHA256 08e7a87decc6ded6a7b5d12ce2bce39c4ca2023b042d19b3c3e5323996665840 SHA512 93555c817eca4b7b04aac0d3f3ffbcb2f56e03ded54529f222c1b9b2a17e6eea6133bbd1d832bf19f98b60722a1f6ba63e21649abf0b4de5ac22560494155ca1 WHIRLPOOL 6bd550bd61b3e61cfcd14be4820396fda705e75e03a1ed0dff5971005d45008a62f6f2402557f9d6bf3a627571b0acc46641185b3faa6a8966165013fdc2ce32
|
||||
AUX 03-gitlab-ce-8.17.0-database.yml.patch 2238 SHA256 c5ec9e8a11fb60a7749b9f8cf553949e78aacf9a8233b39c4986980851196c8e SHA512 1668e2c1d00ef485d2bc5af8d343c9be19f291a627d0041d42b268ec1ad8aedecba99336998e6b1b3ac2f4cd617556d17ab5f1f11f95d696205e3d10d6b74e1c WHIRLPOOL c91a6604f050113c9f584d7bf34ebe660263beb88879382873952d6b1b136ad5b576b813bf9f2f66ee49d6656fb1d24437dca395c2574bd7dab07cd1a3a36a99
|
||||
AUX 03-gitlab-ce-9.2.2-database.yml.patch 2342 SHA256 870cddca799897d249773d0b0e58d30b1290475e3c313faa6bbc307c73f80d4b SHA512 257ff2cf3bd090dd08a8f03baa6c06d130313bf46b21ac61a606aaa0f0cf1eaacd3ad231761989448e4dc28aeda01b03192290314582db002c32c65eed4134aa WHIRLPOOL 94d95a9e6d15d48c6e786521b04eb43b12a003feae0a464122f51cdf2a5215b2c025134373842a6633d0adf73ceea1db9fb32e36236391bdf9e750565f908591
|
||||
AUX 03-gitlab-ce-9.4.0-database.yml.patch 2402 SHA256 1c7bed7db0a0a7f46111a3cb0fbc37d46c64c184201ba6d7777e3f9ad6c647fd SHA512 42c66dcbf6f311ddcf391330b97acc36493f5ddc8e66c8812bf9826f7750c6bd268da6d5a159973902077528cdd11ae61594e3e377b1f9a6a5b551522d615a35 WHIRLPOOL e66453787d14c653b5fe9a68b666afc532d13870edebe222f235a94368cc5e44c8def781a1e73918844f25726d4d845693212419380822470a5849f2fb4d1958
|
||||
AUX 04-gitlab-ce-8.12.7-fix-check-task.patch 917 SHA256 e1adffbd59a418d5e14cbd51ae14d5c1f0364af759c77b6cb485079e0233e90f SHA512 226c3892768dc526dbc9f109aaecdee1eb27c0acb5060ba6db8222410c500336ebcf7184437228480da04ce5de149a14bbb5c1471aed853a280d7f371f271d88 WHIRLPOOL 3ec22dc4d12b5025bddfccdea27a816aca1f818d5138b3dc9a6362e56ec4cd14e5c38c76b64b468f3797e0d2718d38aad4f910abf3f3328a7983832babb7f231
|
||||
AUX 04-gitlab-ce-9.3.0-fix-check-task.patch 1090 SHA256 51ade91e5e7ef67e6d3c0e6e1f708156755ad44d42dbc3ccdd4356b259e46846 SHA512 2eacb47df7f9782172ae4f71d8e5fb07f2a830da7733e2ec84b95259a9ee5d454f9c68f93b40251050cedd502761800ec56fe7f502309364e61e9e4431e2b112 WHIRLPOOL 0f7b6a7281eb8dd736b6f329e8511b9145a48450361264465f37aa852bf9d0e4ed265c0292272e75000216ddbd4c285b496aef86a4cfd2944f6819b7a3cc3982
|
||||
AUX 05-gitlab-ce-9.0.0-replace-sys-filesystem.patch 2436 SHA256 53fcd9fc123a0fcb671a8cbcb3b2dc61765e32be6836206ae0edea8cf0ae8203 SHA512 21636f298df7e762f59595f39fb50266f8737311f37aa2b9ba96bc29190b8a67eea01b09e3b589d0885da6b27beaa136fa66c7d98408a8e3ecb3ac6baf20d891 WHIRLPOOL e0c709dfc5f72e33207fd7d62a7db5a85c0ed4b6064d5d6a13bcce7d660d9ba144fe09d0985c16c313f06a4e02911729be132086735eac47ddff981874f31acc
|
||||
AUX 06-gitlab-ce-8.17.0-fix-webpack-config.patch 614 SHA256 0c1cdc25032322eff6c279435ba5f3fc349b30de0d55d86fad2616bd2bb7fef4 SHA512 f5ccb4d1849ab395ba4ec3c80735a1fedd9fa7f790c8b114d8dc8d1fc2c431d7b9e5645247485f0b8c1061a00ed61c21a5e50f49af0d76e232182c68868a163f WHIRLPOOL 6968ddefed74607c36cc66dc133dbf4942979d2ae867f819cf2e7e5c9701fe8dd86b266d923e6343971e6904f0ad1f35200971660df139edabcc9e0790fc107c
|
||||
AUX 07-gitlab-ce-10.0.7-yarn.patch 36442 SHA256 b45cfd739ca94058987c55458c89dba4cdbb1b9b9fc2e486d02e67e275044855 SHA512 931edab62e1218f84f08db72cc2f4ff95e53c6f88d755224de5e9dd19c230bb4b4c808accebd14c7bb06e6c57e4f101f7b4fb1843abb9a908d7f9f2b901d4e5f WHIRLPOOL 0f0ba8a1dfb38355bedebb17a8d174fa33a695be9da364bfebf3ffc5629eff5f462a9b66af65ad0fcc3b35f93c67c4b15a93e1962ae32225dbed45c87b30c5b1
|
||||
AUX gitlab-8.13.0-sidekiq.service 990 SHA256 183ccbdb19a3dcc74cf1f1f865bf396466e06f7408ff7d3e92359b2a0e83f24c SHA512 c356baf65337739b08a0a4bfe24d3b68f557e9d6d95f479b39ec954ee6c2077e380f99d1e9e9390f5b038e093c0a46562f651512a6578dfa86977580159470a2 WHIRLPOOL 81d9ea9febf47d5fdb9c49a54bbc499bd796fc56bc1c16404fe4c74d00c4bb9fa9631e4cd4cf88d3c30a44c04b74b35a61cd4da9f2139a4abf61e758b4e5949a
|
||||
AUX gitlab-8.13.3-sidekiq.init 1459 SHA256 fdf808f9c0a92d7a77ae8be27c8fc11cec571ec6b5b94e31639028eec19546f1 SHA512 ec2130483b603f2be423c288fd0d55615c831ce995a8a5509f0240f149b3464d8f0a75cade1c736d085fb5f898d109368af62d8fdfb280aa00c4df8c06abb1e9 WHIRLPOOL d3493ac268257386e22c677337c8f9b1050212fce4aa855119b2ccd5f56850a5288d0cdd74e3c2f34552f59f9431c9ab5080e372766b88de003cad5dab015100
|
||||
AUX gitlab-8.13.3-unicorn.init 3562 SHA256 f4ae5b785d61fb2c463b2405533d5e9a2209bbff7a085106b463f59505123287 SHA512 4af87415da7e482725a6f97f5e2ffafe0d16784cdcf3f877c99b5f646832c14dd1b3e875ec00e57560060bf3c049dd7fd0aeb7452db1100740e6b17dc29fdfb6 WHIRLPOOL a63d236a76bcbbd6e39268c76a7fbb75f4b9e5488d0cbc0bb2973ae09753f11d1863e477fe88f6c652370c19c3a0f037f99cc681b91679eb4da992db5e2eff20
|
||||
AUX gitlab-9.3.5-sidekiq.init 1464 SHA256 dc1d9a58845a699d5b797f476597e7d7a7171eb842b05639cd2e235c70a26edf SHA512 fe00243c815b0e4f826aada4f02c70659872673a36fe92ea1b72a94a21bacfb097260ac1623cc1fc9c74566fe5c6068a456c9dc6e1e1c02f42e86fd162573713 WHIRLPOOL 6d8618e1e0a14030c73840f58d6dd5f7ef221f448799c92978c42d6bd71bfd072f15508df931f408ede91158079cef7039e9e725cb217629a8b7e19f6c706978
|
||||
AUX gitlab-9.3.5-unicorn.init 3748 SHA256 2fb8d62e52b2e59bed92de55834421b3858ca385c20ed7532f78a3c4cd6ba2c9 SHA512 6f7a6cded598f3f8174a4d39f06f1994aa77b22cb90fa7f1bb6f82919c9856c3eae1623f57636f2ee564b2bf6c660c82dd104e3c59455946db42e6cf44079ccb WHIRLPOOL f39d37b2f83046234616d056d046c844e24ccf434c96bc298acd0f53fcf0be57fc64352bfd66e45083f87e6be0ed817c89630309deee5f142c9343a46014a166
|
||||
AUX gitlab-mailroom.service 773 SHA256 39cea460db7fc505b136a2106902d0515890180e74913bf364aa499368fc5f2e SHA512 f82c63a180add1103e2bd115e67826ad7362a844991ef16f1de7fc6c78bf1955155ecf278fc0d759e674ab85736f3ba2a6650d00e9b3ce683316875efd9efa3c WHIRLPOOL 683c67b12f9666d1c1df5ec61e0072acaecd3aff43d0ff475037e178bc58fd9036ae6d8cd45e922098c842abd057231afd4767ce229d4581356f153b48a06208
|
||||
AUX gitlab-unicorn.service 773 SHA256 010c9e223a30400d9155b39499eb0d7efad23b66baab9fcd9e365c689086b9bd SHA512 0bf9630aa91ed8f590a7bfa42d09b7ba33f6342b43b3d191c792c11157f8926c2a2ac2390eebd8179637e29b5bf68233d4699d62463497a0fd45b9bdbdd9167b WHIRLPOOL fbc709a5550dcc548a35c22c812dafe52ee507f5678b57c22c709ee89a399ae9109e2f56b7a13135d4140f1e024ebc4effe4aa4de13e0f36691da2a0737d9792
|
||||
AUX gitlab-workhorse.service 930 SHA256 09348a52fec333b4b19828752e0484400c1efa9dfb644723fcf8e80537e294b6 SHA512 6332024fe0049287899cf482b6e4439e9dd90da14e489d08aa8e5e79cb7872efcc517d99b69fa23b011b382acb1e5926496a78f08af5d2d64daa515b869a0c6a WHIRLPOOL 3749c6719b2a35c7de29763cd616e1e9cc30a85aa1630ffc46440334459b5922503d52629556c125a6dd6574bdc5f23f1b2a7f2a85e2270a415b22246e0b6bae
|
||||
AUX gitlab.conf 27 SHA256 cd9be088bbb67a5400407fc6f63c061eb224f16748b7d0812ff2c101f43ca263 SHA512 909c49fee6d050c1e94b2559ff2a9d54c5c346492be0e2920b50d56d69eaddbed67e3ac12e012d2a9601b5596640ebf33c8dc68fc588a03ca370d963294be37f WHIRLPOOL fa436e8d7d2643d450259d26b6e7b24dae69df47ed22e5ef2a567f37aa785fbf3b0eb1129ae7c8bf8986c29559fc3b744a34064375e5245dce2b10053cd715d9
|
||||
DIST gitlab-ce-10.0.0_rc3.tar.gz 39936453 SHA256 347840d9beb01f765c4962616e241924b48ec0e3c09b35ff96563d1b509d4375 SHA512 855324e0c351ff1db3bc8823f85768d6968628da1452edc68f63249467eede89ba371e3d2de94a5fca3f31462c3d13dc2a8b3cd467f0647896183ead27492c81 WHIRLPOOL b7e98abb055cb6e884505dd2d49e93031f6722c0fb7cc34470903248de6f8871456deee2e41cf4da27b42dd7b4996111ecac02d568aa44286670edfd07d5cd7a
|
||||
DIST gitlab-ce-10.0.4.tar.gz 40040781 SHA256 eef116f75b64b835402a87e3737a3721143823c7094ded06edf8f9ac974a7ca8 SHA512 346719e7ea8dba4cb55396cfaafc8d70c7145d4de63913dc736c7f21f3f1ac133a1c837c19a3b1131879678a7b5e8b9bb6abb0bf29031802dda6e3b96e0715c0 WHIRLPOOL a62361a9f48911a9bf0244411aa638017f8cd928e6b7fce501da5645b3f1813323abaebb2e7937d3c78bbf2724962575813940222d729b5356e77ff524231d02
|
||||
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
|
||||
DIST gitlab-ce-9.3.11.tar.gz 31768655 SHA256 0eaeb3a9daf3f1ea56ad7435b2d7fe3e15e92508fb497fa22031e028633bd84b SHA512 716bf467338eebb495397e8b244201ba1547d96bce91f6dd3d0ecf8f1cd94934e7b96d6bd469a387504fb319d00e2fdc8317ad298f2e0a7de30d10c165524ba8 WHIRLPOOL c1ca1b1845f35a54759fbd70d1a13edeb4b77322063cb19862bb3870c57b4fbc1ced29c5873b3521c5b50b7425e4a0ee5a917fe3d3f06c0de3557c801b1cfd29
|
||||
DIST gitlab-ce-9.4.7.tar.gz 32854784 SHA256 c6b0db5ced47a92c211ccb9889a21cf5c698c3222f356191b583dd1667b1cba0 SHA512 51c5c12e8a12db9241d6e108eaff724a630b496a284bad44cfd5209d54d80c0f3f64b8e896f3fcf7d9c3d4bb75cb2b5138607726ed5f4703fa6f5669d3f5a1c5 WHIRLPOOL f050712a3e3e9c4318b34e4efe2f9c16cf4952c119cdabeb558d4811723165b4b918e52da4f5752acb564246d66165f46f61f1494bd99d182adf5abb3b01a65e
|
||||
DIST gitlab-ce-9.5.10.tar.gz 36463237 SHA256 f3adc7d7b31e3d41f6ca9fd47e1285064f148bdd53811970eb8563cdb17af893 SHA512 c1d2de2fbe7ebde26f2b56de2b7d48a4179c4ecb7e1676bffbcbab46cd59a96a46f7d6bb2ccd9af35ffd8d7934a63e72a4a725a5fea36884007ec60e82f47e0e WHIRLPOOL 332ae6f49bf24bc58a5aa55e393aef6d6b892f1d8961ba0ff85f4031cd13b61275679ca259ba14f1efd676dc3320f10e433775df99dc1b40514252b2689095ef
|
||||
EBUILD gitlab-ce-10.0.0_rc3.ebuild 13508 SHA256 bb22763056e0686ff308db2bc14e55ed74c4af247eab55f4ba4502ac0fa3f210 SHA512 99f298076aff75183d68b9969e99bba1898501554aa08448539c154b021040d3af7b6f2bac3704511b3b83af7c39d7e42530142a6c5061078ea82fb93aafcbae WHIRLPOOL 129b9b2a0e4d512947c2be0b3143ece02d870f790f9425d5408191aef53e0631bb001390b2438a2f0d4a38b38a679af0909a9df1f9c9a4e3d7448f32110cb997
|
||||
EBUILD gitlab-ce-10.0.4.ebuild 13526 SHA256 0fa438ddcca42b2ec6090bdb587635c8e82c9d4fb515427f24b264ab4b70db64 SHA512 dd84a68b17bd5ee193f55519bf83d52385e372dbde672915b4a799d30ecf08e2dd004946fbf73acaefcafce9af20355538a5c0d453ee52f7009deb8403001fe4 WHIRLPOOL db04a3db49544333341a4fbd1b1d3ce49e58106b91da12de0b5b2cfeece52876ce6845e6e8b0fd8048fe40ad3b02e78efc191e716fda52a576c959569a9527d5
|
||||
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
|
||||
EBUILD gitlab-ce-9.3.11.ebuild 13699 SHA256 e56490b1f59cf32e84d65ba3c91231c07a415734fe474dc49c875bc7553f9721 SHA512 f3574a0725b541698b18857e6ec30af55e49063748da74325822394a48276ddf254379a4bb0e06b2241b3eb049e9738d6a352fb56cf4b44f412c438b00295066 WHIRLPOOL e51f57b14a01d2d815784e2b07a6f8161f9e6f1d77a9cb96d23d0afa20b464ff69f6241e63243797f544d329c0d384dda036573af73f1aee2e1f2e8ae26c0685
|
||||
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 26064 SHA256 8820edb5b622f84bedd3dc859312642a9efc672eda16f3d6517424a0af71e118 SHA512 269983d651bf8c7e1e67d9a32d29da88b7f01754b58380e18dabded57374a49b4be4651659026373d14b51d8d3d3ea2441aeab5e274dc236eb0a02d584e0e72f WHIRLPOOL 22267d14138614165b9c5cb4407cb46ed7be44ffaa2f5346b6dbffe9b684fe7b733191d344771d89c2fd059ec58ecfe9724d616bdad366a6b616fde929ae0580
|
||||
MISC metadata.xml 801 SHA256 3dc7486a12903f47f65968d524c93500ba30a4a09fa57e5a9dacf356509b44bb SHA512 e132754b72e64246531fa883400a0cf1a473ac5a6a49623db58ccf118a038b7cf37df03d9550f37b4a25f9ddbb1dcc5652ec9a4f2259d8e3ce202692c4025f41 WHIRLPOOL e9d961681fd790008eaf80fa07ce2c55a00a58f2e920d759793783ca8c8f508602a777e94c0cb65fe87c7dbef0cabdf26e4f4082584421097d939cbab20c4ac6
|
||||
MISC ChangeLog 26636 SHA256 0e0699c1ad1342daacebb2daaafd5212c4ecfcf41f0017d9bff671af2ea68c6b SHA512 92d7b2c681984436bc9c8112ac64fd128f0fab5bbab7057094fbc017aa4d3bc99ca941b2101dfad8273e274f24a3ad985825bfe63b0677329b7efda51b75739a WHIRLPOOL 74b74bce5ed725ee8d0150c7f3249d82e9ded5d09b560d251c17c4daed041aad9fc2233b748177fa2523e0ebec935e2397b53be57caa8328460f8a1edc2c1981
|
||||
MISC metadata.xml 665 SHA256 2a0cd67ad42f0cc6d8b88391cf6e3153a9883dab31aae8227c57c95f3f68890d SHA512 64b8fbae373d0a057f705f64c1d097dbfab893bd585e1db65ccdb06cda9569211c9b63fa168ac8de9f6d512a17759ecd20b54d818d2790a6f4c99d0ca73fddc3 WHIRLPOOL a81b21bb46aad9757a502628033eba546c686b83bbf1d651ecabba273c454cfb64574affc180db8358ced87eb638e8ad13d7c79c4cfb9a31e72c577d21ab433e
|
||||
|
|
|
@ -1,97 +0,0 @@
|
|||
diff --git a/config/database.yml.mysql b/config/database.yml.mysql
|
||||
index a33e40e..a3b5ecc 100644
|
||||
--- a/config/database.yml.mysql
|
||||
+++ b/config/database.yml.mysql
|
||||
@@ -3,40 +3,12 @@
|
||||
#
|
||||
production:
|
||||
adapter: mysql2
|
||||
- encoding: utf8
|
||||
- collation: utf8_general_ci
|
||||
+ encoding: utf8mb4
|
||||
+ collation: utf8mb4_general_ci
|
||||
reconnect: false
|
||||
- database: gitlabhq_production
|
||||
+ database: gitlab
|
||||
pool: 10
|
||||
username: git
|
||||
password: "secure password"
|
||||
# host: localhost
|
||||
- # socket: /tmp/mysql.sock
|
||||
-
|
||||
-#
|
||||
-# Development specific
|
||||
-#
|
||||
-development:
|
||||
- adapter: mysql2
|
||||
- encoding: utf8
|
||||
- collation: utf8_general_ci
|
||||
- reconnect: false
|
||||
- database: gitlabhq_development
|
||||
- pool: 5
|
||||
- username: root
|
||||
- password: "secure password"
|
||||
- # socket: /tmp/mysql.sock
|
||||
-
|
||||
-# Warning: The database defined as "test" will be erased and
|
||||
-# re-generated from your development database when you run "rake".
|
||||
-# Do not set this db to the same as development or production.
|
||||
-test: &test
|
||||
- adapter: mysql2
|
||||
- encoding: utf8mb4
|
||||
- collation: utf8mb4_general_ci
|
||||
- reconnect: false
|
||||
- database: gitlabhq_test
|
||||
- pool: 5
|
||||
- username: root
|
||||
- password:
|
||||
- # socket: /tmp/mysql.sock
|
||||
+ # socket: /run/mysqld/mysqld.sock
|
||||
diff --git a/config/database.yml.postgresql b/config/database.yml.postgresql
|
||||
index 7067e0f..74af7df 100644
|
||||
--- a/config/database.yml.postgresql
|
||||
+++ b/config/database.yml.postgresql
|
||||
@@ -4,42 +4,9 @@
|
||||
production:
|
||||
adapter: postgresql
|
||||
encoding: unicode
|
||||
- database: gitlabhq_production
|
||||
+ database: gitlab
|
||||
pool: 10
|
||||
# username: git
|
||||
# password:
|
||||
# host: localhost
|
||||
# port: 5432
|
||||
-
|
||||
-#
|
||||
-# Development specific
|
||||
-#
|
||||
-development:
|
||||
- adapter: postgresql
|
||||
- encoding: unicode
|
||||
- database: gitlabhq_development
|
||||
- pool: 5
|
||||
- username: postgres
|
||||
- password:
|
||||
-
|
||||
-#
|
||||
-# Staging specific
|
||||
-#
|
||||
-staging:
|
||||
- adapter: postgresql
|
||||
- encoding: unicode
|
||||
- database: gitlabhq_staging
|
||||
- pool: 5
|
||||
- username: postgres
|
||||
- password:
|
||||
-
|
||||
-# Warning: The database defined as "test" will be erased and
|
||||
-# re-generated from your development database when you run "rake".
|
||||
-# Do not set this db to the same as development or production.
|
||||
-test: &test
|
||||
- adapter: postgresql
|
||||
- encoding: unicode
|
||||
- database: gitlabhq_test
|
||||
- pool: 5
|
||||
- username: postgres
|
||||
- password:
|
|
@ -1,102 +0,0 @@
|
|||
diff --git a/config/database.yml.mysql b/config/database.yml.mysql
|
||||
index db1b712..a3b5ecc 100644
|
||||
--- a/config/database.yml.mysql
|
||||
+++ b/config/database.yml.mysql
|
||||
@@ -3,42 +3,12 @@
|
||||
#
|
||||
production:
|
||||
adapter: mysql2
|
||||
- encoding: utf8
|
||||
- collation: utf8_general_ci
|
||||
+ encoding: utf8mb4
|
||||
+ collation: utf8mb4_general_ci
|
||||
reconnect: false
|
||||
- database: gitlabhq_production
|
||||
+ database: gitlab
|
||||
pool: 10
|
||||
username: git
|
||||
password: "secure password"
|
||||
# host: localhost
|
||||
- # socket: /tmp/mysql.sock
|
||||
-
|
||||
-#
|
||||
-# Development specific
|
||||
-#
|
||||
-development:
|
||||
- adapter: mysql2
|
||||
- encoding: utf8
|
||||
- collation: utf8_general_ci
|
||||
- reconnect: false
|
||||
- database: gitlabhq_development
|
||||
- pool: 5
|
||||
- username: root
|
||||
- password: "secure password"
|
||||
- # host: localhost
|
||||
- # socket: /tmp/mysql.sock
|
||||
-
|
||||
-# Warning: The database defined as "test" will be erased and
|
||||
-# re-generated from your development database when you run "rake".
|
||||
-# Do not set this db to the same as development or production.
|
||||
-test: &test
|
||||
- adapter: mysql2
|
||||
- encoding: utf8mb4
|
||||
- collation: utf8mb4_general_ci
|
||||
- reconnect: false
|
||||
- database: gitlabhq_test
|
||||
- pool: 5
|
||||
- username: root
|
||||
- password:
|
||||
- # host: localhost
|
||||
- # socket: /tmp/mysql.sock
|
||||
+ # socket: /run/mysqld/mysqld.sock
|
||||
diff --git a/config/database.yml.postgresql b/config/database.yml.postgresql
|
||||
index c517a4c..28f7993 100644
|
||||
--- a/config/database.yml.postgresql
|
||||
+++ b/config/database.yml.postgresql
|
||||
@@ -4,45 +4,9 @@
|
||||
production:
|
||||
adapter: postgresql
|
||||
encoding: unicode
|
||||
- database: gitlabhq_production
|
||||
+ database: gitlab
|
||||
pool: 10
|
||||
# username: git
|
||||
# password:
|
||||
# host: localhost
|
||||
# port: 5432
|
||||
-
|
||||
-#
|
||||
-# Development specific
|
||||
-#
|
||||
-development:
|
||||
- adapter: postgresql
|
||||
- encoding: unicode
|
||||
- database: gitlabhq_development
|
||||
- pool: 5
|
||||
- username: postgres
|
||||
- password:
|
||||
- # host: localhost
|
||||
-
|
||||
-#
|
||||
-# Staging specific
|
||||
-#
|
||||
-staging:
|
||||
- adapter: postgresql
|
||||
- encoding: unicode
|
||||
- database: gitlabhq_staging
|
||||
- pool: 5
|
||||
- username: postgres
|
||||
- password:
|
||||
- # host: localhost
|
||||
-
|
||||
-# Warning: The database defined as "test" will be erased and
|
||||
-# re-generated from your development database when you run "rake".
|
||||
-# Do not set this db to the same as development or production.
|
||||
-test: &test
|
||||
- adapter: postgresql
|
||||
- encoding: unicode
|
||||
- database: gitlabhq_test
|
||||
- pool: 5
|
||||
- username: postgres
|
||||
- password:
|
||||
- # host: localhost
|
|
@ -1,27 +0,0 @@
|
|||
diff --git a/lib/tasks/gitlab/check.rake b/lib/tasks/gitlab/check.rake
|
||||
index 5f4a6bb..8f75d2b 100644
|
||||
--- a/lib/tasks/gitlab/check.rake
|
||||
+++ b/lib/tasks/gitlab/check.rake
|
||||
@@ -24,7 +24,7 @@ namespace :gitlab do
|
||||
check_tmp_writable
|
||||
check_uploads
|
||||
check_init_script_exists
|
||||
- check_init_script_up_to_date
|
||||
+ #check_init_script_up_to_date Gentoo uses a different init script
|
||||
check_projects_have_namespace
|
||||
check_redis_version
|
||||
check_ruby_version
|
||||
@@ -590,13 +590,6 @@ namespace :gitlab do
|
||||
puts "yes".color(:green)
|
||||
else
|
||||
puts "no".color(:red)
|
||||
- try_fixing_it(
|
||||
- sudo_gitlab("RAILS_ENV=production bin/background_jobs start")
|
||||
- )
|
||||
- for_more_information(
|
||||
- see_installation_guide_section("Install Init Script"),
|
||||
- "see log/sidekiq.log for possible errors"
|
||||
- )
|
||||
fix_and_rerun
|
||||
end
|
||||
end
|
|
@ -1,64 +0,0 @@
|
|||
#!/sbin/openrc-run
|
||||
|
||||
extra_started_commands="check"
|
||||
|
||||
name="GitLab Sidekiq"
|
||||
description="Sidekiq for GitLab"
|
||||
description_check="Runs sanity checks"
|
||||
|
||||
: ${gitlab_user:=@USER@}
|
||||
: ${gitlab_base:="@GITLAB_BASE@"}
|
||||
: ${rails_env:=production}
|
||||
|
||||
: ${sidekiq_pidfile:="/run/gitlab/sidekiq.pid"}
|
||||
: ${sidekiq_logfile:="@LOGS_DIR@/sidekiq.log"}
|
||||
: ${sidekiq_config:="/etc/gitlab/sidekiq_queues.yml"}
|
||||
|
||||
sidekiq_command="/usr/bin/bundle"
|
||||
sidekiq_command_args="exec sidekiq -C ${sidekiq_config} -P ${sidekiq_pidfile} -L ${sidekiq_logfile}"
|
||||
|
||||
check_command="sudo -u ${gitlab_user} -H /usr/bin/bundle"
|
||||
check_command_args1="exec rake gitlab:env:info RAILS_ENV=${rails_env}"
|
||||
check_command_args2="exec rake gitlab:check RAILS_ENV=${rails_env}"
|
||||
|
||||
depend() {
|
||||
need redis gitlab-workhorse
|
||||
use net
|
||||
}
|
||||
|
||||
start() {
|
||||
checkpath -d -o ${gitlab_user} -m755 "$(dirname "${sidekiq_pidfile}")"
|
||||
|
||||
ebegin "Starting ${name} - Sidekiq"
|
||||
|
||||
start-stop-daemon --start \
|
||||
--background --quiet \
|
||||
--chdir "${gitlab_base}" \
|
||||
--user=${gitlab_user} \
|
||||
--pidfile="${sidekiq_pidfile}" \
|
||||
--env RAILS_ENV=${rails_env} \
|
||||
--exec ${sidekiq_command} -- ${sidekiq_command_args}
|
||||
eend $?
|
||||
}
|
||||
|
||||
stop() {
|
||||
ebegin "Stopping ${name} - Sidekiq"
|
||||
start-stop-daemon --stop \
|
||||
--pidfile=${sidekiq_pidfile} \
|
||||
--exec ${sidekiq_command}
|
||||
eend $?
|
||||
}
|
||||
|
||||
check() {
|
||||
ebegin "Running sanity checks for ${name}"
|
||||
|
||||
cd /opt/gitlab
|
||||
|
||||
${check_command} ${check_command_args1}
|
||||
|
||||
eend $?
|
||||
|
||||
${check_command} ${check_command_args2}
|
||||
|
||||
eend $?
|
||||
}
|
|
@ -1,141 +0,0 @@
|
|||
#!/sbin/openrc-run
|
||||
|
||||
extra_started_commands="restartsidekiq check"
|
||||
|
||||
name="GitLab"
|
||||
description="GitLab on Unicorns"
|
||||
description_restartsidekiq="Restarts Sidekiq only"
|
||||
description_check="Runs sanity checks"
|
||||
|
||||
: ${gitlab_user:=@USER@}
|
||||
: ${gitlab_base:="@GITLAB_BASE@"}
|
||||
: ${rails_env:=production}
|
||||
|
||||
: ${server_pidfile:="/run/gitlab/unicorn.pid"}
|
||||
|
||||
: ${sidekiq_pidfile:="/run/gitlab/sidekiq.pid"}
|
||||
: ${sidekiq_logfile:="@LOGS_DIR@/sidekiq.log"}
|
||||
: ${sidekiq_config:="/etc/gitlab/sidekiq_queues.yml"}
|
||||
|
||||
: ${mail_room_pidfile:="/run/gitlab/mail_room.pid"}
|
||||
: ${mail_room_logfile:="/var/log/gitlab/mail_room.log"}
|
||||
: ${mail_room_config:="/etc/gitlab/mail_room.yml"}
|
||||
|
||||
server_command="/usr/bin/bundle"
|
||||
server_command_args="exec unicorn_rails -c ${gitlab_base}/config/unicorn.rb -E ${rails_env} -D"
|
||||
|
||||
sidekiq_command="/usr/bin/bundle"
|
||||
sidekiq_command_args="exec sidekiq -C ${sidekiq_config} -P ${sidekiq_pidfile} -L ${sidekiq_logfile}"
|
||||
|
||||
mail_room_command="/usr/bin/bundle"
|
||||
mail_room_command_args="exec mail_room -q -c ${mail_room_config} >> ${mail_room_logfile} 2>&1"
|
||||
|
||||
check_command="sudo -u ${gitlab_user} -H /usr/bin/bundle"
|
||||
check_command_args1="exec rake gitlab:env:info RAILS_ENV=${rails_env}"
|
||||
check_command_args2="exec rake gitlab:check RAILS_ENV=${rails_env}"
|
||||
|
||||
depend() {
|
||||
provide gitlab
|
||||
need redis gitlab-workhorse
|
||||
use net
|
||||
}
|
||||
|
||||
start() {
|
||||
ebegin "Starting ${name} - Unicorn servers"
|
||||
|
||||
checkpath -d -o ${gitlab_user} -m755 "$(dirname "${server_pidfile}")"
|
||||
checkpath -d -o ${gitlab_user} -m755 "$(dirname "${sidekiq_pidfile}")"
|
||||
|
||||
start-stop-daemon --start \
|
||||
--chdir "${gitlab_base}" \
|
||||
--user=${gitlab_user} \
|
||||
--pidfile="${server_pidfile}" \
|
||||
--env RAILS_ENV=${rails_env} \
|
||||
--exec ${server_command} -- ${server_command_args}
|
||||
eend $?
|
||||
|
||||
ebegin "Starting ${name} - Sidekiq"
|
||||
|
||||
start-stop-daemon --start \
|
||||
--background --quiet \
|
||||
--chdir "${gitlab_base}" \
|
||||
--user=${gitlab_user} \
|
||||
--pidfile="${sidekiq_pidfile}" \
|
||||
--env RAILS_ENV=${rails_env} \
|
||||
--exec ${sidekiq_command} -- ${sidekiq_command_args}
|
||||
eend $?
|
||||
|
||||
if [ -e /etc/default/gitlab ]; then
|
||||
. /etc/default/gitlab
|
||||
if [ "${mail_room_enabled}" == "true" ]; then
|
||||
ebegin "Starting ${name} - mail_room"
|
||||
|
||||
start-stop-daemon --start \
|
||||
--background --quiet \
|
||||
--chdir "${gitlab_base}" \
|
||||
--user=${gitlab_user} \
|
||||
--pidfile="${mail_room_pidfile}" -m \
|
||||
--env RAILS_ENV=${rails_env} \
|
||||
--exec ${mail_room_command} -- ${mail_room_command_args}
|
||||
eend $?
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
stop() {
|
||||
ebegin "Stopping ${name} - mail_room"
|
||||
start-stop-daemon --stop \
|
||||
--signal QUIT \
|
||||
--pidfile=${mail_room_pidfile} \
|
||||
--exec ${mail_room_command}
|
||||
eend $?
|
||||
|
||||
ebegin "Stopping ${name} - Sidekiq"
|
||||
start-stop-daemon --stop \
|
||||
--pidfile=${sidekiq_pidfile} \
|
||||
--exec ${sidekiq_command}
|
||||
eend $?
|
||||
|
||||
ebegin "Stopping ${name} - Unicorn servers"
|
||||
start-stop-daemon --stop \
|
||||
--signal QUIT \
|
||||
--pidfile=${server_pidfile} \
|
||||
--exec ${server_command}
|
||||
eend $?
|
||||
}
|
||||
|
||||
restartsidekiq() {
|
||||
ebegin "Restarting ${name} - Sidekiq: Stopping"
|
||||
start-stop-daemon --stop \
|
||||
--pidfile=${sidekiq_pidfile} \
|
||||
--exec ${sidekiq_command} \
|
||||
--progress \
|
||||
--retry 180
|
||||
|
||||
eend $?
|
||||
|
||||
ebegin "Starting ${name} - Sidekiq"
|
||||
|
||||
start-stop-daemon --start \
|
||||
--background --quiet \
|
||||
--chdir "${gitlab_base}" \
|
||||
--user=${gitlab_user} \
|
||||
--pidfile="${sidekiq_pidfile}" \
|
||||
--env RAILS_ENV=${rails_env} \
|
||||
--exec ${sidekiq_command} -- ${sidekiq_command_args}
|
||||
eend $?
|
||||
}
|
||||
|
||||
check() {
|
||||
ebegin "Running sanity checks for ${name}"
|
||||
|
||||
cd /opt/gitlab
|
||||
|
||||
${check_command} ${check_command_args1}
|
||||
|
||||
eend $?
|
||||
|
||||
${check_command} ${check_command_args2}
|
||||
|
||||
eend $?
|
||||
}
|
|
@ -1,429 +0,0 @@
|
|||
# Copyright 1999-2017 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="e1836b8fb3ee021cbbef96f3a8b00323b1f0d6e2"
|
||||
|
||||
GITALY_VERSION="0.38.0"
|
||||
GITLAB_PAGES_VERSION="0.5.1"
|
||||
GITLAB_SHELL_VERSION="5.9.0"
|
||||
GITLAB_WORKHORSE_VERSION="3.0.0"
|
||||
|
||||
DESCRIPTION="GitLab is a free project and repository management application"
|
||||
HOMEPAGE="https://about.gitlab.com/"
|
||||
SRC_URI="https://gitlab.com/gitlab-org/${PN}/repository/archive.tar.gz?ref=${MY_PV} -> ${P}.tar.gz"
|
||||
RUBY_S="${PN}-${MY_PV}-${MY_GIT_COMMIT}"
|
||||
|
||||
RESTRICT="mirror"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS=""
|
||||
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.1:* )
|
||||
mysql? ( virtual/mysql )
|
||||
kerberos? ( virtual/krb5 )"
|
||||
CDEPEND="
|
||||
dev-util/cmake
|
||||
virtual/pkgconfig"
|
||||
COMMON_DEPEND="
|
||||
${GEMS_DEPEND}
|
||||
~dev-vcs/gitlab-shell-${GITLAB_SHELL_VERSION}
|
||||
>=dev-vcs/git-2.8.4
|
||||
~www-servers/gitlab-workhorse-${GITLAB_WORKHORSE_VERSION}
|
||||
kerberos? ( !app-crypt/heimdal )
|
||||
rugged_use_system_libraries? ( net-libs/http-parser dev-libs/libgit2:0/25 )
|
||||
pages? ( ~www-servers/gitlab-pages-${GITLAB_PAGES_VERSION} )
|
||||
~www-servers/gitlab-gitaly-${GITALY_VERSION}"
|
||||
DEPEND="
|
||||
${CDEPEND}
|
||||
${COMMON_DEPEND}"
|
||||
RDEPEND="
|
||||
${COMMON_DEPEND}
|
||||
>=dev-db/redis-2.8
|
||||
virtual/mta
|
||||
systemd? ( sys-apps/systemd:0= )"
|
||||
# required bundler >= 1.15.3
|
||||
ruby_add_bdepend "
|
||||
virtual/rubygems
|
||||
>=dev-ruby/bundler-1.14.6"
|
||||
|
||||
#
|
||||
# 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}-9.4.0-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
|
||||
|
||||
## 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
|
||||
|
||||
# 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 "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 $@"
|
||||
}
|
|
@ -1,429 +0,0 @@
|
|||
# Copyright 1999-2017 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="8ebd2dd93d0b01a60bcbd5cefce0fb049cee2ee6"
|
||||
|
||||
GITALY_VERSION="0.38.0"
|
||||
GITLAB_PAGES_VERSION="0.5.1"
|
||||
GITLAB_SHELL_VERSION="5.9.0"
|
||||
GITLAB_WORKHORSE_VERSION="3.0.0"
|
||||
|
||||
DESCRIPTION="GitLab is a free project and repository management application"
|
||||
HOMEPAGE="https://about.gitlab.com/"
|
||||
SRC_URI="https://gitlab.com/gitlab-org/${PN}/repository/archive.tar.gz?ref=${MY_PV} -> ${P}.tar.gz"
|
||||
RUBY_S="${PN}-${MY_PV}-${MY_GIT_COMMIT}"
|
||||
|
||||
RESTRICT="mirror"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86 ~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-${GITALY_VERSION}"
|
||||
DEPEND="
|
||||
${CDEPEND}
|
||||
${COMMON_DEPEND}"
|
||||
RDEPEND="
|
||||
${COMMON_DEPEND}
|
||||
>=dev-db/redis-2.8
|
||||
virtual/mta
|
||||
systemd? ( sys-apps/systemd:0= )"
|
||||
# required bundler >= 1.15.3
|
||||
ruby_add_bdepend "
|
||||
virtual/rubygems
|
||||
>=dev-ruby/bundler-1.14.6"
|
||||
|
||||
#
|
||||
# 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}-9.4.0-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
|
||||
|
||||
## 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
|
||||
|
||||
# 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 "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 $@"
|
||||
}
|
|
@ -1,422 +0,0 @@
|
|||
# Copyright 1999-2017 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="2377923e89968997a13db6e009b8a48c5bf6f00a"
|
||||
|
||||
GITALY_VERSION="0.3.0"
|
||||
GITLAB_PAGES_VERSION="0.4.0"
|
||||
GITLAB_SHELL_VERSION="5.0.0"
|
||||
GITLAB_WORKHORSE_VERSION="1.4.2"
|
||||
|
||||
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 -gitaly 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.1:* )
|
||||
mysql? ( virtual/mysql )
|
||||
kerberos? ( virtual/krb5 )"
|
||||
CDEPEND="
|
||||
dev-util/cmake
|
||||
virtual/pkgconfig"
|
||||
COMMON_DEPEND="
|
||||
${GEMS_DEPEND}
|
||||
~dev-vcs/gitlab-shell-${GITLAB_SHELL_VERSION}
|
||||
>=dev-vcs/git-2.8.4
|
||||
~www-servers/gitlab-workhorse-${GITLAB_WORKHORSE_VERSION}
|
||||
kerberos? ( !app-crypt/heimdal )
|
||||
rugged_use_system_libraries? ( net-libs/http-parser dev-libs/libgit2:0/24 )
|
||||
pages? ( ~www-servers/gitlab-pages-${GITLAB_PAGES_VERSION} )
|
||||
gitaly? ( ~www-servers/gitlab-gitaly-${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.14.6"
|
||||
|
||||
#
|
||||
# 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}-8.17.0-database.yml.patch"
|
||||
"${FILESDIR}/04-${PN}-8.12.7-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
|
||||
sed -i -E \
|
||||
-e "/satellites:$/,/\w:$/ s|(\s*path:\s).*|\1${satellites_path}/|" \
|
||||
-e "/gitlab_shell:$/,/\w:$/ s|(\s*path:\s).*|\1${shell_path}/|" \
|
||||
-e "/gitlab_shell:$/,/\w:$/ s|(\s*repos_path:\s).*|\1${repos_path}/|" \
|
||||
-e "/gitlab_shell:$/,/\w:$/ s|(\s*hooks_path:\s).*|\1${shell_path}/hooks/|" \
|
||||
config/gitlab.yml.example || die "failed to filter gitlab.yml.example"
|
||||
|
||||
local run_path=/run/${MY_NAME}
|
||||
sed -i -E \
|
||||
-e "s|/home/git/gitlab/tmp/(pids\|sockets)|${run_path}|" \
|
||||
-e "s|/home/git/gitlab/log|${LOGS_DIR}|" \
|
||||
-e "s|/home/git/gitlab|${DEST_DIR}|" \
|
||||
config/unicorn.rb.example || die "failed to filter unicorn.rb.example"
|
||||
|
||||
sed -i \
|
||||
-e "s|/home/git/gitlab/tmp/sockets|${run_path}|" \
|
||||
lib/support/nginx/gitlab || die "failed to filter nginx/gitlab"
|
||||
|
||||
# modify default database settings for PostgreSQL
|
||||
sed -i -E \
|
||||
-e 's|(username:).*|\1 gitlab|' \
|
||||
-e 's|(password:).*|\1 gitlab|' \
|
||||
-e 's|(socket:).*|\1 /run/postgresql/.s.PGSQL.5432|' \
|
||||
config/database.yml.postgresql \
|
||||
|| die "failed to filter database.yml.postgresql"
|
||||
|
||||
# rename config files
|
||||
mv config/gitlab.yml.example config/gitlab.yml
|
||||
mv config/unicorn.rb.example config/unicorn.rb
|
||||
|
||||
local dbconf=config/database.yml
|
||||
if use postgres && ! use mysql; then
|
||||
mv ${dbconf}.postgresql ${dbconf}
|
||||
rm ${dbconf}.mysql
|
||||
elif use mysql && ! use postgres; then
|
||||
mv ${dbconf}.mysql ${dbconf}
|
||||
rm ${dbconf}.postgresql
|
||||
fi
|
||||
|
||||
# remove useless files
|
||||
rm -r lib/support/{deploy,init.d}
|
||||
use unicorn || rm config/unicorn.rb
|
||||
}
|
||||
|
||||
all_ruby_install() {
|
||||
local dest=${DEST_DIR}
|
||||
local conf=${CONF_DIR}
|
||||
local logs=${LOGS_DIR}
|
||||
local temp=${TEMP_DIR}
|
||||
|
||||
# prepare directories
|
||||
diropts -m750
|
||||
dodir ${logs} ${temp}
|
||||
|
||||
diropts -m755
|
||||
dodir ${conf} ${dest}/public/uploads
|
||||
|
||||
dosym ${temp} ${dest}/tmp
|
||||
dosym ${logs} ${dest}/log
|
||||
|
||||
# install configs
|
||||
insinto ${conf}
|
||||
doins -r config/*
|
||||
dosym ${conf} ${dest}/config
|
||||
|
||||
echo 'export RAILS_ENV=production' > "${D}/${dest}/.profile"
|
||||
|
||||
# remove needless dirs
|
||||
rm -Rf config tmp log
|
||||
|
||||
# install the rest files
|
||||
# using cp 'cause doins is slow
|
||||
cp -Rl * "${D}/${dest}"/
|
||||
|
||||
# install logrotate config
|
||||
dodir /etc/logrotate.d
|
||||
cat > "${D}/etc/logrotate.d/${MY_NAME}" <<-EOF
|
||||
${logs}/*.log {
|
||||
missingok
|
||||
delaycompress
|
||||
compress
|
||||
copytruncate
|
||||
}
|
||||
EOF
|
||||
|
||||
## Install gems via bundler ##
|
||||
|
||||
cd "${D}/${dest}"
|
||||
|
||||
local without="development test aws"
|
||||
local flag; for flag in mysql postgres unicorn kerberos; do
|
||||
without+="$(use $flag || echo ' '$flag)"
|
||||
done
|
||||
local bundle_args="--deployment ${without:+--without ${without}}"
|
||||
|
||||
use "rugged_use_system_libraries" && export RUGGED_USE_SYSTEM_LIBRARIES="YES"
|
||||
|
||||
einfo "Running bundle install ${bundle_args} ..."
|
||||
${RUBY} /usr/bin/bundle install ${bundle_args} || die "bundler failed"
|
||||
|
||||
einfo "Cleaning old gems ..."
|
||||
${RUBY} /usr/bin/bundle clean
|
||||
|
||||
# clean gems cache
|
||||
rm -Rf vendor/bundle/ruby/*/cache
|
||||
rm -Rf vendor/bundle/ruby/*/bundler/gems/charlock_holmes-dde194609b35/.git
|
||||
|
||||
## RC script ##
|
||||
|
||||
if use systemd ; then
|
||||
ewarn "Beware: systemd support has not been tested, use at your own risk!"
|
||||
systemd_newunit "${FILESDIR}/gitlab-8.13.0-sidekiq.service" "gitlab-sidekiq.service"
|
||||
systemd_dounit "${FILESDIR}/gitlab-unicorn.service"
|
||||
systemd_dounit "${FILESDIR}/gitlab-workhorse.service"
|
||||
systemd_dounit "${FILESDIR}/gitlab-mailroom.service"
|
||||
systemd_dotmpfilesd "${FILESDIR}/gitlab.conf"
|
||||
else
|
||||
local rcscript=gitlab-8.13.3-sidekiq.init
|
||||
use unicorn && rcscript=gitlab-8.13.3-unicorn.init
|
||||
|
||||
cp "${FILESDIR}/${rcscript}" "${T}" || die
|
||||
sed -i \
|
||||
-e "s|@USER@|${MY_USER}|" \
|
||||
-e "s|@GITLAB_BASE@|${dest}|" \
|
||||
-e "s|@LOGS_DIR@|${logs}|" \
|
||||
"${T}/${rcscript}" \
|
||||
|| die "failed to filter ${rcscript}"
|
||||
|
||||
newinitd "${T}/${rcscript}" "${MY_NAME}"
|
||||
fi
|
||||
|
||||
# fix permissions
|
||||
fowners -R ${MY_USER}:${MY_USER} ${dest} ${temp} ${logs}
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "If this is an update from a previous version, stop your GitLab"
|
||||
elog "instance and issue the following command to perform all required"
|
||||
elog "migrations:"
|
||||
elog " emerge --config \"=${CATEGORY}/${PF}\""
|
||||
elog "PLEASE NOTE: It's HIGHLY recommended to backup your database"
|
||||
elog "before running the config phase. Run these commands (as root):"
|
||||
elog
|
||||
elog " cd /opt/gitlab"
|
||||
elog " sudo -u git -H bundle exec rake gitlab:backup:create RAILS_ENV=production"
|
||||
elog
|
||||
elog "If this was a fresh install, follow these steps:"
|
||||
elog
|
||||
elog "1. Configure your GitLab's settings in ${CONF_DIR}/gitlab.yml."
|
||||
elog
|
||||
elog "2. Configure your database settings in ${CONF_DIR}/database.yml"
|
||||
elog " for \"production\" environment."
|
||||
elog
|
||||
elog "3. Then you should create a database for your GitLab instance, if you"
|
||||
elog " haven't done so already."
|
||||
elog
|
||||
if use postgres; then
|
||||
elog "If you have local PostgreSQL running, just copy&run:"
|
||||
elog " su postgres"
|
||||
elog " psql -c \"CREATE ROLE gitlab PASSWORD 'gitlab' \\"
|
||||
elog " NOSUPERUSER NOCREATEDB NOCREATEROLE INHERIT LOGIN;\""
|
||||
elog " createdb -E UTF-8 -O gitlab gitlabhq_production"
|
||||
elog " Note: You should change your password to something more random..."
|
||||
elog
|
||||
fi
|
||||
elog "4. Finally execute the following command to initialize the environment:"
|
||||
elog " emerge --config \"=${CATEGORY}/${PF}\""
|
||||
elog " Note: Do not forget to start Redis server first!"
|
||||
elog
|
||||
elog "If you're running GitLab behind an SSL proxy such as nginx or Apache and"
|
||||
elog "you can't login after the upgrade, be sure to read the section about the"
|
||||
elog "verification of the CSRF token in GitLab's trouble-shooting guide at"
|
||||
elog "http://goo.gl/5XGRGv."
|
||||
if use postgres; then
|
||||
elog "Please note: As of GitLab 8.6, users of PostgreSQL need to enable the"
|
||||
elog "`pg_trgm` extension by running the following command as a PostgreSQL"
|
||||
elog "super user for *every* GitLab database:"
|
||||
elog " CREATE EXTENSION IF NOT EXISTS pg_trgm;"
|
||||
elog "For details, see the documentation at the GitLab website."
|
||||
fi
|
||||
if use mysql ; then
|
||||
ewarn "PLEASE also read this document about needed migrations on MySQL:"
|
||||
ewarn "https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/install/database_mysql.md"
|
||||
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
|
||||
|
||||
## Initialize app ##
|
||||
|
||||
local RAILS_ENV="production"
|
||||
local RUBY=${RUBY:-/usr/bin/ruby}
|
||||
local BUNDLE="${RUBY} /usr/bin/bundle"
|
||||
|
||||
# FIXME: this line existed in older ebuilds, but the variable is
|
||||
# never used. what was it for!?
|
||||
# local dbname="$(ryaml ${CONF_DIR}/database.yml production database)"
|
||||
|
||||
if [ "${update}" = 'true' ]; then
|
||||
einfo "Migrating database ..."
|
||||
exec_rake db:migrate
|
||||
|
||||
# https://github.com/gitlabhq/gitlabhq/issues/5311#issuecomment-31656496
|
||||
einfo "Migrating iids ..."
|
||||
exec_rake migrate_iids
|
||||
|
||||
einfo "Installing npm modules ..."
|
||||
exec_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 "Installing npm modules ..."
|
||||
exec_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 $@"
|
||||
}
|
||||
|
||||
exec_yarn() {
|
||||
local command="yarn $@ --${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 yarn $@"
|
||||
}
|
|
@ -1,425 +0,0 @@
|
|||
# Copyright 1999-2017 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="d09fe1e789d014cebc46cb54fb5a0fc1d8d24dbb"
|
||||
|
||||
# Gitaly is optional in Gitlab 9.1, and it is not yet supported by this
|
||||
# ebuild. But the version declaration is already here.
|
||||
GITALY_VERSION="0.6.0"
|
||||
GITLAB_PAGES_VERSION="0.4.1"
|
||||
GITLAB_SHELL_VERSION="5.0.2"
|
||||
GITLAB_WORKHORSE_VERSION="1.4.3"
|
||||
|
||||
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 -gitaly 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.1:* )
|
||||
mysql? ( virtual/mysql )
|
||||
kerberos? ( virtual/krb5 )"
|
||||
CDEPEND="
|
||||
dev-util/cmake
|
||||
virtual/pkgconfig"
|
||||
COMMON_DEPEND="
|
||||
${GEMS_DEPEND}
|
||||
~dev-vcs/gitlab-shell-${GITLAB_SHELL_VERSION}
|
||||
>=dev-vcs/git-2.8.4
|
||||
~www-servers/gitlab-workhorse-${GITLAB_WORKHORSE_VERSION}
|
||||
kerberos? ( !app-crypt/heimdal )
|
||||
rugged_use_system_libraries? ( net-libs/http-parser dev-libs/libgit2:0/24 )
|
||||
pages? ( ~www-servers/gitlab-pages-${GITLAB_PAGES_VERSION} )
|
||||
gitaly? ( ~www-servers/gitlab-gitaly-${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.14.6"
|
||||
|
||||
#
|
||||
# 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}-8.17.0-database.yml.patch"
|
||||
"${FILESDIR}/04-${PN}-8.12.7-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
|
||||
sed -i -E \
|
||||
-e "/satellites:$/,/\w:$/ s|(\s*path:\s).*|\1${satellites_path}/|" \
|
||||
-e "/gitlab_shell:$/,/\w:$/ s|(\s*path:\s).*|\1${shell_path}/|" \
|
||||
-e "/gitlab_shell:$/,/\w:$/ s|(\s*repos_path:\s).*|\1${repos_path}/|" \
|
||||
-e "/gitlab_shell:$/,/\w:$/ s|(\s*hooks_path:\s).*|\1${shell_path}/hooks/|" \
|
||||
config/gitlab.yml.example || die "failed to filter gitlab.yml.example"
|
||||
|
||||
local run_path=/run/${MY_NAME}
|
||||
sed -i -E \
|
||||
-e "s|/home/git/gitlab/tmp/(pids\|sockets)|${run_path}|" \
|
||||
-e "s|/home/git/gitlab/log|${LOGS_DIR}|" \
|
||||
-e "s|/home/git/gitlab|${DEST_DIR}|" \
|
||||
config/unicorn.rb.example || die "failed to filter unicorn.rb.example"
|
||||
|
||||
sed -i \
|
||||
-e "s|/home/git/gitlab/tmp/sockets|${run_path}|" \
|
||||
lib/support/nginx/gitlab || die "failed to filter nginx/gitlab"
|
||||
|
||||
# modify default database settings for PostgreSQL
|
||||
sed -i -E \
|
||||
-e 's|(username:).*|\1 gitlab|' \
|
||||
-e 's|(password:).*|\1 gitlab|' \
|
||||
-e 's|(socket:).*|\1 /run/postgresql/.s.PGSQL.5432|' \
|
||||
config/database.yml.postgresql \
|
||||
|| die "failed to filter database.yml.postgresql"
|
||||
|
||||
# rename config files
|
||||
mv config/gitlab.yml.example config/gitlab.yml
|
||||
mv config/unicorn.rb.example config/unicorn.rb
|
||||
|
||||
local dbconf=config/database.yml
|
||||
if use postgres && ! use mysql; then
|
||||
mv ${dbconf}.postgresql ${dbconf}
|
||||
rm ${dbconf}.mysql
|
||||
elif use mysql && ! use postgres; then
|
||||
mv ${dbconf}.mysql ${dbconf}
|
||||
rm ${dbconf}.postgresql
|
||||
fi
|
||||
|
||||
# remove useless files
|
||||
rm -r lib/support/{deploy,init.d}
|
||||
use unicorn || rm config/unicorn.rb
|
||||
}
|
||||
|
||||
all_ruby_install() {
|
||||
local dest=${DEST_DIR}
|
||||
local conf=${CONF_DIR}
|
||||
local logs=${LOGS_DIR}
|
||||
local temp=${TEMP_DIR}
|
||||
|
||||
# prepare directories
|
||||
diropts -m750
|
||||
dodir ${logs} ${temp}
|
||||
|
||||
diropts -m755
|
||||
dodir ${conf} ${dest}/public/uploads
|
||||
|
||||
dosym ${temp} ${dest}/tmp
|
||||
dosym ${logs} ${dest}/log
|
||||
|
||||
# install configs
|
||||
insinto ${conf}
|
||||
doins -r config/*
|
||||
dosym ${conf} ${dest}/config
|
||||
|
||||
echo 'export RAILS_ENV=production' > "${D}/${dest}/.profile"
|
||||
|
||||
# remove needless dirs
|
||||
rm -Rf config tmp log
|
||||
|
||||
# install the rest files
|
||||
# using cp 'cause doins is slow
|
||||
cp -Rl * "${D}/${dest}"/
|
||||
cp -Rl .??* "${D}/${dest}"/
|
||||
|
||||
# install logrotate config
|
||||
dodir /etc/logrotate.d
|
||||
cat > "${D}/etc/logrotate.d/${MY_NAME}" <<-EOF
|
||||
${logs}/*.log {
|
||||
missingok
|
||||
delaycompress
|
||||
compress
|
||||
copytruncate
|
||||
}
|
||||
EOF
|
||||
|
||||
## Install gems via bundler ##
|
||||
|
||||
cd "${D}/${dest}"
|
||||
|
||||
local without="development test aws"
|
||||
local flag; for flag in mysql postgres unicorn kerberos; do
|
||||
without+="$(use $flag || echo ' '$flag)"
|
||||
done
|
||||
local bundle_args="--deployment ${without:+--without ${without}}"
|
||||
|
||||
use "rugged_use_system_libraries" && export RUGGED_USE_SYSTEM_LIBRARIES="YES"
|
||||
|
||||
einfo "Running bundle install ${bundle_args} ..."
|
||||
${RUBY} /usr/bin/bundle install ${bundle_args} || die "bundler failed"
|
||||
|
||||
einfo "Cleaning old gems ..."
|
||||
${RUBY} /usr/bin/bundle clean
|
||||
|
||||
# clean gems cache
|
||||
rm -Rf vendor/bundle/ruby/*/cache
|
||||
rm -Rf vendor/bundle/ruby/*/bundler/gems/charlock_holmes-dde194609b35/.git
|
||||
|
||||
## RC script ##
|
||||
|
||||
if use systemd ; then
|
||||
ewarn "Beware: systemd support has not been tested, use at your own risk!"
|
||||
systemd_newunit "${FILESDIR}/gitlab-8.13.0-sidekiq.service" "gitlab-sidekiq.service"
|
||||
systemd_dounit "${FILESDIR}/gitlab-unicorn.service"
|
||||
systemd_dounit "${FILESDIR}/gitlab-workhorse.service"
|
||||
systemd_dounit "${FILESDIR}/gitlab-mailroom.service"
|
||||
systemd_dotmpfilesd "${FILESDIR}/gitlab.conf"
|
||||
else
|
||||
local rcscript=gitlab-8.13.3-sidekiq.init
|
||||
use unicorn && rcscript=gitlab-8.13.3-unicorn.init
|
||||
|
||||
cp "${FILESDIR}/${rcscript}" "${T}" || die
|
||||
sed -i \
|
||||
-e "s|@USER@|${MY_USER}|" \
|
||||
-e "s|@GITLAB_BASE@|${dest}|" \
|
||||
-e "s|@LOGS_DIR@|${logs}|" \
|
||||
"${T}/${rcscript}" \
|
||||
|| die "failed to filter ${rcscript}"
|
||||
|
||||
newinitd "${T}/${rcscript}" "${MY_NAME}"
|
||||
fi
|
||||
|
||||
# fix permissions
|
||||
fowners -R ${MY_USER}:${MY_USER} ${dest} ${temp} ${logs}
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "If this is an update from a previous version, stop your GitLab"
|
||||
elog "instance and issue the following command to perform all required"
|
||||
elog "migrations:"
|
||||
elog " emerge --config \"=${CATEGORY}/${PF}\""
|
||||
elog "PLEASE NOTE: It's HIGHLY recommended to backup your database"
|
||||
elog "before running the config phase. Run these commands (as root):"
|
||||
elog
|
||||
elog " cd /opt/gitlab"
|
||||
elog " sudo -u git -H bundle exec rake gitlab:backup:create RAILS_ENV=production"
|
||||
elog
|
||||
elog "If this was a fresh install, follow these steps:"
|
||||
elog
|
||||
elog "1. Configure your GitLab's settings in ${CONF_DIR}/gitlab.yml."
|
||||
elog
|
||||
elog "2. Configure your database settings in ${CONF_DIR}/database.yml"
|
||||
elog " for \"production\" environment."
|
||||
elog
|
||||
elog "3. Then you should create a database for your GitLab instance, if you"
|
||||
elog " haven't done so already."
|
||||
elog
|
||||
if use postgres; then
|
||||
elog "If you have local PostgreSQL running, just copy&run:"
|
||||
elog " su postgres"
|
||||
elog " psql -c \"CREATE ROLE gitlab PASSWORD 'gitlab' \\"
|
||||
elog " NOSUPERUSER NOCREATEDB NOCREATEROLE INHERIT LOGIN;\""
|
||||
elog " createdb -E UTF-8 -O gitlab gitlabhq_production"
|
||||
elog " Note: You should change your password to something more random..."
|
||||
elog
|
||||
fi
|
||||
elog "4. Finally execute the following command to initialize the environment:"
|
||||
elog " emerge --config \"=${CATEGORY}/${PF}\""
|
||||
elog " Note: Do not forget to start Redis server first!"
|
||||
elog
|
||||
elog "If you're running GitLab behind an SSL proxy such as nginx or Apache and"
|
||||
elog "you can't login after the upgrade, be sure to read the section about the"
|
||||
elog "verification of the CSRF token in GitLab's trouble-shooting guide at"
|
||||
elog "http://goo.gl/5XGRGv."
|
||||
if use postgres; then
|
||||
elog "Please note: As of GitLab 8.6, users of PostgreSQL need to enable the"
|
||||
elog "`pg_trgm` extension by running the following command as a PostgreSQL"
|
||||
elog "super user for *every* GitLab database:"
|
||||
elog " CREATE EXTENSION IF NOT EXISTS pg_trgm;"
|
||||
elog "For details, see the documentation at the GitLab website."
|
||||
fi
|
||||
if use mysql ; then
|
||||
ewarn "PLEASE also read this document about needed migrations on MySQL:"
|
||||
ewarn "https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/install/database_mysql.md"
|
||||
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
|
||||
|
||||
## Initialize app ##
|
||||
|
||||
local RAILS_ENV="production"
|
||||
local RUBY=${RUBY:-/usr/bin/ruby}
|
||||
local BUNDLE="${RUBY} /usr/bin/bundle"
|
||||
|
||||
# FIXME: this line existed in older ebuilds, but the variable is
|
||||
# never used. what was it for!?
|
||||
# local dbname="$(ryaml ${CONF_DIR}/database.yml production database)"
|
||||
|
||||
if [ "${update}" = 'true' ]; then
|
||||
einfo "Migrating database ..."
|
||||
exec_rake db:migrate
|
||||
|
||||
# https://github.com/gitlabhq/gitlabhq/issues/5311#issuecomment-31656496
|
||||
einfo "Migrating iids ..."
|
||||
exec_rake migrate_iids
|
||||
|
||||
einfo "Installing npm modules ..."
|
||||
exec_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 "Installing npm modules ..."
|
||||
exec_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 $@"
|
||||
}
|
||||
|
||||
exec_yarn() {
|
||||
local command="yarn $@ --${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 yarn $@"
|
||||
}
|
|
@ -1,414 +0,0 @@
|
|||
# Copyright 1999-2017 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="7586e82714a6479bc3581532e11d03bead1cc982"
|
||||
|
||||
# Gitaly is optional in Gitlab 9.2, and it is not yet supported by this
|
||||
# ebuild. But the version declaration is already here.
|
||||
GITALY_VERSION="0.10.0"
|
||||
GITLAB_PAGES_VERSION="0.4.2"
|
||||
GITLAB_SHELL_VERSION="5.0.4"
|
||||
GITLAB_WORKHORSE_VERSION="2.0.0"
|
||||
|
||||
DESCRIPTION="GitLab is a free project and repository management application"
|
||||
HOMEPAGE="https://about.gitlab.com/"
|
||||
SRC_URI="https://gitlab.com/gitlab-org/${PN}/repository/archive.tar.gz?ref=${MY_PV} -> ${P}.tar.gz"
|
||||
RUBY_S="${PN}-${MY_PV}-${MY_GIT_COMMIT}"
|
||||
|
||||
RESTRICT="mirror"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86 ~arm64"
|
||||
IUSE="kerberos mysql +postgres +unicorn systemd pages -gitaly 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.1:* )
|
||||
mysql? ( virtual/mysql )
|
||||
kerberos? ( virtual/krb5 )"
|
||||
CDEPEND="
|
||||
dev-util/cmake
|
||||
virtual/pkgconfig"
|
||||
COMMON_DEPEND="
|
||||
${GEMS_DEPEND}
|
||||
~dev-vcs/gitlab-shell-${GITLAB_SHELL_VERSION}
|
||||
>=dev-vcs/git-2.8.4
|
||||
~www-servers/gitlab-workhorse-${GITLAB_WORKHORSE_VERSION}
|
||||
kerberos? ( !app-crypt/heimdal )
|
||||
rugged_use_system_libraries? ( net-libs/http-parser dev-libs/libgit2:0/25 )
|
||||
pages? ( ~www-servers/gitlab-pages-${GITLAB_PAGES_VERSION} )
|
||||
gitaly? ( ~www-servers/gitlab-gitaly-${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.14.6"
|
||||
|
||||
#
|
||||
# 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}-9.2.2-database.yml.patch"
|
||||
"${FILESDIR}/04-${PN}-8.12.7-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
|
||||
sed -i -E \
|
||||
-e "/satellites:$/,/\w:$/ s|(\s*path:\s).*|\1${satellites_path}/|" \
|
||||
-e "/gitlab_shell:$/,/\w:$/ s|(\s*path:\s).*|\1${shell_path}/|" \
|
||||
-e "/gitlab_shell:$/,/\w:$/ s|(\s*repos_path:\s).*|\1${repos_path}/|" \
|
||||
-e "/gitlab_shell:$/,/\w:$/ s|(\s*hooks_path:\s).*|\1${shell_path}/hooks/|" \
|
||||
config/gitlab.yml.example || die "failed to filter gitlab.yml.example"
|
||||
|
||||
local run_path=/run/${MY_NAME}
|
||||
sed -i -E \
|
||||
-e "s|/home/git/gitlab/tmp/(pids\|sockets)|${run_path}|" \
|
||||
-e "s|/home/git/gitlab/log|${LOGS_DIR}|" \
|
||||
-e "s|/home/git/gitlab|${DEST_DIR}|" \
|
||||
config/unicorn.rb.example || die "failed to filter unicorn.rb.example"
|
||||
|
||||
sed -i \
|
||||
-e "s|/home/git/gitlab/tmp/sockets|${run_path}|" \
|
||||
lib/support/nginx/gitlab || die "failed to filter nginx/gitlab"
|
||||
|
||||
# modify default database settings for PostgreSQL
|
||||
sed -i -E \
|
||||
-e 's|(username:).*|\1 gitlab|' \
|
||||
-e 's|(password:).*|\1 gitlab|' \
|
||||
-e 's|(socket:).*|\1 /run/postgresql/.s.PGSQL.5432|' \
|
||||
config/database.yml.postgresql \
|
||||
|| die "failed to filter database.yml.postgresql"
|
||||
|
||||
# rename config files
|
||||
mv config/gitlab.yml.example config/gitlab.yml
|
||||
mv config/unicorn.rb.example config/unicorn.rb
|
||||
|
||||
local dbconf=config/database.yml
|
||||
if use postgres && ! use mysql; then
|
||||
mv ${dbconf}.postgresql ${dbconf}
|
||||
rm ${dbconf}.mysql
|
||||
elif use mysql && ! use postgres; then
|
||||
mv ${dbconf}.mysql ${dbconf}
|
||||
rm ${dbconf}.postgresql
|
||||
fi
|
||||
|
||||
# remove useless files
|
||||
rm -r lib/support/{deploy,init.d}
|
||||
use unicorn || rm config/unicorn.rb
|
||||
}
|
||||
|
||||
all_ruby_install() {
|
||||
local dest=${DEST_DIR}
|
||||
local conf=${CONF_DIR}
|
||||
local logs=${LOGS_DIR}
|
||||
local temp=${TEMP_DIR}
|
||||
|
||||
# prepare directories
|
||||
diropts -m750
|
||||
dodir ${logs} ${temp}
|
||||
|
||||
diropts -m755
|
||||
dodir ${conf} ${dest}/public/uploads
|
||||
|
||||
dosym ${temp} ${dest}/tmp
|
||||
dosym ${logs} ${dest}/log
|
||||
|
||||
# install configs
|
||||
insinto ${conf}
|
||||
doins -r config/*
|
||||
dosym ${conf} ${dest}/config
|
||||
|
||||
echo 'export RAILS_ENV=production' > "${D}/${dest}/.profile"
|
||||
|
||||
# remove needless dirs
|
||||
rm -Rf config tmp log
|
||||
|
||||
# install the rest files
|
||||
# using cp 'cause doins is slow
|
||||
cp -Rl * "${D}/${dest}"/
|
||||
cp -Rl .??* "${D}/${dest}"/
|
||||
|
||||
# install logrotate config
|
||||
dodir /etc/logrotate.d
|
||||
cat > "${D}/etc/logrotate.d/${MY_NAME}" <<-EOF
|
||||
${logs}/*.log {
|
||||
missingok
|
||||
delaycompress
|
||||
compress
|
||||
copytruncate
|
||||
}
|
||||
EOF
|
||||
|
||||
## Install gems via bundler ##
|
||||
|
||||
cd "${D}/${dest}"
|
||||
|
||||
local without="development test aws"
|
||||
local flag; for flag in mysql postgres unicorn kerberos; do
|
||||
without+="$(use $flag || echo ' '$flag)"
|
||||
done
|
||||
local bundle_args="--deployment ${without:+--without ${without}}"
|
||||
|
||||
use "rugged_use_system_libraries" && export RUGGED_USE_SYSTEM_LIBRARIES="YES"
|
||||
|
||||
einfo "Running bundle install ${bundle_args} ..."
|
||||
${RUBY} /usr/bin/bundle install ${bundle_args} || die "bundler failed"
|
||||
|
||||
einfo "Cleaning old gems ..."
|
||||
${RUBY} /usr/bin/bundle clean
|
||||
|
||||
# clean gems cache
|
||||
rm -Rf vendor/bundle/ruby/*/cache
|
||||
rm -Rf vendor/bundle/ruby/*/bundler/gems/charlock_holmes-dde194609b35/.git
|
||||
|
||||
## RC script ##
|
||||
|
||||
if use systemd ; then
|
||||
ewarn "Beware: systemd support has not been tested, use at your own risk!"
|
||||
systemd_newunit "${FILESDIR}/gitlab-8.13.0-sidekiq.service" "gitlab-sidekiq.service"
|
||||
systemd_dounit "${FILESDIR}/gitlab-unicorn.service"
|
||||
systemd_dounit "${FILESDIR}/gitlab-workhorse.service"
|
||||
systemd_dounit "${FILESDIR}/gitlab-mailroom.service"
|
||||
systemd_dotmpfilesd "${FILESDIR}/gitlab.conf"
|
||||
else
|
||||
local rcscript=gitlab-8.13.3-sidekiq.init
|
||||
use unicorn && rcscript=gitlab-8.13.3-unicorn.init
|
||||
|
||||
cp "${FILESDIR}/${rcscript}" "${T}" || die
|
||||
sed -i \
|
||||
-e "s|@USER@|${MY_USER}|" \
|
||||
-e "s|@GITLAB_BASE@|${dest}|" \
|
||||
-e "s|@LOGS_DIR@|${logs}|" \
|
||||
"${T}/${rcscript}" \
|
||||
|| die "failed to filter ${rcscript}"
|
||||
|
||||
newinitd "${T}/${rcscript}" "${MY_NAME}"
|
||||
fi
|
||||
|
||||
# fix permissions
|
||||
fowners -R ${MY_USER}:${MY_USER} ${dest} ${temp} ${logs}
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "If this is an update from a previous version, stop your GitLab"
|
||||
elog "instance and issue the following command to perform all required"
|
||||
elog "migrations:"
|
||||
elog " emerge --config \"=${CATEGORY}/${PF}\""
|
||||
elog "PLEASE NOTE: It's HIGHLY recommended to backup your database"
|
||||
elog "before running the config phase. Run these commands (as root):"
|
||||
elog
|
||||
elog " cd /opt/gitlab"
|
||||
elog " sudo -u git -H bundle exec rake gitlab:backup:create RAILS_ENV=production"
|
||||
elog
|
||||
elog "If this was a fresh install, follow these steps:"
|
||||
elog
|
||||
elog "1. Configure your GitLab's settings in ${CONF_DIR}/gitlab.yml."
|
||||
elog
|
||||
elog "2. Configure your database settings in ${CONF_DIR}/database.yml"
|
||||
elog " for \"production\" environment."
|
||||
elog
|
||||
elog "3. Then you should create a database for your GitLab instance, if you"
|
||||
elog " haven't done so already."
|
||||
elog
|
||||
if use postgres; then
|
||||
elog "If you have local PostgreSQL running, just copy&run:"
|
||||
elog " su postgres"
|
||||
elog " psql -c \"CREATE ROLE gitlab PASSWORD 'gitlab' \\"
|
||||
elog " NOSUPERUSER NOCREATEDB NOCREATEROLE INHERIT LOGIN;\""
|
||||
elog " createdb -E UTF-8 -O gitlab gitlabhq_production"
|
||||
elog " Note: You should change your password to something more random..."
|
||||
elog
|
||||
fi
|
||||
elog "4. Finally execute the following command to initialize the environment:"
|
||||
elog " emerge --config \"=${CATEGORY}/${PF}\""
|
||||
elog " Note: Do not forget to start Redis server first!"
|
||||
elog
|
||||
elog "If you're running GitLab behind an SSL proxy such as nginx or Apache and"
|
||||
elog "you can't login after the upgrade, be sure to read the section about the"
|
||||
elog "verification of the CSRF token in GitLab's trouble-shooting guide at"
|
||||
elog "http://goo.gl/5XGRGv."
|
||||
if use postgres; then
|
||||
elog "Please note: As of GitLab 8.6, users of PostgreSQL need to enable the"
|
||||
elog "`pg_trgm` extension by running the following command as a PostgreSQL"
|
||||
elog "super user for *every* GitLab database:"
|
||||
elog " CREATE EXTENSION IF NOT EXISTS pg_trgm;"
|
||||
elog "For details, see the documentation at the GitLab website."
|
||||
fi
|
||||
if use mysql ; then
|
||||
ewarn "PLEASE also read this document about needed migrations on MySQL:"
|
||||
ewarn "https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/install/database_mysql.md"
|
||||
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
|
||||
|
||||
## Initialize app ##
|
||||
|
||||
local RAILS_ENV="production"
|
||||
local RUBY=${RUBY:-/usr/bin/ruby}
|
||||
local BUNDLE="${RUBY} /usr/bin/bundle"
|
||||
|
||||
# FIXME: this line existed in older ebuilds, but the variable is
|
||||
# never used. what was it for!?
|
||||
# local dbname="$(ryaml ${CONF_DIR}/database.yml production database)"
|
||||
|
||||
if [ "${update}" = 'true' ]; then
|
||||
einfo "Migrating database ..."
|
||||
exec_rake db:migrate
|
||||
|
||||
# https://github.com/gitlabhq/gitlabhq/issues/5311#issuecomment-31656496
|
||||
einfo "Migrating iids ..."
|
||||
exec_rake migrate_iids
|
||||
|
||||
einfo "Installing npm modules ..."
|
||||
exec_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 "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 $@"
|
||||
}
|
|
@ -1,433 +0,0 @@
|
|||
# Copyright 1999-2017 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="8e65e4bd5951244f7871cdfd80b4eeaa6f1cf14a"
|
||||
|
||||
GITALY_VERSION="0.11.2"
|
||||
GITLAB_PAGES_VERSION="0.4.4"
|
||||
GITLAB_SHELL_VERSION="5.1.1"
|
||||
GITLAB_WORKHORSE_VERSION="2.1.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.1:* )
|
||||
mysql? ( virtual/mysql )
|
||||
kerberos? ( virtual/krb5 )"
|
||||
CDEPEND="
|
||||
dev-util/cmake
|
||||
virtual/pkgconfig"
|
||||
COMMON_DEPEND="
|
||||
${GEMS_DEPEND}
|
||||
~dev-vcs/gitlab-shell-${GITLAB_SHELL_VERSION}
|
||||
>=dev-vcs/git-2.8.4
|
||||
~www-servers/gitlab-workhorse-${GITLAB_WORKHORSE_VERSION}
|
||||
kerberos? ( !app-crypt/heimdal )
|
||||
rugged_use_system_libraries? ( net-libs/http-parser dev-libs/libgit2:0/25 )
|
||||
pages? ( ~www-servers/gitlab-pages-${GITLAB_PAGES_VERSION} )
|
||||
~www-servers/gitlab-gitaly-${GITALY_VERSION}"
|
||||
DEPEND="
|
||||
${CDEPEND}
|
||||
${COMMON_DEPEND}"
|
||||
RDEPEND="
|
||||
${COMMON_DEPEND}
|
||||
>=dev-db/redis-2.8
|
||||
virtual/mta
|
||||
systemd? ( sys-apps/systemd:0= )"
|
||||
# required bundler >= 1.15.0
|
||||
ruby_add_bdepend "
|
||||
virtual/rubygems
|
||||
>=dev-ruby/bundler-1.14.6"
|
||||
|
||||
#
|
||||
# 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}-9.2.2-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
|
||||
|
||||
## Initialize app ##
|
||||
|
||||
local RAILS_ENV="production"
|
||||
local RUBY=${RUBY:-/usr/bin/ruby}
|
||||
local BUNDLE="${RUBY} /usr/bin/bundle"
|
||||
|
||||
# FIXME: this line existed in older ebuilds, but the variable is
|
||||
# never used. what was it for!?
|
||||
# local dbname="$(ryaml ${CONF_DIR}/database.yml production database)"
|
||||
|
||||
if [ "${update}" = 'true' ]; then
|
||||
einfo "Migrating database ..."
|
||||
exec_rake db:migrate
|
||||
|
||||
# https://github.com/gitlabhq/gitlabhq/issues/5311#issuecomment-31656496
|
||||
einfo "Migrating iids ..."
|
||||
exec_rake migrate_iids
|
||||
|
||||
einfo "Installing npm modules ..."
|
||||
exec_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 "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 $@"
|
||||
}
|
|
@ -1,429 +0,0 @@
|
|||
# Copyright 1999-2017 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="3bc2f22845a4144882fa343beac99edb43c321a8"
|
||||
|
||||
GITALY_VERSION="0.21.2"
|
||||
GITLAB_PAGES_VERSION="0.5.1"
|
||||
GITLAB_SHELL_VERSION="5.3.1"
|
||||
GITLAB_WORKHORSE_VERSION="2.3.0"
|
||||
|
||||
DESCRIPTION="GitLab is a free project and repository management application"
|
||||
HOMEPAGE="https://about.gitlab.com/"
|
||||
SRC_URI="https://gitlab.com/gitlab-org/${PN}/repository/archive.tar.gz?ref=${MY_PV} -> ${P}.tar.gz"
|
||||
RUBY_S="${PN}-${MY_PV}-${MY_GIT_COMMIT}"
|
||||
|
||||
RESTRICT="mirror"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86 ~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.1:* )
|
||||
mysql? ( virtual/mysql )
|
||||
kerberos? ( virtual/krb5 )"
|
||||
CDEPEND="
|
||||
dev-util/cmake
|
||||
virtual/pkgconfig"
|
||||
COMMON_DEPEND="
|
||||
${GEMS_DEPEND}
|
||||
~dev-vcs/gitlab-shell-${GITLAB_SHELL_VERSION}
|
||||
>=dev-vcs/git-2.8.4
|
||||
~www-servers/gitlab-workhorse-${GITLAB_WORKHORSE_VERSION}
|
||||
kerberos? ( !app-crypt/heimdal )
|
||||
rugged_use_system_libraries? ( net-libs/http-parser dev-libs/libgit2:0/25 )
|
||||
pages? ( ~www-servers/gitlab-pages-${GITLAB_PAGES_VERSION} )
|
||||
~www-servers/gitlab-gitaly-${GITALY_VERSION}"
|
||||
DEPEND="
|
||||
${CDEPEND}
|
||||
${COMMON_DEPEND}"
|
||||
RDEPEND="
|
||||
${COMMON_DEPEND}
|
||||
>=dev-db/redis-2.8
|
||||
virtual/mta
|
||||
systemd? ( sys-apps/systemd:0= )"
|
||||
# required bundler >= 1.15.1
|
||||
ruby_add_bdepend "
|
||||
virtual/rubygems
|
||||
>=dev-ruby/bundler-1.14.6"
|
||||
|
||||
#
|
||||
# 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}-9.4.0-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
|
||||
|
||||
## 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
|
||||
|
||||
# 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 "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 $@"
|
||||
}
|
|
@ -1,433 +0,0 @@
|
|||
# Copyright 1999-2017 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 git-r3 ruby-ng user systemd
|
||||
|
||||
EGIT_REPO_URI="https://gitlab.com/gitlab-org/${PN}.git"
|
||||
EGIT_BRANCH="master"
|
||||
EGIT_CHECKOUT_DIR="${WORKDIR}/all"
|
||||
|
||||
GITALY_VERSION="0.38.0"
|
||||
GITLAB_PAGES_VERSION="0.5.1"
|
||||
GITLAB_SHELL_VERSION="5.9.0"
|
||||
GITLAB_WORKHORSE_VERSION="3.0.0"
|
||||
|
||||
DESCRIPTION="GitLab is a free project and repository management application"
|
||||
HOMEPAGE="https://about.gitlab.com/"
|
||||
|
||||
RESTRICT="mirror"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS=""
|
||||
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.1:* )
|
||||
mysql? ( virtual/mysql )
|
||||
kerberos? ( virtual/krb5 )"
|
||||
CDEPEND="
|
||||
dev-util/cmake
|
||||
virtual/pkgconfig"
|
||||
COMMON_DEPEND="
|
||||
${GEMS_DEPEND}
|
||||
>=dev-vcs/gitlab-shell-${GITLAB_SHELL_VERSION}
|
||||
>=dev-vcs/git-2.8.4
|
||||
>=www-servers/gitlab-workhorse-${GITLAB_WORKHORSE_VERSION}
|
||||
kerberos? ( !app-crypt/heimdal )
|
||||
rugged_use_system_libraries? ( net-libs/http-parser dev-libs/libgit2:0/25 )
|
||||
pages? ( >=www-servers/gitlab-pages-${GITLAB_PAGES_VERSION} )
|
||||
>=www-servers/gitlab-gitaly-${GITALY_VERSION}"
|
||||
DEPEND="
|
||||
${CDEPEND}
|
||||
${COMMON_DEPEND}"
|
||||
RDEPEND="
|
||||
${COMMON_DEPEND}
|
||||
>=dev-db/redis-2.8
|
||||
virtual/mta
|
||||
systemd? ( sys-apps/systemd:0= )"
|
||||
# required bundler >= 1.15.3
|
||||
ruby_add_bdepend "
|
||||
virtual/rubygems
|
||||
>=dev-ruby/bundler-1.14.6"
|
||||
|
||||
#
|
||||
# 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}-9.4.0-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_unpack() {
|
||||
git-r3_fetch
|
||||
git-r3_checkout
|
||||
}
|
||||
|
||||
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
|
||||
|
||||
## 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
|
||||
|
||||
# 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 "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 $@"
|
||||
}
|
|
@ -8,7 +8,6 @@
|
|||
<use>
|
||||
<flag name="unicorn">Use the Unicorn web server. Never tested the package without it, so disable at your own risk.</flag>
|
||||
<flag name="pages">Use the GitLab Pages feature. See https://gitlab.com/gitlab-org/gitlab-pages/</flag>
|
||||
<flag name="gitaly">Use Gitaly Server to speed up git operations. Not yet supported. See https://gitlab.com/gitlab-org/gitaly/</flag>
|
||||
<flag name="rugged_use_system_libraries">Use dev-libs/libgit2 from the system instead of the bundled libgit. The bundled library sometimes causes build breakages.</flag>
|
||||
</use>
|
||||
</pkgmetadata>
|
||||
|
|
|
@ -1,3 +1,11 @@
|
|||
08 Mar 2018; Manuel Friedli <manuel@fritteli.ch>
|
||||
-files/0001-gitlab-gitaly-0.10.0-fix-Makefile.patch,
|
||||
-files/0002-gitlab-gitaly-0.11.2-fix-config.toml.example.patch,
|
||||
-gitlab-gitaly-0.10.0.ebuild, -gitlab-gitaly-0.11.2-r1.ebuild,
|
||||
-gitlab-gitaly-0.21.2.ebuild, -gitlab-gitaly-0.3.0.ebuild,
|
||||
-gitlab-gitaly-0.6.0.ebuild:
|
||||
www-servers/gitlab-gitaly: Purge obsolete versions of gitlab-gitaly
|
||||
|
||||
*gitlab-gitaly-0.59.2 (17 Feb 2018)
|
||||
|
||||
17 Feb 2018; Manuel Friedli <manuel@fritteli.ch>
|
||||
|
|
|
@ -1,23 +1,13 @@
|
|||
AUX 0001-gitlab-gitaly-0.10.0-fix-Makefile.patch 248 SHA256 03b4315da76b4409e990a53edce0cb21828a4c505f11266ca3f77e70e7c9857e SHA512 7aa509cf79a538398e9dc09cf92e34d6a8877da13ad1184e37f5e7ba4c24eb88251f692ebefddd07e3bf157a143d93dffb72ccbdfdd5ab4d52bbcd111e6e9380 WHIRLPOOL a03702f7d744239869249f53c49cfb3f62cbb58f75bc624079aced8219fa3d818d6eee9233953483c48a2138399442b7a89ca4ef1d93b96767e8d471dc5db00e
|
||||
AUX 0001-gitlab-gitaly-0.23.0-fix-Makefile.patch 253 SHA256 e1a3d0ea2d10145dd9d9b10848fb1731758eb16426ae203fa5a0abab65633380 SHA512 485178891a9589e29f0735bfbb8f1557355881f50498b46185ea6e658214454beed7350aab412699318ee801d8899824177d7d20568e91eb4ddf7562e9e8b9a2 WHIRLPOOL b2088784e30eaf8bb46832cb8454e5a8d2f2eeab00b41ffd021d257b6f19ffc53a420ed7123b1c9b9a83fd8a87184c178a3334d391bc4d85b78b8893245dfc03
|
||||
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
|
||||
DIST gitlab-gitaly-0.3.0.tar.bz2 621097 SHA256 60404ae78b6551e7258a30fa615d7d8c200b84f161ecf904e034db3839391766 SHA512 ad50d15f4a97bf5dd2cc64830840041d8537bd251176eb8964cda3fdb6ef6e1bf3c8b7773516c6e1d51005cc0a718a1bc3ca95fc9ee5d0826c3f9690e1235bb6 WHIRLPOOL 364cdc3407d5fef6ac48a67f8bdd477b75300069be2cbf2567aa73ea7406256ea3c15a27c7a13f92d17c6b63f5923d4e737437bdd3a1e8b808de1832cc9c1af8
|
||||
DIST gitlab-gitaly-0.6.0.tar.bz2 687192 SHA256 ead87c0da129c075011a55e5b2138febf11fd5146dd62763fc9d4b5d8725840d SHA512 f1e8e337192af02b42087604eb90fab3af73ef3753a07af368b1784462a0c1f8b1d166952b8d4e9c25c93228625195be42b4d3dfad0a70bea0520956acf2522f WHIRLPOOL 283899fb6c3fed332731d06ea42cf76ee5de433849b0784eb78b76391d15ca5feeb36fa9d28f3a90962f378c1c485eb0653a62090dbb6aae8bc87965d534da34
|
||||
EBUILD gitlab-gitaly-0.10.0.ebuild 769 SHA256 601ca500d12250325bf6f924d53b28cb120cc75da9b9e1d83cd4c9317aa1ee91 SHA512 1263c919fb3c126a0ba5dda2b9da45b0a16b6bb703ec4260b11b40463fcfedd1249389272ab638d25ced351a63c0812c0cbc7ea035f9c2250d2eb79786424c2d WHIRLPOOL 261dfdd551dad839d687b2092027de33e95142e1ed7336fd6513742044ff219353743988aefad8e5da6850a8e1c8d5b44baf08c6702960a829673cfc5580e152
|
||||
EBUILD gitlab-gitaly-0.11.2-r1.ebuild 913 SHA256 1c6a2f37b5abbe2cb0c74cf4d93551f6606d5be165914e63f4988f6f4dede49c SHA512 aa1e241273aaf489645359710413b6aee16433a70110a2579153c5cbaec7330462d5014e4912c2e1db620d5eea9c5aabede1ebe449b187f44b90c0dc92e861de WHIRLPOOL e896a1081c2f1e347fc36b829a5cd940c3458f2ce6522d1850583dba3a3a30458a3e209f8c762da06ba5d865784cafde3732e5e60f6a3bf8f6ed99ea3c77d4bd
|
||||
EBUILD gitlab-gitaly-0.21.2.ebuild 913 SHA256 1c6a2f37b5abbe2cb0c74cf4d93551f6606d5be165914e63f4988f6f4dede49c SHA512 aa1e241273aaf489645359710413b6aee16433a70110a2579153c5cbaec7330462d5014e4912c2e1db620d5eea9c5aabede1ebe449b187f44b90c0dc92e861de WHIRLPOOL e896a1081c2f1e347fc36b829a5cd940c3458f2ce6522d1850583dba3a3a30458a3e209f8c762da06ba5d865784cafde3732e5e60f6a3bf8f6ed99ea3c77d4bd
|
||||
EBUILD gitlab-gitaly-0.3.0.ebuild 769 SHA256 1d57371bbc733d91a09d10fce9dc9a65f2ed568b65b4f5030a9260e79a576612 SHA512 99d12861b25d061178c93cc7b3db880062bc1b56bf66425b923ddd42a463e004269551e708862bac51a081fe274e6fc48c72cbcabf3c4f77970d0d8c660aa452 WHIRLPOOL 522aa5490ec96a3c992d7ade05471b838ecfc5417950046ee9d9689f9fc30c33ab878fedd50fba02b89df18188dfec8d6c3bc7de3bfcbea316248746d066f804
|
||||
EBUILD gitlab-gitaly-0.35.0-r2.ebuild 1143 SHA256 f27758444fefb15b9ea55cc9be68e8b47fdf5c6794b9ed32cadc95690b2dfd62 SHA512 5b7117c6a5c91e0168c495a18c08c815ae423dcebce644264d9161692ede29469c6585acfde682b0d60ccab6efa601a0259d2b44ceb5cc15a26096a2bfc318a8 WHIRLPOOL 8911c39960635981e0baa62cdf3425acc9f7167df940f4c43c52dbe020b208ad3192a01bf5f198ae0777cf5af27cc8e643455b30c1e0be3326a56aab1c3c8e10
|
||||
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 5020 SHA256 198eaa93db9ce37a1cb442811ad6c54c72faf6c41d730bc6d88c9d59b04644a4 SHA512 26202dbd0a5907dd6bc236551023bbdb2ee75e431b52e0309a1af85cb1ac80f59a5d68f4fe86f639276224b27582acf78ff3e8bc62387086b225b1a77ded61e8 WHIRLPOOL 88a7573a71b0ee89b1d5197c8c1fd3e8dfbff55cd8858aa1ab004e3ee860a1748f3981c19d1cce7322ae80d7c06caa1cbbb49658ab18d8f3bb5e5ec26d1e3187
|
||||
MISC ChangeLog 5421 SHA256 38b7a6c60727154d97de468eaf2a423514dc1c44e737b01cc300a1204fcd6d4b SHA512 cd79f5250a73a2779da59804eba07a928917c59df50595bb6c514edc98dc17f52c7659d45fa646b3e24c4a0da339880ea767b8a62d8f759d41a0cf49646e4e8c WHIRLPOOL ccf79eeabead609aba596d1946e0c7fc14f987a3c4deadc8dd460ecd316a5186df45c12e846cf7d02270a5f17c9a2b583da812ec50efd0fe263d001983f2f399
|
||||
MISC metadata.xml 248 SHA256 7b43be15755627edf5c12cf1b50c607d781558640bf8375d685d51d7ade99a32 SHA512 29f9b96b0a77546cce6a8bffd82fae2fd0939d32a7a05ffd0d91f9250a019a3ddaa599b93988c82daabb9c4c4b284dd947e2c47f6ca7727b8539cffa91bcb8c2 WHIRLPOOL 993013c9878ead35469db13d3072f694a341ee654182e0c31d0678f5dd6de4bdc8d59a0b7bb6d685dc41ea6b55dac518cd8034131baea8002170c680e50304d1
|
||||
|
|
|
@ -1,10 +0,0 @@
|
|||
diff --git a/Makefile b/Makefile
|
||||
index c822059..342da88 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -1,4 +1,4 @@
|
||||
-PREFIX=/usr/local
|
||||
+PREFIX=${DESTDIR}/usr
|
||||
PKG=gitlab.com/gitlab-org/gitaly
|
||||
BUILD_DIR=$(shell pwd)
|
||||
BIN_BUILD_DIR=${BUILD_DIR}/_build/bin
|
|
@ -1,21 +0,0 @@
|
|||
diff --git a/config.toml.example b/config.toml.example
|
||||
index 3a987f9..801d192 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"
|
||||
|
||||
# # Optional: listen on a TCP socket. This is insecure (no authentication)
|
||||
# listen_addr = "localhost:9999"
|
||||
@@ -12,7 +12,7 @@ socket_path = "/home/git/gitlab/tmp/sockets/private/gitaly.socket"
|
||||
|
||||
[[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
|
||||
#
|
|
@ -1,28 +0,0 @@
|
|||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
inherit eutils golang-build golang-vcs-snapshot user
|
||||
|
||||
EGO_PN="gitlab.com/gitlab-org/gitlab-pages/..."
|
||||
|
||||
MY_PN="gitaly"
|
||||
MY_PV="v${PV/_/-}"
|
||||
MY_GIT_HASH="661135a"
|
||||
|
||||
DESCRIPTION="Stop relying on NFS for horizontal scaling. Speed up Git access using caching."
|
||||
HOMEPAGE="https://gitlab.com/gitlab-org/gitaly"
|
||||
SRC_URI="https://gitlab.com/gitlab-org/${MY_PN}/repository/archive.tar.bz2?ref=v${PV} -> ${P}.tar.bz2"
|
||||
|
||||
KEYWORDS="~amd64 ~x86 ~arm ~arm64"
|
||||
LICENSE="MIT"
|
||||
SLOT="0/${PVR}"
|
||||
|
||||
DEPEND=">=dev-lang/go-1.5"
|
||||
|
||||
RESTRICT="test mirror"
|
||||
|
||||
pkg_setup() {
|
||||
eerror "This ebuild is but a dummy placeholder. Gitaly is not yet supported."
|
||||
die "Gitaly is not yet supported."
|
||||
}
|
|
@ -1,33 +0,0 @@
|
|||
# Copyright 1999-2017 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"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}/0001-${PN}-0.10.0-fix-Makefile.patch"
|
||||
epatch "${FILESDIR}/0002-${PN}-0.11.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"
|
||||
}
|
|
@ -1,33 +0,0 @@
|
|||
# Copyright 1999-2017 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"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}/0001-${PN}-0.10.0-fix-Makefile.patch"
|
||||
epatch "${FILESDIR}/0002-${PN}-0.11.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"
|
||||
}
|
|
@ -1,28 +0,0 @@
|
|||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
inherit eutils golang-build golang-vcs-snapshot user
|
||||
|
||||
EGO_PN="gitlab.com/gitlab-org/gitlab-pages/..."
|
||||
|
||||
MY_PN="gitaly"
|
||||
MY_PV="v${PV/_/-}"
|
||||
MY_GIT_HASH="fdcb2c9"
|
||||
|
||||
DESCRIPTION="Stop relying on NFS for horizontal scaling. Speed up Git access using caching."
|
||||
HOMEPAGE="https://gitlab.com/gitlab-org/gitaly"
|
||||
SRC_URI="https://gitlab.com/gitlab-org/${MY_PN}/repository/archive.tar.bz2?ref=v${PV} -> ${P}.tar.bz2"
|
||||
|
||||
KEYWORDS="~amd64 ~x86 ~arm ~arm64"
|
||||
LICENSE="MIT"
|
||||
SLOT="0/${PVR}"
|
||||
|
||||
DEPEND=">=dev-lang/go-1.5"
|
||||
|
||||
RESTRICT="test mirror"
|
||||
|
||||
pkg_setup() {
|
||||
eerror "This ebuild is but a dummy placeholder. Gitaly is not yet supported."
|
||||
die "Gitaly is not yet supported."
|
||||
}
|
|
@ -1,28 +0,0 @@
|
|||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
inherit eutils golang-build golang-vcs-snapshot user
|
||||
|
||||
EGO_PN="gitlab.com/gitlab-org/gitlab-pages/..."
|
||||
|
||||
MY_PN="gitaly"
|
||||
MY_PV="v${PV/_/-}"
|
||||
MY_GIT_HASH="661135a"
|
||||
|
||||
DESCRIPTION="Stop relying on NFS for horizontal scaling. Speed up Git access using caching."
|
||||
HOMEPAGE="https://gitlab.com/gitlab-org/gitaly"
|
||||
SRC_URI="https://gitlab.com/gitlab-org/${MY_PN}/repository/archive.tar.bz2?ref=v${PV} -> ${P}.tar.bz2"
|
||||
|
||||
KEYWORDS="~amd64 ~x86 ~arm ~arm64"
|
||||
LICENSE="MIT"
|
||||
SLOT="0/${PVR}"
|
||||
|
||||
DEPEND=">=dev-lang/go-1.5"
|
||||
|
||||
RESTRICT="test mirror"
|
||||
|
||||
pkg_setup() {
|
||||
eerror "This ebuild is but a dummy placeholder. Gitaly is not yet supported."
|
||||
die "Gitaly is not yet supported."
|
||||
}
|
|
@ -1,3 +1,9 @@
|
|||
08 Mar 2018; Manuel Friedli <manuel@fritteli.ch>
|
||||
-files/0001-fix-Makefile-0.4.0.patch, -gitlab-pages-0.4.0.ebuild,
|
||||
-gitlab-pages-0.4.1.ebuild, -gitlab-pages-0.4.2-r1.ebuild,
|
||||
-gitlab-pages-0.4.4.ebuild:
|
||||
www-servers/gitlab-pages: Purge obsolete versions of gitlab-pages
|
||||
|
||||
09 Feb 2018; Manuel Friedli <manuel@fritteli.ch>
|
||||
-files/0001-fix-Makefile-0.6.0.patch, -gitlab-pages-0.6.0.ebuild.bak,
|
||||
gitlab-pages-0.4.0.ebuild, gitlab-pages-0.4.1.ebuild,
|
||||
|
|
|
@ -1,18 +1,9 @@
|
|||
AUX 0001-fix-Makefile-0.3.2.patch 744 SHA256 7efe9ee3cdf0e7e324155d05651f535b39f151adfd8f8bc2ea36eea64e40f1e1 SHA512 2c50e6bb214be622546d9c07f4f39b83d116976dbc9c040a0dd74c70dc8deadf5f6870468fda957b3a4d3df8eda982c3d86612cb8dd7865650cd3fe9202f7b11 WHIRLPOOL a1babc1249f3b48f376163a9ab63a8ca3563da544cf15d04a79fcbb38dcb61679da8304e3eb2afd8a0f1d662be8f3cc144b9cd0928504b197d11b250670d40d3
|
||||
AUX 0001-fix-Makefile-0.4.0.patch 744 SHA256 7efe9ee3cdf0e7e324155d05651f535b39f151adfd8f8bc2ea36eea64e40f1e1 SHA512 2c50e6bb214be622546d9c07f4f39b83d116976dbc9c040a0dd74c70dc8deadf5f6870468fda957b3a4d3df8eda982c3d86612cb8dd7865650cd3fe9202f7b11 WHIRLPOOL a1babc1249f3b48f376163a9ab63a8ca3563da544cf15d04a79fcbb38dcb61679da8304e3eb2afd8a0f1d662be8f3cc144b9cd0928504b197d11b250670d40d3
|
||||
AUX gitlab-pages-0.3.2.conf 148 SHA256 2b1d40d38d729a4e705455a2fbe745618c573cdc7159683ebf42f3a28d41a473 SHA512 57ff7ef4f3c5f221e39f8cfd29ab58ccb126d672260ee983d6f1221bfe2cfe5553b4f0187ce384f05fc6694ad31c2f7ae02155d0c21247eccd1d7dbf1632ffba WHIRLPOOL 1cb70bb5a9e6876a58e7cf78a68e9a08a0ae947237a537f7cf93b727cdb69482114cd2c1ccd17e27b80590be11e9904bae81e06afab83066c0d10926d22dd301
|
||||
AUX gitlab-pages-0.3.2.init 698 SHA256 6751226148f5c8b53bdf3422053115ed6bb6ac3d7795b605617a7733a2b84437 SHA512 10e299febee0a66f03e8debe3f20ad635b52b5238a2ad23f585d30f14d5c0f591825bd892119f564f427e93a539184e39424c8cdc78200b2dbb5d0f588738176 WHIRLPOOL 7142b6a056a0d0a90bb18d1fdc5995c07156e05216b9e5779548427ad6f7aed4cf8eb090acfcbd0a7cc07826c0b6dfc5276ca176a80783d40405d2011a253fe0
|
||||
DIST gitlab-pages-0.4.0.tar.bz2 205924 SHA256 b26a00050d3558e793c070cda2fe50dc1bd76ea305902e4885746280755c3ea0 SHA512 9ff1d51655c0af93eca0b3a7e5cf250ce9a6787b3bc5eabcb59207ca3af13b6972bbebbc9c4a05bc1056cd12d6ad4c4bc30700efb656a2b9cfedf71ef57666e2 WHIRLPOOL 064625dfbfd428da5ecbf7ceb0532ff16e61ef9fbdbe1f4f72824e06ca21a93266a3d5eeec730f6423cb9d5d26d99fc6dbb568f30a79c4a691a0fdb08301c1cf
|
||||
DIST gitlab-pages-0.4.1.tar.bz2 206039 SHA256 ed856e1d549597b5f1b7aa5d006538aa4def240206b4756728aaeeefa49734c7 SHA512 e6dc7c73ec0601ebe53c54aa8d0978954c24450e488776bef1bb2483efd2db14d23188ee10660f6833f44bbbb50f462f8b9568a77cd4ff970300c604856319a0 WHIRLPOOL c8abfaf677f935b752be24c7ce703c49dcc23061a24f2137ea18df33a96d42233e7e00de120a812df58b84bf3db0739e97a1e37fc04367d370ef2558986d73fa
|
||||
DIST gitlab-pages-0.4.2.tar.bz2 209079 SHA256 391301c4f5cc288ed1a6a451e5273899518b83529c787c0a5f724161005ca786 SHA512 74e4cd810712d1506b927f75b63dc4fca09802097579d456cfada94f06c59b05f5e11309dc6fbd0f4c701243933688afa89ef8c1cf921f15536f505c7dec99f4 WHIRLPOOL 0f352db3977565b7c41609dcbed9161fcc99398fc56aa535255a69d12169b75b985410964a9adce60ed9eb8b88a68128dac9a9528f85ec62bae468fb8907e182
|
||||
DIST gitlab-pages-0.4.4.tar.bz2 209229 SHA256 e3024edf56a61e8705f4fb5db2141087f16db1fe550d116e950137b92b201720 SHA512 5618e659ddd91a3398cd7eb00e38292e3bc88b31af91c02815dfe810a5a478d7eb2314430478e4e2971f36a44ac37a2c9ed01bd357d1f8737a8a63fc697821e7 WHIRLPOOL 52cec732705285e2270ad1fda43088ce0c6e0dbf652f7cc29e77dd68cb23ebe913c0c71af0337a59f77f351b207e79469bdbcf5531f6ee6714695af0d08c3497
|
||||
DIST gitlab-pages-0.5.1.tar.bz2 224270 SHA256 b61ed9c12baf197dfd466342301ccb3160fbfe8fe61270a31a72e5503504f50b SHA512 973615efb54290c0d6b41455d91bf6343d8b09687565b8ad5e72cd69faea99cc3819c3aabea9e7cb94414a61835104e052affb1072ed62b1e2f343517eb94184 WHIRLPOOL 421500d5f0cee352a95dd59e9b799a9b3fd6b7639c656bd54fa601e061ddaa5062fa0b6a567bfce2543dcf9755b824a81362171c779db2f3f238faf760a6c472
|
||||
DIST gitlab-pages-0.6.0.tar.bz2 237765 SHA256 2bd99b5c4a1ad05ac02f17f5b450c308d1ef5936ff2e44be706705df8376c41b SHA512 935572062268c8a8429634377e02060f55feb2dfbd6b16e4487c1c4043dff435c304798dd2097f381f1c2e175c21d840e2dee76851dc9e03eeaa49d2b003900d WHIRLPOOL 01541d143a9511911cdd7c0c97d63cc48c682b19392c96ae429d98eeba6aba220e811d4da6826da2d417439202a33fc7a0deb16a9dda8a5a65f0e6b0fa9adf54
|
||||
EBUILD gitlab-pages-0.4.0.ebuild 1937 SHA256 a6252e17b9a61dc39dce932e58c0c8071ade36127c38935346feeb9c3ec3a453 SHA512 bc6fbec72653225b22b1a9b559872f6df801629f87fce39aba26e096b30a995c844b2443cabffc157e89f0b961b150ff5c48c628bc7d7c448b763003d6eec9bc WHIRLPOOL 0b2a0e2de2d4719efd5d32cb7252402f46d6957c1166a8b8515a45a2e4cc3d209bc1079d6fbacb07dd17f7cf90359e71612bfe8c4eb7c4a3f1d3d9f3beb7a556
|
||||
EBUILD gitlab-pages-0.4.1.ebuild 1937 SHA256 5013b00300c4a3f0e3cdf00aee18409cbd0f18e413fe0ecf8c343402ccc9015c SHA512 fdb22d842d465abca85aa9860be1d2072ef023f15a604d5e3a16fcf3e5941a6f87f8783899e38b0e118347246a8d285f62ff1f19fa57200d1cc5551b3aa932f4 WHIRLPOOL f5733133d13d01652f36c32489ca1a688fb56d83aa50f65bcd4691389c337f827f2003555cac0a4d71ffd2f2c10746dd5d57953278d688ca19041c9f34c6c2fc
|
||||
EBUILD gitlab-pages-0.4.2-r1.ebuild 1427 SHA256 70a53b600d498736734ff44c51fd468113bcdcc6f76fad58e49482f7c2b7acbb SHA512 b9954da56a2ed1e95cfeb9cf3554377a08e44f3b069c77f85bfe11d10203957aa4ca29a87e19fd3dabd372c6f5900db68f4ff146ca160eecbabdb82f1be3ff83 WHIRLPOOL 958d5775fb2fc0df06adbcf51af950587235202f3fc2e80cad2102c17d0709da03212010a5907343cf112fe49fd669eec02066a1613d2600095c69e40634ed0a
|
||||
EBUILD gitlab-pages-0.4.4.ebuild 1429 SHA256 7cb07e955aa0b73c88258c0c33125346e37e66f273fbede3e637cda08cadb1c2 SHA512 5d7ad52cfa4be4c1998b67ec59b7fbd727f477163fc1766806e5a2d0fec7131ae8cb5eb7c30161cdae1a88207098d526d5a84532dd1d2cdcd55e639950e6f169 WHIRLPOOL 1ae33c7f518e2cd3800e3b817aba46786df8ede9690b1dcd7c7710bd882795ffa3fc2cb1c0eb01a0da1ee65e074d020885e9ea8a1a74a4696ec09709f4bb5432
|
||||
EBUILD gitlab-pages-0.5.1.ebuild 1429 SHA256 be42145727bdc839161d6ac74bde5f59f7b69d2c204988e328d6ad2f02ee8704 SHA512 a585ab78624455480bd11ae599bc299a27e99b905b5fd686d71c0c06c157b937e63a46235fdbca758e47a938612b202d1887ef8749c5bd7c3abcf2fa5f48dfee WHIRLPOOL 57d1ace304dc994b27eb1d550885de5356cb2ce07e1d80c7a3c4f1c425115e59bce9220470e8ad9808b1f38d7bcd028ddd43dd04424f8556355417c81ec78a00
|
||||
EBUILD gitlab-pages-0.6.0.ebuild 1800 SHA256 7522d58e9b03a923f2e39cd6607c978485fcf3bd5d031f22c5c1831ffa81bb4f SHA512 487381485e2a9cecd8c7dc7a553ab5d107a49db9c77cd0c3d77c97c8e65f43207e6e5fe853959fed2df085a9047ee55b0ea332b8e507338b6ab44004bc7173db WHIRLPOOL efb8a378df194d37b6e59663b488aaa1608b7650489b160d59e98eada7e9f5328287f99843db7e2ebbfeaceaf2ebffc0863ffae915cc8c8f5b7e0a6a66a7206c
|
||||
MISC ChangeLog 2598 SHA256 a002afebd0b3184390ad83a94408116069396ad3902cfbcb1ac97bb31656f6ae SHA512 eb3a66abf26896211f5ae048c07ac015e7cb6e907585568ddb01c4e01f239f8234bdcf2f171f8fb368a5ee21ae95f8a301ab599c6eda42f3eff2ef5520e707a6 WHIRLPOOL 9f6bf0edbda91a3ad2b58722f9bd7d7e0a962892dd2f2263ecf13dd515b1397a08948f0d695d65e78b545d97950072b7ae79d646908e69a920cb8b27be0b2c32
|
||||
MISC ChangeLog 2878 SHA256 a9702b37131976df434b05fb34317450259bda7176c6cc2ab0ed9b8636b9e02d SHA512 fb41ca3d459f99a750095158cc6c3ee4f4209dd153c0febc35b7b2be860b5add62226d541a9d87f9b1adb834f5f5c1d70e14256fcdbcf2c1cb67d81c072360da WHIRLPOOL a00b2eacfcb4aa3ed20a84b29d62d7b4dd83aa5d5a879f30c0a5cc4a8dfea556e4b8e33a9ccd8aad3efa9d00bc68dc12fd03aafe7fe5993c2ef6646739f04666
|
||||
MISC metadata.xml 248 SHA256 7b43be15755627edf5c12cf1b50c607d781558640bf8375d685d51d7ade99a32 SHA512 29f9b96b0a77546cce6a8bffd82fae2fd0939d32a7a05ffd0d91f9250a019a3ddaa599b93988c82daabb9c4c4b284dd947e2c47f6ca7727b8539cffa91bcb8c2 WHIRLPOOL 993013c9878ead35469db13d3072f694a341ee654182e0c31d0678f5dd6de4bdc8d59a0b7bb6d685dc41ea6b55dac518cd8034131baea8002170c680e50304d1
|
||||
|
|
|
@ -1,18 +0,0 @@
|
|||
diff --git a/src/gitlab.com/gitlab-org/gitlab-pages/Makefile b/src/gitlab.com/gitlab-org/gitlab-pages/Makefile
|
||||
index 2c1b8e1..4c6feb0 100644
|
||||
--- a/src/gitlab.com/gitlab-org/gitlab-pages/Makefile
|
||||
+++ b/src/gitlab.com/gitlab-org/gitlab-pages/Makefile
|
||||
@@ -1,12 +1,6 @@
|
||||
-REVISION := $(shell git rev-parse --short HEAD || echo unknown)
|
||||
-LAST_TAG := $(shell git describe --tags --abbrev=0)
|
||||
-COMMITS := $(shell echo `git log --oneline $(LAST_TAG)..HEAD | wc -l`)
|
||||
+REVISION := @@REVISION@@
|
||||
VERSION := $(shell cat VERSION)
|
||||
|
||||
-ifneq (v$(VERSION),$(LAST_TAG))
|
||||
- VERSION := $(shell echo $(VERSION)~beta.$(COMMITS).g$(REVISION))
|
||||
-endif
|
||||
-
|
||||
GO_LDFLAGS ?= -X main.VERSION=$(VERSION) -X main.REVISION=$(REVISION)
|
||||
GO_FILES ?= $(shell find . -name '*.go')
|
||||
|
|
@ -1,77 +0,0 @@
|
|||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
inherit eutils golang-build golang-vcs-snapshot user
|
||||
|
||||
EGO_PN="gitlab.com/gitlab-org/gitlab-pages/..."
|
||||
|
||||
MY_PV="v${PV/_/-}"
|
||||
MY_GIT_HASH="fdcb2c9"
|
||||
|
||||
DESCRIPTION="Simple HTTP server written in Go made to serve GitLab Pages with CNAMEs and SNI"
|
||||
HOMEPAGE="https://gitlab.com/gitlab-org/gitlab-pages"
|
||||
SRC_URI="https://gitlab.com/gitlab-org/${PN}/repository/archive.tar.bz2?ref=v${PV} -> ${P}.tar.bz2"
|
||||
|
||||
KEYWORDS="~amd64 ~x86 ~arm ~arm64"
|
||||
LICENSE="MIT"
|
||||
SLOT="0/${PVR}"
|
||||
|
||||
DEPEND=">=dev-lang/go-1.5"
|
||||
|
||||
RESTRICT="test mirror"
|
||||
|
||||
MY_USER="gitlab_pages"
|
||||
|
||||
pkg_setup() {
|
||||
enewgroup ${MY_USER}
|
||||
enewuser ${MY_USER} -1 -1 -1 ${MY_USER}
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}/0001-fix-Makefile-${PV}.patch"
|
||||
|
||||
sed -i -E \
|
||||
-e "s/@@REVISION@@/${MY_GIT_HASH}/" \
|
||||
src/gitlab.com/gitlab-org/${PN}/Makefile
|
||||
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake GOPATH="${WORKDIR}/${P}:$(get_golibdir_gopath)" RELEASE=true -C src/${EGO_PN%/*} all
|
||||
}
|
||||
|
||||
src_install() {
|
||||
golang-build_src_install
|
||||
dobin bin/*
|
||||
dodoc src/${EGO_PN%/*}/README.md src/${EGO_PN%/*}/CHANGELOG
|
||||
|
||||
# rc script
|
||||
local rcscript="${PN}-0.3.2.init"
|
||||
|
||||
cp "${FILESDIR}/${rcscript}" "${T}" || die
|
||||
sed -i \
|
||||
-e "s|@USER@|${MY_USER}|g" \
|
||||
"${T}/${rcscript}" \
|
||||
|| die "failed to filter ${rcscript}"
|
||||
|
||||
newinitd "${T}/${rcscript}" "${PN}"
|
||||
newconfd "${FILESDIR}/${PN}-0.3.2.conf" "${PN}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog
|
||||
elog "If this is a fresh install of GitLab CI Multi Runner, please configure it"
|
||||
elog "with the following command:"
|
||||
elog " emerge --config \"=${CATEGORY}/${PF}\""
|
||||
}
|
||||
|
||||
pkg_config() {
|
||||
einfo "You need to register the runner with your GitLab CI instance. Please"
|
||||
einfo "Follow the instructions at"
|
||||
einfo
|
||||
einfo "https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/blob/master/docs/install/linux-manually.md"
|
||||
einfo
|
||||
einfo "Perhaps I'll improve the ebuild later ... kthxbye."
|
||||
}
|
|
@ -1,77 +0,0 @@
|
|||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
inherit eutils golang-build golang-vcs-snapshot user
|
||||
|
||||
EGO_PN="gitlab.com/gitlab-org/gitlab-pages/..."
|
||||
|
||||
MY_PV="v${PV/_/-}"
|
||||
MY_GIT_HASH="043be6d"
|
||||
|
||||
DESCRIPTION="Simple HTTP server written in Go made to serve GitLab Pages with CNAMEs and SNI"
|
||||
HOMEPAGE="https://gitlab.com/gitlab-org/gitlab-pages"
|
||||
SRC_URI="https://gitlab.com/gitlab-org/${PN}/repository/archive.tar.bz2?ref=v${PV} -> ${P}.tar.bz2"
|
||||
|
||||
KEYWORDS="~amd64 ~x86 ~arm ~arm64"
|
||||
LICENSE="MIT"
|
||||
SLOT="0/${PVR}"
|
||||
|
||||
DEPEND=">=dev-lang/go-1.5"
|
||||
|
||||
RESTRICT="test mirror"
|
||||
|
||||
MY_USER="gitlab_pages"
|
||||
|
||||
pkg_setup() {
|
||||
enewgroup ${MY_USER}
|
||||
enewuser ${MY_USER} -1 -1 -1 ${MY_USER}
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}/0001-fix-Makefile-0.3.2.patch"
|
||||
|
||||
sed -i -E \
|
||||
-e "s/@@REVISION@@/${MY_GIT_HASH}/" \
|
||||
src/gitlab.com/gitlab-org/${PN}/Makefile
|
||||
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake GOPATH="${WORKDIR}/${P}:$(get_golibdir_gopath)" RELEASE=true -C src/${EGO_PN%/*} all
|
||||
}
|
||||
|
||||
src_install() {
|
||||
golang-build_src_install
|
||||
dobin bin/*
|
||||
dodoc src/${EGO_PN%/*}/README.md src/${EGO_PN%/*}/CHANGELOG
|
||||
|
||||
# rc script
|
||||
local rcscript="${PN}-0.3.2.init"
|
||||
|
||||
cp "${FILESDIR}/${rcscript}" "${T}" || die
|
||||
sed -i \
|
||||
-e "s|@USER@|${MY_USER}|g" \
|
||||
"${T}/${rcscript}" \
|
||||
|| die "failed to filter ${rcscript}"
|
||||
|
||||
newinitd "${T}/${rcscript}" "${PN}"
|
||||
newconfd "${FILESDIR}/${PN}-0.3.2.conf" "${PN}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog
|
||||
elog "If this is a fresh install of GitLab CI Multi Runner, please configure it"
|
||||
elog "with the following command:"
|
||||
elog " emerge --config \"=${CATEGORY}/${PF}\""
|
||||
}
|
||||
|
||||
pkg_config() {
|
||||
einfo "You need to register the runner with your GitLab CI instance. Please"
|
||||
einfo "Follow the instructions at"
|
||||
einfo
|
||||
einfo "https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/blob/master/docs/install/linux-manually.md"
|
||||
einfo
|
||||
einfo "Perhaps I'll improve the ebuild later ... kthxbye."
|
||||
}
|
|
@ -1,61 +0,0 @@
|
|||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
inherit eutils golang-build golang-vcs-snapshot user
|
||||
|
||||
EGO_PN="gitlab.com/gitlab-org/gitlab-pages/..."
|
||||
|
||||
MY_PV="v${PV/_/-}"
|
||||
MY_GIT_HASH="dccd0f2"
|
||||
|
||||
DESCRIPTION="Simple HTTP server written in Go made to serve GitLab Pages with CNAMEs and SNI"
|
||||
HOMEPAGE="https://gitlab.com/gitlab-org/gitlab-pages"
|
||||
SRC_URI="https://gitlab.com/gitlab-org/${PN}/repository/archive.tar.bz2?ref=v${PV} -> ${P}.tar.bz2"
|
||||
|
||||
KEYWORDS="~amd64 ~x86 ~arm ~arm64"
|
||||
LICENSE="MIT"
|
||||
SLOT="0/${PVR}"
|
||||
|
||||
DEPEND=">=dev-lang/go-1.5"
|
||||
|
||||
RESTRICT="test mirror"
|
||||
|
||||
MY_USER="gitlab_pages"
|
||||
|
||||
pkg_setup() {
|
||||
enewgroup ${MY_USER}
|
||||
enewuser ${MY_USER} -1 -1 -1 ${MY_USER}
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}/0001-fix-Makefile-0.3.2.patch"
|
||||
|
||||
sed -i -E \
|
||||
-e "s/@@REVISION@@/${MY_GIT_HASH}/" \
|
||||
src/gitlab.com/gitlab-org/${PN}/Makefile
|
||||
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake GOPATH="${WORKDIR}/${P}:$(get_golibdir_gopath)" RELEASE=true -C src/${EGO_PN%/*} all
|
||||
}
|
||||
|
||||
src_install() {
|
||||
golang-build_src_install
|
||||
dobin bin/*
|
||||
dodoc src/${EGO_PN%/*}/README.md src/${EGO_PN%/*}/CHANGELOG
|
||||
|
||||
# rc script
|
||||
local rcscript="${PN}-0.3.2.init"
|
||||
|
||||
cp "${FILESDIR}/${rcscript}" "${T}" || die
|
||||
sed -i \
|
||||
-e "s|@USER@|${MY_USER}|g" \
|
||||
"${T}/${rcscript}" \
|
||||
|| die "failed to filter ${rcscript}"
|
||||
|
||||
newinitd "${T}/${rcscript}" "${PN}"
|
||||
newconfd "${FILESDIR}/${PN}-0.3.2.conf" "${PN}"
|
||||
}
|
|
@ -1,61 +0,0 @@
|
|||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
inherit eutils golang-build golang-vcs-snapshot user
|
||||
|
||||
EGO_PN="gitlab.com/gitlab-org/gitlab-pages/..."
|
||||
|
||||
MY_PV="v${PV/_/-}"
|
||||
MY_GIT_HASH="36f16fd"
|
||||
|
||||
DESCRIPTION="Simple HTTP server written in Go made to serve GitLab Pages with CNAMEs and SNI"
|
||||
HOMEPAGE="https://gitlab.com/gitlab-org/gitlab-pages"
|
||||
SRC_URI="https://gitlab.com/gitlab-org/${PN}/repository/archive.tar.bz2?ref=v${PV} -> ${P}.tar.bz2"
|
||||
|
||||
KEYWORDS="~amd64 ~x86 ~arm ~arm64"
|
||||
LICENSE="MIT"
|
||||
SLOT="0/${PVR}"
|
||||
|
||||
DEPEND=">=dev-lang/go-1.8.3"
|
||||
|
||||
RESTRICT="test mirror"
|
||||
|
||||
MY_USER="gitlab_pages"
|
||||
|
||||
pkg_setup() {
|
||||
enewgroup ${MY_USER}
|
||||
enewuser ${MY_USER} -1 -1 -1 ${MY_USER}
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}/0001-fix-Makefile-0.3.2.patch"
|
||||
|
||||
sed -i -E \
|
||||
-e "s/@@REVISION@@/${MY_GIT_HASH}/" \
|
||||
src/gitlab.com/gitlab-org/${PN}/Makefile
|
||||
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake GOPATH="${WORKDIR}/${P}:$(get_golibdir_gopath)" RELEASE=true -C src/${EGO_PN%/*} all
|
||||
}
|
||||
|
||||
src_install() {
|
||||
golang-build_src_install
|
||||
dobin bin/*
|
||||
dodoc src/${EGO_PN%/*}/README.md src/${EGO_PN%/*}/CHANGELOG
|
||||
|
||||
# rc script
|
||||
local rcscript="${PN}-0.3.2.init"
|
||||
|
||||
cp "${FILESDIR}/${rcscript}" "${T}" || die
|
||||
sed -i \
|
||||
-e "s|@USER@|${MY_USER}|g" \
|
||||
"${T}/${rcscript}" \
|
||||
|| die "failed to filter ${rcscript}"
|
||||
|
||||
newinitd "${T}/${rcscript}" "${PN}"
|
||||
newconfd "${FILESDIR}/${PN}-0.3.2.conf" "${PN}"
|
||||
}
|
|
@ -1,3 +1,9 @@
|
|||
08 Mar 2018; Manuel Friedli <manuel@fritteli.ch>
|
||||
-gitlab-workhorse-1.4.2.ebuild, -gitlab-workhorse-1.4.3.ebuild,
|
||||
-gitlab-workhorse-2.0.0.ebuild, -gitlab-workhorse-2.1.1.ebuild,
|
||||
-gitlab-workhorse-2.3.0.ebuild:
|
||||
www-servers/gitlab-workhorse: Purge obsolete versions of gitlab-workhorse
|
||||
|
||||
*gitlab-workhorse-3.3.1 (16 Feb 2018)
|
||||
|
||||
16 Feb 2018; Manuel Friedli <manuel@fritteli.ch>
|
||||
|
|
|
@ -1,21 +1,11 @@
|
|||
AUX 0001-fix-Makefile.patch 360 SHA256 7dfdf28c0124c5054d452a9ff33b7f8f9b818f8aac63f26c8c3b567c919e0930 SHA512 d4a54811aadf330a31a562a78a99e34abaea83b647c8002de72fe27c6b58155879f8238f6382979cdc34370f5a81f979cab6d0f54a8ec8e529ca22a118901d3a WHIRLPOOL 19d77424ff65b51b120e88e9c7bd9f9520213d42cf70aa436e339beb402d528ca5efaf14009ecd2b01e9de1a8bb350b82f52541e885265e5649d869df80a7659
|
||||
AUX gitlab-workhorse-0.8.2.conf 297 SHA256 8bb99a78197ad22892e4c85496101a39f2c82f6c537f44da8185af54dbb44a38 SHA512 d143489c165ef5e68810bb10d5e97da7ad3be6d53618380231706ec16c3fd8bc3eedbc78a09949479a408646e32aae4cdceaca9b271ba3b816e3449b792c5406 WHIRLPOOL 649d34b60afab816dac559989c9a3b0cb9620c2ac2a7617cfcae8bcc2c421791fa612571f83e6611ec8ab8c26c9c79f9832f4e6a70396497dfc5a40d99bbbef9
|
||||
AUX gitlab-workhorse-0.8.2.init 681 SHA256 bf3f94853781251629daae935d04294febf317061536624e2c01188dd6688ae7 SHA512 6275abe0910e7327f952dba36827a9083264f76753605767cc11ee7b162fdecef3170783800263bf8acbe891d41e6be9e27b5fcca2a4f035b990c9865aa02647 WHIRLPOOL bc983d0413c0743ef0843a3abb46ee2be78ac6e18b56f96de63b4ea8cb9242f8ef6a96f2d593dbcda33a0a60b7f941f27bd704b7f64a85db7379ef0b42233527
|
||||
DIST gitlab-workhorse-1.4.2.tar.bz2 625125 SHA256 4df4d93bc59102c312ad2a642d7f1ca463357c60d440a11fa72cfcbd4363a8e6 SHA512 1fa23991b463136565185982c1d10d17ecccd44f18138dc27cd0ef8ba0c63abc84347475d295fb71de9aaf8ad3de5747bb656c53c87769d3bce5db67571f89e2 WHIRLPOOL 3e5f2d311d96124546492d3b1da0740e70b8418f3a58f2dae2d457fb15a61d3ebdceea0e67c5a474a00ad7ac67575931a9d6ec8a4cc74572bc5549783b76304d
|
||||
DIST gitlab-workhorse-1.4.3.tar.bz2 655746 SHA256 5b621887aa8b6c0cb1b5b1aae6edd4d4cc60de77ef70f263a5968e56899da9ca SHA512 bdf62b8d5925fb45d439d2b9caf4cd2c175129bc3fe3bc24b8914dd128c1b6fc8ed700ad20513ee272e24698964c2daa7657e7bae86d58ae53cbe0e7ef44b89f WHIRLPOOL 507ba152b90db9b9459ef3f939780d39e7af17c6f2081a53c9affe621e4c624c46259993a6d94b218b476a2908ee9e3ff882f27c4d8f29e5ebc98f9bc4d878a7
|
||||
DIST gitlab-workhorse-2.0.0.tar.bz2 656360 SHA256 4e9864b7885b1102d9eb18e9c4bd3baf6021b4d3b64adbf5e9ba70b49aea8d8b SHA512 f439affafc54a090f105897de3ee5fcf2864c26dfd5f87299097c6827b9563f5ec0f7ebc9b1abfc90d6f88f864a640620c58b8a004aa230789ea5e27cf3a2e4c WHIRLPOOL a8488fcb95d06f88eef01e7d1f045fcab766c439738e44fb523b5198d29531b230bd8a1ac27e53fc668a0ba034773cf44477fce623489afe268be9b110ad04f3
|
||||
DIST gitlab-workhorse-2.1.1.tar.bz2 658851 SHA256 ab827cfa89f5d3e711357a0317a022b4d5db4d91c01ad0b80b56120e315da899 SHA512 6a316647faff83352c344cc36ef7fbaf327dfab9b8f893c39e22d4cde7e78fe703680d2851663953ee94b3ac9f55a142b5380ed23f26a7600044a3af2fdea08f WHIRLPOOL abded7f69b1a1ddc1aed3f8a8b1ddae89aa19eaa67ac1be1847f3ad6a0f5a23142f60fee545a358ecf27f2b15d4630eb42ea0b68a7076af9e26ee36d9db1243e
|
||||
DIST gitlab-workhorse-2.3.0.tar.bz2 673735 SHA256 61dc7ea978223a56e5f2e4617195e43c9e3179f0057e416545060143ea90ae0e SHA512 290713086d8c30fbbc80d32b6924368ceffceb08fc9330403250b775bab20454d5843bfd7b37c1d88fa60d1bebd5b14d7e8bb6b3557142b56b1d9ab02ce46aee WHIRLPOOL a1507a68c06d7335e5fdae4cbb91b01ddcc9d7c988758fd892676c6a78c9746c6f1fa89fe369efdd2352f85c7dade00554263e1a969ce10dfc87983c3136bf6f
|
||||
DIST gitlab-workhorse-3.0.0.tar.bz2 678497 SHA256 6a72db70a49c4004881b4e5e727ac088e6b976144466b1e7a5362eb720bcb546 SHA512 25be040a20948a2e82e56e531ed030174a7c0dead542b998a70213aeed4a565eebc6e206fed202d52c538781f25715b93c5dd9708171addb222d13be4c49bb55 WHIRLPOOL 07d3d17bf1d7318fce000fbd8da4d4d8f47040b3ac92efe955ae84ccc9636eb0d8a86816b59caf717848340f53b43d0724bb577d143e2a4524a24eea5e48e33a
|
||||
DIST gitlab-workhorse-3.2.0.tar.bz2 700671 SHA256 4a38d307b7b5a61f74078000614b2b3e2730fd637da5477a58d7f7efe9ce7008 SHA512 6f971f17516d6ed7f74779656813959cfe0d588a9a0bd81f925146f5f2d64104c2b0472032a6d7c0dee3ea3f2755fa8127cee80af717dbc9174d8a12d437df5e WHIRLPOOL 3132f046cbf73ebcc648283f6e9eec38326043166ae2bbca19168801304122c45478f3e8aaf94c1b8af25b9a3a379bc10c7a7ef291fbaa07a108e0e6869c3a8e
|
||||
DIST gitlab-workhorse-3.3.1.tar.bz2 762376 SHA256 2ddbd4e0ad3db85fffdc8b932d1745f3066c8e366f6aebf2189f7b8200811207 SHA512 d08c72e400a356092c93abc261f9043cfbb5fce176a1c96410079929109e3f9cb629ad702193575dcae3c6e3cf790e840f6ddcb16cad352081833224f198571e WHIRLPOOL 38f787db574753fa51e506ec6d3fbc432cbeefcf966c89fe3cb884abead0760628641753c8406d0de32958f3a0e70c55b9417c31aa1ba04451ac94c0cc0970f2
|
||||
EBUILD gitlab-workhorse-1.4.2.ebuild 1012 SHA256 c619e29723a64caea3d7e3105c686e4e138bd35318af847440f14ace48fbb8b7 SHA512 7485fc018ea6cadabdeca8c89787d0c1103c46cb635282d8bc48fd801a693450cd50d3e899f68d29ee3043281551405b5fe9777e1b620ca0519e913f68e8a5b8 WHIRLPOOL 15fa160b642d90b8c13b846428c8ea74ba17617c74aac71ccd434fdadbbf5c8049bfdfd08aec034b1c18c8da10d52a41ec4e10f64da680a5d37f8ecdb90b8d81
|
||||
EBUILD gitlab-workhorse-1.4.3.ebuild 1012 SHA256 e82630ed25d51514b4e6638b6f49777ff00cdc2f93a8a7d4d6ab87655b5734d3 SHA512 a760e43573b7e8202f2e5fe6c481fb0376816b3d45ddd93205aa2798f510297632f80341c3e77ad1700f7ddfbac7e591d97834505f71466e7af67a0c5135e527 WHIRLPOOL 8f63a99b538eb4c88e76171bde90ea7bf2ed5b87b9b2e5fe6293fb01b1f6b4f81def5e02307e07896e5f3e0e47b4d550b9d9d28b1991032c608f5bbe0a21eb05
|
||||
EBUILD gitlab-workhorse-2.0.0.ebuild 1012 SHA256 4bf03b159710c22996450e9141b42e846e206433cd1f1d3ac52ada84996d8edd SHA512 5899843cbd910cf293f5d33ed4ffbfd5075d54d547d4d9f14d425b12ff81bd95fac54d258239cbae9845f7898daad796e38966a021414e321bd37a4ecbccbfd0 WHIRLPOOL 2c345b6cb8939cf97721701fedb00574699dd3b87a88d726e532c6c3db46c405e2bff2474a84da235b231295aef6e70924f624d35efb0844130f3b2881ae05a2
|
||||
EBUILD gitlab-workhorse-2.1.1.ebuild 1012 SHA256 166a2cba843736735ab232b3bd0008b6fc1134884d47293f4b97cd4b2d072f5a SHA512 dca4d6765f4abf738c45917294d58237b94555d7851352518277cddc4fa51cb4118ca21bc8ca64b1db57b562c4665da7fc7d9c8c40ccd51ae408d88ec92cd425 WHIRLPOOL efa7829ff8059517c66a374e74bc9e2e27817ecf92d1845da45d44f7d46561ec5e98cf88de9cfa19a3454d11c8622b639cf48b488cc7b57fa0e03d0cd4dcae0c
|
||||
EBUILD gitlab-workhorse-2.3.0.ebuild 1012 SHA256 088c7d911e144a8a55889dfcdfab84126d2ee28df1d5a3e566856a1ceb1f0dfc SHA512 d95868b8033f518b96d9401e07a4dbe81b380114e4c5907c89e73f6ca820440d4b7471dded25407d4cc817dbbbcf348943f72c251bebf06c866aa9bc91f1a3ff WHIRLPOOL c4774879016f5952463ad7c231ca42b8e34999aaa7db60e2358e15b3ae864316e559213b8166fde0aeed6afb0fc8aa3ba89ca0b7a1247e19377ebf52c8f0a39f
|
||||
EBUILD gitlab-workhorse-3.0.0.ebuild 1012 SHA256 cd7d9f593221b3ef2baeea527060ef56178a71332af7a5bdfcd6285c49c9f329 SHA512 7c9d1bf373e2557b6a01f8fecfacf142322fed91cebc462a249f7cb1e02a953d4fd6bce2e8283adb6a9060c9a0cb2e7cb1b99da8a1926210c3d580589643fe0b WHIRLPOOL 61521ad8c87744395ada1300c5d3d237b2b356dd874232f371eb7ed2a6a90b29155cad810953a3f82d872318bbad6fb164fc9ac80a836a9d42326bb651e2a797
|
||||
EBUILD gitlab-workhorse-3.2.0.ebuild 1012 SHA256 4dc3f893683d0fab13d4c0d43090df4bdcd5543dff4ca74940999cb797aa7312 SHA512 199d418e6a1e60b183a16f28f08cc20fa67771395d9f2da741227f102d40d71d91a5c27bb8d9741995a2aa117111dbffe6bea9ef854f3c35bb41ed81045ab88d WHIRLPOOL 07f534716e45600c9bb9912c1f7beca402067df7b572965e08e431f922327de541614952b37ec126bcb7bb6ae8d66fe4084f4183d75d2e686fd6888a4b866ea5
|
||||
EBUILD gitlab-workhorse-3.3.1.ebuild 1012 SHA256 8e4f366570bcb05c2f6ee0d0a10787bea24210325db9b02e19c13188ddb1aded SHA512 0d1342b15450b3220490655e4951230aa168c5ce1bd0d77d4a6a7f25cb507563e9b58d590bc55b74f68bb0ee25c792bf39b90aea3709d2c2bbb42aac473ad5aa WHIRLPOOL 364597c47e6cb0a466b151eab5034eb963123b12d113bc354816521ded1aa48ca66d0d1d8ff310e2af35e3d180f5913dbeefbb757a7a24fe6c795d5bb2d563c8
|
||||
MISC ChangeLog 7920 SHA256 1e88322ceff54e173aac227e4e633350f4bae37ddd59114d842cd94521813315 SHA512 6a1bf827e972a5986e3dab46719001c39c56b04141e35e5080136a5f7f9bbd00fa3811d2f9453b23de491c5e54f507ecad2284bd36b7cb8e5d027509726bd649 WHIRLPOOL 8e36ffdbd4c3e7de5803322a2c3708f9910b1ae4a53397c482258eab0722c3ef70876475dac19f9989a2a3c9a9f7811799b36522b7db491164c811349dcd6519
|
||||
MISC ChangeLog 8215 SHA256 8cc84cf2a47a8c288d859139dee30885f559542e208332ff89a4e7a602d3e0e7 SHA512 c2ad7cead0d80427f6650ecd969742549882d5d3b484aa616601634eef137b355f789e038b7a71104503ab8309dbd47cf4c7cbab0ea625aff2fcc5a5d08937a9 WHIRLPOOL b402dccbedc808b881b0be435a25fa6d74c076660943ace7a206d991bfc6b4cff3fa1d7c97758c43b629f96a05a89d126334e0a7ce4969b16c7b39c58ae84a22
|
||||
MISC metadata.xml 248 SHA256 7b43be15755627edf5c12cf1b50c607d781558640bf8375d685d51d7ade99a32 SHA512 29f9b96b0a77546cce6a8bffd82fae2fd0939d32a7a05ffd0d91f9250a019a3ddaa599b93988c82daabb9c4c4b284dd947e2c47f6ca7727b8539cffa91bcb8c2 WHIRLPOOL 993013c9878ead35469db13d3072f694a341ee654182e0c31d0678f5dd6de4bdc8d59a0b7bb6d685dc41ea6b55dac518cd8034131baea8002170c680e50304d1
|
||||
|
|
|
@ -1,42 +0,0 @@
|
|||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
|
||||
inherit eutils user
|
||||
|
||||
DESCRIPTION="This is the new backend for Git-over-HTTP communication needed for GitLab >= 8.4"
|
||||
HOMEPAGE="https://gitlab.com/gitlab-org/gitlab-workhorse"
|
||||
SRC_URI="https://gitlab.com/gitlab-org/${PN}/repository/archive.tar.bz2?ref=v${PV} -> ${P}.tar.bz2"
|
||||
|
||||
MY_GIT_COMMIT="a0f050c8fc680faa2c758c11ad2815cfe367db44"
|
||||
S="${WORKDIR}/${PN}-v${PV}-${MY_GIT_COMMIT}"
|
||||
RESTRICT="mirror"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86 ~arm ~arm64"
|
||||
|
||||
DEPEND=">=dev-lang/go-1.5.1"
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}/0001-fix-Makefile.patch"
|
||||
sed -i -e "s/@@VERSION@@/${PV}/" Makefile
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local dest=/usr/bin
|
||||
|
||||
diropts -m755
|
||||
dodir ${dest}
|
||||
|
||||
exeinto ${dest}
|
||||
for f in "${PN}" gitlab-zip-cat gitlab-zip-metadata ; do
|
||||
doexe "${S}/${f}"
|
||||
done
|
||||
|
||||
## RC script ##
|
||||
newinitd "${FILESDIR}/${PN}-0.8.2.init" "${PN}"
|
||||
newconfd "${FILESDIR}/${PN}-0.8.2.conf" "${PN}"
|
||||
}
|
|
@ -1,42 +0,0 @@
|
|||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
|
||||
inherit eutils user
|
||||
|
||||
DESCRIPTION="This is the new backend for Git-over-HTTP communication needed for GitLab >= 8.4"
|
||||
HOMEPAGE="https://gitlab.com/gitlab-org/gitlab-workhorse"
|
||||
SRC_URI="https://gitlab.com/gitlab-org/${PN}/repository/archive.tar.bz2?ref=v${PV} -> ${P}.tar.bz2"
|
||||
|
||||
MY_GIT_COMMIT="97d3583a6b36f8c267680c826bced98a43ba95f7"
|
||||
S="${WORKDIR}/${PN}-v${PV}-${MY_GIT_COMMIT}"
|
||||
RESTRICT="mirror"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86 ~arm ~arm64"
|
||||
|
||||
DEPEND=">=dev-lang/go-1.5.1"
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}/0001-fix-Makefile.patch"
|
||||
sed -i -e "s/@@VERSION@@/${PV}/" Makefile
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local dest=/usr/bin
|
||||
|
||||
diropts -m755
|
||||
dodir ${dest}
|
||||
|
||||
exeinto ${dest}
|
||||
for f in "${PN}" gitlab-zip-cat gitlab-zip-metadata ; do
|
||||
doexe "${S}/${f}"
|
||||
done
|
||||
|
||||
## RC script ##
|
||||
newinitd "${FILESDIR}/${PN}-0.8.2.init" "${PN}"
|
||||
newconfd "${FILESDIR}/${PN}-0.8.2.conf" "${PN}"
|
||||
}
|
|
@ -1,42 +0,0 @@
|
|||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
|
||||
inherit eutils user
|
||||
|
||||
DESCRIPTION="This is the new backend for Git-over-HTTP communication needed for GitLab >= 8.4"
|
||||
HOMEPAGE="https://gitlab.com/gitlab-org/gitlab-workhorse"
|
||||
SRC_URI="https://gitlab.com/gitlab-org/${PN}/repository/archive.tar.bz2?ref=v${PV} -> ${P}.tar.bz2"
|
||||
|
||||
MY_GIT_COMMIT="eacd5b7aff7cc1b51a2409d8645dfc61904f308c"
|
||||
S="${WORKDIR}/${PN}-v${PV}-${MY_GIT_COMMIT}"
|
||||
RESTRICT="mirror"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86 ~arm ~arm64"
|
||||
|
||||
DEPEND=">=dev-lang/go-1.5.1"
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}/0001-fix-Makefile.patch"
|
||||
sed -i -e "s/@@VERSION@@/${PV}/" Makefile
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local dest=/usr/bin
|
||||
|
||||
diropts -m755
|
||||
dodir ${dest}
|
||||
|
||||
exeinto ${dest}
|
||||
for f in "${PN}" gitlab-zip-cat gitlab-zip-metadata ; do
|
||||
doexe "${S}/${f}"
|
||||
done
|
||||
|
||||
## RC script ##
|
||||
newinitd "${FILESDIR}/${PN}-0.8.2.init" "${PN}"
|
||||
newconfd "${FILESDIR}/${PN}-0.8.2.conf" "${PN}"
|
||||
}
|
|
@ -1,42 +0,0 @@
|
|||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
|
||||
inherit eutils user
|
||||
|
||||
DESCRIPTION="This is the new backend for Git-over-HTTP communication needed for GitLab >= 8.4"
|
||||
HOMEPAGE="https://gitlab.com/gitlab-org/gitlab-workhorse"
|
||||
SRC_URI="https://gitlab.com/gitlab-org/${PN}/repository/archive.tar.bz2?ref=v${PV} -> ${P}.tar.bz2"
|
||||
|
||||
MY_GIT_COMMIT="e36227d823ff623a60a44281538f139f6864f683"
|
||||
S="${WORKDIR}/${PN}-v${PV}-${MY_GIT_COMMIT}"
|
||||
RESTRICT="mirror"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86 ~arm ~arm64"
|
||||
|
||||
DEPEND=">=dev-lang/go-1.8.3"
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}/0001-fix-Makefile.patch"
|
||||
sed -i -e "s/@@VERSION@@/${PV}/" Makefile
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local dest=/usr/bin
|
||||
|
||||
diropts -m755
|
||||
dodir ${dest}
|
||||
|
||||
exeinto ${dest}
|
||||
for f in "${PN}" gitlab-zip-cat gitlab-zip-metadata ; do
|
||||
doexe "${S}/${f}"
|
||||
done
|
||||
|
||||
## RC script ##
|
||||
newinitd "${FILESDIR}/${PN}-0.8.2.init" "${PN}"
|
||||
newconfd "${FILESDIR}/${PN}-0.8.2.conf" "${PN}"
|
||||
}
|
|
@ -1,42 +0,0 @@
|
|||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
|
||||
inherit eutils user
|
||||
|
||||
DESCRIPTION="This is the new backend for Git-over-HTTP communication needed for GitLab >= 8.4"
|
||||
HOMEPAGE="https://gitlab.com/gitlab-org/gitlab-workhorse"
|
||||
SRC_URI="https://gitlab.com/gitlab-org/${PN}/repository/archive.tar.bz2?ref=v${PV} -> ${P}.tar.bz2"
|
||||
|
||||
MY_GIT_COMMIT="23e62f5114c7427917f9e1ef336ba227f1543192"
|
||||
S="${WORKDIR}/${PN}-v${PV}-${MY_GIT_COMMIT}"
|
||||
RESTRICT="mirror"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86 ~arm ~arm64"
|
||||
|
||||
DEPEND=">=dev-lang/go-1.8.3"
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}/0001-fix-Makefile.patch"
|
||||
sed -i -e "s/@@VERSION@@/${PV}/" Makefile
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local dest=/usr/bin
|
||||
|
||||
diropts -m755
|
||||
dodir ${dest}
|
||||
|
||||
exeinto ${dest}
|
||||
for f in "${PN}" gitlab-zip-cat gitlab-zip-metadata ; do
|
||||
doexe "${S}/${f}"
|
||||
done
|
||||
|
||||
## RC script ##
|
||||
newinitd "${FILESDIR}/${PN}-0.8.2.init" "${PN}"
|
||||
newconfd "${FILESDIR}/${PN}-0.8.2.conf" "${PN}"
|
||||
}
|
Loading…
Reference in a new issue