diff --git a/dev-vcs/gitlab-shell/ChangeLog b/dev-vcs/gitlab-shell/ChangeLog index 9e8e97d..1236d29 100644 --- a/dev-vcs/gitlab-shell/ChangeLog +++ b/dev-vcs/gitlab-shell/ChangeLog @@ -1,3 +1,9 @@ +*gitlab-shell-4.0.3 (12 Dec 2016) + + 12 Dec 2016; Manuel Friedli +gitlab-shell-4.0.3.ebuild: + dev-vcs/gitlab-shell: added ebuild for gitlab-shell-4.0.3, a dependency of + gitlab-ce-8.14.4 + 23 Nov 2016; Manuel Friedli -gitlab-shell-3.5.0.ebuild, -gitlab-shell-3.6.1.ebuild: dev-vcs/gitlab-shell: pruned old ebuilds diff --git a/dev-vcs/gitlab-shell/Manifest b/dev-vcs/gitlab-shell/Manifest index 4fb0cd4..1657ca3 100644 --- a/dev-vcs/gitlab-shell/Manifest +++ b/dev-vcs/gitlab-shell/Manifest @@ -1,7 +1,9 @@ AUX gitlab-shell-3.2.0-config-paths.patch 1826 SHA256 c83db7c37dcac577ce499eab4bb0168253f49d303ba1991fdec90d13cc3fe37a SHA512 7524b6b8cd7cd141a56c468efa303b1d21576ac9e03cb866cbf9dcac34e1b8d4f356333737050e2e5dfeb0f0ad904b3f548c40e1209c1f35054ed2027b1d8271 WHIRLPOOL fdbd2dfe43ff4a2af97227fbf8c4589ca3734ebf0320b7e9c5e8ea39882c49d45815a0ee3c765a141affacbe48f4063987b9664a918e0e216b49ca46a475cc5f DIST gitlab-shell-3.6.6.tar.gz 77199 SHA256 db3f54b561bb81059256c634967b181707e11cc25e30b0fa76eb034718d0eaf9 SHA512 d1d15687169f7b151caf3b371d6570099129a2a69d7732e6be7337f70aaef7e36c87e8aa5140e9697c7be36185743bb939d862790b440fc18d7a864d570fcb6b WHIRLPOOL 4161901369cc12a89fb89c41bd98cfc2cfdeb5aac6d317597ae11f10bcd401e4c18148ce9a20f5e967a6fb11559f33aa72c82dff1a52764c5a19bcd0f06250c1 DIST gitlab-shell-4.0.0.tar.gz 76582 SHA256 2d8d5e31eac5007a70720465d71c6cee74428a71c2fda7e21ca8393bc8c8966f SHA512 dd44528dc2914025e850b7172df1c5e0b39f8c1764adeea62a824643723c3264c462006ddf0cc6f4519d0caf0c39e6cee601f9f7988eb54138118176178045e4 WHIRLPOOL 462886da23a1723049914759f0b315d39c42488e55dfab4debae57c7b20878a421dac36a77d5e82603119e4eb142c83dbf18e28213670abd81396de1d0c683cf +DIST gitlab-shell-4.0.3.tar.gz 76721 SHA256 66f9a3572e6cd06632a267a5248c4878bf48ff62f5360b3108f42100b3ffd361 SHA512 b45027141557403a9e7818dec93b3e790a38887c22f3a2d0f298f1238e51ce4d96f603b2b225433275afd601e7544a611b98ec6711b0ed95228f321fe4b8d898 WHIRLPOOL 836e7476c874cfede14b66ee445cfac08db2cf22f2803fc0def8a20924e2578b441d605d85a923f2951bd5a6a9d11e79f1a15762bd401b8111e61fbe1d28b56e EBUILD gitlab-shell-3.6.6.ebuild 3653 SHA256 49c383d1d5895069a6783e44d492935879801efd95f57548a81e10df48339038 SHA512 4e6dd5c34a56ed0e1fc45819c93239c61d900304cc8df20855f4e71e4fab234b5e81612f256155022f362f4f9a0959531a3999eb7ece9013914129e4343795cf WHIRLPOOL 92d40a6cb8dd19a42093a746e29ead878eeb9b0c741e23ca3e6213c0a14b820584633db8f2d5ac60cd28da15546232de417db72ccdf8608bc49ac333107f7193 EBUILD gitlab-shell-4.0.0.ebuild 3653 SHA256 1413668c9a75cc89b4043e497b9339639bcfce942486d8dada512968c53633b9 SHA512 0f825e5812084601b56f790d880da266986717cd2a35a4033cb75710b3cae624fe5015412a0674dab3c2099eaf29a956af19ffcc6d671bcddf72dfb8507f47e1 WHIRLPOOL dff4dc61e0f568767e25e865546a57018f82b2f28c5bc974df263021d19c0cf194a269b21b8422878e09cb3fd8c7cb34600e005c49dacde0c56df1701bb5e64c -MISC ChangeLog 2364 SHA256 32bb4af74bce1cc6fa0e4baa257b94472850cf83c0b4f3cf7ebdd1f9ad19ff46 SHA512 d9074b513070eac189c3991e16f3315e2fcc96cd723bef0c3ad557f04c9910ddf81739bdfd83a08ca351081001b960eb91af5f1ace3b64a127f2dea5256b8abc WHIRLPOOL d50e06a7847c1ddc50317edd42b593b5fc2c47d144bef4ee1f2d476a7a42a35b88552ed7b53e2156ffde2ab51accfcf38e24bfd157e3dc47589db7a98f31ef77 +EBUILD gitlab-shell-4.0.3.ebuild 3653 SHA256 4c47b55bc61c0d86499f2b7ab3a94ae1b5b6886faf9035f2a98094ebf7701aea SHA512 7de7b0c8b164d50de2cac220f66fe5a9a51809db8e565e74d27449ac2629c566b0d5d90b3d6f9dd0a2bf609526ec4cc62744d2c80d27b302d5719ec28f3485c3 WHIRLPOOL 79ea419a1107ea54aa0937cee7043e7691799ead6dabea69bb11ea57af0403102e5e7ab4de844f2358449578dd583d433eebfc567f88c1e2110e7fe1731ca47b +MISC ChangeLog 2576 SHA256 bdf6d8055e11a9d46fa77cd325fca046028cc50e6c5cfdb2350ad4aa5190370a SHA512 e88f5072f982524104ebef77c018946d1f37a1f0bb572c29e9bb529de4a774a6ceba1844a0b5d40a130f4c29b8dae177387f8bbf7b28c2736ee621a7fec8cdcc WHIRLPOOL f4852d792d410e59b97bcc65e14575f1ca77f562eba89dde926375efb8d5660c27e0ab4d2336f33bf898b2c468b6b6b82b9168e36bb96305107d17ebf2464efc MISC metadata.xml 248 SHA256 7b43be15755627edf5c12cf1b50c607d781558640bf8375d685d51d7ade99a32 SHA512 29f9b96b0a77546cce6a8bffd82fae2fd0939d32a7a05ffd0d91f9250a019a3ddaa599b93988c82daabb9c4c4b284dd947e2c47f6ca7727b8539cffa91bcb8c2 WHIRLPOOL 993013c9878ead35469db13d3072f694a341ee654182e0c31d0678f5dd6de4bdc8d59a0b7bb6d685dc41ea6b55dac518cd8034131baea8002170c680e50304d1 diff --git a/dev-vcs/gitlab-shell/gitlab-shell-4.0.3.ebuild b/dev-vcs/gitlab-shell/gitlab-shell-4.0.3.ebuild new file mode 100644 index 0000000..9df8c58 --- /dev/null +++ b/dev-vcs/gitlab-shell/gitlab-shell-4.0.3.ebuild @@ -0,0 +1,130 @@ +# Copyright 1999-2016 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="d4f2f5bae9808dd08b67f04cf928dab3a5f04f13" + +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}-3.2.0-config-paths.patch" +) + +GIT_USER="git" +DEST_DIR="/usr/share/${PN}" +DATA_DIR="/var/lib/git" +LOGS_DIR="/var/log/gitlab" +CONF_FILE="/etc/gitlab-shell.yml" + +pkg_setup() { + enewgroup ${GIT_USER} + enewuser ${GIT_USER} -1 /bin/bash ${DATA_DIR} "${GIT_USER}" + + local git_shell=$(egetshell ${GIT_USER}) + if [ ! ${git_shell} -ef '/bin/bash' ]; then + ewarn "User ${GIT_USER} already exists, but with the shell ${git_shell}." + ewarn "Changing shell to /bin/bash ..." + + usermod -s /bin/bash ${GIT_USER} \ + || die "failed to change login shell for ${GIT_USER}" + fi +} + +all_ruby_prepare() { + # fix paths + sed -i -E \ + -e "s|/home/git|${DATA_DIR}|" \ + -e "s|[\# ]*(log_file: ).*|\1\"${LOGS_DIR}/gitlab-shell.log\"|" \ + config.yml.example || die "failed to filter config.yml.example" + + sed -i \ + -e "s|File\.join(ROOT_PATH, 'config.yml')|'${CONF_FILE}'|" \ + lib/gitlab_config.rb || die "failed to filter gitlab_config.rb" +} + +all_ruby_install() { + # install lib + insinto ${DEST_DIR}; doins -r lib LICENSE README.md VERSION + + # install scripts + exeinto ${DEST_DIR}/bin; doexe bin/* + exeinto ${DEST_DIR}/hooks; doexe hooks/* + exeinto ${DEST_DIR}/support; doexe support/* + + # create symlinks to bin + local name; for name in $(basename -a bin/gitlab-*); do + dosym "${DEST_DIR}/bin/${name}" "/usr/bin/${name}" + done + + insinto $(dirname ${CONF_FILE}) + newins config.yml.example $(basename ${CONF_FILE}) + + # create symlink for .gitlab_shell_secret + einfo "creating symlink for .gitlab_shell_secret" + TOKEN_FILE="${DEST_DIR}/.gitlab_shell_secret" + dosym /opt/gitlab/.gitlab_shell_secret "$TOKEN_FILE" + + # prepare directories + diropts -m750; dodir ${DATA_DIR} + diropts -m770; keepdir ${DATA_DIR}/repositories + diropts -m755; dodir ${LOGS_DIR} + + # GitLab stupidly expects that gitlab-shell is in home of git user... + dosym ${DEST_DIR} ${DATA_DIR}/gitlab-shell + + # fix permissions + fowners -R ${GIT_USER}:${GIT_USER} ${DATA_DIR} ${LOGS_DIR} +} + +pkg_postinst() { + # check git home directory + local git_home=$(egethome ${GIT_USER}) + if [ ! "${git_home}" -ef ${DATA_DIR} ]; then + ewarn "An authorized_keys is configured to be inside ${DATA_DIR}/.ssh," + ewarn "but HOME of ${GIT_USER} user is located in ${git_home}. You must" + ewarn "either change the authorized_keys location in ${CONF_FILE}," + ewarn "or change home directory of ${GIT_USER} user to ${DATA_DIR}" + ewarn "and move ${git_home}/.ssh here." + ewarn + fi + + local auth_dir="${git_home}/.ssh" + + elog "Initializing authorized_keys file in ${auth_dir}" + mkdir -p ${auth_dir} + touch ${auth_dir}/authorized_keys + chmod -R u=rwX,go=- ${auth_dir} + chown -R ${GIT_USER}:${GIT_USER} ${auth_dir} + + elog + elog "GitLab Shell was initialized. Repositories are located in" + elog "${DATA_DIR}/repositories, scripts in ${DEST_DIR}/bin." + elog "All gitlab-* scripts was symlinked to /usr/bin to be on your path." + elog + elog "You should change your gitlab_url in: ${CONF_FILE}." +} diff --git a/dev-vcs/gitlab-workhorse/ChangeLog b/dev-vcs/gitlab-workhorse/ChangeLog index 7980bb2..64683fd 100644 --- a/dev-vcs/gitlab-workhorse/ChangeLog +++ b/dev-vcs/gitlab-workhorse/ChangeLog @@ -1,3 +1,11 @@ +*gitlab-workhorse-1.1.1 (12 Dec 2016) + + 12 Dec 2016; Manuel Friedli + +files/fix-Makefile-1.1.1.patch, +gitlab-workhorse-1.1.1.ebuild, + -files/fix-Makefile-1.1.0.patch, -gitlab-workhorse-1.1.0.ebuild: + dev-vcs/gitlab-workhorse: added ebuild for gitlab-workhorse-1.1.1, a + dependency of gitlab-ce-8.14.4 + *gitlab-workhorse-1.0.1 (05 Dec 2016) *gitlab-workhorse-1.1.0 (05 Dec 2016) diff --git a/dev-vcs/gitlab-workhorse/Manifest b/dev-vcs/gitlab-workhorse/Manifest index dedb064..7e30402 100644 --- a/dev-vcs/gitlab-workhorse/Manifest +++ b/dev-vcs/gitlab-workhorse/Manifest @@ -1,16 +1,16 @@ AUX fix-Makefile-0.8.5.patch 354 SHA256 1773a2e9f535c08f602903924b24918553acf563ac9804f79f26f9f58cd915bf SHA512 2fa8ed07e5e2d012452368047b8aef441015f013c92670961d3b1ea7f131eb49379e0817eeb0da38f04ddd6b9aaf0d081bfcc6ed9c5b83c94ef97b1831836b08 WHIRLPOOL 20849d2cbbb2d5feb48255c3e98a0c9a524078fb51c311d09e833056f07a35c938bc82686338f028ade7eb74090c6c84473e6945e9bde99dbe3d2d057b94a7f2 AUX fix-Makefile-1.0.0.patch 354 SHA256 97432841e31d2904f6c3d23b4a5e885def82423c404d45e7b0a03be23bf683cc SHA512 44c0a7b8a3078b7308645fcb7c2ec801ac774dcd138356f3c01e6cdd6cd80bbf1fab155f2b604b0f000f6189f36b3c0a1bd8cf9dbb69ca2f8e6fe7e709ffe86b WHIRLPOOL ca42e23b701247f900615d2dbf1d6c983bfb5aa0519c9e100d94e6019a018f11c30794522aba05e0bee89dfa1a898dc2271326fc495cb3428603e972d3c548d0 AUX fix-Makefile-1.0.1.patch 354 SHA256 afd87271fc72b95ec823cc71621f641ba13759eb41302328b6a6406e12679b77 SHA512 0e7e3cf42bffcc513526f8610b93444f2d702d4cb71ca07aa413288c1fd977b667c718116d92e4a2dec5605b5c7950f5184ce49761b36f2917b89a16beed9a6e WHIRLPOOL 63daf56bb99fbb81aa2856db38484e5f7aea1b948b3a37e768e78bab1d588e80d8fa36016966599d680b81253d27b37d5b931827ee30577cc81e668298e8995c -AUX fix-Makefile-1.1.0.patch 354 SHA256 78382481cd8a89800183d5a0c8b1c0adfb67b27913c85a36d83762ff2ada70dd SHA512 3a84d4f41494f119198e6ac03747c571bac37c01fd6b204296f695af5239ae64d5c541f184e17fe40a1e2c08c84fe0a01e0433ece55e9fa418d9a166ad3c8697 WHIRLPOOL feddbb1d135edb31b2a6d69c11723624517b3ed7088468a9caef64954a5ec0649d1905d3def8f6d0d0653264eb82e1ad350c24b78568cd890343af22f440bf98 +AUX fix-Makefile-1.1.1.patch 354 SHA256 b86b7b8df53776684bdc6dc1f39d4416db618327397d6d37bbfa719d34b75f46 SHA512 4d998b7786fe280c1e903c924920e405db4ee2f6675831c7f63dfa801fe23a7584ea61860cb0cdf0972b3939e053fb5f27f995e105c67d04fa913610f08c4dcb WHIRLPOOL 267b0b07c79ac90239eed95c4b465f4c47321d05ebc419cff26416db1646831fe6088657b33086886c790a074347e3c9c44c85792465adf378e5aecc1b6d2299 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-0.8.5.tar.bz2 229807 SHA256 fec50a37d17c359726ac3e0d2bad4ad3431e6bec9aaa6dbf5dcb81bfce469369 SHA512 c149c4cecc1c64c472e38eaae8cf4522a4b19907ef3a9eda4490ddb6cda6083bdbbc1a827cfc2c4d7ac151e3edc4b5dbfb168e2590ea71f12c2836680b2d8033 WHIRLPOOL 21aa589997e934c664fcf3b6cfb19246910a87ec674fbf2fea5a04728bc00248c79b4ed555601af0adbd20a11ca2ba040c1ccb92323acda7bab3da8c37840340 DIST gitlab-workhorse-1.0.0.tar.bz2 233511 SHA256 c053224e050b9169441316bb1ab1a23449c7e8c125d4172badfc84ddc700e09a SHA512 f6369c777e3fd422f8136276c8f7ccd5a73d60e2559427074c484672d048dbbae9c7f8a0af7fd54e64de0ca3d1a679cb294f114397b8137a929437b7e10284db WHIRLPOOL b322ee8150c2ca6d0f85a211240fe87b15006ad364c333126d48d65d93ebd57d31f312f88d437bbd473acdaa1f74154b20f9f71a51e8ff0f381f793d89fba6e7 DIST gitlab-workhorse-1.0.1.tar.bz2 233519 SHA256 56228d2242be664d818c47b3c8c1a83e7b71f3bc4ef80d1dde267eb25f671736 SHA512 04b1a9f823fb39176fe1939dd3c62ab0bf74fa4e11c34f0345ef16b3d51d55791a56b4989ba7c99e46ef199d65d8bd1eb6545e458eec255f9d7f7b71853493d6 WHIRLPOOL a3322c8b4ea9909216d486c6571d1382081f6715a1da2224152392f83b4b1718b5d596cd52eafe257fbb2cd31ac65da6e88334e18eff138dee0644fe95113c7c -DIST gitlab-workhorse-1.1.0.tar.bz2 355905 SHA256 955d3c4b1b9bb8ec27457a1517e7a7e59ed0c332155cd5661e0814d0025b916c SHA512 957411c2ddce0e9aa7f088446b8d1974ac15ea5e8154edfe8483e39b99114fddc5398cdae0f4784b91dbf31e1817a21ee234810d548afb1e4cde4409e5703185 WHIRLPOOL b6befcdcf051b32279484621ad623768fc4428ac0fa7916bca4fe5bf329de0f42f54789c9dc9a2d60f7bb625eff225dc89b52355427c04ef7132475977475912 +DIST gitlab-workhorse-1.1.1.tar.bz2 356238 SHA256 dbaa8559beff71f887a67606b8f0a8f197b3d79fc4b99eeaf07b2940755da623 SHA512 6a01c206139d56a7058c8a00ac2a9f930dfdf744b979cc1e1bde831bb362ede2be4542f66c3048920bb4b1ce91311580041d705ae4f00e4b8d78691aed62fb90 WHIRLPOOL fd150e15dbdf5dfc988ee953369279ee97452c8e5c9a5c4d6f20a129c30cd9a2b2119e30e62fd741472de45a29661663774247060616213b26c76afc37300cdc EBUILD gitlab-workhorse-0.8.5.ebuild 950 SHA256 259a4406de93bd2849916d537b67103bcbd4247c5e00871a0c4d9f0bfc84ae11 SHA512 b30e842434de5ba6277b7e1cb3bc38240eeba272dc3ace95a1dfc2dac7b63b1a7cc098e4c2e763ec57b4592c66b3b990a903e1d2382613ef1a7acd5346e9a9c5 WHIRLPOOL a8734afda28cd6c76c3ff381d780188a4d79c7abe3ca2f96087cb1e82c0f7e37acf0610ae80eed1123a66da16a53b6d4d5f080588a45d3016d73efcd5dc91b3a EBUILD gitlab-workhorse-1.0.0.ebuild 950 SHA256 0177716249d616021e648a97e2ca38972a5587e09357f6bf96086b655dbdd7a5 SHA512 65976da76880b22341a0317a97baf4be786fb593e1fc33774d31e8c23ae7b91f67a1d890f3decd6cf83b5732da311c042ef60cd26f030b8f6ad2fd61a27e7f74 WHIRLPOOL 437c69ce0cc4025fa4d32346b9eef9de78ef1a215de2ff8bc6edfb72af43708e35dc6ee1b064f021c566acfcd0bb11156487042e7468680b5781904ce4fbda16 EBUILD gitlab-workhorse-1.0.1.ebuild 950 SHA256 971e0291cc860752de5cfb5d371aa9d36e3f8207f4e7ea8a6833a7f8f80bd3f4 SHA512 03620193b6d9f3f3676cacbf0a832c7c87993bafbe68f4a27e6aa58da1b515e8c45125125d830c4770ec6294aa457af4880170d15deb1fc9edcbce0b6ee1a4fa WHIRLPOOL 80f4fd161a0a86e7ae2fc3fca6678bfbedd0a9d87368cf3678e3bc4712900bd4997193af87ecba983f976448e78791c13200e9db10fe07a6ffb7b474443820b4 -EBUILD gitlab-workhorse-1.1.0.ebuild 950 SHA256 7cc486ef442d964fe7465e7499dc6b005ad0b30878b05812539a8d56661cc1fb SHA512 fd0c4dbaf9d2d96239fc834a0ae0a3bfccb77bd00a8e880cf1beb9182c13ab7269b7cf35cd06e0765377722d06017f2eb250e6bc002968b7c76f254ebef13409 WHIRLPOOL 71a4e1e33fe9f891ab8d352f5dc2ee536f5cccc222a92ea39c7cbcbdd1785cb41e27c3cd29ebd9f8aada2dfa4beb9ca6c60147a6d6bb82e9c50ab3ef413c8ec5 -MISC ChangeLog 5161 SHA256 651749565948a722366a5743e31ece1392342e5259b79964fc33eeb02ff80588 SHA512 bc74ec2c6a81996b9e0a3d4884a191b6ccb1e53e0b08502666d93034b012e9a95ec9eba48f75f69eb6c3e841d37e8bbcafe411afb778bc7ae78b630a3632e370 WHIRLPOOL 29640ba67d3ed461ce7a3718e0f222fe4c45c47df5307e13ccaa44e0fe39a1b72aaf13f49545e94124d16a3706ff21b49709fff39ddbade92cf63a4ed108208a +EBUILD gitlab-workhorse-1.1.1.ebuild 950 SHA256 3f6d9813ac7db6f8816ec02f95e1c6332d7e93c8880ce548c9680304c610b95c SHA512 d607edcbe4c73e736d886d0e342de4b738a16ddbbcc5266653194fba3613cda15fa8516a5a45131a6cc0bd42e7bfa77910837b55258c7cef47b337fba5aa1dde WHIRLPOOL dedd9011f5ec182a3317c34bed540cee000cd34cb59ee5164c902faf9fbf0be102f63cd548dc42c1133025378a2bce8a243d53289c4902172eb78389349179c7 +MISC ChangeLog 5491 SHA256 c4ec478ebb95514ff906ae600e9dd56f0aebc9f1ee4e988eb0b9c855b73c6d00 SHA512 09cd0ab1cfd42a8683d5b98b5e6ce4fb037e99cb00804c8df01037c2cd261d3578db39456160b210b03de27e2de8723e63c3ea4633406610963a51920f03d189 WHIRLPOOL 68f88a121dff93ae4e348d11ca80cbe3102aea6f3377250bda6563239b7670c59e07b1425924b747650ac8082833587c77e4b0995827079fe74cae8cd0b4455f MISC metadata.xml 248 SHA256 7b43be15755627edf5c12cf1b50c607d781558640bf8375d685d51d7ade99a32 SHA512 29f9b96b0a77546cce6a8bffd82fae2fd0939d32a7a05ffd0d91f9250a019a3ddaa599b93988c82daabb9c4c4b284dd947e2c47f6ca7727b8539cffa91bcb8c2 WHIRLPOOL 993013c9878ead35469db13d3072f694a341ee654182e0c31d0678f5dd6de4bdc8d59a0b7bb6d685dc41ea6b55dac518cd8034131baea8002170c680e50304d1 diff --git a/dev-vcs/gitlab-workhorse/files/fix-Makefile-1.1.0.patch b/dev-vcs/gitlab-workhorse/files/fix-Makefile-1.1.1.patch similarity index 86% rename from dev-vcs/gitlab-workhorse/files/fix-Makefile-1.1.0.patch rename to dev-vcs/gitlab-workhorse/files/fix-Makefile-1.1.1.patch index 029a9a4..e05a817 100644 --- a/dev-vcs/gitlab-workhorse/files/fix-Makefile-1.1.0.patch +++ b/dev-vcs/gitlab-workhorse/files/fix-Makefile-1.1.1.patch @@ -6,7 +6,7 @@ index 3f6ac91..663ffbb 100644 -PREFIX=/usr/local -VERSION=$(shell git describe)-$(shell date -u +%Y%m%d.%H%M%S) +PREFIX=${DESTDIR}/usr -+VERSION=v1.1.0-$(shell date -u +%Y%m%d.%H%M%S) ++VERSION=v1.1.1-$(shell date -u +%Y%m%d.%H%M%S) BUILD_DIR = $(shell pwd) export GOPATH=${BUILD_DIR}/_build export GO15VENDOREXPERIMENT=1 diff --git a/dev-vcs/gitlab-workhorse/gitlab-workhorse-1.1.0.ebuild b/dev-vcs/gitlab-workhorse/gitlab-workhorse-1.1.1.ebuild similarity index 94% rename from dev-vcs/gitlab-workhorse/gitlab-workhorse-1.1.0.ebuild rename to dev-vcs/gitlab-workhorse/gitlab-workhorse-1.1.1.ebuild index fd954f6..3d51371 100644 --- a/dev-vcs/gitlab-workhorse/gitlab-workhorse-1.1.0.ebuild +++ b/dev-vcs/gitlab-workhorse/gitlab-workhorse-1.1.1.ebuild @@ -10,7 +10,7 @@ DESCRIPTION="This is the new backend for Git-over-HTTP communication needed for 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="8f4d03c3a2936c27e5460e11a928e996e1ec77cc" +MY_GIT_COMMIT="f2d0435b2688b0083dce97bb20895befe3b98282" S="${WORKDIR}/${PN}-v${PV}-${MY_GIT_COMMIT}" RESTRICT="mirror" diff --git a/www-apps/gitlab-ce/ChangeLog b/www-apps/gitlab-ce/ChangeLog index 19ad9c3..acc623a 100644 --- a/www-apps/gitlab-ce/ChangeLog +++ b/www-apps/gitlab-ce/ChangeLog @@ -1,3 +1,8 @@ +*gitlab-ce-8.14.4 (12 Dec 2016) + + 12 Dec 2016; Manuel Friedli +gitlab-ce-8.14.4.ebuild: + www-apps/gitlab-ce: added ebuild for gitlab-ce-8.14.4, latest bugfix release + *gitlab-ce-8.14.3 (08 Dec 2016) 08 Dec 2016; Manuel Friedli +gitlab-ce-8.14.3.ebuild: diff --git a/www-apps/gitlab-ce/Manifest b/www-apps/gitlab-ce/Manifest index bdb4ac3..4b79d96 100644 --- a/www-apps/gitlab-ce/Manifest +++ b/www-apps/gitlab-ce/Manifest @@ -19,12 +19,14 @@ DIST gitlab-ce-8.14.0_rc4.tar.gz 30101713 SHA256 667cccc428d20d241a19bb554eb5176 DIST gitlab-ce-8.14.1.tar.gz 29715000 SHA256 81c5b9019fba31546ce414424a567a999783be0d5ab0ae865c5576073e864bae SHA512 780040ea9764dbadddcd9c8cbbb743e4b101d5da3fdbd792b6da3dced26179884bb348323c75888040b45231f091605246ccaa6af17f79e2aefb0931bbf32a47 WHIRLPOOL dd23ae35a67f1cdca76f671b96ab6dd8f5b7782e3e43da0e63872a0842098da8e2dbcf6515a8c43a1f1fdb0949a8ce19d31148b50b198fb4054f32285f914690 DIST gitlab-ce-8.14.2.tar.gz 29715506 SHA256 9d45a0a86c6b01e0c48e7fe2fc442fe774f062b8b149f1d697c38aa29f6c3a25 SHA512 f65d12eafc397c5146264615ae384721165bd11498adf02f34c3fa65e55ac0b20d16d14d78455d46454c14bd0f075dedd627d5940853bfb99143c52d4d8c4194 WHIRLPOOL 44a9daf2dc4aea80e84a44fe45d085600ef463b5346417f36c4fd550749bba4599e328f43485317dadbbdab2fca6fef56c91cc41ea6156eeb797671e7416bc7f DIST gitlab-ce-8.14.3.tar.gz 29717697 SHA256 df0b57646af534a874128d6e1903cee215c093a3c6302315cc53a9bddf62582e SHA512 9c7c58d0c6c7df447b0f723c550cb95530e781cf75b915b49e098dc0742cc18dc47e665cfa228dc2867ac5cc4dc40d62b6544d0160738a596d2331628c80304c WHIRLPOOL d96e9cbcbee48ce5f6ceff88756ad7493c0b5a3111ff072996541e5b650f0feb727eceab5e0859873b68d6248d790c4dacb8bc9e2d1f288936fc102de1410052 +DIST gitlab-ce-8.14.4.tar.gz 29719940 SHA256 32c8e66e3c5f820874548c0ceab0215a567ca7b58a9ea604adc63878f50f8307 SHA512 426faaa4a4f18e9462d2153f031db8394465581638d259e6e0282a2bfe6c72c8738ca0dc084969f414e61a362bc5792656a07b33592a7f880307613fc152f8ae WHIRLPOOL f3f3a012f26a5a3dcdc5214b039128280e75ddf885b71fdacec13119cc6229dd771db0186b8fb04c5f761e62cf5962867570c6c4bfd47eecca57f1665521b220 EBUILD gitlab-ce-8.13.6.ebuild 11979 SHA256 761411082e2e68f432f913f5c5c969847832d335b1f7843575890ba125542539 SHA512 ab01af577da7a27cee3308c6766a042edbce7f1c472639b9a24b9bef3a7ce37389dd8e32b43cf62b9ce7c20399ccf17fd35f678ea63598b4b06890bfeabded50 WHIRLPOOL cc14b981521f0513108ab4320f2e3d4f210ec0da7373f0f99b35d975003b5e1ff5783c5db5c6b7f29739e795fc73d4744716f81056039eefaf445354bd7cb000 EBUILD gitlab-ce-8.14.0.ebuild 12058 SHA256 ef9893f42bf74b6864d5647c406afb69412cfa88ab89fa3bbc8a69d92f6eabe9 SHA512 182be258e2ede41a056d0ecc6c8691dc89af035474b711c74887b61105e1260fd0cc02556931e713cc256766a8879356ea07ce7bb9aa8f463eedf63925afe52e WHIRLPOOL 69c12e67507d5f27bf5491d06a1f0de7e0bc156b624008977f7150b623728e255ebdcecb100aa3133dc8063f7bdfb5586c0924fa3077c1141090719666d1cb76 EBUILD gitlab-ce-8.14.0_rc4.ebuild 11956 SHA256 d6e509c5e9de4c361f04a8c76d0e87b947c5416bc6222e716d368cd82cd55df3 SHA512 58d8862ccb1d09b05bc880fa36d6d3936d1d666537da395817e794b7410fba0df1afc136a6e2bebd6d29b2bf16ef8cd95ac3130e6f35b678c543f7e0e552810a WHIRLPOOL a348a04316fa46da98816ea6a51b641aae68b13b513cfd445b002d2a6180786cf0fd5fdfcf0420ceec8de7a090b01f4009334fe5618c47813b40f0baed8360da EBUILD gitlab-ce-8.14.1.ebuild 12058 SHA256 95df987cfcc654adfff434916f3b3c093bd363f147ce732f2712923c38c6cea1 SHA512 7aac8dd78a3d25eb6a3664f7818188d89dea015cfb88f37c5d54597b9e0351f208d82a96488ec0109769d59b264d0a81f4656e3e95b63fe1ac99290879f28497 WHIRLPOOL 683ca7f8b32b89ebc3f503481ef6891dea756297f4a474efb62791f5b0bfd3e5287498bc0f78b73592b1c1cc8ce7ec67748a439399c601992f300dfcbe190560 EBUILD gitlab-ce-8.14.2.ebuild 12058 SHA256 d3ceac76fde85644bae8524b94e29c484a125aa3bb5e55cd4ffe0d738e0e2e90 SHA512 c47d3a69ba675a8f6637a229b1fc65a4c0c6c00c6532ecc06d32f332129cfea8b89c6267bf9110e449c3fe20487be8a0d627fac06f19ab2824e8b161598e8e6e WHIRLPOOL 4a394a334e1ba27d6438cf351b54d83324210b39d0d6d3707828fd48413e2258314b80507136bc09764568c479814d5b1b6cf30b40b64a80b29a3506c256f4da EBUILD gitlab-ce-8.14.3.ebuild 12058 SHA256 c495099e43d677041f197e70c051ba2e5541b600d8e65a9bfc17de44bd46195a SHA512 bf50743972034453cb3d63563589e768ef2c394e6a119b34ca55b17ff03d34f98d85a09e3411090bee4a821f505a35ac9ea1c89c6fdd241c395b71c8daf671a4 WHIRLPOOL cedad6cb34a050bc052c3827a3f6e95cb5e68346fa3da2a77e7cceabe0b194abc545a5ffef6441e00f55be0d4a701dcab63a0b0907cb81529fd20d34403fb066 +EBUILD gitlab-ce-8.14.4.ebuild 12058 SHA256 8f856b037e7f6b299e24725dcc972bd83a0758f7f4d79972eb446a931c240614 SHA512 30c304448c208e20da70dbb4300150aa494a2d4b00e2bf3db6897b1b3c13834ece0a186f29917e05765ac7833be79e13a2513a56705a51351ece6b50ca87d68d WHIRLPOOL e188d79b0322cd6433529ef6d8d157cd09a96c36d6f8161412b2c41c07aabec047acda0e5b7ee8741ea4aa526824dd17e9c823072aeaf584fd6a6dd49e4d8bfd EBUILD gitlab-ce-9999.ebuild 11913 SHA256 f6e02b9e122033339874bce07dd4b1663a8b3dee9ad86e5793a9dbf7517e78b6 SHA512 43943fc250c810f131bdcfef518373b12bb997b84c12d5ee50b3006ddc9a7df4541a08faf2ea35dcd56ad70a7fd3d5dfc17c529b30df99c426d6418c3e5ee051 WHIRLPOOL ff7cf1a2a82545f16e2c7804ace0a8b2d00acab24233afe293668ab7573131065e1b301979d87563dd235a9fb4bebd3156aa9bddcb547cfb1b837103273686f5 -MISC ChangeLog 11492 SHA256 5283e1bb479fab887c33d8762ae976b85cbc77e497764bd853507ded40ea9286 SHA512 2e70bc45e6a7e073a170b5386eb3d40cda153d9a9c1524e1a2aca1c70c0bcd7a4c65d97c24711234466d7be0c85c987e43c47940e15aa55b4e5415303da15ea2 WHIRLPOOL 1e3a5742d95f35772a8b81b3b2ec560b778af61c0bd9fa3139fed7ddd86636e4b8a5b1e0f1ecb0bdfd395f7f83bae56798d8a653e98190966043b69adbfe39b6 +MISC ChangeLog 11683 SHA256 5781fb5a5f1174b5006f3b5b83840207d927506821969fbf1d332beea83d1e45 SHA512 d9419ae3bf601730ee8df2440f6d28364b89cce38488fcd60facae4fe7045b8361e5b234be8bb198eca1be66211c9976de312b76418ee95aeb6f13ff5f7b077a WHIRLPOOL 80f14591671a0cb8e8d13da15fc2ad87122f1d2a81cca05e1058756ae23f7f0467934d932adef7423ed523ccb49e1888aaaad29f46a915107f5df440700ad54a MISC metadata.xml 559 SHA256 6c3f48d3ef57c97bf27790f33ee04bd8de8b01597caa8a2a7a473d6d0a3c5759 SHA512 5aa340b5429795d84cd106ee673fd55a42fd4b0d3299d6b95c6a3e3d50812a9620820a4de5c57d5048af0c3ecec7f575d5856d2f7fadc210aadcbdd4dd040fe1 WHIRLPOOL f3d7b8c0522e09f5156e6bb446bb74e4c75f5da4495ca2ece1eb78afce59307abe01bf3c5dd5344278fcac9e334300d912031c806f51b981591c01bc3588c6f3 diff --git a/www-apps/gitlab-ce/gitlab-ce-8.14.4.ebuild b/www-apps/gitlab-ce/gitlab-ce-8.14.4.ebuild new file mode 100644 index 0000000..41ff8f8 --- /dev/null +++ b/www-apps/gitlab-ce/gitlab-ce-8.14.4.ebuild @@ -0,0 +1,392 @@ +# Copyright 1999-2016 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 ruby23" + +inherit eutils ruby-ng user systemd + +MY_PV="v${PV/_/-}" +MY_GIT_COMMIT="3ea6c8d730200c3811126ee0ab25495b9fab1b16" + +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 ~arm ~arm64" +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" +COMMON_DEPEND=" + ${GEMS_DEPEND} + ~dev-vcs/gitlab-shell-4.0.3 + >=dev-vcs/git-2.7.4 + ~dev-vcs/gitlab-workhorse-1.1.1 + kerberos? ( !app-crypt/heimdal ) + rugged_use_system_libraries? ( net-libs/http-parser dev-libs/libgit2:0/24 )" +DEPEND=" + ${CDEPEND} + ${COMMON_DEPEND}" +RDEPEND=" + ${COMMON_DEPEND} + >=dev-db/redis-2.8 + virtual/mta + systemd? ( sys-apps/systemd:0= )" +# dev-ruby/bundler should be >=1.13.6, but that doesn't exist yet in the tree. +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. +# 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}-8.11.0-fix-redis-config-path.patch" + "03-${PN}-8.14.0-database.yml.patch" + "04-${PN}-8.12.7-fix-check-task.patch" + "05-${PN}-8.12.7-replace-sys-filesystem.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 +} + +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 "Cleaning old precompiled assets ..." + exec_rake 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 + 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 + 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}" + + 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 $@" +}