From 8ed9a7d314f2142d7ecc8c2c33f3b021158f20a4 Mon Sep 17 00:00:00 2001 From: Manuel Friedli Date: Thu, 25 May 2017 11:34:28 +0200 Subject: [PATCH 1/5] dev-vcs/gitlab-shell: Add ebuild for gitlab-shell 5.0.2 Package-Manager: Portage-2.3.5, Repoman-2.3.1 --- dev-vcs/gitlab-shell/Manifest | 2 + .../gitlab-shell/gitlab-shell-5.0.2.ebuild | 130 ++++++++++++++++++ 2 files changed, 132 insertions(+) create mode 100644 dev-vcs/gitlab-shell/gitlab-shell-5.0.2.ebuild diff --git a/dev-vcs/gitlab-shell/Manifest b/dev-vcs/gitlab-shell/Manifest index 9259bad..4b55e00 100644 --- a/dev-vcs/gitlab-shell/Manifest +++ b/dev-vcs/gitlab-shell/Manifest @@ -1,7 +1,9 @@ AUX gitlab-shell-4.1.1-config-paths.patch 2152 SHA256 e789f0c8a8b7ec8a840ce26dd63d6e5386a149f619d7ad5a6788577d897c4826 SHA512 6ae5af0c364061af4c9675804e2f6d6b662ed4891ed4c80bc1be39e9da6343db372e58bf04a0d3c8a4fc218daeb8cda45636e0da0c67ec801168e84004d05b86 WHIRLPOOL b8136b81ef943c15feeca303d1d7f0d55c85ff7f7ec82bfceea026ce334ca24fce0dfb599946562bd0aceb89a2216bcfaa894235c43f41e3031a305f85e756b4 DIST gitlab-shell-4.1.1.tar.gz 78829 SHA256 61f684b4528b0b789aad80efbfd8f9870d113f6e2794e589e0db9e74e6737e1d SHA512 17b929da1c6148a9af2787ca4a18081e3108622a40c6fb3f02f36f4ba41f2a1d61cf83509ace849093334af8f4ad74d8a36393bf9fca7ab21163d2f48b499879 WHIRLPOOL cfd258e93abeae4a33c1578114d56186c81a7c5894a3ccb9b690dd9a78051746916f3bac2b7146b8378534d5e177ba4cacb4c2011b64011328b056d4d397967e 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 EBUILD gitlab-shell-4.1.1.ebuild 3653 SHA256 06702f4658b8ac1bada6b322b833f65270656730417d8c9bb000ab1fb23af8f0 SHA512 dc63160d98dabfcbaa9982fe841fd581a1b1b2a968e7c7bd1ee336e449214fa89da33477f0d4744941ee3ecb8688386883a5923e78025bdcfd1556e68ea7371c WHIRLPOOL cd59e133d1d02f082f10312b358c6c8718898aa008a967fc85934656500ceefc44a6affae286123c481aa902fa51cdb7e7f98788057fdd08304ed99f643ef27c EBUILD gitlab-shell-5.0.0.ebuild 3653 SHA256 47e19d88939c146c5a7826ca538dba2caee3bc32944eab5b80d54ddbd4c196fc SHA512 1765624d95c14e2888f3e12be05ee727bae036265fc3c9bcfe17b509c0656de72728dcb580952d2a666b3fc99c3640f43862a9ea449599aeaa7cdb2509406347 WHIRLPOOL 2b935404098f288e729c3957007cc663afc3e76a4e04f536d5c7373cbae6857abb5a5cbd2d226355777e4af954a032e9b17211657d83a71bd2eef847028aea64 +EBUILD gitlab-shell-5.0.2.ebuild 3653 SHA256 9ed7d4b6dc1ca2d6ee0c928cfd9f33da45a09a070f781d33f217a4dc80296c5a SHA512 571e8c8cd6782f7d955d8d7ff481424c8aa2bea6ab2d702036f991065f75d8e08f26b1004a91a88e2a6add8d64018cec3bb7de131635b264ad7990c392467e1c WHIRLPOOL 491af5dd4248e2728048e51d21a12768966201a93731df7743baa24ccde12228c15c9288be7cefb9b29f3ed83f27729a6f1146506365ef14d3d516b7acaf6862 MISC ChangeLog 2968 SHA256 d1febc13ae1f441766c488effc41cb4d3434d2c8874ce6f8665c71f3f7a94f55 SHA512 e67b8f8785660a0b9d9fb6849f0b14880ca90532b6b22a1ab7efc1be70ca166918364f938b3b1ad8efcb12e544ab9cdac7e0f279df9651dd51ba729ad435f233 WHIRLPOOL fb16d2699a95323ef28c2f97fd67f1882172688b11d1a63c29e5d8e01737b2af0dcf02d96122e0d2a0a751cf5acfa9ca5f0e487a2b2fa8ad4f4ff8f333c5093b MISC metadata.xml 248 SHA256 7b43be15755627edf5c12cf1b50c607d781558640bf8375d685d51d7ade99a32 SHA512 29f9b96b0a77546cce6a8bffd82fae2fd0939d32a7a05ffd0d91f9250a019a3ddaa599b93988c82daabb9c4c4b284dd947e2c47f6ca7727b8539cffa91bcb8c2 WHIRLPOOL 993013c9878ead35469db13d3072f694a341ee654182e0c31d0678f5dd6de4bdc8d59a0b7bb6d685dc41ea6b55dac518cd8034131baea8002170c680e50304d1 diff --git a/dev-vcs/gitlab-shell/gitlab-shell-5.0.2.ebuild b/dev-vcs/gitlab-shell/gitlab-shell-5.0.2.ebuild new file mode 100644 index 0000000..16928f4 --- /dev/null +++ b/dev-vcs/gitlab-shell/gitlab-shell-5.0.2.ebuild @@ -0,0 +1,130 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +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}." +} From 07c7f52f320633d911c225ed4912e8790f50dccb Mon Sep 17 00:00:00 2001 From: Manuel Friedli Date: Thu, 25 May 2017 11:38:50 +0200 Subject: [PATCH 2/5] www-servers/gitlab-pages: Add ebuild for gitlab-pages 0.4.1 Package-Manager: Portage-2.3.5, Repoman-2.3.1 --- www-servers/gitlab-pages/Manifest | 2 + .../gitlab-pages/gitlab-pages-0.4.1.ebuild | 78 +++++++++++++++++++ 2 files changed, 80 insertions(+) create mode 100644 www-servers/gitlab-pages/gitlab-pages-0.4.1.ebuild diff --git a/www-servers/gitlab-pages/Manifest b/www-servers/gitlab-pages/Manifest index 00fa9c4..161f025 100644 --- a/www-servers/gitlab-pages/Manifest +++ b/www-servers/gitlab-pages/Manifest @@ -4,8 +4,10 @@ AUX gitlab-pages-0.3.2.conf 148 SHA256 2b1d40d38d729a4e705455a2fbe745618c573cdc7 AUX gitlab-pages-0.3.2.init 698 SHA256 6751226148f5c8b53bdf3422053115ed6bb6ac3d7795b605617a7733a2b84437 SHA512 10e299febee0a66f03e8debe3f20ad635b52b5238a2ad23f585d30f14d5c0f591825bd892119f564f427e93a539184e39424c8cdc78200b2dbb5d0f588738176 WHIRLPOOL 7142b6a056a0d0a90bb18d1fdc5995c07156e05216b9e5779548427ad6f7aed4cf8eb090acfcbd0a7cc07826c0b6dfc5276ca176a80783d40405d2011a253fe0 DIST gitlab-pages-0.3.2.tar.bz2 205531 SHA256 392b0620871ab36a362f8b8b9008c266eda465e6f32611ccbdbe640cd77ae7b5 SHA512 e452af8a9d2032ccba827a7a165abf324008c585369f74d14a47524eaaa3255a92c38f102e8cf63a86012650da6265aa1a28f0ade5131ebb1df51e6202be0edc WHIRLPOOL d47459d214d1ed9818de534885ea806f092fe2fb02b2aa08b00b95fb9c3f2693b7c9b8d3e5723be55535888e1276ba4dbc24ead2f659677a43d326dcff9f3925 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 EBUILD gitlab-pages-0.3.2-r1.ebuild 1968 SHA256 947c1a842bf512d712a73c723adc9db7651041e740a575050ea636b43948d294 SHA512 c7330aaee4252d6c0bde0440d4dace061e59802459efb3da71148c100e71fe6231bb694a5aaf57e8372d5c8fca2ca84a3d359ce86dcb8c918e12fca92ca22757 WHIRLPOOL 68762bc267f336c0ac866c8e782f878d1ad5dd7066fd85bb0d5ed506b8ea9b57f28a801d6e2535869912b93fa2143f13b0155771b3ee0a31cedd3b64a01169bd EBUILD gitlab-pages-0.3.2.ebuild 1951 SHA256 c3617997d32d94ac44131e048a71f9e99db0243223f3158089154317cb4a3fc6 SHA512 123890a3c2c24d45be2a0e5d5042d8b3fe95fc6a7a51d447056fc08363a4414e47624b9c0744cba922f642fec3cc35952efdfc43bc4c5cbaac24deeb8554b3e1 WHIRLPOOL 7e09a647a1748c41da4120fdf8fd66bdd0a0adbc09a7462ffc7e3c9e5fdadf9036fa27c48272baef45d23977bf004df712aa3b4f11ecee113c4ffc306acbcc18 EBUILD gitlab-pages-0.4.0.ebuild 1944 SHA256 9ea918e126d4edc0fb785eae43f618a7744bd0fb4bd342f09725633b3cbd9f3d SHA512 7b7364e999fbabe7ef48da010ed6b799c9b4af8ee83f32d4b138cc6ac16acdcd5ed980bf217ff405c03a9ef9bf589ce95c3cad64a101d8b0f6eb0d869e0ef014 WHIRLPOOL 2ce6e870eaaf8b7522c1ec7bbf91a843a94a278de77d44bbbe4d74f8ff36aa56dd912eae2e520bac82550a4352c5366098749d7cf1893e5e50be6b708ad1aaa3 +EBUILD gitlab-pages-0.4.1.ebuild 1944 SHA256 f489ea11f220c84e099cff1ce0e960c02498846e90e22de23a3126d4cc9e883d SHA512 18391744f540507bbaee676854ca6b264eb08dcc93fe0a0c6f3bdcc34f3ee505ecb4db7f45f98a7ac2efa722f42f0aab3f174024f5c6a6f7e206fa0e08b6ebee WHIRLPOOL 182e67c00c30485fcb69d1061c397e16e18bfa62a82d729647fd795b36a5ae486a93c5d28f86ceed1b7230f3807732b241bf37532ccae0f789e90fa89ecbfc53 MISC ChangeLog 1198 SHA256 20adea92aa197d2774657be760b12b92a18a668e73adb7bebaf909bd34c9745e SHA512 13c40fd3574847af8c92b7a8758fc91001e9b82ac53c2a0f6259f494676e7dfc6a0e87c4717a0b287676164562dbe5abd61c62bfbceb1067da9a02c265d7c619 WHIRLPOOL 3778bbfd3436fca31f4a802ecc9893e31657e633720180d2f295a7e6b2616beba0e21a29ecb48c65b8da93ac83b256380bcff51aa84f76bb9041562950165efa MISC metadata.xml 248 SHA256 7b43be15755627edf5c12cf1b50c607d781558640bf8375d685d51d7ade99a32 SHA512 29f9b96b0a77546cce6a8bffd82fae2fd0939d32a7a05ffd0d91f9250a019a3ddaa599b93988c82daabb9c4c4b284dd947e2c47f6ca7727b8539cffa91bcb8c2 WHIRLPOOL 993013c9878ead35469db13d3072f694a341ee654182e0c31d0678f5dd6de4bdc8d59a0b7bb6d685dc41ea6b55dac518cd8034131baea8002170c680e50304d1 diff --git a/www-servers/gitlab-pages/gitlab-pages-0.4.1.ebuild b/www-servers/gitlab-pages/gitlab-pages-0.4.1.ebuild new file mode 100644 index 0000000..51e2bcc --- /dev/null +++ b/www-servers/gitlab-pages/gitlab-pages-0.4.1.ebuild @@ -0,0 +1,78 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +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." +} From b6653995145888284edd520b8c1c4aa984dc6785 Mon Sep 17 00:00:00 2001 From: Manuel Friedli Date: Thu, 25 May 2017 11:43:35 +0200 Subject: [PATCH 3/5] www-servers/gitlab-workhorse: Add ebuild for gitlab-workhorse 1.4.3 Package-Manager: Portage-2.3.5, Repoman-2.3.1 --- www-servers/gitlab-workhorse/Manifest | 2 + .../gitlab-workhorse-1.4.3.ebuild | 43 +++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 www-servers/gitlab-workhorse/gitlab-workhorse-1.4.3.ebuild diff --git a/www-servers/gitlab-workhorse/Manifest b/www-servers/gitlab-workhorse/Manifest index 4ca735b..9634725 100644 --- a/www-servers/gitlab-workhorse/Manifest +++ b/www-servers/gitlab-workhorse/Manifest @@ -5,9 +5,11 @@ DIST gitlab-workhorse-1.2.1.tar.bz2 381033 SHA256 b9e0bf7c2b3ad1378c59def86d5972 DIST gitlab-workhorse-1.3.0.tar.bz2 384385 SHA256 b0acbd61a7ccf37512b569dc50625ff89dec9e181f8d5ed0b6115c81ef611032 SHA512 e2ea0183666e48795d97f19117995ce0191ce6d3a3810ceabb9c365b359839d8603b65608d754fd54b41a50fa2375eb64312203d58988aabfe81026f520d2f8f WHIRLPOOL 35e8eee022fc12e7d281656cdb65f35b23eb45fff739bd6fad05e594be56578043445cd6c5fd0ac3d3b097a4d0215a19cff0cc54c2d0d5dbec6dc5df3398fdaf DIST gitlab-workhorse-1.4.1.tar.bz2 624717 SHA256 fb15cfd4cc2215b1a1f67f31f091a0d56c61951cf63f99dadcc5dd8c4b50b121 SHA512 2c70e08abff111f9614c0f6b64ac4b189a3b259c429f9e64dacce48bede3ae5241f44361d753787c7b11c6ee0819790843e7db0da2f0680229ee910e5e6d9c55 WHIRLPOOL f4b4a82823a061918bdea2ffac54491c40b4975fbe67dca1581bfe3790a8fbc825a8a2d8900d8aab242be6c8a720af2aea7e82aff3b97f66e7ab792496984955 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 EBUILD gitlab-workhorse-1.2.1-r1.ebuild 1019 SHA256 59a9b9fef8350811a1ebeb8824b8bacdfc2c145b88367841c82fe327729b63a2 SHA512 e708d5bc395b4eb8760ba218559e65059dcb499ebc45b33360da2b4b738f51fbb81ad1a2f6eb909d0d40025b45faf4c3be8fb84c945f231de0c635c2770bdbc2 WHIRLPOOL b536bb41b413beb5af648e406dc285c2e8d8b2dc8fd2803296753734feca0856219f560817c58c538b0207c4392e3c73142a8c701646033af9218023c1ca7471 EBUILD gitlab-workhorse-1.3.0-r1.ebuild 1019 SHA256 c89fb85c3f9be066b78dc3eb7eeff6b2a93e5036e526688fe19bfa7c4242795b SHA512 69db5fd2700f3ff5ee8513c60d3a704b7de82757f2c3e8d8162606873aeec05655a30169ce53ca036d52e71507f4d1e39ca1f7520abba3bd9955c5d2408d8a7f WHIRLPOOL 96890317f566dc9775eeb85d231ed92a65979d12adb8dace28bcd52bd1b0e3d5ff3acb852def13edd0d8e797922e82d0fb20b41112933496216578ab92417f97 EBUILD gitlab-workhorse-1.4.1-r1.ebuild 1019 SHA256 c46bd4235e80fcef8c35ff96638795dcc94cd4398724d94ed362a30f79353035 SHA512 70c9f57d7601abf3b0e9de9970b8aad1c3da9c818781ada3a93cf627f888dec27439cf45a53e87a415eced4c378403b2ee129799775c4cb8b142a2905e2b6e56 WHIRLPOOL 398d56fbc5b47071e68bbf97a6dfee7c0752ea9040d9209435665eaf0167c8d5f7fe4fb2cc8f7826e2961fd5ac4b87388538e4d16d7bce5a87490698f647e2d8 EBUILD gitlab-workhorse-1.4.2.ebuild 1019 SHA256 12e00f04075eb815e41640f4ca906ce1aaa833104e79c43f19c1a34c4454ce2c SHA512 8b430448c28ea695502f08928626f628657d58582439c3458370a56dc134c108c24f266a3fe2353b1ecd5082d2e53b985fa998b8919b60f81836579c884555e3 WHIRLPOOL ff37a454aa77734d4cd15b6bc4181a5dc8f1ead2d03710fdc59a514cbaa0a67202ded330021f2c6f763797763b8de94e2ffe86c90cba2336903479abcdfc3437 +EBUILD gitlab-workhorse-1.4.3.ebuild 1019 SHA256 9f04f9b9a1af3b6a14af32fc27143ef98cf8d5ea297c754e2af2f75faab90cf9 SHA512 f38aee3ae9318d4db08a6f5bf55a7d25944ca65d132f23e5638e670a31745381d93a39d9489409ee75de943edf80af555638b2748d3eb7b1b8b0d65d8c02d6e7 WHIRLPOOL 60491062d73591e137a7a6d6875174a7f7c31c6972d104c2dd856ef8513276617e1be97f18679853b86638d92ba87152ca5b3f17c43dee79db2918e3e3139584 MISC ChangeLog 6613 SHA256 cb006b86036d17d1a77bd16ee43b701a4bcb245851299fb73181e92fb10cc787 SHA512 e891fd757198a066c82a2f8843911ae836fc962d661d5d5569b82b00b9ce732f015ff5712f32c7ffe71e6ed2091f376ec621cbdfca21d5d0e7e6f85db3be49d1 WHIRLPOOL a6f6b6d975f2d0f73ff17de76c82166a5f106ab869ea15ebd31f15fd4161121c18dd4a1b216884a66e76a2bcf05083d8d6d3105b4c0dcd7dbc13c631a9c0922d MISC metadata.xml 248 SHA256 7b43be15755627edf5c12cf1b50c607d781558640bf8375d685d51d7ade99a32 SHA512 29f9b96b0a77546cce6a8bffd82fae2fd0939d32a7a05ffd0d91f9250a019a3ddaa599b93988c82daabb9c4c4b284dd947e2c47f6ca7727b8539cffa91bcb8c2 WHIRLPOOL 993013c9878ead35469db13d3072f694a341ee654182e0c31d0678f5dd6de4bdc8d59a0b7bb6d685dc41ea6b55dac518cd8034131baea8002170c680e50304d1 diff --git a/www-servers/gitlab-workhorse/gitlab-workhorse-1.4.3.ebuild b/www-servers/gitlab-workhorse/gitlab-workhorse-1.4.3.ebuild new file mode 100644 index 0000000..4cde17b --- /dev/null +++ b/www-servers/gitlab-workhorse/gitlab-workhorse-1.4.3.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +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}" +} From a9dfba77577bb84ad41bbc164a606db3ec9e97dd Mon Sep 17 00:00:00 2001 From: Manuel Friedli Date: Thu, 25 May 2017 11:47:41 +0200 Subject: [PATCH 4/5] www-servers/gitaly: Add dummy-ebuild fir gitaly 0.6.0 Package-Manager: Portage-2.3.5, Repoman-2.3.1 --- www-servers/gitaly/Manifest | 2 + www-servers/gitaly/gitaly-0.6.0.ebuild | 67 ++++++++++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 www-servers/gitaly/gitaly-0.6.0.ebuild diff --git a/www-servers/gitaly/Manifest b/www-servers/gitaly/Manifest index 7fd6736..b12ade8 100644 --- a/www-servers/gitaly/Manifest +++ b/www-servers/gitaly/Manifest @@ -1,4 +1,6 @@ DIST gitaly-0.3.0.tar.bz2 621097 SHA256 60404ae78b6551e7258a30fa615d7d8c200b84f161ecf904e034db3839391766 SHA512 ad50d15f4a97bf5dd2cc64830840041d8537bd251176eb8964cda3fdb6ef6e1bf3c8b7773516c6e1d51005cc0a718a1bc3ca95fc9ee5d0826c3f9690e1235bb6 WHIRLPOOL 364cdc3407d5fef6ac48a67f8bdd477b75300069be2cbf2567aa73ea7406256ea3c15a27c7a13f92d17c6b63f5923d4e737437bdd3a1e8b808de1832cc9c1af8 +DIST gitaly-0.6.0.tar.bz2 687192 SHA256 ead87c0da129c075011a55e5b2138febf11fd5146dd62763fc9d4b5d8725840d SHA512 f1e8e337192af02b42087604eb90fab3af73ef3753a07af368b1784462a0c1f8b1d166952b8d4e9c25c93228625195be42b4d3dfad0a70bea0520956acf2522f WHIRLPOOL 283899fb6c3fed332731d06ea42cf76ee5de433849b0784eb78b76391d15ca5feeb36fa9d28f3a90962f378c1c485eb0653a62090dbb6aae8bc87965d534da34 EBUILD gitaly-0.3.0.ebuild 1593 SHA256 f07387ac6ec3c68d2c4aa8894804caf5a456b8e12e15937d82fda4d2ed864185 SHA512 95d19b0e799195fa5e3d8cc2879c1017503f68aa586a074119441fbbcff28d2cd9d538830a3a2b40a542bdbfa99518f9afd09232907ac7e763d500cf00abe32f WHIRLPOOL 1e3c778ac33e385865a610dfef5ee07841e9a7b91800b94a3a88714caf38084584524b2f120553a9f13ee2df57309fbd8e9b1e119cdbfd2f6cc1749e25f14bcf +EBUILD gitaly-0.6.0.ebuild 1593 SHA256 34636529bd1a4523d246062b7218c99b495efd2420287b975bcf6049a1da63ab SHA512 fabbe8f46bf84198d594b3601219996def2461eba6237144cbcc73d71659b3cd29c14487a8bf3cfb3de4c5dafbb93bb9d51ade907ffc76e88bccf22bf7a1859d WHIRLPOOL c6b59a27626121cb5a88aa14f9159edeec6f4e69b9a64851a21c0a9826d00010283a218767090825452abb4ad6ba47381e57b2665c6ef4511224edbf7b988e6e MISC ChangeLog 392 SHA256 c85d6fb8a93d47762d1a6279f7523138234a5951a71700a0abb5bd6c69405704 SHA512 ff7a8dc6e0457f88e22c93ae062fb7c4da834cf679e0742f276465060164dbb510573b55bab7471ae851e5380cc60fece093ef973d4c0da4413ce0f8f3c99263 WHIRLPOOL d3b4cf6e3182e5be74aa8689b2ea5b3baf53bbf2ff2ad56bc60429d89627aad8d148877c285cc1ed0e8960ad5e02344901c3554e7e78c2e2a3a1fca9c5533825 MISC metadata.xml 248 SHA256 7b43be15755627edf5c12cf1b50c607d781558640bf8375d685d51d7ade99a32 SHA512 29f9b96b0a77546cce6a8bffd82fae2fd0939d32a7a05ffd0d91f9250a019a3ddaa599b93988c82daabb9c4c4b284dd947e2c47f6ca7727b8539cffa91bcb8c2 WHIRLPOOL 993013c9878ead35469db13d3072f694a341ee654182e0c31d0678f5dd6de4bdc8d59a0b7bb6d685dc41ea6b55dac518cd8034131baea8002170c680e50304d1 diff --git a/www-servers/gitaly/gitaly-0.6.0.ebuild b/www-servers/gitaly/gitaly-0.6.0.ebuild new file mode 100644 index 0000000..c798874 --- /dev/null +++ b/www-servers/gitaly/gitaly-0.6.0.ebuild @@ -0,0 +1,67 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +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="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/${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() { + eerror "This ebuild is but a dummy placeholder. Gitaly is not yet supported." + die "Gitaly is not yet supported." +} + +#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}" +#} From 6bb18e08afd31d72ab916ae0f76238fbe37ae6a7 Mon Sep 17 00:00:00 2001 From: Manuel Friedli Date: Thu, 25 May 2017 11:48:58 +0200 Subject: [PATCH 5/5] www-apps/gitlab-ce: Add ebuild for gitlab-ce 9.1.4 Package-Manager: Portage-2.3.5, Repoman-2.3.1 --- www-apps/gitlab-ce/Manifest | 2 + www-apps/gitlab-ce/gitlab-ce-9.1.4.ebuild | 425 ++++++++++++++++++++++ 2 files changed, 427 insertions(+) create mode 100644 www-apps/gitlab-ce/gitlab-ce-9.1.4.ebuild diff --git a/www-apps/gitlab-ce/Manifest b/www-apps/gitlab-ce/Manifest index 213d06b..1f15d91 100644 --- a/www-apps/gitlab-ce/Manifest +++ b/www-apps/gitlab-ce/Manifest @@ -22,6 +22,7 @@ DIST gitlab-ce-9.0.0_rc4.tar.gz 26270878 SHA256 f47ddcf6f4f0336228dd1ef03085c9ea DIST gitlab-ce-9.0.1.tar.gz 26350693 SHA256 94549d69650383347256b9f3f0c11f200e0e4f29118a54a99e137d895db083ed SHA512 b7eed360beab1459da5c56b911e527335f2ec7bf595649c8d0327255488d765971a612987d7b3d10f2b017bf93adfb52f739a20c6d3e251552d82f04ddcf1bea WHIRLPOOL e061946cf9831daa61809b14d71e907717e0840cc8263b5461813795871cd2bd479ddff0d3c4afeda06edfca9f819c333e0be1a0961a1dbf9c86c9d8e0315ee1 DIST gitlab-ce-9.0.2.tar.gz 26349628 SHA256 2b8913a1ed5f49c59314ce1aa5874d917d38c3c663a981aac3374ced8a123629 SHA512 563450eb22dc2eb7d8aec52b7fb2ec58339bf59f0b46e59fa2a98ff8e2634d95948b9872afc1e64bff840985ed15b8efd588661f075c27cdb984c125ea41624e WHIRLPOOL 3660dde5cadb279f48d2c43e4fb3ba47b7d7a07c38e25940d55b8cb8bf4d750ca97088db73d1f808b3ff5ef8b3867d45ec0289e1ff1e0c5e362994ed38fc9eb9 DIST gitlab-ce-9.0.7.tar.gz 26358937 SHA256 e70d1f3926f3b7e872353da2d21a7a6b44ed51a3b145e237f4768f8190eaeb08 SHA512 c3f28ef81eb546727f895d92a120e1e459b8eceb1c1068888ec9972444355c02d441bd8d85c360e684f0389b0c6f2ffae57a69a220639fa9ffe7f8c63730daad WHIRLPOOL 04380783f5074fcfe905b129e6e457da44e9dbd1d6d43d70309ea0f55fa8f916af28f52460dc68b1b588feb8d99b8ba543e52bffdee93f3115efa3473c8728ce +DIST gitlab-ce-9.1.4.tar.gz 30512187 SHA256 36e5e41c89e215ec4b25c4129a9a47878b1e4e6104c54b0cdf8981d3f39f070a SHA512 d29f2d805c14cc98f0851c4877e91ab6785bbe487341b2bf3392ee293bc683bf00dd455e400d2c3a27b8dc0a6ffa020768cbd11ec9ee029b5f0f2ccfcbfb3a4e WHIRLPOOL a05f4c66c20df274d42ea3c76491fd7ba28561ffe4f7fc97c542bd79c54bbea09646be3f7a8d5b896023e6cd1e4e13ad40915f58e91519e04dedc8939f2a405e EBUILD gitlab-ce-8.15.8.ebuild 11986 SHA256 6c86e66d4b568b88dd44ec52401e25c33b2d5e61d9a76e77180320d40ef57132 SHA512 91e1dc1cd8b9b77ea039e7e194b06c44900511b9e7787a714faec14746f96da6d00aa66bd16763732c468d8a46815e29fe761349a0a0d712db21bd4a12d31e06 WHIRLPOOL 50923df1fdda85abf7c7984a49d73d6486628439612de18ec3914274f3a053ce98ffbffec0f6ca9f2f9ba1ca9491467de0762d2d4a31ea480f32eb68222c79f9 EBUILD gitlab-ce-8.16.8.ebuild 11986 SHA256 0d5bdaf00e45fd5f48af3873cf4c9782d038338e8aa0e3a5a6fdb00ae868f771 SHA512 973a44e9d631203bf33596cfd5be1c999bbbff1ce25ff0cddd2707e59c9d98321c5efe0bbc2d62995b7b4f32c7a75b43f4bb4b3cfb10e25a64eaef5319b8ddf2 WHIRLPOOL 367b66c83a8a9356d5b76a2a03f1bd8e38714f8d7c4228d9b2f019f6ec63bff66be93c2ce657c43ae970bc693ed94fdd5b2e32488222dcae0cacbfcc15b3cb1b EBUILD gitlab-ce-8.17.4.ebuild 12932 SHA256 17cb7cc858d71085d69e6ccca5b3802244e4db92bb5092e0717b53f21564e50b SHA512 3ee082772b29b6efbd90870bf92bdf9bd2ca8821bdba724574a2c58b39e5acbc5fa8bfa4463c1ab350f5633c8f821f2f7a90952b765aacf7ff381bb7ce77b9b7 WHIRLPOOL dded31fed93b7c2a553a6a8cc07a883302a76df85d804b03ae6dfce6be447b090c54f639d9894c6d56819c409b32a8ccd1280a054ec48120b2eb58ea0890c731 @@ -29,6 +30,7 @@ EBUILD gitlab-ce-9.0.0_rc4.ebuild 12914 SHA256 72a4b8dfc10acbef389c4af00dcdc8012 EBUILD gitlab-ce-9.0.1-r1.ebuild 13087 SHA256 4dda1de15a8fb05d2fc5b97a99113fe93bb1feddbe46dc97ef3c945aa1715841 SHA512 1f44da05e954cbe8e50acc217e4c6f098f5e7aa5e31f0faf97e48df800e5b6d560b7911aaf0bf0e86bb1f267d7674895f93d908f2e9f4544fadab32d5d2b7e23 WHIRLPOOL b02d9d5d48a695e25fc6d422c49436b191a57807da5eb36ccff78287e4f38175d6958e9ae8a965433d42d26b84607beb833db79822068a4dd0a0d9bb4b60d463 EBUILD gitlab-ce-9.0.2.ebuild 13087 SHA256 f8705f07c62a4988b10b1c83ddb743032d1838f24b562a0f69df72ba690ed1f3 SHA512 c0cf1b1228e5499c7643811f80db010dce67d20da5aefd6a40ef2a537bb4ed7b589e8f878307a06ec1fb8d053a3e2ea00a97c66a7edb6e4845f92b493fad9b82 WHIRLPOOL 2df17352ea8ea15fbb74a10b1941b369d642f65453d10599d599925cc46d5f71e9a6149dc56acf15a501750228dc1eecceeb19d72890f3835a514c891f84dcc6 EBUILD gitlab-ce-9.0.7.ebuild 13087 SHA256 68f0d2d7c8cde9b07bb280bb2f6b6d3fea4de6791571f27aaf619853940d2d30 SHA512 21545e878a2f60d082b132256fb09c72a5cc1d252115f448770432fd98becc5aeef42281f00fa55642a1a0866f41f107903b33160e52c61bc4c6d7811f5a06fe WHIRLPOOL 6ad81da17812721b94e8fcfc2328a24355a1f777d067ff2f557f0928ea2f4af55f0edb8587b8fe004f5481254cd72a520a7a77a6a601afc12315d8d37773f5c8 +EBUILD gitlab-ce-9.1.4.ebuild 13214 SHA256 72983da6d39625c6263e066dd4b965418e8396e3acd68fedd5ed5961e09c274b SHA512 b1b7ee8e9ccb9ee672467ef69ef74ccde04381b5135c8652d5bb030581f64e8881e31c274bcc865dac608185c5922d639f2c500b05dfdb40edbe462b337667e2 WHIRLPOOL 01554bbced8a3255ec0439c9e5352e4bf4e963daa3df36d3ac90bf6acded983c0d44bcb10fd40006b3c1ebb9a94c170b7efd63adef8272eb936954e3f344e7b2 EBUILD gitlab-ce-9999.ebuild 13029 SHA256 b4a010ff86baa4f2a7cf1349e74f49e763b88bb675f01acdbaf16c204597859d SHA512 6cdfdbf27a3ccec276ce06c25dc5a76cba6fb25f807650f5e2e5ed600fd03e487a60de3481719c53fffb43d3f7d2a0e8258a41dd0e461be1e82252eb59105372 WHIRLPOOL 0994bab6308ac1c466e17d53b7057f51e472b4b5cc0ca1d91b11217d0caf9448d3a69d769732c2acb4194f3eb5a94b8bb3c98441ec99ca94066900c7fe5e85ac MISC ChangeLog 17848 SHA256 d57ce2fbafb6a62a30a4bf02feff9c37f33b94f8158f6b50c87053d8422307b2 SHA512 3b83ca4c32949ff08d1d59131388f3f59497c7831c5b09d1fd10a36445f1c383dbf04e91ddeff6c9b6c5131578450afb354b03819ddba80f7249b0ddd0b4f2e9 WHIRLPOOL d5ab8749e2c7d6a18adf2d63a7c7a69b40d93357d3e5714f131ec7cacca6008ca41f23a2c2bb8ece1ba10aaebf47b5f1363a2c4a29bbbe45672d06904e82f614 MISC metadata.xml 801 SHA256 3dc7486a12903f47f65968d524c93500ba30a4a09fa57e5a9dacf356509b44bb SHA512 e132754b72e64246531fa883400a0cf1a473ac5a6a49623db58ccf118a038b7cf37df03d9550f37b4a25f9ddbb1dcc5652ec9a4f2259d8e3ce202692c4025f41 WHIRLPOOL e9d961681fd790008eaf80fa07ce2c55a00a58f2e920d759793783ca8c8f508602a777e94c0cb65fe87c7dbef0cabdf26e4f4082584421097d939cbab20c4ac6 diff --git a/www-apps/gitlab-ce/gitlab-ce-9.1.4.ebuild b/www-apps/gitlab-ce/gitlab-ce-9.1.4.ebuild new file mode 100644 index 0000000..651699a --- /dev/null +++ b/www-apps/gitlab-ce/gitlab-ce-9.1.4.ebuild @@ -0,0 +1,425 @@ +# Copyright 1999-2017 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="ruby23" + +inherit eutils ruby-ng user systemd + +MY_PV="v${PV/_/-}" +MY_GIT_COMMIT="fed799ae87ba5a95cf46d8426e96ad621940d0a7" + +# 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-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/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.14.2 +ruby_add_bdepend " + virtual/rubygems + >=dev-ruby/bundler-1.13.7" + +# +# 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 +# +RUBY_PATCHES=( + "01-${PN}-8.7.5-fix-sendmail-config.patch" + "02-${PN}-9.0.0-fix-redis-config-path.patch" + "03-${PN}-8.17.0-database.yml.patch" + "04-${PN}-8.12.7-fix-check-task.patch" + "05-${PN}-9.0.0-replace-sys-filesystem.patch" + "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 $@" +}