aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Bernardo <samuelbernardo.mail@gmail.com>2017-01-29 15:21:38 +0000
committerSamuel Bernardo <samuelbernardo.mail@gmail.com>2017-01-29 15:21:38 +0000
commit22b76282372dedbba5192acdc2aa496a7514f386 (patch)
tree2d52acdb5e8e3e6d319529b5cc57c339db74b563
parentupdate idea-ultimate (diff)
downloadssnb-22b76282372dedbba5192acdc2aa496a7514f386.tar.gz
ssnb-22b76282372dedbba5192acdc2aa496a7514f386.tar.bz2
ssnb-22b76282372dedbba5192acdc2aa496a7514f386.zip
add multiple packages for ruby upgrade
-rw-r--r--app-emulation/opennebula/Manifest2
-rw-r--r--app-emulation/opennebula/opennebula-5.2.1.ebuild185
-rw-r--r--app-office/yed/Manifest2
-rw-r--r--app-office/yed/yed-3.16.2.1.ebuild32
-rw-r--r--dev-ruby/amazon-ec2/Manifest3
-rw-r--r--dev-ruby/amazon-ec2/amazon-ec2-0.9.17.ebuild18
-rw-r--r--dev-ruby/amazon-ec2/metadata.xml5
-rw-r--r--dev-ruby/aws/Manifest3
-rw-r--r--dev-ruby/aws/aws-2.10.2.ebuild18
-rw-r--r--dev-ruby/aws/metadata.xml5
-rw-r--r--dev-ruby/tilt/Manifest3
-rw-r--r--dev-ruby/tilt/metadata.xml5
-rw-r--r--dev-ruby/tilt/tilt-2.0.6.ebuild44
-rw-r--r--www-apps/gitlabhq/Manifest12
-rw-r--r--www-apps/gitlabhq/files/config.ssh10
-rw-r--r--www-apps/gitlabhq/files/gitlab.logrotate10
-rw-r--r--www-apps/gitlabhq/files/gitlabhq-8.14-fix-checks-gentoo.patch11
-rw-r--r--www-apps/gitlabhq/files/gitlabhq-8.14-fix-sendmail-param.patch17
-rw-r--r--www-apps/gitlabhq/files/gitlabhq-8.14.init92
-rw-r--r--www-apps/gitlabhq/files/gitlabhq-8.15-fix-checks-gentoo.patch11
-rw-r--r--www-apps/gitlabhq/files/gitlabhq-8.15-fix-sendmail-param.patch17
-rw-r--r--www-apps/gitlabhq/files/gitlabhq-8.15.init92
-rw-r--r--www-apps/gitlabhq/files/gitlabhq-8.16-fix-checks-gentoo.patch11
-rw-r--r--www-apps/gitlabhq/files/gitlabhq-8.16-fix-sendmail-param.patch17
-rw-r--r--www-apps/gitlabhq/files/gitlabhq-8.16.init92
-rw-r--r--www-apps/gitlabhq/gitlabhq-8.16.2.ebuild463
26 files changed, 1180 insertions, 0 deletions
diff --git a/app-emulation/opennebula/Manifest b/app-emulation/opennebula/Manifest
index f1e0a00..30dd296 100644
--- a/app-emulation/opennebula/Manifest
+++ b/app-emulation/opennebula/Manifest
@@ -18,7 +18,9 @@ AUX websocketproxy.py.diff 291 SHA256 a48ccd67ba84e624dfb9730f38ba39509379afe3e5
DIST opennebula-4.14.2.tar.gz 9283555 SHA256 b9a3b2389d83ff1a5fa5d4e4fad34628c1b0ce0e2ff0e52fbc21d5ebb2420c67 SHA512 ed572bf1a6e0a4eecb85c1f2beb1f686e6729f74a354f41dbb5113fd089af06013f63d022ee8c068234e5be64df818771a0ba0c452ffbf4fd096dd16cf878926 WHIRLPOOL 56ab92ec379e47f795373d4755956764b37bf96aec8bedc5503e38aa6acb00a94c928dcc66169aa769434270eb1caefd77a2094771612a8ee1a3d08d8e0e953c
DIST opennebula-5.0.2.tar.gz 12041225 SHA256 4867fe44739136ffbb9f91ea9a56501bd1cc2d1f19d813818ab5bf21c0cc9878 SHA512 95d61476538e32b75c3ac870c4ba19e4f352a90e1d6e76355efab4f4679291ba2fcd223ec39f9b3cbd29bc5c5c7a5388c1c402c5c84b22f81729ff240b6d34b6 WHIRLPOOL 77e04bfb9054872d91570b196256e247b7e9d2df1dcf01f946bc6776ea237f8dd236a82b0bc58c172672f8667537df61a3cce4052fb5777b130795291c4e6b59
DIST opennebula-5.2.0.tar.gz 12220329 SHA256 b1360a050645a3d135dabb4e834b5c656a98018308fc7a2fabc214c0730eefa3 SHA512 e0095bb452198bbd72e946651a004005c0315137b9a7093226298138226f59630147e07ec66766ac8def74a580dc4f1f5d90739033d445b61d8f98fc2239ab58 WHIRLPOOL 1cce691266947583a1716a8d41ae449e69b30da750e253b898a6564f386e4378c4c0ad85077fa5fe864200bc17c9c4d626d899ba02e91b2d418e675503f67f7e
+DIST opennebula-5.2.1.tar.gz 12224129 SHA256 3864e209ffc99c474f5dd7eeebaf3c4c00ff51b0059680c63ee0ad4330f3a211 SHA512 f46d722b6fbea4406000dafeb0ed3d26c61e35645a8de028c39d160879af5ab93352a8f2407fc637b39d5a600d39015be3cc29af32d9fc69a678a8e8cf4f7400 WHIRLPOOL fbe685ec32fd02d65c60ad13f5e63d6f76b528084759e732b263d22218e10585f05808a3dab6022fea59f2fdc6920a7247685f808795c905204dcc743342eadc
EBUILD opennebula-4.14.2.ebuild 5992 SHA256 83518d6e6199aacd9c9f7c35bf5c0d88d905f34736773217819924850ae85a51 SHA512 cc18db5d7480f2067d95deb6a61df6c0a40a11ab9e4f6e2491fccdac34f349d527b6ffeedb2d2d2f04c3dba210c2a1316c635b4f69064a69bfd378ea0c4f9ebe WHIRLPOOL ec9208b6607382b3f3985d1c6255ec9c66455f9c1bf2ae8979b328216d35e9536ad7ce55b85e52f06c44af1dc7cb6174e1fb2faa1b45eff11c686a9dbabd7f16
EBUILD opennebula-5.0.2.ebuild 5141 SHA256 d900142aae83b24902e288dac45e77c69c6a4cf525b2b264d89155754ae1f1b6 SHA512 bb795f1c68dfa232cdca9a67a50b892d2eaf3c5c43db2344864cfc81af25f1486f7762d721c1a29d39aae135c91d57cc1b5a37691e2500783bf546ba615d08a9 WHIRLPOOL 154ceb6990ba596f6d5abcabad3a686007eca1546deeee0e36594827ead744cf8851dfb08b89c32a9a833af15e808310cf283a130164a5abb3c5088d8a224e87
EBUILD opennebula-5.2.0.ebuild 5178 SHA256 c4ed7aa44b496ff05820f993cfb51c420014afba40ff95c516ee71ea093f5e93 SHA512 d758667dd121fa812e420de93c7b18edd2d15582088c8f995f69028d8afd48d10a5d683d35a18f2b41d5ce4b568f93ae0e8df98b0f211b2168c77547365d212e WHIRLPOOL f3310dbb4c39f79a3dc142f0d032252a08d785c1937797876d8f5b1fc927a70e80e8256ca97f5ef535bb5922689af13fa01291665f39e4f6a8f6e8f56a66fa3a
+EBUILD opennebula-5.2.1.ebuild 5376 SHA256 db1366cd13a7622af290319fac459da7b6f16fc479d343172239d0e4ee71dd43 SHA512 d175ce386029b824ccd3f2f59a9f3c4cb607fe2548b49d8b8bb436542f46852553e5fe2dcacfcfac71a63710344148637bada6659758f3248552d1b31099768c WHIRLPOOL cb811f0007cffce360c4a73f758c6c531c3b1c721195d00e4a5afe3f8cb7a4e29a480b319add42fa3949d946b9ea3032140d37b99c869c1beb09bb09e8d6ee8d
MISC metadata.xml 471 SHA256 7e7ba4805811857e33a2374831129a50002448d7dcceb640585a4166103e4e63 SHA512 0be6058785693cef097e2b3ffcffbc7b0011719afcaaf4d10116f490dc23291bdbb9e91f42977c82ef002967a4cbd56f1bebe1f1e61a053a659250a54d7d67d1 WHIRLPOOL b7039f60c5f28c905a0332ff5cffc0c9ffa1ae8897faa927fb21bfbc909d11fcca95af2bf822c014f4d9c5ca325d3c1cd2446331bcb7f8b639a0a523dd14ad95
diff --git a/app-emulation/opennebula/opennebula-5.2.1.ebuild b/app-emulation/opennebula/opennebula-5.2.1.ebuild
new file mode 100644
index 0000000..7e8f826
--- /dev/null
+++ b/app-emulation/opennebula/opennebula-5.2.1.ebuild
@@ -0,0 +1,185 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+USE_RUBY="ruby20 ruby21 ruby22 ruby23"
+
+inherit user eutils multilib ruby-ng systemd
+
+MY_P="opennebula-${PV/_/-}"
+
+DESCRIPTION="OpenNebula Virtual Infrastructure Engine"
+HOMEPAGE="http://www.opennebula.org/"
+SRC_URI="http://downloads.opennebula.org/packages/${PN}-${PV}/${PN}-${PV}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="qemu +mysql xen sqlite +extras systemd"
+
+RDEPEND=">=dev-libs/xmlrpc-c-1.18.02[abyss,cxx,threads]
+ dev-lang/ruby
+ extras? ( dev-libs/openssl
+ dev-ruby/libxml
+ net-misc/curl
+ dev-libs/libxslt
+ dev-libs/expat
+ dev-ruby/uuidtools
+ dev-ruby/amazon-ec2
+ dev-ruby/webmock
+ dev-ruby/mysql
+ dev-ruby/parse-cron
+ dev-ruby/sequel
+ dev-ruby/treetop
+ dev-ruby/xml-simple
+ dev-ruby/zendesk_api
+ dev-libs/log4cpp )
+ mysql? ( virtual/mysql )
+ dev-db/sqlite
+ net-misc/openssh
+ || ( app-cdr/cdrkit app-cdr/cdrtools )
+ sqlite? ( dev-ruby/sqlite3 )
+ qemu? ( app-emulation/libvirt[libvirtd,qemu] )
+ xen? ( app-emulation/xen-tools )"
+DEPEND="${RDEPEND}
+ >=dev-util/scons-1.2.0-r1
+ dev-ruby/nokogiri"
+
+# make sure no eclass is running tests
+RESTRICT="test"
+
+S="${WORKDIR}/${PN}-${PV}"
+
+ONEUSER="oneadmin"
+ONEGROUP="oneadmin"
+
+pkg_setup () {
+ enewgroup ${ONEGROUP}
+ enewuser ${ONEUSER} -1 /bin/bash /var/lib/one ${ONEGROUP}
+}
+
+src_unpack() {
+ default
+}
+
+src_prepare() {
+ sed -i -e 's|chmod|true|' install.sh || die "sed failed"
+}
+
+src_configure() {
+ :
+}
+
+src_compile() {
+
+ local myconf
+ use extras && myconf+="new_xmlrpc=yes "
+ use mysql && myconf+="mysql=yes " || myconf+="mysql=no "
+ scons \
+ ${myconf} \
+ $(sed -r 's/.*(-j\s*|--jobs=)([0-9]+).*/-j\2/' <<< ${MAKEOPTS}) \
+ || die "building ${PN} failed"
+}
+
+src_install() {
+ DESTDIR=${T} ./install.sh -u ${ONEUSER} -g ${ONEGROUP} || die "install failed"
+
+ cd "${T}"
+
+ # installing things for real
+ dobin bin/*
+
+ keepdir /var/{lib,run}/${PN} || die "keepdir failed"
+
+ dodir /usr/$(get_libdir)/one
+ dodir /var/lock/one
+ dodir /var/log/one
+ dodir /var/lib/one
+ dodir /var/run/one
+ dodir /var/tmp/one
+ # we have to preserve the executable bits
+ cp -a lib/* "${D}/usr/$(get_libdir)/one/" || die "copying lib files failed"
+
+ insinto /usr/share/doc/${PF}
+ doins -r share/examples
+
+ dodir /var/lib/one
+ dodir /var/lib/one/vms
+ dodir /usr/share/one
+ dodir /etc/tmpfiles.d
+ # we have to preserve the executable bits
+ cp -a var/remotes "${D}/var/lib/one/" || die "copying remotes failed"
+ cp -a share/* "${D}/usr/share/one/" || die "copying share failed"
+
+ doenvd "${FILESDIR}/99one"
+
+ newinitd "${FILESDIR}/opennebula.initd" opennebula
+ newinitd "${FILESDIR}/sunstone-server.initd" sunstone-server
+ newinitd "${FILESDIR}/oneflow-server.initd" oneflow-server
+ newconfd "${FILESDIR}/opennebula.confd" opennebula
+ newconfd "${FILESDIR}/sunstone-server.confd" sunstone-server
+ newconfd "${FILESDIR}/oneflow-server.confd" oneflow-server
+
+ use systemd && systemd_dounit "${FILESDIR}"/opennebula{,-sunstone,-econe,-oneflow,-onegate}.service
+
+ insinto /etc/one
+ insopts -m 0640
+ doins -r etc/*
+ doins "${FILESDIR}/one_auth"
+
+ insinto /etc/tmpfiles.d
+ doins "${FILESDIR}/tmpfilesd.opennebula.conf"
+
+}
+
+pkg_postinst() {
+
+
+ chown -R oneadmin:oneadmin ${ROOT}var/{lock,lib,log,run,tmp}/one
+ chown -R oneadmin:oneadmin ${ROOT}usr/share/one
+ chown -R oneadmin:oneadmin ${ROOT}etc/one
+ chown -R oneadmin:oneadmin ${ROOT}usr/lib/one
+
+ local onedir="${EROOT}var/lib/one"
+ if [ ! -d "${onedir}/.ssh" ] ; then
+ einfo "Generating ssh-key..."
+ umask 0027 || die "setting umask failed"
+ mkdir "${onedir}/.ssh" || die "creating ssh directory failed"
+ ssh-keygen -q -t dsa -N "" -f "${onedir}/.ssh/id_dsa" || die "ssh-keygen failed"
+ cat > "${onedir}/.ssh/config" <<EOF
+UserKnownHostsFile /dev/null
+Host *
+ StrictHostKeyChecking no
+EOF
+ cat "${onedir}/.ssh/id_dsa.pub" >> "${onedir}/.ssh/authorized_keys" || die "adding key failed"
+ chown -R ${ONEUSER}:${ONEGROUP} "${onedir}/.ssh" || die "changing owner failed"
+ fi
+
+ if use qemu ; then
+ elog "Make sure that the user ${ONEUSER} has access to the libvirt control socket"
+ elog " /var/run/libvirt/libvirt-sock"
+ elog "You can easily check this by executing the following command as ${ONEUSER} user"
+ elog " virsh -c qemu:///system nodeinfo"
+ elog "If not using using policykit in libvirt, the file you should take a look at is:"
+ elog " /etc/libvirt/libvirtd.conf (look for the unix_sock_*_perms parameters)"
+ elog "Failure to do so may lead to nodes hanging in PENDING state forever without further notice."
+ echo ""
+ elog "Should a node hang in PENDING state even with correct permissions, try the following to get more information."
+ elog "In /tmp/one-im execute the following command for the biggest one_im-* file:"
+ elog " ruby -wd one_im-???"
+ echo ""
+ elog "OpenNebula doesn't allow you to specify the disc format."
+ elog "Unfortunately the default in libvirt is not to guess and"
+ elog "it therefores assumes a 'raw' format when using qemu/kvm."
+ elog "Set 'allow_disk_format_probing = 0' in /etc/libvirt/qemu.conf"
+ elog "to work around this until OpenNebula fixes it."
+ fi
+
+ elog "If you wish to use the sunstone server, please issue the command"
+ #elog "/usr/share/one/install_gems as oneadmin user"
+ elog "gem install sequel thin json rack sinatra builder treetop zendesk_api mysql parse-cron"
+
+
+}
+
diff --git a/app-office/yed/Manifest b/app-office/yed/Manifest
new file mode 100644
index 0000000..931ea53
--- /dev/null
+++ b/app-office/yed/Manifest
@@ -0,0 +1,2 @@
+DIST yEd-3.16.2.1.zip 34677676 SHA256 47ac746ad30eb6375b8f45e9382efd0db0b6e3b1eb8f4760625963175b753805 SHA512 fb9f6f82947bef1b96e0c7534ecd39fe75a490ad7e450e92c5048079833c78aa20b14fb3feb66bc7b6bfb907c890dcc6a86146aa91e18d21ac8681d4062ba9b8 WHIRLPOOL 0ebb134ce90820236962ba9fc328865e5a2087b51ae2700ad40c214bc8963e740a39c56f13f0354c28e99d27ca0fb77de0732e2c78ab6e398e84f64e45fb2929
+EBUILD yed-3.16.2.1.ebuild 656 SHA256 25b2c7a6eecae9c07031169415d1ac243c8895218a20be838b69b4b06cd52753 SHA512 df8029dc6bf6f5578f545aacacfb9bec30c6243cd30439f0f86f26b433881c0e3b61805f3c71393184a113d6f03239993f00b6412cfb076e53ebf89c8cfe75fd WHIRLPOOL 2ae75b9ef2b741f8144a5b4c09042f91aa3c37ebc109954c669a6e54afa517a7f57c23479adc1df0af7dc23991f2fdec028dec39ec97a489b145a801bfb9aadc
diff --git a/app-office/yed/yed-3.16.2.1.ebuild b/app-office/yed/yed-3.16.2.1.ebuild
new file mode 100644
index 0000000..6daa08a
--- /dev/null
+++ b/app-office/yed/yed-3.16.2.1.ebuild
@@ -0,0 +1,32 @@
+EAPI="2"
+
+inherit eutils java-pkg-2
+
+DESCRIPTION="Diagram editor written in Java"
+HOMEPAGE="www.yworks.com/products/yed/"
+SRC_URI="https://www.yworks.com/resources/yed/demo/yEd-${PV}.zip"
+
+LICENSE="yed"
+SLOT="0"
+KEYWORDS="~x86 ~sparc ~ppc ~amd64 ~ppc64"
+IUSE=""
+#RESTRICT="fetch"
+
+RDEPEND=">=virtual/jre-1.8
+ ${COMMON_DEP}"
+
+DEPEND=">=virtual/jdk-1.8
+ ${COMMON_DEP}"
+
+S=${WORKDIR}/${P}
+
+src_install() {
+ cd "${S}"
+ java-pkg_dojar ${PN}.jar vectorgraphics.jar
+
+ java-pkg_dolauncher ${PN} --main B.A.A.B -into "/usr"
+
+ doicon "${WORKDIR}"/${P}/icons/yicon32.png
+ make_desktop_entry yed yEd yicon32 "Graphics;2DGraphics"
+}
+
diff --git a/dev-ruby/amazon-ec2/Manifest b/dev-ruby/amazon-ec2/Manifest
new file mode 100644
index 0000000..37a5b96
--- /dev/null
+++ b/dev-ruby/amazon-ec2/Manifest
@@ -0,0 +1,3 @@
+DIST amazon-ec2-0.9.17.gem 124416 SHA256 4cbbd8cada5534cc6d081281b26bbb777c53410ea571829d0b7d0826b7d1e971 SHA512 6138f95759e248bbf4d1633e042c7799ccf395a2e218e72f245abd56501a70079a0ea14c29c955b22fb33849699ad7268dba03e75493fd68594c9361a85ffd61 WHIRLPOOL f9a962b73b40402ccd7651cdf5e5c038dfad94b6bdc54259e9d46f337a1c36a14efe333ca936b44a8a4a4c6b6c0ae9905714f6b3c7c46823a307b41135a1bf76
+EBUILD amazon-ec2-0.9.17.ebuild 318 SHA256 1f062603435a154282a62f876b180f69316c283ac941654f5505c604679fd38d SHA512 c0ee4fd8a81c394c1712d2f0ba02e48cba6c189b2ed5447bf065f4c17f56007fe859a6e7fade9f6d80261605681222e7e961a3c42c41c94a60bc7ad4340580cc WHIRLPOOL 48d8c50ab347a13f8bc5b08e6c9bd9c59d9ad26a998b77c984c57ccf03dd36e13578c7038e71811273afa74707314d0d21ee2a6a8e3d6f2913a2490712e60bb6
+MISC metadata.xml 157 SHA256 11fba03a217e2d996f5cd8895493a5692ece8ddac2c1a2dfc71d0e830555121c SHA512 0cec73b966de88015ea4c7212723d848d367608aa93658bb945f298a8000c4ba8aba73c9eb8481859fb5bbed45e80dae32c628caf81e027a4ad8eafa7e632851 WHIRLPOOL 4da25c81e21173ad8b7b5f35b056264869d9a16741062aa4422c5ea1aa9e73da8eb700b0d54de84c169d702fbb3f41ed157c9dc7c9daac110849ae84715c051b
diff --git a/dev-ruby/amazon-ec2/amazon-ec2-0.9.17.ebuild b/dev-ruby/amazon-ec2/amazon-ec2-0.9.17.ebuild
new file mode 100644
index 0000000..87590db
--- /dev/null
+++ b/dev-ruby/amazon-ec2/amazon-ec2-0.9.17.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+USE_RUBY="ruby21 ruby22 ruby23"
+
+inherit ruby-fakegem
+
+DESCRIPTION="Client API for Amazon Web Services"
+HOMEPAGE="http://aws.amazon.com"
+
+LICENSE="Apache-2.0"
+SLOT="2"
+KEYWORDS="~amd64"
+IUSE=""
+
diff --git a/dev-ruby/amazon-ec2/metadata.xml b/dev-ruby/amazon-ec2/metadata.xml
new file mode 100644
index 0000000..8521361
--- /dev/null
+++ b/dev-ruby/amazon-ec2/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>ruby</herd>
+</pkgmetadata>
diff --git a/dev-ruby/aws/Manifest b/dev-ruby/aws/Manifest
new file mode 100644
index 0000000..2fc9beb
--- /dev/null
+++ b/dev-ruby/aws/Manifest
@@ -0,0 +1,3 @@
+DIST aws-2.10.2.gem 116224 SHA256 2cff868b6b9f0d338b1b4c55c7e13fd9f5c4f3b610e0e2b223b4f6373e8db43a SHA512 14e05c7d25577b5181d0b027a6878765c139609f700e2d8c63cac39aacc1051a6f845e7d1b32104df1d8fab7c851e29e5414efe8e6ef5aa539dcfd7437f455c8 WHIRLPOOL a82586d9d0de1c05fe0013d947e55433a8a21930e6343f3c2a5ffb23739064ffb14bfa70cf8c2a005ee4ca03fb03d908293a5322f8cffc1021ad1c5a50064cfc
+EBUILD aws-2.10.2.ebuild 318 SHA256 1f062603435a154282a62f876b180f69316c283ac941654f5505c604679fd38d SHA512 c0ee4fd8a81c394c1712d2f0ba02e48cba6c189b2ed5447bf065f4c17f56007fe859a6e7fade9f6d80261605681222e7e961a3c42c41c94a60bc7ad4340580cc WHIRLPOOL 48d8c50ab347a13f8bc5b08e6c9bd9c59d9ad26a998b77c984c57ccf03dd36e13578c7038e71811273afa74707314d0d21ee2a6a8e3d6f2913a2490712e60bb6
+MISC metadata.xml 157 SHA256 11fba03a217e2d996f5cd8895493a5692ece8ddac2c1a2dfc71d0e830555121c SHA512 0cec73b966de88015ea4c7212723d848d367608aa93658bb945f298a8000c4ba8aba73c9eb8481859fb5bbed45e80dae32c628caf81e027a4ad8eafa7e632851 WHIRLPOOL 4da25c81e21173ad8b7b5f35b056264869d9a16741062aa4422c5ea1aa9e73da8eb700b0d54de84c169d702fbb3f41ed157c9dc7c9daac110849ae84715c051b
diff --git a/dev-ruby/aws/aws-2.10.2.ebuild b/dev-ruby/aws/aws-2.10.2.ebuild
new file mode 100644
index 0000000..87590db
--- /dev/null
+++ b/dev-ruby/aws/aws-2.10.2.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+USE_RUBY="ruby21 ruby22 ruby23"
+
+inherit ruby-fakegem
+
+DESCRIPTION="Client API for Amazon Web Services"
+HOMEPAGE="http://aws.amazon.com"
+
+LICENSE="Apache-2.0"
+SLOT="2"
+KEYWORDS="~amd64"
+IUSE=""
+
diff --git a/dev-ruby/aws/metadata.xml b/dev-ruby/aws/metadata.xml
new file mode 100644
index 0000000..8521361
--- /dev/null
+++ b/dev-ruby/aws/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>ruby</herd>
+</pkgmetadata>
diff --git a/dev-ruby/tilt/Manifest b/dev-ruby/tilt/Manifest
new file mode 100644
index 0000000..dda4592
--- /dev/null
+++ b/dev-ruby/tilt/Manifest
@@ -0,0 +1,3 @@
+DIST tilt-2.0.6.gem 54272 SHA256 756f6062fbaed563b2e71a72a12dbd0f45ecf867dd147873b89eae3305fe5e63 SHA512 173245f5edd8cf2d31edccd36d375530448e58da1fd744bdf471818ee9b306317f52ecfb9aa8c39ec7746ea3900e600ebfc5f96dfa66724d3e8a4386bd9da260 WHIRLPOOL a622f423a0a9058b0272e894d921db681a0171788474dc2c9cd0b923ac4aae5fdad577a707d797e2e536b92078fc0066f02711b54191bf5babd127874fa7b651
+EBUILD tilt-2.0.6.ebuild 1519 SHA256 4bbd7353bf4ce26c582ef2b1138bb1e324a0da47ab4b799383380f063a1bc490 SHA512 2ca1ccf9c582ec830cd0282521c5c9238693267cf90e4285e808babe8c4eb6515a04a67172f71458304a6f2fb532dcc20cd7fc3e1f6ff013eb1c1c95b6e1add1 WHIRLPOOL 1a4a51eb05cb80e763b596b2a619ff6ea2903b7cb5972f309f27e6e7fcb9d2e06c2ff990a52aa3823f7c2fe179e865ccf7b88f69945598a0d37978d6b87234d3
+MISC metadata.xml 157 SHA256 11fba03a217e2d996f5cd8895493a5692ece8ddac2c1a2dfc71d0e830555121c SHA512 0cec73b966de88015ea4c7212723d848d367608aa93658bb945f298a8000c4ba8aba73c9eb8481859fb5bbed45e80dae32c628caf81e027a4ad8eafa7e632851 WHIRLPOOL 4da25c81e21173ad8b7b5f35b056264869d9a16741062aa4422c5ea1aa9e73da8eb700b0d54de84c169d702fbb3f41ed157c9dc7c9daac110849ae84715c051b
diff --git a/dev-ruby/tilt/metadata.xml b/dev-ruby/tilt/metadata.xml
new file mode 100644
index 0000000..8521361
--- /dev/null
+++ b/dev-ruby/tilt/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>ruby</herd>
+</pkgmetadata>
diff --git a/dev-ruby/tilt/tilt-2.0.6.ebuild b/dev-ruby/tilt/tilt-2.0.6.ebuild
new file mode 100644
index 0000000..076fdfa
--- /dev/null
+++ b/dev-ruby/tilt/tilt-2.0.6.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+USE_RUBY="ruby20 ruby21 ruby22 ruby23"
+
+RUBY_FAKEGEM_TASK_DOC=""
+RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md README.md docs/TEMPLATES.md"
+
+inherit ruby-fakegem
+
+DESCRIPTION="Thin interface over template engines to make their usage as generic as possible"
+HOMEPAGE="https://github.com/rtomayko/tilt"
+
+LICENSE="MIT"
+SLOT="2"
+KEYWORDS="amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+# Block on some of the potential test dependencies. These dependencies
+# are optional for the test suite, and we don't want to depend on all of
+# them to faciliate keywording and stabling.
+ruby_add_bdepend "test? (
+ dev-ruby/bluecloth
+ dev-ruby/coffee-script
+ dev-ruby/erubis
+ dev-ruby/nokogiri
+ !!<dev-ruby/maruku-0.7.2 )"
+
+ruby_add_rdepend ">=dev-ruby/builder-2.0.0:*
+ !!<dev-ruby/tilt-1.4.1-r2:0"
+
+all_ruby_prepare() {
+ rm Gemfile || die
+ sed -e '/bundler/I s:^:#:' -i Rakefile test/test_helper.rb || die
+
+ # Avoid tests with minor syntax differences since this happens all
+ # the time when details in the dependencies change.
+ sed -e '/test_smarty_pants_true/,/^ end/ s:^:#:' -i test/tilt_markdown_test.rb || die
+ sed -e '/smartypants when :smart is set/,/^ end/ s:^:#:' -i test/tilt_rdiscounttemplate_test.rb || die
+ #sed -i -e '/docbook templates/,/^ end/ s:^:#:' test/tilt_asciidoctor_test.rb || die
+}
diff --git a/www-apps/gitlabhq/Manifest b/www-apps/gitlabhq/Manifest
new file mode 100644
index 0000000..22a01db
--- /dev/null
+++ b/www-apps/gitlabhq/Manifest
@@ -0,0 +1,12 @@
+AUX config.ssh 245 SHA256 5bf5d5a357e88b71e14a12bb28ea68d0286ed29118045aa944484b84b6fa5e4b SHA512 52dbec481cd45136e72370713ab20a41616dccb252e75b884b66e2494aaefe7795719169906dcad5030dcbe33201d021bdad1f7a99120ac40a64611290ff8759 WHIRLPOOL 9b991ad20787e0e7274136ddb8e22e1082360d580f8576feb722730b5c3f3fa22992f671f7916e191052a78d8d688d32044b39059dc7146d14c2da57fa891214
+AUX gitlab.logrotate 191 SHA256 9c02c26f5faa443cd576599462c6a8206d62495ab9671098a5f0e379f216541b SHA512 2212a8e5f2d4704256d5abb92b5a1201b20f82b04610758e734d163792a60b78f482017510169666a70ed9352b171177d05237ffe87988cacb764c5ef7ba5443 WHIRLPOOL f61297015311316554e63af4822b8d274f5a2378e829e5c14bb22e642b0d83023446acff45a13aa354f127543ce1552c99488b92ed8f39d86959343c7e67bbee
+AUX gitlabhq-8.14-fix-checks-gentoo.patch 390 SHA256 60324945dfff6d236faf7959a75089a782018b048ba1cb846b91e14109673236 SHA512 0ac979616639fdd9b9534c9e7c0ad3263f39fa10e6858a6c8cf401a3234d5ef20201fd97e2a5a39071dcf98fb7ca7a48b41d18db7689103e996baf65ae9f00ea WHIRLPOOL 98c46a4b4bafeb870425f437506b202c0c836b4df8763a3716d2cf21da73b04ffd0c31a6222317cf22e550a7676b463771038b595c1b2f9d491955dd0a82885a
+AUX gitlabhq-8.14-fix-sendmail-param.patch 617 SHA256 685ad4c2307477b6f389db9b37048beb63af5a556669859d48d137c7b8b3687a SHA512 092aedb88d892d086128d76a0442ba81dc1b2e573322c7f33fad00a1b56dd035f596de82568463043fcfd02e4e30a81b6d42f83a2052144d133c5edffaa8edd1 WHIRLPOOL 61aaa2c1d8b8476f24f34257d29ac482dc38e503560a71de5511c62f1c86aa1ca3cec67272c2db42df36c6cc80688b6f1b60f0de7bb23e71f7daabf9746f70a7
+AUX gitlabhq-8.14.init 2987 SHA256 37d01155d681a17cb669ffbd8e32d127a79f0fbc3864f941e5444efcd2114859 SHA512 e5395f6ff8e3e65ee8a856d93cdfa6a3c063f0cc160c2e86ced93d6d62430ee9b841ee20e902b8c49843d3c737b2f690b0478ff190bbf107692a4bb12cb090f5 WHIRLPOOL 1bee9675ca1856efd5b1587b64b5ba3a26df340ad9044a4b3d239bec00e24d931e48083c7a4dee60bd5082c9b580ecd5d251ff1f1987e094e4cb2bc15af8a237
+AUX gitlabhq-8.15-fix-checks-gentoo.patch 390 SHA256 60324945dfff6d236faf7959a75089a782018b048ba1cb846b91e14109673236 SHA512 0ac979616639fdd9b9534c9e7c0ad3263f39fa10e6858a6c8cf401a3234d5ef20201fd97e2a5a39071dcf98fb7ca7a48b41d18db7689103e996baf65ae9f00ea WHIRLPOOL 98c46a4b4bafeb870425f437506b202c0c836b4df8763a3716d2cf21da73b04ffd0c31a6222317cf22e550a7676b463771038b595c1b2f9d491955dd0a82885a
+AUX gitlabhq-8.15-fix-sendmail-param.patch 617 SHA256 34e84a76399a55ee25386a5869a42e2973e929bf3b97d1bb3247de1bffe7f063 SHA512 1d11e2942337a4e00d47fef6997173ef50c89330b70569bdb07bcd29dbc28071088825e7f5bd2380c131ae11b818fe6de40fe96ea498a0666a1290553fd66469 WHIRLPOOL 9d4ecfaa9030abb363f760dc31fae616a64a4987fe566a7a2c38bbe5117e98af25a190016ed65a1fa26db62b110523a2baf6c3b83dc945185fc091f6b3722bfb
+AUX gitlabhq-8.15.init 2987 SHA256 f72b2d23034a29c958d661feb9f608e138ab65e70a62929bb248e7d8d447dea4 SHA512 0b54b15e7e622e0821b8218423d2a43a8a054e971d42bc7084aaaf160dbaedec1ab224ad6a2d2b6a79e54b8dd6d40a5a3eaafffee6a6a5cf7c4a365c856273cd WHIRLPOOL 1c107c4e3b2c31cdb36a60c5a7b6ef2f54cd56aa3bef8120cfd82e0948b11a70eaa2a38a4a2c12936b2372b3b6c38b140977fdba1f6547ca659254e44309e178
+AUX gitlabhq-8.16-fix-checks-gentoo.patch 390 SHA256 60324945dfff6d236faf7959a75089a782018b048ba1cb846b91e14109673236 SHA512 0ac979616639fdd9b9534c9e7c0ad3263f39fa10e6858a6c8cf401a3234d5ef20201fd97e2a5a39071dcf98fb7ca7a48b41d18db7689103e996baf65ae9f00ea WHIRLPOOL 98c46a4b4bafeb870425f437506b202c0c836b4df8763a3716d2cf21da73b04ffd0c31a6222317cf22e550a7676b463771038b595c1b2f9d491955dd0a82885a
+AUX gitlabhq-8.16-fix-sendmail-param.patch 617 SHA256 c0b6db990f5b0fd0c588f2e35eb3aac54ce54d9b41b350e7bcd54336cdc19462 SHA512 4234563b2d8eb5814fd8d9910a50fb867e444052639feebb192bb105471eae9038a076a5288b14e3fbb997311824853bea9d9c4833b4854b7f0252b826f22358 WHIRLPOOL 06f19a23028a6b83dd6ff2f9ec406af5e5f5e2c0a5879ab66585ce7b3d070170e29407c2ab9915c4afb75a23038e178295213db99ac514d865f4c1db57b22774
+AUX gitlabhq-8.16.init 2987 SHA256 d8788979fec8a05c241fc692d586537e4715c7894b5d70fd471a701913f19166 SHA512 16922aa485c99c4e30def0fed80ce883ac2786b9714070f84b09c019314deb513b8bfba8906ff67548738c0a039996e000a730bc6ad682fac5b979ebf0132c31 WHIRLPOOL dae5bfa2c77df41afe8b60634f91661dcd48ea7bbcce81fce361d7b4e8117011008f995393a8c6401ba9601c18ba94bd0a60fe5d5ad5a7d5d45b317ca8bf5ab3
+EBUILD gitlabhq-8.16.2.ebuild 15495 SHA256 2305eb18689d924a44d76872582430b2f01e25626cccc222683e58aca84580bd SHA512 47ab0bbbf8eb03b0d37e9868e760a871bc4d75b581b85db22c64c0e503327d4015891565314a7ac9525be30ef425097c115c4e56c6b7030058cd371374ef2c19 WHIRLPOOL 8107dfa1d964fb59a390420fb37dba998f42bc4f8cb17ec73ba89e86f59dfeb3ac0a90afe580afad9d4f6bf53ff4d3ef8013ea28a42240e13bba53cc3cc202ae
diff --git a/www-apps/gitlabhq/files/config.ssh b/www-apps/gitlabhq/files/config.ssh
new file mode 100644
index 0000000..ef23718
--- /dev/null
+++ b/www-apps/gitlabhq/files/config.ssh
@@ -0,0 +1,10 @@
+Host localhost
+ StrictHostKeyChecking no
+ UserKnownHostsFile=/dev/null
+ BatchMode yes
+ CheckHostIP no
+ AddressFamily inet
+ PreferredAuthentications publickey
+ ControlMaster auto
+ ControlPath ~/.ssh/ssh-%r-%h:%p.sock
+ ControlPersist 24h
diff --git a/www-apps/gitlabhq/files/gitlab.logrotate b/www-apps/gitlabhq/files/gitlab.logrotate
new file mode 100644
index 0000000..569b297
--- /dev/null
+++ b/www-apps/gitlabhq/files/gitlab.logrotate
@@ -0,0 +1,10 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+@LOG_DIR@/*.log {
+ missingok
+ delaycompress
+ compress
+ copytruncate
+}
diff --git a/www-apps/gitlabhq/files/gitlabhq-8.14-fix-checks-gentoo.patch b/www-apps/gitlabhq/files/gitlabhq-8.14-fix-checks-gentoo.patch
new file mode 100644
index 0000000..bbe07a9
--- /dev/null
+++ b/www-apps/gitlabhq/files/gitlabhq-8.14-fix-checks-gentoo.patch
@@ -0,0 +1,11 @@
+--- lib/tasks/gitlab/check.rake.orig 2015-11-13 16:46:18.044125564 +0100
++++ lib/tasks/gitlab/check.rake 2015-11-13 16:46:24.414126919 +0100
+@@ -24,8 +24,6 @@
+ check_log_writable
+ check_tmp_writable
+ check_uploads
+- check_init_script_exists
+- check_init_script_up_to_date
+ check_projects_have_namespace
+ check_redis_version
+ check_ruby_version
diff --git a/www-apps/gitlabhq/files/gitlabhq-8.14-fix-sendmail-param.patch b/www-apps/gitlabhq/files/gitlabhq-8.14-fix-sendmail-param.patch
new file mode 100644
index 0000000..a4ff648
--- /dev/null
+++ b/www-apps/gitlabhq/files/gitlabhq-8.14-fix-sendmail-param.patch
@@ -0,0 +1,17 @@
+--- gitlabhq-8.7.5/config/environments/production.rb.orig 2016-05-20 17:01:56.043486847 +0200
++++ gitlabhq-8.7.5/config/environments/production.rb 2016-05-20 17:02:35.871496032 +0200
+@@ -70,10 +70,10 @@
+
+ config.action_mailer.delivery_method = :sendmail
+ # Defaults to:
+- # # config.action_mailer.sendmail_settings = {
+- # # location: '/usr/sbin/sendmail',
+- # # arguments: '-i -t'
+- # # }
++ config.action_mailer.sendmail_settings = {
++ location: '/usr/sbin/sendmail',
++ arguments: '-i'
++ }
+ config.action_mailer.perform_deliveries = true
+ config.action_mailer.raise_delivery_errors = true
+
diff --git a/www-apps/gitlabhq/files/gitlabhq-8.14.init b/www-apps/gitlabhq/files/gitlabhq-8.14.init
new file mode 100644
index 0000000..f111e76
--- /dev/null
+++ b/www-apps/gitlabhq/files/gitlabhq-8.14.init
@@ -0,0 +1,92 @@
+#!/sbin/openrc-run
+
+name="GitLab"
+description="GitLab 8.14 on Unicorns"
+
+: ${gitlab_user:=git}
+: ${gitlab_group:=git}
+: ${gitlab_home:="/opt/gitlabhq-8.14"}
+: ${gitlab_log:="/var/log/gitlabhq-8.14"}
+
+: ${unicorn_pidfile:="${gitlab_home}/tmp/pids/unicorn.pid"}
+: ${unicorn_log:="${gitlab_log}/unicorn.log"}
+: ${unicorn_socket:="${gitlab_home}/tmp/sockets/gitlab.socket"}
+
+: ${sidekiq_pidfile:="${gitlab_home}/tmp/pids/sidekiq.pid"}
+: ${sidekiq_log:="${gitlab_log}/sidekiq.log"}
+: ${sidekiq_config:="${gitlab_home}/config/sidekiq_queues.yml"}
+
+: ${workhorse_pidfile:="${gitlab_home}/tmp/pids/workhorse.pid"}
+: ${workhorse_log:="${gitlab_log}/workhorse.log"}
+: ${workhorse_socket:="${gitlab_home}/tmp/sockets/gitlab-workhorse.socket"}
+: ${workhorse_command_args:="-listenUmask 0 -listenNetwork unix -listenAddr ${workhorse_socket} -authBackend http://127.0.0.1:8080 -authSocket ${unicorn_socket} -documentRoot ${gitlab_home}/public"}
+
+: ${rails_env:=production}
+
+unicorn_command="/usr/bin/bundle"
+unicorn_command_args="exec unicorn_rails -c ${gitlab_home}/config/unicorn.rb -E ${rails_env} -D"
+sidekiq_command="/usr/bin/bundle"
+sidekiq_start_command_args="exec sidekiq -C ${sidekiq_config} -e ${rails_env} -d -P ${sidekiq_pidfile} -L ${sidekiq_log} $@ >> ${sidekiq_log} 2>&1"
+sidekiq_stop_command_args="exec sidekiqctl stop ${sidekiq_pidfile} >> ${sidekiq_log}"
+workhorse_command="/usr/bin/gitlab-workhorse"
+
+if [ ${rails_env} = development ]; then
+ sidekiq_command_args+=" VVERBOSE=1"
+fi
+
+depend() {
+ provide gitlab
+ need redis
+ use net mysql postgresql
+}
+
+start() {
+
+ checkpath -d -o "${gitlab_user}:${gitlab_group}" -m750 "$(dirname "${unicorn_pidfile}")"
+ checkpath -d -o "${gitlab_user}:${gitlab_group}" -m750 "$(dirname "${sidekiq_pidfile}")"
+
+ ebegin "Starting GitLab 8.14 Unicorn servers"
+ start-stop-daemon --start \
+ --chdir "${gitlab_home}" \
+ --user="${gitlab_user}:${gitlab_group}" \
+ --pidfile="${unicorn_pidfile}" \
+ --exec ${unicorn_command} -- ${unicorn_command_args}
+ eend $?
+
+ ebegin "Starting GitLab 8.14 Sidekiq"
+ cd "${gitlab_home}"
+ sudo -u git -H ${sidekiq_command} ${sidekiq_start_command_args}
+ eend $?
+
+ ebegin "Starting GitLab 8.14 Workhorse"
+ start-stop-daemon --start \
+ --chdir "${gitlab_home}" \
+ --user="${gitlab_user}:${gitlab_group}" \
+ --pidfile="${workhorse_pidfile}" \
+ --make-pidfile \
+ --background -1 "${workhorse_log}" -2 "${workhorse_log}" \
+ --exec ${workhorse_command} -- ${workhorse_command_args}
+ eend $?
+}
+
+stop() {
+
+ ebegin "Stopping GitLab 8.14 Workhorse"
+ start-stop-daemon --stop \
+ --chdir "${gitlab_home}" \
+ --user="${gitlab_user}:${gitlab_group}" \
+ --pidfile="${workhorse_pidfile}"
+ eend $?
+
+ ebegin "Stopping GitLab 8.14 Sidekiq"
+ cd "${gitlab_home}"
+ sudo -u git -H ${sidekiq_command} ${sidekiq_stop_command_args}
+ eend $?
+
+ ebegin "Stopping GitLab 8.14 Unicorn servers"
+ start-stop-daemon --stop \
+ --chdir "${gitlab_home}" \
+ --user="${gitlab_user}:${gitlab_group}" \
+ --pidfile="${unicorn_pidfile}"
+ eend $?
+}
diff --git a/www-apps/gitlabhq/files/gitlabhq-8.15-fix-checks-gentoo.patch b/www-apps/gitlabhq/files/gitlabhq-8.15-fix-checks-gentoo.patch
new file mode 100644
index 0000000..bbe07a9
--- /dev/null
+++ b/www-apps/gitlabhq/files/gitlabhq-8.15-fix-checks-gentoo.patch
@@ -0,0 +1,11 @@
+--- lib/tasks/gitlab/check.rake.orig 2015-11-13 16:46:18.044125564 +0100
++++ lib/tasks/gitlab/check.rake 2015-11-13 16:46:24.414126919 +0100
+@@ -24,8 +24,6 @@
+ check_log_writable
+ check_tmp_writable
+ check_uploads
+- check_init_script_exists
+- check_init_script_up_to_date
+ check_projects_have_namespace
+ check_redis_version
+ check_ruby_version
diff --git a/www-apps/gitlabhq/files/gitlabhq-8.15-fix-sendmail-param.patch b/www-apps/gitlabhq/files/gitlabhq-8.15-fix-sendmail-param.patch
new file mode 100644
index 0000000..187206a
--- /dev/null
+++ b/www-apps/gitlabhq/files/gitlabhq-8.15-fix-sendmail-param.patch
@@ -0,0 +1,17 @@
+--- gitlabhq-8.7.5/config/environments/production.rb.orig 2016-05-20 17:01:56.043486847 +0200
++++ gitlabhq-8.7.5/config/environments/production.rb 2016-05-20 17:02:35.8.1596032 +0200
+@@ -70,10 +70,10 @@
+
+ config.action_mailer.delivery_method = :sendmail
+ # Defaults to:
+- # # config.action_mailer.sendmail_settings = {
+- # # location: '/usr/sbin/sendmail',
+- # # arguments: '-i -t'
+- # # }
++ config.action_mailer.sendmail_settings = {
++ location: '/usr/sbin/sendmail',
++ arguments: '-i'
++ }
+ config.action_mailer.perform_deliveries = true
+ config.action_mailer.raise_delivery_errors = true
+
diff --git a/www-apps/gitlabhq/files/gitlabhq-8.15.init b/www-apps/gitlabhq/files/gitlabhq-8.15.init
new file mode 100644
index 0000000..ba21895
--- /dev/null
+++ b/www-apps/gitlabhq/files/gitlabhq-8.15.init
@@ -0,0 +1,92 @@
+#!/sbin/openrc-run
+
+name="GitLab"
+description="GitLab 8.15 on Unicorns"
+
+: ${gitlab_user:=git}
+: ${gitlab_group:=git}
+: ${gitlab_home:="/opt/gitlabhq-8.15"}
+: ${gitlab_log:="/var/log/gitlabhq-8.15"}
+
+: ${unicorn_pidfile:="${gitlab_home}/tmp/pids/unicorn.pid"}
+: ${unicorn_log:="${gitlab_log}/unicorn.log"}
+: ${unicorn_socket:="${gitlab_home}/tmp/sockets/gitlab.socket"}
+
+: ${sidekiq_pidfile:="${gitlab_home}/tmp/pids/sidekiq.pid"}
+: ${sidekiq_log:="${gitlab_log}/sidekiq.log"}
+: ${sidekiq_config:="${gitlab_home}/config/sidekiq_queues.yml"}
+
+: ${workhorse_pidfile:="${gitlab_home}/tmp/pids/workhorse.pid"}
+: ${workhorse_log:="${gitlab_log}/workhorse.log"}
+: ${workhorse_socket:="${gitlab_home}/tmp/sockets/gitlab-workhorse.socket"}
+: ${workhorse_command_args:="-listenUmask 0 -listenNetwork unix -listenAddr ${workhorse_socket} -authBackend http://127.0.0.1:8080 -authSocket ${unicorn_socket} -documentRoot ${gitlab_home}/public"}
+
+: ${rails_env:=production}
+
+unicorn_command="/usr/bin/bundle"
+unicorn_command_args="exec unicorn_rails -c ${gitlab_home}/config/unicorn.rb -E ${rails_env} -D"
+sidekiq_command="/usr/bin/bundle"
+sidekiq_start_command_args="exec sidekiq -C ${sidekiq_config} -e ${rails_env} -d -P ${sidekiq_pidfile} -L ${sidekiq_log} $@ >> ${sidekiq_log} 2>&1"
+sidekiq_stop_command_args="exec sidekiqctl stop ${sidekiq_pidfile} >> ${sidekiq_log}"
+workhorse_command="/usr/bin/gitlab-workhorse"
+
+if [ ${rails_env} = development ]; then
+ sidekiq_command_args+=" VVERBOSE=1"
+fi
+
+depend() {
+ provide gitlab
+ need redis
+ use net mysql postgresql
+}
+
+start() {
+
+ checkpath -d -o "${gitlab_user}:${gitlab_group}" -m750 "$(dirname "${unicorn_pidfile}")"
+ checkpath -d -o "${gitlab_user}:${gitlab_group}" -m750 "$(dirname "${sidekiq_pidfile}")"
+
+ ebegin "Starting GitLab 8.15 Unicorn servers"
+ start-stop-daemon --start \
+ --chdir "${gitlab_home}" \
+ --user="${gitlab_user}:${gitlab_group}" \
+ --pidfile="${unicorn_pidfile}" \
+ --exec ${unicorn_command} -- ${unicorn_command_args}
+ eend $?
+
+ ebegin "Starting GitLab 8.15 Sidekiq"
+ cd "${gitlab_home}"
+ sudo -u git -H ${sidekiq_command} ${sidekiq_start_command_args}
+ eend $?
+
+ ebegin "Starting GitLab 8.15 Workhorse"
+ start-stop-daemon --start \
+ --chdir "${gitlab_home}" \
+ --user="${gitlab_user}:${gitlab_group}" \
+ --pidfile="${workhorse_pidfile}" \
+ --make-pidfile \
+ --background -1 "${workhorse_log}" -2 "${workhorse_log}" \
+ --exec ${workhorse_command} -- ${workhorse_command_args}
+ eend $?
+}
+
+stop() {
+
+ ebegin "Stopping GitLab 8.15 Workhorse"
+ start-stop-daemon --stop \
+ --chdir "${gitlab_home}" \
+ --user="${gitlab_user}:${gitlab_group}" \
+ --pidfile="${workhorse_pidfile}"
+ eend $?
+
+ ebegin "Stopping GitLab 8.15 Sidekiq"
+ cd "${gitlab_home}"
+ sudo -u git -H ${sidekiq_command} ${sidekiq_stop_command_args}
+ eend $?
+
+ ebegin "Stopping GitLab 8.15 Unicorn servers"
+ start-stop-daemon --stop \
+ --chdir "${gitlab_home}" \
+ --user="${gitlab_user}:${gitlab_group}" \
+ --pidfile="${unicorn_pidfile}"
+ eend $?
+}
diff --git a/www-apps/gitlabhq/files/gitlabhq-8.16-fix-checks-gentoo.patch b/www-apps/gitlabhq/files/gitlabhq-8.16-fix-checks-gentoo.patch
new file mode 100644
index 0000000..bbe07a9
--- /dev/null
+++ b/www-apps/gitlabhq/files/gitlabhq-8.16-fix-checks-gentoo.patch
@@ -0,0 +1,11 @@
+--- lib/tasks/gitlab/check.rake.orig 2015-11-13 16:46:18.044125564 +0100
++++ lib/tasks/gitlab/check.rake 2015-11-13 16:46:24.414126919 +0100
+@@ -24,8 +24,6 @@
+ check_log_writable
+ check_tmp_writable
+ check_uploads
+- check_init_script_exists
+- check_init_script_up_to_date
+ check_projects_have_namespace
+ check_redis_version
+ check_ruby_version
diff --git a/www-apps/gitlabhq/files/gitlabhq-8.16-fix-sendmail-param.patch b/www-apps/gitlabhq/files/gitlabhq-8.16-fix-sendmail-param.patch
new file mode 100644
index 0000000..d905fe9
--- /dev/null
+++ b/www-apps/gitlabhq/files/gitlabhq-8.16-fix-sendmail-param.patch
@@ -0,0 +1,17 @@
+--- gitlabhq-8.7.5/config/environments/production.rb.orig 2016-05-20 17:01:56.043486847 +0200
++++ gitlabhq-8.7.5/config/environments/production.rb 2016-05-20 17:02:35.8.1696032 +0200
+@@ -70,10 +70,10 @@
+
+ config.action_mailer.delivery_method = :sendmail
+ # Defaults to:
+- # # config.action_mailer.sendmail_settings = {
+- # # location: '/usr/sbin/sendmail',
+- # # arguments: '-i -t'
+- # # }
++ config.action_mailer.sendmail_settings = {
++ location: '/usr/sbin/sendmail',
++ arguments: '-i'
++ }
+ config.action_mailer.perform_deliveries = true
+ config.action_mailer.raise_delivery_errors = true
+
diff --git a/www-apps/gitlabhq/files/gitlabhq-8.16.init b/www-apps/gitlabhq/files/gitlabhq-8.16.init
new file mode 100644
index 0000000..100fd56
--- /dev/null
+++ b/www-apps/gitlabhq/files/gitlabhq-8.16.init
@@ -0,0 +1,92 @@
+#!/sbin/openrc-run
+
+name="GitLab"
+description="GitLab 8.16 on Unicorns"
+
+: ${gitlab_user:=git}
+: ${gitlab_group:=git}
+: ${gitlab_home:="/opt/gitlabhq-8.16"}
+: ${gitlab_log:="/var/log/gitlabhq-8.16"}
+
+: ${unicorn_pidfile:="${gitlab_home}/tmp/pids/unicorn.pid"}
+: ${unicorn_log:="${gitlab_log}/unicorn.log"}
+: ${unicorn_socket:="${gitlab_home}/tmp/sockets/gitlab.socket"}
+
+: ${sidekiq_pidfile:="${gitlab_home}/tmp/pids/sidekiq.pid"}
+: ${sidekiq_log:="${gitlab_log}/sidekiq.log"}
+: ${sidekiq_config:="${gitlab_home}/config/sidekiq_queues.yml"}
+
+: ${workhorse_pidfile:="${gitlab_home}/tmp/pids/workhorse.pid"}
+: ${workhorse_log:="${gitlab_log}/workhorse.log"}
+: ${workhorse_socket:="${gitlab_home}/tmp/sockets/gitlab-workhorse.socket"}
+: ${workhorse_command_args:="-listenUmask 0 -listenNetwork unix -listenAddr ${workhorse_socket} -authBackend http://127.0.0.1:8080 -authSocket ${unicorn_socket} -documentRoot ${gitlab_home}/public"}
+
+: ${rails_env:=production}
+
+unicorn_command="/usr/bin/bundle"
+unicorn_command_args="exec unicorn_rails -c ${gitlab_home}/config/unicorn.rb -E ${rails_env} -D"
+sidekiq_command="/usr/bin/bundle"
+sidekiq_start_command_args="exec sidekiq -C ${sidekiq_config} -e ${rails_env} -d -P ${sidekiq_pidfile} -L ${sidekiq_log} $@ >> ${sidekiq_log} 2>&1"
+sidekiq_stop_command_args="exec sidekiqctl stop ${sidekiq_pidfile} >> ${sidekiq_log}"
+workhorse_command="/usr/bin/gitlab-workhorse"
+
+if [ ${rails_env} = development ]; then
+ sidekiq_command_args+=" VVERBOSE=1"
+fi
+
+depend() {
+ provide gitlab
+ need redis
+ use net mysql postgresql
+}
+
+start() {
+
+ checkpath -d -o "${gitlab_user}:${gitlab_group}" -m750 "$(dirname "${unicorn_pidfile}")"
+ checkpath -d -o "${gitlab_user}:${gitlab_group}" -m750 "$(dirname "${sidekiq_pidfile}")"
+
+ ebegin "Starting GitLab 8.16 Unicorn servers"
+ start-stop-daemon --start \
+ --chdir "${gitlab_home}" \
+ --user="${gitlab_user}:${gitlab_group}" \
+ --pidfile="${unicorn_pidfile}" \
+ --exec ${unicorn_command} -- ${unicorn_command_args}
+ eend $?
+
+ ebegin "Starting GitLab 8.16 Sidekiq"
+ cd "${gitlab_home}"
+ sudo -u git -H ${sidekiq_command} ${sidekiq_start_command_args}
+ eend $?
+
+ ebegin "Starting GitLab 8.16 Workhorse"
+ start-stop-daemon --start \
+ --chdir "${gitlab_home}" \
+ --user="${gitlab_user}:${gitlab_group}" \
+ --pidfile="${workhorse_pidfile}" \
+ --make-pidfile \
+ --background -1 "${workhorse_log}" -2 "${workhorse_log}" \
+ --exec ${workhorse_command} -- ${workhorse_command_args}
+ eend $?
+}
+
+stop() {
+
+ ebegin "Stopping GitLab 8.16 Workhorse"
+ start-stop-daemon --stop \
+ --chdir "${gitlab_home}" \
+ --user="${gitlab_user}:${gitlab_group}" \
+ --pidfile="${workhorse_pidfile}"
+ eend $?
+
+ ebegin "Stopping GitLab 8.16 Sidekiq"
+ cd "${gitlab_home}"
+ sudo -u git -H ${sidekiq_command} ${sidekiq_stop_command_args}
+ eend $?
+
+ ebegin "Stopping GitLab 8.16 Unicorn servers"
+ start-stop-daemon --stop \
+ --chdir "${gitlab_home}" \
+ --user="${gitlab_user}:${gitlab_group}" \
+ --pidfile="${unicorn_pidfile}"
+ eend $?
+}
diff --git a/www-apps/gitlabhq/gitlabhq-8.16.2.ebuild b/www-apps/gitlabhq/gitlabhq-8.16.2.ebuild
new file mode 100644
index 0000000..f3b0907
--- /dev/null
+++ b/www-apps/gitlabhq/gitlabhq-8.16.2.ebuild
@@ -0,0 +1,463 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="5"
+
+# Mainteiner notes:
+# - This ebuild uses Bundler to download and install all gems in deployment mode
+# (i.e. into isolated directory inside application). That's not Gentoo way how
+# it should be done, but GitLab has too many dependencies that it will be too
+# difficult to maintain them via ebuilds.
+
+USE_RUBY="ruby21 ruby22 ruby23"
+PYTHON_DEPEND="2:2.5"
+
+EGIT_REPO_URI="https://gitlab.com/gitlab-org/gitlab-ce.git"
+EGIT_COMMIT="v${PV}"
+
+inherit eutils git-2 python ruby-ng versionator user linux-info
+
+DESCRIPTION="GitLab is a free project and repository management application"
+HOMEPAGE="https://about.gitlab.com/gitlab-ci/"
+
+LICENSE="MIT"
+SLOT=$(get_version_component_range 1-2)
+KEYWORDS="~amd64 ~x86 ~arm"
+IUSE="memcached mysql +postgres +unicorn"
+
+## Gems dependencies:
+# charlock_holmes dev-libs/icu
+# grape, capybara dev-libs/libxml2, dev-libs/libxslt
+# json dev-util/ragel
+# yajl-ruby dev-libs/yajl
+# pygments.rb python 2.5+
+# execjs net-libs/nodejs, or any other JS runtime
+# pg dev-db/postgresql-base
+# mysql virtual/mysql
+# rugged net-libs/http-parser dev-libs/libgit2
+#
+GEMS_DEPEND="
+ dev-libs/icu
+ dev-libs/libxml2
+ dev-libs/libxslt
+ dev-util/ragel
+ dev-libs/yajl
+ net-libs/nodejs
+ postgres? ( dev-db/postgresql )
+ mysql? ( virtual/mysql )
+ memcached? ( net-misc/memcached )
+ net-libs/http-parser"
+DEPEND="${GEMS_DEPEND}
+ >=dev-lang/ruby-2.1[readline,ssl]
+ >dev-vcs/git-2.2.1
+ >=dev-vcs/gitlab-shell-4.1.1
+ >=www-servers/gitlab-workhorse-1.3.0
+ net-misc/curl
+ virtual/ssh"
+RDEPEND="${DEPEND}
+ >=dev-db/redis-2.8.0
+ virtual/mta
+ virtual/krb5"
+ruby_add_bdepend "
+ virtual/rubygems
+ >=dev-ruby/bundler-1.0"
+
+RUBY_PATCHES=(
+ "${PN}-${SLOT}-fix-checks-gentoo.patch"
+ "${PN}-${SLOT}-fix-sendmail-param.patch"
+)
+
+GIT_USER="git"
+GIT_GROUP="git"
+GIT_HOME=$(getent passwd $GIT_USER | cut -d: -f6)
+DEST_DIR="/opt/${PN}-${SLOT}"
+CONF_DIR="/etc/${PN}-${SLOT}"
+
+GIT_REPOS="${GIT_HOME}/repositories"
+GIT_SATELLITES="${GIT_HOME}/gitlab-satellites"
+GITLAB_SHELL="/var/lib/gitlab-shell"
+GITLAB_SHELL_HOOKS="${GITLAB_SHELL}/hooks"
+
+RAILS_ENV=${RAILS_ENV:-production}
+RUBY=${RUBY:-ruby21}
+BUNDLE="${RUBY} /usr/bin/bundle"
+
+pkg_setup() {
+ enewgroup ${GIT_GROUP}
+ enewuser ${GIT_USER} -1 -1 ${DEST_DIR} "${GIT_GROUP}"
+}
+
+all_ruby_unpack() {
+ git-2_src_unpack
+}
+
+each_ruby_prepare() {
+
+ # fix path to repo and gitlab-shell hooks
+ test -d "${GITLAB_SHELL_HOOKS}" || die "Gitlab Shell hooks directory not found: \"${GITLAB_SHELL_HOOKS}. Have you properly installed dev-vcs/gitlab-shell"?
+
+ sed -i \
+ -e "s|\(\s*path:\s\)/.*/gitlab-shell/|\1 ${GITLAB_SHELL}/|" \
+ -e "s|\(\s*repos_path:\s\)/.*|\1 ${GIT_REPOS}/|" \
+ -e "s|\(\s*hooks_path:\s\)/.*|\1 ${GITLAB_SHELL_HOOKS}/|" \
+ -e "s|\(\s*path:\s\)/.*/gitlab-satellites/|\1 ${GIT_SATELLITES}/|" \
+ -e "s|\(\s*GITLAB_SHELL:\s*\)|\1\n\tpath: \"${GITLAB_SHELL}\"|" \
+ config/gitlab.yml.example || die "failed to filter gitlab.yml.example"
+
+ # modify database settings
+ sed -i \
+ -e 's|\(username:\) postgres.*|\1 gitlab|' \
+ -e 's|\(password:\).*|\1 gitlab|' \
+ -e 's|\(socket:\).*|/run/postgresql/.s.PGSQL.5432|' \
+ config/database.yml.postgresql \
+ || die "failed to filter database.yml.postgresql"
+
+ # replace "secret" token with random one
+ local randpw=$(echo ${RANDOM}|sha512sum|cut -c 1-128)
+ sed -i -e "/secret_token =/ s/=.*/= '${randpw}'/" \
+ config/initializers/secret_token.rb \
+ || die "failed to filter secret_token.rb"
+
+ # remove needless files
+ rm .foreman .gitignore Procfile
+ use unicorn || rm config/unicorn.rb.example
+ use postgres || rm config/database.yml.postgresql
+ use mysql || rm config/database.yml.mysql
+
+ # change cache_store
+ if use memcached; then
+ sed -i \
+ -e "/\w*config.cache_store / s/=.*/= :dalli_store, { namespace: 'gitlab' }/" \
+ config/environments/production.rb \
+ || die "failed to modify production.rb"
+ fi
+
+ # Update pathes for unicorn
+ if use unicorn; then
+ sed -i \
+ -e "s#/home/git/gitlab#${DEST_DIR}#" \
+ config/unicorn.rb.example \
+ || die "failed to modify unicorn.rb.example"
+ fi
+}
+
+each_ruby_install() {
+ local dest="${DEST_DIR}"
+ local conf="/etc/${PN}-${SLOT}"
+ local temp="/var/tmp/${PN}-${SLOT}"
+ local logs="/var/log/${PN}-${SLOT}"
+ local uploads="${DEST_DIR}/public/uploads"
+
+ ## Prepare directories ##
+
+ diropts -m750
+ keepdir "${logs}"
+ dodir "${temp}"
+
+ diropts -m755
+ dodir "${dest}"
+ dodir "${uploads}"
+
+ dosym "${temp}" "${dest}/tmp"
+ dosym "${logs}" "${dest}/log"
+
+ ## Link gitlab-shell into git home
+ dosym "${GITLAB_SHELL}" "${GIT_HOME}/gitlab-shell"
+
+ ## Install configs ##
+
+ # Note that we cannot install the config to /etc and symlink
+ # it to ${dest} since require_relative in config/application.rb
+ # seems to get confused by symlinks. So let's install the config
+ # to ${dest} and create a smylink to /etc/gitlabhq-<VERSION>
+ dosym "${dest}/config" "${conf}"
+
+ insinto "${dest}/.ssh"
+ newins "${FILESDIR}/config.ssh" config
+
+ echo "export RAILS_ENV=production" > "${D}/${dest}/.profile"
+
+ ## Install all others ##
+
+ # remove needless dirs
+ rm -Rf tmp log
+
+ insinto "${dest}"
+ doins -r ./
+
+ ## Install logrotate config ##
+
+ dodir /etc/logrotate.d
+ sed -e "s|@LOG_DIR@|${logs}|" \
+ "${FILESDIR}"/gitlab.logrotate > "${D}"/etc/logrotate.d/${PN}-${SLOT} \
+ || die "failed to filter gitlab.logrotate"
+
+ ## Install gems via bundler ##
+
+ cd "${D}/${dest}"
+
+ local without="development test thin"
+ local flag; for flag in memcached mysql postgres unicorn; do
+ without+="$(use $flag || echo ' '$flag)"
+ done
+ local bundle_args="--deployment ${without:+--without ${without}}"
+
+ # Use systemlibs for nokogiri as suggested
+ ${BUNDLE} config build.nokogiri --use-system-libraries
+
+ # Fix invalid ldflags for charlock_holmes,
+ # see https://github.com/brianmario/charlock_holmes/issues/32
+ ${BUNDLE} config build.charlock_holmes --with-ldflags='-L. -Wl,-O1 -Wl,--as-needed -rdynamic -Wl,-export-dynamic -Wl,--no-undefined -lz -licuuc'
+
+ einfo "Running bundle install ${bundle_args} ..."
+ ${BUNDLE} install ${bundle_args} || die "bundler failed"
+
+ ## Clean ##
+
+ local gemsdir=vendor/bundle/ruby/$(ruby_rbconfig_value 'ruby_version')
+
+ # remove gems cache
+ rm -Rf ${gemsdir}/cache
+
+ # fix permissions
+ fowners -R ${GIT_USER}:${GIT_GROUP} "${dest}" "${conf}" "${temp}" "${logs}"
+ fperms o+Xr "${temp}" # Let nginx access the unicorn socket
+
+ ## RC scripts ##
+ local rcscript=${PN}-${SLOT}.init
+
+ cp "${FILESDIR}/${rcscript}" "${T}" || die
+ sed -i \
+ -e "s|@GIT_USER@|${GIT_USER}|" \
+ -e "s|@GIT_GROUP@|${GIT_USER}|" \
+ -e "s|@SLOT@|${SLOT}|" \
+ -e "s|@DEST_DIR@|${dest}|" \
+ -e "s|@LOG_DIR@|${logs}|" \
+ -e "s|@RESQUE_QUEUE@|${resque_queue}|" \
+ "${T}/${rcscript}" \
+ || die "failed to filter ${rcscript}"
+
+ if use memcached; then
+ sed -i -e '/^depend/,// {/need / s/$/ memcached/}' \
+ "${T}/${rcscript}" || die "failed to filter ${rcscript}"
+ fi
+
+ newinitd "${T}/${rcscript}" "${PN}-${SLOT}"
+}
+
+pkg_preinst() {
+ diropts -m "0750" -o "${GIT_USER}" -g "${GIT_GROUP}"
+ dodir "${GIT_SATELLITES}"
+}
+
+pkg_postinst() {
+ if [ ! -e "${GIT_HOME}/.ssh/id_rsa" ]; then
+ einfo "Generating SSH key for git user"
+ su -l ${GIT_USER} -s /bin/sh -c "
+ ssh-keygen -q -N '' -t rsa -f ${GIT_HOME}/.ssh/id_rsa" \
+ || die "failed to generate SSH key"
+ fi
+ if [ ! -e "${GIT_HOME}/.gitconfig" ]; then
+ einfo "Setting git user in ${GIT_HOME}/.gitconfig, feel free to "
+ einfo "modify this file according to your needs!"
+ su -l ${GIT_USER} -s /bin/sh -c "
+ git config --global core.autocrlf 'input';
+ git config --global gc.auto 0;
+ git config --global user.email 'gitlab@localhost';
+ git config --global user.name 'GitLab'" \
+ || die "failed to setup git configuration"
+ fi
+
+ elog "If this is a new installation, proceed with the following steps:"
+ elog
+ elog " 1. Copy ${CONF_DIR}/gitlab.yml.example to ${CONF_DIR}/gitlab.yml"
+ elog " and edit this file in order to configure your GitLab settings."
+ elog
+ elog " 2. Copy ${CONF_DIR}/database.yml.* to ${CONF_DIR}/database.yml"
+ elog " and edit this file in order to configure your database settings"
+ elog " for \"production\" environment."
+ elog
+ elog " 3. Copy ${CONF_DIR}/initializers/rack_attack.rb.example"
+ elog " to ${CONF_DIR}/initializers/rack_attack.rb"
+ elog
+ elog " 4. Copy ${CONF_DIR}/resque.yml.example to ${CONF_DIR}/resque.yml"
+ elog " and edit this file in order to configure your Redis settings"
+ elog " for \"production\" environment."
+ elog
+
+ if use unicorn; then
+ elog " 4a. Copy ${CONF_DIR}/unicorn.rb.example to ${CONF_DIR}/unicorn.rb"
+ elog
+ fi
+
+ elog " 5. If this is a new installation, create a database for your GitLab instance."
+ if use postgres; then
+ elog " If you have local PostgreSQL running, just copy&run:"
+ elog " su postgres"
+ elog " psql -c \"CREATE ROLE gitlab PASSWORD 'gitlab' \\"
+ elog " NOSUPERUSER NOCREATEDB NOCREATEROLE INHERIT LOGIN;\""
+ elog " createdb -E UTF-8 -O gitlab gitlab_production"
+ elog " Note: You should change your password to something more random..."
+ elog
+ elog " GitLab uses polymorphic associations which are not SQL-standard friendly."
+ elog " To get it work you must use this ugly workaround:"
+ elog " psql -U postgres -d gitlab"
+ elog " CREATE CAST (integer AS text) WITH INOUT AS IMPLICIT;"
+ elog
+ fi
+ elog " 6. Execute the following command to finalize your setup:"
+ elog " emerge --config \"=${CATEGORY}/${PF}\""
+ elog " Note: Do not forget to start Redis server."
+ elog
+ elog "To update an existing instance, run the following command and choose upgrading when prompted:"
+ elog " emerge --config \"=${CATEGORY}/${PF}\""
+ elog
+ elog "Important: Do not remove the earlier version prior migration!"
+
+ if linux_config_exists; then
+ if linux_chkconfig_present PAX ; then
+ ewarn "Warning: PaX support is enabled, you must disable mprotect for ruby. Otherwise "
+ ewarn "FFI will trigger mprotect errors that are hard to trace. Please run: "
+ ewarn " paxctl -m $(which ${RUBY})"
+ fi
+ else
+ einfo "Important: Cannot find a linux kernel configuration, so cannot check for PaX support."
+ einfo " If CONFIG_PAX is set, you should disable mprotect for ruby since FFI may trigger"
+ einfo " mprotect errors."
+ fi
+}
+
+pkg_config() {
+
+ # Ask user whether this is the first installation
+ einfo "Do you want to upgrade an existing installation? [Y|n] "
+ do_upgrade=""
+ while true
+ do
+ read -r do_upgrade
+ if [[ $do_upgrade == "n" || $do_upgrade == "N" ]] ; then do_upgrade="" && break
+ elif [[ $do_upgrade == "y" || $do_upgrade == "Y" || $do_upgrade == "" ]] ; then do_upgrade=1 && break
+ else eerror "Please type either \"Y\" or \"N\" ... " ; fi
+ done
+
+ if [[ $do_upgrade ]] ; then
+
+ LATEST_DEST=$(test -n "${LATEST_DEST}" && echo ${LATEST_DEST} || \
+ find /opt -maxdepth 1 -iname 'gitlabhq-*' -and -type d -and -not -iname "gitlabhq-${SLOT}" | \
+ sort -r | head -n1)
+
+ if [[ -z "${LATEST_DEST}" || ! -d "${LATEST_DEST}" ]] ; then
+ einfo "Please enter the path to your latest Gitlab instance:"
+ while true
+ do
+ read -r LATEST_DEST
+ test -d ${LATEST_DEST} && break ||\
+ eerror "Please specify a valid path to your Gitlab instance!"
+ done
+ else
+ einfo "Found your latest Gitlab instance at \"${LATEST_DEST}\"."
+ fi
+
+ einfo "Please make sure that you've created a backup and stopped your running Gitlab instance: "
+ elog "\$ cd \"${LATEST_DEST}\" && sudo -u ${GIT_USER} ${BUNDLE} exec rake gitlab:backup:create RAILS_ENV=production"
+ elog "\$ /etc/init.d/${LATEST_DEST#*/opt/} stop"
+ elog ""
+
+ einfo "Press ENTER to continue, STRG-C to cancel"
+ read
+
+ if [[ ${LATEST_DEST} != ${DEST_DIR} ]] ;
+ then
+ einfo "Found major update, migrate data from \"$LATEST_DEST\":"
+ einfo "Migrating uploads ..."
+ einfo "This will move your uploads from \"$LATEST_DEST\" to \"${DEST_DIR}\", continue? [Y|n] "
+ migrate_uploads=""
+ while true
+ do
+ read -r migrate_uploads
+ if [[ $migrate_uploads == "n" || $migrate_uploads == "N" ]] ; then migrate_uploads="" && break
+ elif [[ $migrate_uploads == "y" || $migrate_uploads == "Y" || $migrate_uploads == "" ]] ; then migrate_uploads=1 && break
+ else eerror "Please type either \"Y\" or \"N\" ... " ; fi
+ done
+ if [[ $migrate_uploads ]] ; then
+ su -l ${GIT_USER} -s /bin/sh -c "
+ rm -rf ${DEST_DIR}/public/uploads && \
+ mv ${LATEST_DEST}/public/uploads ${DEST_DIR}/public/uploads" \
+ || die "failed to migrate uploads."
+
+ # Fix permissions
+ find "${DEST_DIR}/public/uploads/" -type d -exec chmod 0700 {} \;
+ fi
+
+ for conf in database.yml gitlab.yml resque.yml unicorn.rb secrets.yml ; do
+ einfo "Migration config file \"$conf\" ..."
+ cp -p "${LATEST_DEST}/config/${conf}" "${DEST_DIR}/config/"
+ sed -s "s#$(basename $LATEST_DEST)#${PN}-${SLOT}#g" -i "${DEST_DIR}/config/$conf"
+
+ example="${DEST_DIR}/config/${conf}.example"
+ test -f "${example}" && mv "${example}" "${DEST_DIR}/config/._cfg0000_${conf}"
+ done
+ CONFIG_PROTECT="${DEST_DIR}" dispatch-conf || die "failed to automatically migrate config, run \"CONFIG_PROTECT=${DEST_DIR} dispatch-conf\" by hand, re-run this routine and skip config migration to proceed."
+ fi
+
+ einfo "Migrating database ..."
+ su -l ${GIT_USER} -s /bin/sh -c "
+ export LANG=en_US.UTF-8; export LC_ALL=en_US.UTF-8
+ cd ${DEST_DIR}
+ ${BUNDLE} exec rake db:migrate RAILS_ENV=production" \
+ || die "failed to migrate database."
+
+ einfo "Clear redis cache ..."
+ su -l ${GIT_USER} -s /bin/sh -c "
+ export LANG=en_US.UTF-8; export LC_ALL=en_US.UTF-8
+ cd ${DEST_DIR}
+ ${BUNDLE} exec rake cache:clear RAILS_ENV=production" \
+ || die "failed to run cache:clear"
+
+ einfo "Clear and precompile assets ..."
+ su -l ${GIT_USER} -s /bin/sh -c "
+ export LANG=en_US.UTF-8; export LC_ALL=en_US.UTF-8
+ cd ${DEST_DIR}
+ ${BUNDLE} exec rake assets:clean RAILS_ENV=production
+ ${BUNDLE} exec rake assets:precompile RAILS_ENV=production" \
+ || die "failed to run assets:clean and assets:precompile"
+
+ else
+
+ ## Check config files existence ##
+ einfo "Checking configuration files ..."
+
+ if [ ! -r "${CONF_DIR}/database.yml" ] ; then
+ eerror "Copy \"${CONF_DIR}/database.yml.*\" to \"${CONF_DIR}/database.yml\""
+ eerror "and edit this file in order to configure your database settings for"
+ eerror "\"production\" environment."
+ die
+ fi
+ if [ ! -r "${CONF_DIR}/gitlab.yml" ]; then
+ eerror "Copy \"${CONF_DIR}/gitlab.yml.example\" to \"${CONF_DIR}/gitlab.yml\""
+ eerror "and edit this file in order to configure your GitLab settings"
+ eerror "for \"production\" environment."
+ die
+ fi
+
+ einfo "Initializing database ..."
+ su -l ${GIT_USER} -s /bin/sh -c "
+ export LANG=en_US.UTF-8; export LC_ALL=en_US.UTF-8
+ cd ${DEST_DIR}
+ ${BUNDLE} exec rake gitlab:setup RAILS_ENV=${RAILS_ENV}" \
+ || die "failed to run rake gitlab:setup"
+ fi
+
+ ## (Re-)Link gitlab-shell-secret into gitlab-shell
+ if test -L "${GITLAB_SHELL}/.gitlab_shell_secret"
+ then
+ rm "${GITLAB_SHELL}/.gitlab_shell_secret"
+ ln -s "${DEST_DIR}/.gitlab_shell_secret" "${GITLAB_SHELL}/.gitlab_shell_secret"
+ fi
+
+ einfo "You might want to run the following in order to check your application status:"
+ einfo "# cd ${DEST_DIR} && sudo -u ${GIT_USER} ${BUNDLE} exec rake gitlab:check RAILS_ENV=production"
+ einfo ""
+ einfo "GitLab is prepared, now you should configure your web server."
+}