diff --git a/dev-vcs/gitlab-ci-multi-runner/Manifest b/dev-vcs/gitlab-ci-multi-runner/Manifest index f9f4b0f..e8a6c75 100644 --- a/dev-vcs/gitlab-ci-multi-runner/Manifest +++ b/dev-vcs/gitlab-ci-multi-runner/Manifest @@ -21,6 +21,9 @@ DIST gitlab-ci-multi-runner-1.0.0-x86 29543784 SHA256 f1ac2550170b24abbc32983aee DIST gitlab-ci-multi-runner-1.0.1-amd64 31993904 SHA256 3f2bfd4588b01b88f709df1ae13bdd13488ee86b7e39f3c3287e2086ac7733d8 SHA512 89fd115f7a42ecb41af026ed5c809f223d46ff830317b935320b660b291e3f3ebf12fabd1d57896b77ed9c75a68c1d39591e001ca263d9c0e8476d9da06d9706 WHIRLPOOL 043fd5917a3b533a71dcf8da09f6146d9b073edb57188f6875bac96b260ad50cf71de46cd025ab4b3b339a6455ebb90151e72f28f662f11b7665357fed7850f8 DIST gitlab-ci-multi-runner-1.0.1-arm 29445368 SHA256 79dc3aac3539e29b718462a12242c8de1d6133639bb1d9e76a24c2c9505920bf SHA512 84d94546dd8b0aaa2edd049e81b2dc5f1f15b40d0fcbf4572678e078f013a793e10c94b59051b1406a994665c2b30f0df3d4fe9ba04ed1f66814ae87f7dfb248 WHIRLPOOL 3d9e1dc9226b559d556eb59218d2b0cc6311d807fcfe0645dedd1fddb51e4ec85a7a9764d547a8c203444988768ffc54f3c3b4d32dae5f7029f69137a1eeb3b0 DIST gitlab-ci-multi-runner-1.0.1-x86 29549472 SHA256 11224f7ff4bd8ee3e8031505b0a5a5a5412ed84df0d01eaca7fcc15f15ebe9a4 SHA512 6fcc49542ccb61d9b914044bb59fbe4a05059195a020fc8691ccd6d2beb397b9b245712fe2597a3481b695a9aebc8d841434f71489c85f14b60889134aaf183c WHIRLPOOL 6ad6cb12941f4fb975fa819bc09f26357fd862365cad4fceb0f81fc7cb30afaa01de3717c07212ea9bdce49f75f54bb57b6bcf8fc4f8c0178815e550841e0c52 +DIST gitlab-ci-multi-runner-1.0.2-amd64 31998376 SHA256 59c65be59c34d94f8b82e19013450f46fd800d89d1edf60be1fd6ac421dea0d4 SHA512 13409b232d2190604e1b752a322293eb39ba08bff37624d21c1900789a4782a54c6f9aad9a70c3ca66a136b2f4c7ba3900aab1312d9effe0c93e2d9be454d8cc WHIRLPOOL d03b0267172dad13d09b1df2436c8e040f188c80e5afb23476800b4f1db5b77e4d5a20c5458dad39943a89520668bf516eda7017625603f34e30458e890ed472 +DIST gitlab-ci-multi-runner-1.0.2-arm 29449768 SHA256 057e3e0271f61b39d10ebf478428d608fae4b4902a6dd13fcad6b1e1fb793a38 SHA512 522b7378866830e849117ab5acf2e98892665f75c28614d4921d4c2aa06f2e6b944649eb6cf302be99e900ab46bedf37405c4564b4915d2d7b8e12d3dce68c30 WHIRLPOOL afa8880642fbba0b722ce0c2bddfd68e4f4e02ec3604eee5bbec52a4501155ae6b7eca3dcd7b02cd640cffa63235791e090d06c209f3c3316339f17d48354df3 +DIST gitlab-ci-multi-runner-1.0.2-x86 29553888 SHA256 8937eae87d0fbad318e7867b94730bfc75e155ebd5a5f6b0783c84cf8418f84d SHA512 998dc0499d6918599f66c2a1ee3356c7bada8b819ef3d1a05449a397bab84f4294a0e875ac1a9d3fc074237d60c39b27cf26a468ccfc1ac3aaf27ffcfeab21a1 WHIRLPOOL 26f5150a7156c9000ac2c5832f948ca98d346cca25c8c6561d2be8472f31cbe19f9c6879a4d05862b95356f0fddb4ba706984b405008f6e2e96364efbb0ceac3 EBUILD gitlab-ci-multi-runner-0.5.5-r1.ebuild 2238 SHA256 e5c5c8172052cce018a8bfe17224a379175fade6bae83a06b8649d987ac6d496 SHA512 dafddb480bf34aa1d17eb57a82b7380c376f303a84bd5a1162030541775935e6352c7d51675465203f898e6caea1ef2802dcbcbbc200d8f4d777082c074380df WHIRLPOOL ea427e8a9259348c5b604cf3cd18993b843bc8312326be745d48ea0b77480101124cd0babfcc21e172cb095bc1dae53010fd2c04f6ddbf177933f4af933393c2 EBUILD gitlab-ci-multi-runner-0.6.0.ebuild 2238 SHA256 e5c5c8172052cce018a8bfe17224a379175fade6bae83a06b8649d987ac6d496 SHA512 dafddb480bf34aa1d17eb57a82b7380c376f303a84bd5a1162030541775935e6352c7d51675465203f898e6caea1ef2802dcbcbbc200d8f4d777082c074380df WHIRLPOOL ea427e8a9259348c5b604cf3cd18993b843bc8312326be745d48ea0b77480101124cd0babfcc21e172cb095bc1dae53010fd2c04f6ddbf177933f4af933393c2 EBUILD gitlab-ci-multi-runner-0.6.2-r1.ebuild 2349 SHA256 6432c48b3a7a36c0b28ccab7fb79382061fa9296df9b6dc9ca32d4caa5f20702 SHA512 2a7674d506e79d8570fa8527dd10b87e775a75b4daf41458bcca28f5ad9863145571d4ebf9d9e0d9df015e48c89a7bd4a05d1bc7928223fdc2b7fd528d5282d8 WHIRLPOOL 6df8346401d631b58a3a6e1ce9f2c0e3e8b871e99880099463dcb9b5639d08b3725c7c83e7f96dfe7e8cba4e60abe77e2afbeb2c7ae8ec13cf02b05d1723fd9f @@ -29,4 +32,5 @@ EBUILD gitlab-ci-multi-runner-0.7.1.ebuild 2349 SHA256 6432c48b3a7a36c0b28ccab7f EBUILD gitlab-ci-multi-runner-0.7.2.ebuild 2349 SHA256 6432c48b3a7a36c0b28ccab7fb79382061fa9296df9b6dc9ca32d4caa5f20702 SHA512 2a7674d506e79d8570fa8527dd10b87e775a75b4daf41458bcca28f5ad9863145571d4ebf9d9e0d9df015e48c89a7bd4a05d1bc7928223fdc2b7fd528d5282d8 WHIRLPOOL 6df8346401d631b58a3a6e1ce9f2c0e3e8b871e99880099463dcb9b5639d08b3725c7c83e7f96dfe7e8cba4e60abe77e2afbeb2c7ae8ec13cf02b05d1723fd9f EBUILD gitlab-ci-multi-runner-1.0.0.ebuild 2349 SHA256 6432c48b3a7a36c0b28ccab7fb79382061fa9296df9b6dc9ca32d4caa5f20702 SHA512 2a7674d506e79d8570fa8527dd10b87e775a75b4daf41458bcca28f5ad9863145571d4ebf9d9e0d9df015e48c89a7bd4a05d1bc7928223fdc2b7fd528d5282d8 WHIRLPOOL 6df8346401d631b58a3a6e1ce9f2c0e3e8b871e99880099463dcb9b5639d08b3725c7c83e7f96dfe7e8cba4e60abe77e2afbeb2c7ae8ec13cf02b05d1723fd9f EBUILD gitlab-ci-multi-runner-1.0.1.ebuild 2349 SHA256 6432c48b3a7a36c0b28ccab7fb79382061fa9296df9b6dc9ca32d4caa5f20702 SHA512 2a7674d506e79d8570fa8527dd10b87e775a75b4daf41458bcca28f5ad9863145571d4ebf9d9e0d9df015e48c89a7bd4a05d1bc7928223fdc2b7fd528d5282d8 WHIRLPOOL 6df8346401d631b58a3a6e1ce9f2c0e3e8b871e99880099463dcb9b5639d08b3725c7c83e7f96dfe7e8cba4e60abe77e2afbeb2c7ae8ec13cf02b05d1723fd9f +EBUILD gitlab-ci-multi-runner-1.0.2.ebuild 2349 SHA256 6432c48b3a7a36c0b28ccab7fb79382061fa9296df9b6dc9ca32d4caa5f20702 SHA512 2a7674d506e79d8570fa8527dd10b87e775a75b4daf41458bcca28f5ad9863145571d4ebf9d9e0d9df015e48c89a7bd4a05d1bc7928223fdc2b7fd528d5282d8 WHIRLPOOL 6df8346401d631b58a3a6e1ce9f2c0e3e8b871e99880099463dcb9b5639d08b3725c7c83e7f96dfe7e8cba4e60abe77e2afbeb2c7ae8ec13cf02b05d1723fd9f MISC metadata.xml 234 SHA256 f35b97f99a26d73cc441e1d93bfe25aaa4e9f7f6d90c8d05a74f7b7bc5b68472 SHA512 59d8156b3ca3e99c40d5a2a32de7edf2eb53279b2424998862589d6bad77617d23fc852afec0a92f8ac5bb54a88ebc504cc0641029c1936412e90ab03dfdd447 WHIRLPOOL 935a1401910a42f888c991e443a49275ea8b87976c5aa977f670053d97d18754231749749bc92d37d4b5f45ecf65914480942a11b5827b6c08fb24313a428431 diff --git a/dev-vcs/gitlab-ci-multi-runner/gitlab-ci-multi-runner-1.0.2.ebuild b/dev-vcs/gitlab-ci-multi-runner/gitlab-ci-multi-runner-1.0.2.ebuild new file mode 100644 index 0000000..63b0800 --- /dev/null +++ b/dev-vcs/gitlab-ci-multi-runner/gitlab-ci-multi-runner-1.0.2.ebuild @@ -0,0 +1,100 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +inherit eutils user + +DESCRIPTION="GitLab CI Multi Runner is the new build processor needed for GitLab CI >= 7.12" +HOMEPAGE="https://gitlab.com/gitlab-org/gitlab-ci-multi-runner" +SRC_URI="x86? ( https://${PN}-downloads.s3.amazonaws.com/v${PV}/binaries/${PN}-linux-386 -> ${P}-x86 ) + amd64? ( https://${PN}-downloads.s3.amazonaws.com/v${PV}/binaries/${PN}-linux-amd64 -> ${P}-amd64 ) + arm? ( https://${PN}-downloads.s3.amazonaws.com/v${PV}/binaries/${PN}-linux-arm -> ${P}-arm )" + +RESTRICT="mirror" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~arm" + +DEPEND="dev-vcs/git" +RDEPEND="${DEPEND} + net-libs/nodejs + virtual/mta" + +MY_NAME="${PN}" +MY_USER="gitlab_ci_multi_runner" + +DEST_DIR="/opt/${MY_NAME}" +LOGS_DIR="/var/log/${MY_NAME}" +TEMP_DIR="/var/tmp/${MY_NAME}" +RUN_DIR="/run/${MY_NAME}" + +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}/${PN}" +} + +src_prepare() { + chmod +x "${S}/${PN}" +} + +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}/${PN}" + + disopts -m750 + dodir ${conf} + + dosym ${conf} ${dest}/.gitlab-runner + + # fix permissions + fowners -R ${MY_USER}:${MY_USER} ${dest} ${conf} + + ## RC script ## + + local rcscript="${MY_NAME}.init" + + cp "${FILESDIR}/${rcscript}" "${T}" || die + sed -i \ + -e "s|@USER@|${MY_USER}|" \ + "${T}/${rcscript}" \ + || die "failed to filter ${rcscript}" + + newinitd "${T}/${rcscript}" "${MY_NAME}" + newconfd "${FILESDIR}/${MY_NAME}.conf" "${MY_NAME}" +} + +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 on" + 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." +} diff --git a/dev-vcs/gitlab-workhorse/Manifest b/dev-vcs/gitlab-workhorse/Manifest index ca8d74c..20c3e6d 100644 --- a/dev-vcs/gitlab-workhorse/Manifest +++ b/dev-vcs/gitlab-workhorse/Manifest @@ -2,14 +2,20 @@ AUX fix-Makefile-0.4.2.patch 508 SHA256 970bb7ce34fd846902ad83394e929f7162d3c33d AUX fix-Makefile-0.5.1.patch 508 SHA256 f63fe5302487d698212b52984f3f51efb3a6768558ae8927044c6a84f1814bc0 SHA512 27916751eda48b5cf4b8a3d650c74ca5031462fec14648a7535def6ebd321d49e1104b84f916109b5fdccdd90f9ee42fdbec587e3ee52f9c649fb49caac283e6 WHIRLPOOL 6f04c95575233eadd8b5f4d3e0ce564591d12e279d9827383292296d118dfc8670e239e2aaa74a3c132cc205b4d6214cb54edc983a5d2270dc005720955c805a AUX fix-Makefile-0.5.4.patch 508 SHA256 3d0eefeafabef0043d9952ba03890fe241cecdbe20354827e187778cf65aea60 SHA512 16c2ae7f5117590bb4f794ac9aa85aa6e66c2edb01219f339d6db8dc91871bf6331e81bec93ce51d0aee5b5e6ef487d3d33a7f33901aafb036035da2444b9bf2 WHIRLPOOL ed054321aba5c546bda4f15750373546fa0ff9b951ee6d901bb7d73d69b3a933583d5897c2ef397348655a3fe6c0e3d4106e645d3ae2cc9e4348b316df82168f AUX fix-Makefile-0.6.1.patch 377 SHA256 ee3352e2f5a3ef9546abffde361ab91cb9e3e652a799e597dd8ae53849b883a9 SHA512 7ca202893f2bdebcfbafcbe451141996ab24758ddbe6698f922e3029a1c4ce25494fc56ffc56d46b0f6ffed97a8745550903eea1dc5469d18f755d015c346486 WHIRLPOOL a3bf269373762cfaf2ccb44da7b368f6474cbc4692146b8ae80080c9cc4457ca05a5a82ef85683ff75a455ee741dd380ec7d24fc76394a28af4e26714cdb7f97 +AUX fix-Makefile-0.6.2.patch 377 SHA256 f0212d01760418cc669c0727310644b18a3736fac2830d82e38489af6b3a673d SHA512 6d43a4fe8250114bccc9a06cf2d970ec87da3f8fa13024a65cc0af54cce690b52c0a9907d8b219d26a1cc1ae04348e8922f4e5bf35c9b6f2b4e18efaba4b2643 WHIRLPOOL e7e05822830005dd81839510cc38dda599b84204a4eaf90ffa36ae8b96ca9e4f1e54fff34ae7a70bd92ff60d43494b5ee82fcc1b56ac37dfff2bb700a0b4ff40 +AUX fix-Makefile-0.6.3.patch 377 SHA256 14051ee1b2fa6c4a458b402c486f0b6800004f93ce46410ab7b94142acdf6ca4 SHA512 b127b962667e5e68bece6beb8a26b86425da3f481c8f29a358043d7284796bb3c7563f9272fa27d7b4521e92bac663d55111759a68a6b3729551dbfee43303ba WHIRLPOOL e21c5f0855130ad2efd8526c4fd96e130fdb18eca81590aa0e4d535e3908a182f1bfed9ebfdacfa07698317b76e1584118f48bcdab6af85daac4a8446432a144 AUX gitlab-workhorse.conf 248 SHA256 6d11d63aa869cfd8c6f77c3a875984c226db633be899ad7ce97fafe94236eee7 SHA512 234213c8361702bdfeea40bd306b5899de19f34ce985e090a86e01aa601cf4ed23da4dfb75f74fe5986bbea5535a7a6a745406b4f67f79d352bd1c863777c7f1 WHIRLPOOL 8ac1134cde3aee942466d206e703ebd5330f83537d7e29641447f812d857bcc57b07fbf82eab086c0d622750694f64fabf8ffca2ba26a725f61b40fd1941e963 AUX gitlab-workhorse.init 653 SHA256 f38c37ed818cb8c25fb800bfcb5448f659e876b78ea33ea7a1ba3c80e73ea95e SHA512 2667997def39e6dc17e6a1d9be06d6e855d5d3e956e64d93bb3e74bbad0a1d427dc034f9c139f3b05e2666abab014404b2c8013c5347f4ec25fbf5ef86e7e88e WHIRLPOOL 63cd7ff80d88676b44c2d6ccdadf74907d5f8e4268f03ee11775c423bf95955f9d3aaeedd79fa6e0486b2d225336eb2ffa165dd7b9ac87ed0c2d403dc7e5afb4 DIST gitlab-workhorse-0.4.2.tar.bz2 14206 SHA256 09bd196334c2cde6e86a905df23ad904aaea7f01915b23c7e36cbff40fd0e14d SHA512 dcd2081786729ebcdd19aa1b5763a3ab4cf3e834ba0198827e354f610cbd338367229c2a57576413a3b18ab09a5fb1467eb0c9fe825830269a8990b662bce01a WHIRLPOOL 749803ad942e58e6dcf55dc4dcddf788591af7fe56729c946991e38c70f54aac65b3ba282e9a0106c9e717213ba70ba9c754257aee6bc5fedb3471eb333db4d6 DIST gitlab-workhorse-0.5.1.tar.bz2 18396 SHA256 fe5170da871cb48136f35f90963242fe64871185cbf3fcf13129a7f98ff1fc97 SHA512 5d46b047f2aeb7cf174bc3cd5d13e9d6595ddfb2cd80fa174733e3948903552995c4b6ebc2da27a24f50bbb00bf7da44a12b71acb49d90abfe245d2f59a6a3e6 WHIRLPOOL 43ee51fe5db55f1459c0e45ab867cb78f055f811be515af2ba272915df0cd894b899ab9ef9b11e8a53803c1156739d3057fb8d09b9bc3cf36973728dd4a44c8a DIST gitlab-workhorse-0.5.4.tar.bz2 19488 SHA256 aae86bff51ab421a2e529c45c5d3f9223d2ebc23b9a6326416dac9998185488e SHA512 ba555f6aff07826281991cbb66bd2b1f4b92cf3ecb02a6e9f12120e01cd7846eb33eebef3f7fc2e7a531cd498f576d9f2e4529358e0d88b11103f0cd22208d40 WHIRLPOOL 1bbec15e69c674f1fa9205ea74cb8555ff97b3d71dad2815389d8953cc7cfdfdda61bd2e5b36ed871ded913b834546571ab12fee883bfc0f39878d68f84a5135 DIST gitlab-workhorse-0.6.1.tar.bz2 25110 SHA256 0e0d9823f6a44d9f4298805f5e8b6539d9d24eb9208c42c04bbbf41843474b16 SHA512 d428f3a7cdc8d4d1de19eba17f22e7ec693d88d6b3a6a4a3fe50064bd833e776ab1504cfcc59b367356ce1a9fd69c77219bd2119db288eaf120d5e4eafb00190 WHIRLPOOL 3720196a97a4a4426463c17dd61f6df54b57b61facaf91903b1315b7e135b852dabdca85665f57cd43ce67f9965939240ce46c40edfd592ae6e59767011bf49f +DIST gitlab-workhorse-0.6.2.tar.bz2 25745 SHA256 ecaea12915758a226aa0877ca57bff2c1c32009bc5aa95735fac1dfac1e2d217 SHA512 05ed31336588a7158e4c27dbea22cddeadcb84296ef8809d5824ded2f9cf5a13631997f13843a2da3bed1b9184e92c23f71d4e0382dcc45a8d209d43783b6905 WHIRLPOOL dc9ba82ca9515f569919674b8214f553d66cc08ce45674676646b9d527c7d37f9d72eb01e76c195b1981b3d2b6af378ed77fde8853e953457a2e31c0e0bf4f8e +DIST gitlab-workhorse-0.6.3.tar.bz2 26460 SHA256 4b73e28077e0f6d19eb4bed431c90aa029b18519fa6b43ab896400d5a2bd05ee SHA512 0f46da59bc83daa49a2854ce14e449b2a6556efc166a078b20fe95bd573792cf2894a4e67472206c2d56735c1c95dfde615c158d3e430ae701d670316870a29c WHIRLPOOL e09e085cf93817517ad6cdb072c41b9a5a2b6822f2018423ef78fd7e501af3993d0d915ef95c524ae495f12d8c9296f5a460b37bfb0bf1a7d09cfa3d15d92822 EBUILD gitlab-workhorse-0.4.2.ebuild 866 SHA256 b4377c171ea120bd743f5f7edd222d45260d6fbc290cb263f2e72944335033ce SHA512 24d2c0cb6b71723e8f6349db1b7a501e77a428455506273dd840f715beaf2cb057da0807677a01cde18e4fe3cf98ed7823e83b88a4f4b7711723eef7eaebe20b WHIRLPOOL ec42a052573f4654f808ad7ecffef8f67eb25599127223cf3690cf3e4156f197fac511c4540412394645186ee45a7f4ffee71aeb1803522d57daaa823217d878 EBUILD gitlab-workhorse-0.5.1.ebuild 866 SHA256 188539bf1d1f156a37f5044058508e9140f80e648fccdba3c438307a73f14fb9 SHA512 6f8dd6210a522a87e72795ea6b78d4b6a825b8ba6c610c30e04676980ffe49db5e5199d780284ff778e7ba75a633406c95762f16d55b5c15e8d881a3ad8ba567 WHIRLPOOL f713e415daaa8d654b334ed6d991446b6d600192867d6f93e02f9196d1c5454abce92022668ab49e2cc1f084c79da43a6b65d120cec6e627a7dc6f5eaccda651 EBUILD gitlab-workhorse-0.5.4.ebuild 866 SHA256 93c056d8226ecd39b57a00e3df876204675b9f0baf3593a2ad9fbe09156a5f81 SHA512 aeb2b5537e0901418554532ef810597aa40b56aa5755b9d7d38d49c3f30f2ed6c1b59b3ae82c97eda4711c76e113245270f556a58f883a6a9aa5d966d0ed429f WHIRLPOOL 9a20dbc894930bcb10f0dc1cce940fd097ac44929ab1c98dbe46ed57c9b319c761306383a642b094cd84d17737a9433d5775c066344190d45bc18554a6f07f47 EBUILD gitlab-workhorse-0.6.1.ebuild 866 SHA256 08b63ecdded97a82719876e6efa6e7d185b702b4ecf9eadf9434e2ae2600258e SHA512 fa2297cd59aab9c4c71794977da4842f07a38ac1b3c4a5b7fd21a5d8a28c416b3581fbec6e62900f90094487a5d5b13884002a745e991403e94d925651a01231 WHIRLPOOL 9c087ebfcbb7d2f481b160e6d8e12f79cb5c7375b5786ba1729c117195b2bba20db526d89138de477df56813c9b84d2835f515f554e4435e0477d4e3c182584f +EBUILD gitlab-workhorse-0.6.2.ebuild 866 SHA256 92cde2ed28248dbb4f9ebfeed5bc79999fbbb06a64b979c77d7c27896a4f9c85 SHA512 f4e140aeb09c423fae606e50f596991bdf61b1e1ef6c2e966d0dba00a0331c72c075899e1fcb44f28037f4523d54fbf56775cc4c7d59e55de9e0a7e6a5332768 WHIRLPOOL 9c5ba94be5144a6ea5d78536e3d62faa92772c61ea21c3ec6d25db499982651813c9926be7b8fc1ae52d4428e5ced901f69ced3801f902188aeea4d12ea9b4c6 +EBUILD gitlab-workhorse-0.6.3.ebuild 866 SHA256 dc2863afba82390633afb85cc199dced0234d504ce051fbcbb919b99871e6262 SHA512 2e4982d6219139326a19756e1ea35f7c9cda2c45e0d21391234a48cf9cb7615ea66707d3ca054ca5f8329ff2c208b77972e5f3c02fbefa6b4c63a586481895fd WHIRLPOOL bf3c0ce0379550953c790e24fd5251fe8f8fbfb05caf8a4ddfca00e1ea03108517c92509b90523e872611e70300e4787cc4983c191f805ea96808bc71a0dfb48 MISC metadata.xml 234 SHA256 f35b97f99a26d73cc441e1d93bfe25aaa4e9f7f6d90c8d05a74f7b7bc5b68472 SHA512 59d8156b3ca3e99c40d5a2a32de7edf2eb53279b2424998862589d6bad77617d23fc852afec0a92f8ac5bb54a88ebc504cc0641029c1936412e90ab03dfdd447 WHIRLPOOL 935a1401910a42f888c991e443a49275ea8b87976c5aa977f670053d97d18754231749749bc92d37d4b5f45ecf65914480942a11b5827b6c08fb24313a428431 diff --git a/dev-vcs/gitlab-workhorse/files/fix-Makefile-0.6.2.patch b/dev-vcs/gitlab-workhorse/files/fix-Makefile-0.6.2.patch new file mode 100644 index 0000000..7c5c0c5 --- /dev/null +++ b/dev-vcs/gitlab-workhorse/files/fix-Makefile-0.6.2.patch @@ -0,0 +1,12 @@ +diff --git a/Makefile b/Makefile +index c81222f..1a90927 100644 +--- a/Makefile ++++ b/Makefile +@@ -1,5 +1,5 @@ +-PREFIX=/usr/local +-VERSION=$(shell git describe)-$(shell date -u +%Y%m%d.%H%M%S) ++PREFIX=${DESTDIR}/usr ++VERSION=0.6.2-$(shell date -u +%Y%m%d.%H%M%S) + GOBUILD=go build -ldflags "-X main.Version=${VERSION}" + + all: gitlab-zip-cat gitlab-zip-metadata gitlab-workhorse diff --git a/dev-vcs/gitlab-workhorse/files/fix-Makefile-0.6.3.patch b/dev-vcs/gitlab-workhorse/files/fix-Makefile-0.6.3.patch new file mode 100644 index 0000000..99d14fd --- /dev/null +++ b/dev-vcs/gitlab-workhorse/files/fix-Makefile-0.6.3.patch @@ -0,0 +1,12 @@ +diff --git a/Makefile b/Makefile +index c81222f..1a90927 100644 +--- a/Makefile ++++ b/Makefile +@@ -1,5 +1,5 @@ +-PREFIX=/usr/local +-VERSION=$(shell git describe)-$(shell date -u +%Y%m%d.%H%M%S) ++PREFIX=${DESTDIR}/usr ++VERSION=0.6.3-$(shell date -u +%Y%m%d.%H%M%S) + GOBUILD=go build -ldflags "-X main.Version=${VERSION}" + + all: gitlab-zip-cat gitlab-zip-metadata gitlab-workhorse diff --git a/dev-vcs/gitlab-workhorse/gitlab-workhorse-0.6.2.ebuild b/dev-vcs/gitlab-workhorse/gitlab-workhorse-0.6.2.ebuild new file mode 100644 index 0000000..a8ef063 --- /dev/null +++ b/dev-vcs/gitlab-workhorse/gitlab-workhorse-0.6.2.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +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=${PV} -> ${P}.tar.bz2" +S="${WORKDIR}/${P}-7a8ab7a2a8a297cfd0eeefa1ecf163a811bd1015" +RESTRICT="mirror" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +DEPEND=">=dev-lang/go-1.5.1 + !dev-vcs/gitlab-git-http-server" + +src_prepare() { + epatch "${FILESDIR}/fix-Makefile-${PV}.patch" +} + +src_install() { + local dest=/usr/bin + + diropts -m755 + dodir ${dest} + + exeinto ${dest} + doexe "${S}/${PN}" + + ## RC script ## + newinitd "${FILESDIR}/${PN}.init" "${PN}" + newconfd "${FILESDIR}/${PN}.conf" "${PN}" +} diff --git a/dev-vcs/gitlab-workhorse/gitlab-workhorse-0.6.3.ebuild b/dev-vcs/gitlab-workhorse/gitlab-workhorse-0.6.3.ebuild new file mode 100644 index 0000000..d2df44b --- /dev/null +++ b/dev-vcs/gitlab-workhorse/gitlab-workhorse-0.6.3.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +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=${PV} -> ${P}.tar.bz2" +S="${WORKDIR}/${P}-fb0deba81299ab345b6de447113139ce6bf5982b" +RESTRICT="mirror" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +DEPEND=">=dev-lang/go-1.5.1 + !dev-vcs/gitlab-git-http-server" + +src_prepare() { + epatch "${FILESDIR}/fix-Makefile-${PV}.patch" +} + +src_install() { + local dest=/usr/bin + + diropts -m755 + dodir ${dest} + + exeinto ${dest} + doexe "${S}/${PN}" + + ## RC script ## + newinitd "${FILESDIR}/${PN}.init" "${PN}" + newconfd "${FILESDIR}/${PN}.conf" "${PN}" +} diff --git a/www-apps/gitlab-ce/Manifest b/www-apps/gitlab-ce/Manifest index d03f06c..e46d198 100644 --- a/www-apps/gitlab-ce/Manifest +++ b/www-apps/gitlab-ce/Manifest @@ -21,6 +21,7 @@ DIST gitlab-ce-8.2.3.tar.gz 9961014 SHA256 470c10f267ad904ebd6228ccc5007092ab0fd DIST gitlab-ce-8.3.2.tar.gz 10683322 SHA256 87f6c27043058bba2d879c079f36a81f09f77c8e359ff7cf3bb0f5ebc4dca73e SHA512 a4d05cef4edcdd3ea07858eb52f1fa093a323d6586bcab9e5e2bd78320e56566c496146a89ed24410a551fa5d770a44b018636c11f55eae325cd6ec13de94f77 WHIRLPOOL 2bf74671e58d9f625c385ce2bcd8909bed828108deea17fd4bdbea7bf9d365dda14d1422699582a818fb656ab43cdea7f841c2334de152070dd2acac2f195e05 DIST gitlab-ce-8.3.4.tar.gz 10255543 SHA256 15cc1644c05798deafb81be5ae4c313d2d1dc38475ba4b119a5f1d8e905f2c67 SHA512 ce29dbd0b64eee3353e5ea335a738fd0ccc2910167d1d1c4849e7403b91a3b058edb037746b04988a780937abf4fbc33dd769f89a965ec99e8f7042478016f2e WHIRLPOOL 7ed124eaf9ccc913bb18da6fd5f4702cbe756b7a175da6dade53ceb04f35794bd58c8492052b0074ed1fa82e0258213081900ce9157c1ad13eb6f7a18e7c6e2c DIST gitlab-ce-8.4.0.tar.gz 12182652 SHA256 1c3cc61e5cfb9a86d62d62457636de1e277134769037ea2986295e4a7f230d6c SHA512 7314481d985613c6e49f975b75d63fb3815c5150cda5f4e29df282fe28de79eaba9316838a98efb21a7607d260fc29707aaf889354781dab66e55f71410e53ba WHIRLPOOL 358632ac19d4a8581c2d0618c92b744c4e667a57ceeadec811749d2dd9a01e20fc05c45068e96611cc0f946b2979b5e9c8d8d5ddc69ec0d2e4075f12d1cd45d9 +DIST gitlab-ce-8.4.3.tar.gz 12187867 SHA256 bc11494885c6ad41f2b6a057d7fbec2fd4df10908f591c84c210f4881aa3c23d SHA512 84018eca604ba1639e19cc45b6ef21ad298cf60a66724bc247bf7a7c94ff1131010317d851855f5676687e8c8148602ad199e35f1029ebab24ccbbafd7b866e1 WHIRLPOOL 418afc8ddb262aa7af22bd79cb9febf1a15625f753208fe4f47cbbc3d79df0566e506febe2917bd2176508312d4a5da7245e36233ec2e50c024b811c1d306b00 EBUILD gitlab-ce-7.14.3.ebuild 10996 SHA256 a632476e8fe87ec1a478d2229f9e27cbe9e7cc86351e411d9f15105178a4c69f SHA512 a8646de0798d7dae299e500e0a42e6b093e229cb666614b895b979decb1d4b6b398ec2b2f1d19e07cc115f2acb16536426d1769b65412bc51349ac1b262b3053 WHIRLPOOL 2ba4e53846507899b3e6ebb38063e11ee92904262b8a6e00817ab50d6634ed0f0b1013f4a0d8a1cbb26e18c4008e5ab457d3cbd0fdc5f92e5c6214cb45c692f5 EBUILD gitlab-ce-8.0.5.ebuild 11185 SHA256 1240818953ae8f61b6c88c91c3c1dd32fb7d03c8a62964f5d3ad2e98ff5dad11 SHA512 fd411dd3cd8a4dd1ee0040438fe5da01f81ccf4f97b7b7b3157fcbb35bfacbfd0eda8754fb01e0061e6b0c5bd0e752b0eaff4d663d11b764623e7baafb4f56da WHIRLPOOL 9514cd8f83c7fbaba82b49352cb9b8e62d1a5317a09bfea85ce945abd1402e634a88f6eb033494729519ac6fc1282c18bfc8224b9bbe6f41ac89a1286b1d5d0a EBUILD gitlab-ce-8.1.4.ebuild 11177 SHA256 6b920132ff2c4926f2ed3edb3fff7cdf3e88c0314f8a0a9c077cdaae9fad4a0e SHA512 617656f6fd52d0c4751e0726983fc7d2c1532e8bc44761dbbe5bfb7f489e18ef66a68769bb0f7736c9d49d536e8103a5486e92869a9bba4d1aa92c4068eedf6e WHIRLPOOL 1c8a0968a1fa7b95ceb47f66610a72585666cc5b2f7f3157d1f5c04f98a2c89d79ac1875a28c57b3116105d2e0af17dabcecaa00159af42166565ae7fa88647e @@ -28,5 +29,6 @@ EBUILD gitlab-ce-8.2.3.ebuild 11149 SHA256 b9ea26478efe2bb798334178589f94c014550 EBUILD gitlab-ce-8.3.2.ebuild 11156 SHA256 3bbee882fafa3f1cf16e5e214c87bcadbb64c0abaf1566930aa548e5198cc361 SHA512 2794d6a92dbf5341c46b7b7504b9099fd3f350de0934599d3d8d59fd26c2515a88dbf850ac7e490929ab2cc897225c40696e98192e863549d3d5e677c5c96927 WHIRLPOOL 3083fec80d5cac025b0bc29fe2035e98e37b06bf7e54c5d54519171e052f7435fef38ac7f63030f828713b1af80e949fd7a117d421231fc01fff93837f885a3c EBUILD gitlab-ce-8.3.4.ebuild 11156 SHA256 6a9d5dffb4228ef4ad3eda9429d9429ab7cc9ce64364d208b38bbd92d2fd5834 SHA512 e9cbfc68f80c737b0f605ac3db4861c50e4a304fec175db699c6eb24a1284180ea83e8a619abc3ba5808374f380d45b42986f646f8feb229af4a329807f2d817 WHIRLPOOL 2afd92aa67b7a8d7495db65830615fd6671b6b8366b2dd0492278e598ea069642c3d394fde77bd4fad6c5f0484f5d2bcb19c4b5a996a1af1db3e390a374653ab EBUILD gitlab-ce-8.4.0.ebuild 11157 SHA256 d79254791765a17fa4885ab35e0f6f2c0423ecf9227cfa71f9f6c8bf6bd6a8f7 SHA512 63d6bc7a29c0e2fe5714ed69c3966a878e60d348aec42bf0db2032873a295c81f0d27a5b5e73001b1dfc238cd635ee873d6ec6e513ace99c88a4494412337aba WHIRLPOOL 4e916bde073bd223a4c0feec794dd6f717433b4c041ace203f263731bb201b14794529d752669e9b5faca07856d1bf62466956cb0532473bb3ae4d171b8655b6 -EBUILD gitlab-ce-9999.ebuild 11173 SHA256 e0be5d06607ef23df18ad9b5762f0cc0efc6d9cc38b1e4eee2aae7680cc50d65 SHA512 06b29536c7c84240fe84de04de4ba287f26db628f11f3047afcc9c8d1943645ce7a334148da7f59ee18a3786bd5183c7de83591f3affdceb3ed27022dd8a84ed WHIRLPOOL 5c673fa697edb2e4aadca16d12b8b7acd397eb2d3a98a00cc2c9030f4d1947853680c1dfc0a6fdc7bad419bb9dfba26bac04f9194832e5c1498b5c260b8dae4f +EBUILD gitlab-ce-8.4.3.ebuild 11158 SHA256 134fedd2c467d11174a22055e58c822b953f9bdb9902aa0bdf0822c66344d364 SHA512 818c37d814074cb063c91adcfde0f1164fa89cba5a855c442470b5f0e47256f2078326f998b5502c996bf4a2c874cdc068685ad037d1dcf962c2c0bbe683e689 WHIRLPOOL a251afe289ab12dbef9114ebfcb00cf84080766e4d0c1737fa1ece1965210d4544a319af27823b4794c0bddc0cfbf6d3cb896bbe48fa02c623e0b4847b6302d2 +EBUILD gitlab-ce-9999.ebuild 11174 SHA256 ba795484b7c5c134b63047f8f88e62ff3be2de28357d223c235c881831c92853 SHA512 6102ec75e6d5e86e7241b9524863a2bc3b2fd1922464a5d1fc9454e2aff38caa20ae609bdf1b10a8870891bce9f00a9905d5b00e2bc73329d5a83e3a27f015c6 WHIRLPOOL 6c7bc32f975d7bf1b69f57c8bc6f2aaff376292ee344a4b3be68616986975b5a4fe56f7d8d60adcd7ffeaa79a89d8586503cd723154db22ca3c04bcf03e2e929 MISC metadata.xml 545 SHA256 1b7fc44d811e1ab7638fe4a40253f49d5f1071872d3020c22c4f67662750cb2f SHA512 86f47d297892bccfefa087d93936296f5647993a9ec8e3f47907a6859cbf385e5bc6f00502d7836c9e8d9efef2b6725bf145b0150924c2082b2bd164469ef6ea WHIRLPOOL 6bfb8a55684d68c8bfa6e025a0be965f7b815394ee0896dd2a13cfb524e3cf3f3149acc9072897e30a1842060389576aac07ea8beb4a8b0bfc3e8eab3723f2a1 diff --git a/www-apps/gitlab-ce/gitlab-ce-8.4.3.ebuild b/www-apps/gitlab-ce/gitlab-ce-8.4.3.ebuild new file mode 100644 index 0000000..e125ab9 --- /dev/null +++ b/www-apps/gitlab-ce/gitlab-ce-8.4.3.ebuild @@ -0,0 +1,370 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +# 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="ruby21" + +inherit eutils ruby-ng user systemd + +MY_PKGNAME="gitlabhq" + +DESCRIPTION="GitLab is a free project and repository management application" +HOMEPAGE="https://about.gitlab.com/" +SRC_URI="https://github.com/${MY_PKGNAME}/${MY_PKGNAME}/archive/v${PV}.tar.gz -> ${P}.tar.gz" +RUBY_S="${MY_PKGNAME}-${PV}" + +RESTRICT="mirror" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="kerberos mysql +postgres +unicorn systemd 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-util/ragel + net-libs/nodejs + postgres? ( >=dev-db/postgresql-9.1:* ) + mysql? ( virtual/mysql ) + kerberos? ( virtual/krb5 )" +CDEPEND=" + dev-util/cmake + virtual/pkgconfig" +DEPEND="${GEMS_DEPEND} + >=dev-vcs/gitlab-shell-2.6.10 + dev-vcs/git + >=dev-vcs/gitlab-workhorse-0.6.2 + kerberos? ( !app-crypt/heimdal ) + rugged_use_system_libraries? ( net-libs/http-parser dev-libs/libgit2:0/23 )" +RDEPEND="${DEPEND} + >=dev-db/redis-2.8 + virtual/mta + systemd? ( sys-apps/systemd:0= )" +ruby_add_bdepend " + virtual/rubygems + >=dev-ruby/bundler-1.0" + +# +# fix-sendmail-config: +# Fix default settings to work with ssmtp that doesn't know '-t' argument. +# +RUBY_PATCHES=( + "${PN}-fix-sendmail-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}" + +# When updating ebuild to newer version, check list of the queues in +# https://gitlab.com/gitlab-org/gitlab-ce/blob/v${PV}/bin/background_jobs +SIDEKIQ_QUEUES="post_receive,mailers,archive_repo,system_hook,project_web_hook,gitlab_shell,incoming_email,runner,common,default" + +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" + + # clean gems cache + rm -Rf vendor/bundle/ruby/*/cache + rm -Rf vendor/bundle/ruby/*/bundler/gems/charlock_holmes-dde194609b35/.git + + # fix permissions + fowners -R ${MY_USER}:${MY_USER} ${dest} ${temp} ${logs} + + ## RC script ## + + if use systemd ; then + ewarn "Beware: systemd support has not been tested, use at your own risk!" + systemd_dounit "${FILESDIR}/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-sidekiq-8.2.init + use unicorn && rcscript=gitlab-unicorn-8.2.init + + cp "${FILESDIR}/${rcscript}" "${T}" || die + sed -i \ + -e "s|@USER@|${MY_USER}|" \ + -e "s|@GITLAB_BASE@|${dest}|" \ + -e "s|@LOGS_DIR@|${logs}|" \ + -e "s|@QUEUES@|${SIDEKIQ_QUEUES}|" \ + "${T}/${rcscript}" \ + || die "failed to filter ${rcscript}" + + newinitd "${T}/${rcscript}" "${MY_NAME}" + fi +} + +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!" + 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 initlize 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." +} + +pkg_config() { + local shell_conf='/etc/gitlab-shell.yml' + + 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 + + # check gitlab-shell configuration + if [ -r ${shell_conf} ]; then + local shell_repos_path="$(ryaml ${shell_conf} repos_path)" + local gitlab_repos_path="$(ryaml ${CONF_DIR}/gitlab.yml \ + production gitlab_shell repos_path)" + + if [ ! "${shell_repos_path}" -ef "${gitlab_repos_path}" ]; then + eerror "repos_path in ${CONF_DIR}/gitlab.yml and ${shell_conf}" + eerror "must points to the same location! Fix the repos_path location and" + eerror "run this again."; die + fi + else + ewarn "GitLab Shell checks skipped, could not find config file at" + ewarn "${shell_conf}. Make sure that you have gitlab-shell properly" + ewarn "installed and that repos_path is the same as in GitLab." + 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 + + if [ ! -d "${DEST_DIR}/.git" ]; then + # 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 + fi + + ## Initialize app ## + + local RAILS_ENV="production" + local RUBY=${RUBY:-/usr/bin/ruby} + local BUNDLE="${RUBY} /usr/bin/bundle" + + local dbname="$(ryaml ${CONF_DIR}/database.yml production database)" + + if [ -f "${DEST_DIR}/.secret" ]; then + local update=true + + einfo "Migrating database ..." + exec_rake db:migrate + + # https://github.com/gitlabhq/gitlabhq/issues/5311#issuecomment-31656496 + einfo "Migrating iids ..." + exec_rake migrate_iids + + einfo "Cleaning old precompiled assets ..." + exec_rake assets:clean + + einfo "Cleaning cache ..." + exec_rake cache:clear + else + local update=false + + einfo "Initializing database ..." + exec_rake gitlab:setup + fi + + einfo "Precompiling assests ..." + exec_rake assets:precompile + + 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 +} + +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}" + + echo " ${command}" + su -l ${MY_USER} -c " + export LANG=en_US.UTF-8; export LC_ALL=en_US.UTF-8 + cd ${DEST_DIR} + ${command}" \ + || die "failed to run rake $@" +} diff --git a/www-apps/gitlab-ce/gitlab-ce-9999.ebuild b/www-apps/gitlab-ce/gitlab-ce-9999.ebuild index 69b1147..e348b34 100644 --- a/www-apps/gitlab-ce/gitlab-ce-9999.ebuild +++ b/www-apps/gitlab-ce/gitlab-ce-9999.ebuild @@ -53,7 +53,7 @@ CDEPEND=" DEPEND="${GEMS_DEPEND} >=dev-vcs/gitlab-shell-2.6.10 dev-vcs/git - ~dev-vcs/gitlab-workhorse-0.6.1 + >=dev-vcs/gitlab-workhorse-0.6.3 kerberos? ( !app-crypt/heimdal ) rugged_use_system_libraries? ( net-libs/http-parser dev-libs/libgit2:0/23 )" RDEPEND="${DEPEND}