From 65f837a6a3df80f0a180fb4cfdb85a0e3102437c Mon Sep 17 00:00:00 2001 From: Manuel Friedli Date: Tue, 12 Jul 2016 00:08:16 +0200 Subject: [PATCH 1/2] www-apps/gitlab-ce: added ebuild for version 8.9.6 Package-Manager: portage-2.2.28 --- www-apps/gitlab-ce/ChangeLog | 5 + www-apps/gitlab-ce/Manifest | 4 +- www-apps/gitlab-ce/gitlab-ce-8.9.6.ebuild | 399 ++++++++++++++++++++++ 3 files changed, 407 insertions(+), 1 deletion(-) create mode 100644 www-apps/gitlab-ce/gitlab-ce-8.9.6.ebuild diff --git a/www-apps/gitlab-ce/ChangeLog b/www-apps/gitlab-ce/ChangeLog index 35e8293..6277cf6 100644 --- a/www-apps/gitlab-ce/ChangeLog +++ b/www-apps/gitlab-ce/ChangeLog @@ -1,3 +1,8 @@ +*gitlab-ce-8.9.6 (11 Jul 2016) + + 11 Jul 2016; Manuel Friedli +gitlab-ce-8.9.6.ebuild: + www-apps/gitlab-ce: added ebuild for version 8.9.6 + 09 Jul 2016; Manuel Friedli gitlab-ce-9999.ebuild: www-apps/gitlab-ce: updated dependencies to gitlab-shell and gitlab-workhorse for gitlab-ce-9999 diff --git a/www-apps/gitlab-ce/Manifest b/www-apps/gitlab-ce/Manifest index 577da60..5a67ac7 100644 --- a/www-apps/gitlab-ce/Manifest +++ b/www-apps/gitlab-ce/Manifest @@ -14,12 +14,14 @@ DIST gitlab-ce-8.9.2.tar.gz 21152737 SHA256 f1da983b827297ed45ee859293e9abd1b2da DIST gitlab-ce-8.9.3.tar.gz 21156182 SHA256 39578df8b98113bbe79f49d1435d9c399729e9b0d42062a60c8d8c11d1fe056b SHA512 e03b448da007145a8869813e39ceb96f3209b5ab79cc1eee06bdfdb8c85392fdb7a7d5bf3c957fb9d55be93ee6f35945e88747ca1770d566dd4a55cdb0170149 WHIRLPOOL c390be29b4da63f222d22e667baa9876cdbba3d0d1d9d3aa22783355dd1989b2f2bb3692e6c17094444518e36bb0e87b972484c7afc3af132ddc3c536aebcaf9 DIST gitlab-ce-8.9.4.tar.gz 21156625 SHA256 bd2e2342e68b887f35b322f3e15894aa654c0701476ecfd7c4072f70c1752ad9 SHA512 7b60c99746a3f36298a30c396769189c10d129c827ef0b1f52b38b2fc72a3e425ca4b46fdd47cfec7d0680e84ecc37ab478dfaf9fbff45bb3773abab5681c088 WHIRLPOOL 70a698d85526537ec1f965472ebfeab76b6cc1ce8b638fbfa5c433b9ee9411f48284969c1dcac8297e5415e229ec172e38605338d1108aebde5e6645c1350aa1 DIST gitlab-ce-8.9.5.tar.gz 21555267 SHA256 6f1685d5b2cf36a580467017ba5a4ce59dc13f90ce160e031d883b424e2557d0 SHA512 7d8a6bb7fee72b4b6b877b5484aeacfb1ccbc387b5635c4bd56cc7296b7b107532aac43f25911580906b186504452c9a8a43d8b64e2c5a5b4b8027ef10bc8e52 WHIRLPOOL aaac0b42fe2b97107b868924e6710829376f42df6ed11af7456362463f19e5d4cd6cc9d4616dd1d7e865caa6f420e028fca2abf07746b5fb0ef3cb2c0427aec3 +DIST gitlab-ce-8.9.6.tar.gz 21555571 SHA256 1b357ed1157a2a20b647004f588b67d72416df805a385fa7b605905bafb26f55 SHA512 d4693cdc80fff44e2f2d2e640163337b153ee08fbd12cefd055c8a595e1487010f7c0db39a11056577d331d3a76cc7da9936139199aad324d9c324395f684f9a WHIRLPOOL 00474d385cd9b574bbef0847f80613253f4543c54b356ab654b0ca3e7233e056efbe995a9de3e418c68d482d4a2b9b0cf676941c7013755bd795bfe83c9766aa EBUILD gitlab-ce-8.8.5.ebuild 12342 SHA256 0b528722bb3bc7d232dc6a272973bf8da77992fefa308dabf4b7a9fba8548c18 SHA512 430ee8b469bf43bd8889e9375c49ca83a35d2956c6964e0f1dd07921fbb124a8d7decf60950fbbbc836025d74e73da1e7c89119da2348090d163eb6062739fb4 WHIRLPOOL 3730bf6b32dbc0c3605b15a953114aca56faf859f83672f05ad0b92251697a9cc0778b13d3ba3fd25ddb0858e8ce43b400573f68a605e063ad9bed8597c29fc5 EBUILD gitlab-ce-8.9.1.ebuild 12334 SHA256 63aeb978a978893a3f35e1ed36c7f57a1e1f37c6bca69114ee0a90f654b120af SHA512 29dd88440925723f9b11fc85de810835374739cc7fcde320e51b8bb5561d8850889a16b4750076fa0b786eb4d10ccbcd09db9d518976a09c13bdb600f85a9584 WHIRLPOOL e16c925f82e7a4175b685d3e6093e410cd6c552d9aaec0807f66183b468f6b53a91e3c9084d63f122ea4c9c6de6278aad4e212fd29ea250e23a7bf7bd47f26e2 EBUILD gitlab-ce-8.9.2.ebuild 12341 SHA256 a46bb7c78639ee411a8c0994847f4f90a89133f2d85e7eb71f76f9f6756e5c25 SHA512 19712bb3ece7873e9dc2a5d471512a553108b95338bd370dab8dfac6695da34ee713d4d106c62de1472eab7e3e953471ad6274f7d646900e7ef2c7521460211b WHIRLPOOL 1cdff895e32079e2bd85863d46a3c6c0f39590e454f7c77d058f7403341ab39adf477005a9c6c417ec7ca527bffedf0ec1ec3b3f64cb242c3b2d3404c41b6e8f EBUILD gitlab-ce-8.9.3.ebuild 12341 SHA256 a46bb7c78639ee411a8c0994847f4f90a89133f2d85e7eb71f76f9f6756e5c25 SHA512 19712bb3ece7873e9dc2a5d471512a553108b95338bd370dab8dfac6695da34ee713d4d106c62de1472eab7e3e953471ad6274f7d646900e7ef2c7521460211b WHIRLPOOL 1cdff895e32079e2bd85863d46a3c6c0f39590e454f7c77d058f7403341ab39adf477005a9c6c417ec7ca527bffedf0ec1ec3b3f64cb242c3b2d3404c41b6e8f EBUILD gitlab-ce-8.9.4.ebuild 12341 SHA256 a46bb7c78639ee411a8c0994847f4f90a89133f2d85e7eb71f76f9f6756e5c25 SHA512 19712bb3ece7873e9dc2a5d471512a553108b95338bd370dab8dfac6695da34ee713d4d106c62de1472eab7e3e953471ad6274f7d646900e7ef2c7521460211b WHIRLPOOL 1cdff895e32079e2bd85863d46a3c6c0f39590e454f7c77d058f7403341ab39adf477005a9c6c417ec7ca527bffedf0ec1ec3b3f64cb242c3b2d3404c41b6e8f EBUILD gitlab-ce-8.9.5.ebuild 12341 SHA256 a46bb7c78639ee411a8c0994847f4f90a89133f2d85e7eb71f76f9f6756e5c25 SHA512 19712bb3ece7873e9dc2a5d471512a553108b95338bd370dab8dfac6695da34ee713d4d106c62de1472eab7e3e953471ad6274f7d646900e7ef2c7521460211b WHIRLPOOL 1cdff895e32079e2bd85863d46a3c6c0f39590e454f7c77d058f7403341ab39adf477005a9c6c417ec7ca527bffedf0ec1ec3b3f64cb242c3b2d3404c41b6e8f +EBUILD gitlab-ce-8.9.6.ebuild 12341 SHA256 a46bb7c78639ee411a8c0994847f4f90a89133f2d85e7eb71f76f9f6756e5c25 SHA512 19712bb3ece7873e9dc2a5d471512a553108b95338bd370dab8dfac6695da34ee713d4d106c62de1472eab7e3e953471ad6274f7d646900e7ef2c7521460211b WHIRLPOOL 1cdff895e32079e2bd85863d46a3c6c0f39590e454f7c77d058f7403341ab39adf477005a9c6c417ec7ca527bffedf0ec1ec3b3f64cb242c3b2d3404c41b6e8f EBUILD gitlab-ce-9999.ebuild 12344 SHA256 51f6c269afc9899e71c66a44430e644464a72a5b20f828c7f4eef135391175fb SHA512 193cfc353428cb7e4dd37415031d7382ca7efd66391d8839733550864adcc3fdea3e21a882223770ebb6b939a0e08e5e5b2bfb4bb6fff7838dbebd331368e2a5 WHIRLPOOL 74fddca03105d85ad59f61849cb16bc96fbf68ddd6404db15152ad9aadcdafc6aa4d0ff8468a8326b23af16d9e199177d6d83f3296262f93c16115d3fe99e707 -MISC ChangeLog 2325 SHA256 76dc4d67187abfa8f76cac4868cef97288a4675837d2dc91b92b6ac15bd685da SHA512 fc2fda89d8e4759081c7ec78ec109dc6be7a18dabc6457d868656477fb50b531ad3e71bf5a5c2231b6a17e9afc951b393e9fb6ef8e6f42ccd0c277a68dfb799d WHIRLPOOL 185f0cc1d8368972573cc592287bbc944bace66d53019f4341b52538cb15dc3362c18b10b296faf2f396238a25a0ae65e67893c34af6d8e3ab461fc326178776 +MISC ChangeLog 2488 SHA256 db9419709849024fac4a3853254d27988c47f08c8ac4a62d2a47dcfae4944c8c SHA512 a2293ef588ce44a30669b6383a37fcaed58e0d127e29cbf1f4f999b0ed5016b5c4b2e40f7228015b67458d15de811f4e8aea2783088a146c83da4b6f382ff840 WHIRLPOOL 548f6dc6026ad420136d2ab7d11ba110035126c06834b1526386cbee5243fab2d2bd9b5d98207855b45590c66d0b2c1b5ab993f6a1231822b385cc6b8dcccc64 MISC metadata.xml 545 SHA256 1b7fc44d811e1ab7638fe4a40253f49d5f1071872d3020c22c4f67662750cb2f SHA512 86f47d297892bccfefa087d93936296f5647993a9ec8e3f47907a6859cbf385e5bc6f00502d7836c9e8d9efef2b6725bf145b0150924c2082b2bd164469ef6ea WHIRLPOOL 6bfb8a55684d68c8bfa6e025a0be965f7b815394ee0896dd2a13cfb524e3cf3f3149acc9072897e30a1842060389576aac07ea8beb4a8b0bfc3e8eab3723f2a1 diff --git a/www-apps/gitlab-ce/gitlab-ce-8.9.6.ebuild b/www-apps/gitlab-ce/gitlab-ce-8.9.6.ebuild new file mode 100644 index 0000000..e0bd0b0 --- /dev/null +++ b/www-apps/gitlab-ce/gitlab-ce-8.9.6.ebuild @@ -0,0 +1,399 @@ +# 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" + +inherit eutils ruby-ng user systemd + +MY_PKGNAME="gitlabhq" + +DESCRIPTION="GitLab is a free project and repository management application" +HOMEPAGE="https://about.gitlab.com/" +SRC_URI="https://github.com/${MY_PKGNAME}/${MY_PKGNAME}/archive/v${PV}.tar.gz -> ${P}.tar.gz" +RUBY_S="${MY_PKGNAME}-${PV}" + +RESTRICT="mirror" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~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-3.0* + >=dev-vcs/git-2.7.4 + >=dev-vcs/gitlab-workhorse-0.7.5 + 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= )" +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=( + "${PN}-8.7.5-fix-sendmail-config.patch" + "${PN}-8.9.1-fix-redis-config-path.patch" +) + +MY_NAME="gitlab" +MY_USER="git" # should be same as in gitlab-shell + +DEST_DIR="/opt/${MY_NAME}" +CONF_DIR="/etc/${MY_NAME}" +LOGS_DIR="/var/log/${MY_NAME}" +TEMP_DIR="/var/tmp/${MY_NAME}" + +# When updating ebuild to newer version, check list of the queues in +# https://gitlab.com/gitlab-org/gitlab-ce/blob/v${PV}/bin/background_jobs +SIDEKIQ_QUEUES="post_receive,mailers,archive_repo,system_hook,project_web_hook,gitlab_shell,incoming_email,runner,common,default" + +all_ruby_prepare() { + # fix paths + local satellites_path="${TEMP_DIR}/repo_satellites" + local repos_path=/var/lib/git/repositories + local shell_path=/usr/share/gitlab-shell + sed -i -E \ + -e "/satellites:$/,/\w:$/ s|(\s*path:\s).*|\1${satellites_path}/|" \ + -e "/gitlab_shell:$/,/\w:$/ s|(\s*path:\s).*|\1${shell_path}/|" \ + -e "/gitlab_shell:$/,/\w:$/ s|(\s*repos_path:\s).*|\1${repos_path}/|" \ + -e "/gitlab_shell:$/,/\w:$/ s|(\s*hooks_path:\s).*|\1${shell_path}/hooks/|" \ + config/gitlab.yml.example || die "failed to filter gitlab.yml.example" + + local run_path=/run/${MY_NAME} + sed -i -E \ + -e "s|/home/git/gitlab/tmp/(pids\|sockets)|${run_path}|" \ + -e "s|/home/git/gitlab/log|${LOGS_DIR}|" \ + -e "s|/home/git/gitlab|${DEST_DIR}|" \ + config/unicorn.rb.example || die "failed to filter unicorn.rb.example" + + sed -i \ + -e "s|/home/git/gitlab/tmp/sockets|${run_path}|" \ + lib/support/nginx/gitlab || die "failed to filter nginx/gitlab" + + # modify default database settings for PostgreSQL + sed -i -E \ + -e 's|(username:).*|\1 gitlab|' \ + -e 's|(password:).*|\1 gitlab|' \ + -e 's|(socket:).*|\1 /run/postgresql/.s.PGSQL.5432|' \ + config/database.yml.postgresql \ + || die "failed to filter database.yml.postgresql" + + # rename config files + mv config/gitlab.yml.example config/gitlab.yml + mv config/unicorn.rb.example config/unicorn.rb + + local dbconf=config/database.yml + if use postgres && ! use mysql; then + mv ${dbconf}.postgresql ${dbconf} + rm ${dbconf}.mysql + elif use mysql && ! use postgres; then + mv ${dbconf}.mysql ${dbconf} + rm ${dbconf}.postgresql + fi + + # remove useless files + rm -r lib/support/{deploy,init.d} + use unicorn || rm config/unicorn.rb +} + +all_ruby_install() { + local dest=${DEST_DIR} + local conf=${CONF_DIR} + local logs=${LOGS_DIR} + local temp=${TEMP_DIR} + + # prepare directories + diropts -m750 + dodir ${logs} ${temp} + + diropts -m755 + dodir ${conf} ${dest}/public/uploads + + dosym ${temp} ${dest}/tmp + dosym ${logs} ${dest}/log + + # install configs + insinto ${conf} + doins -r config/* + dosym ${conf} ${dest}/config + + echo 'export RAILS_ENV=production' > "${D}/${dest}/.profile" + + # remove needless dirs + rm -Rf config tmp log + + # install the rest files + # using cp 'cause doins is slow + cp -Rl * "${D}/${dest}"/ + + # install logrotate config + dodir /etc/logrotate.d + cat > "${D}/etc/logrotate.d/${MY_NAME}" <<-EOF + ${logs}/*.log { + missingok + delaycompress + compress + copytruncate + } + EOF + + ## Install gems via bundler ## + + cd "${D}/${dest}" + + local without="development test aws" + local flag; for flag in mysql postgres unicorn kerberos; do + without+="$(use $flag || echo ' '$flag)" + done + local bundle_args="--deployment ${without:+--without ${without}}" + + use "rugged_use_system_libraries" && export RUGGED_USE_SYSTEM_LIBRARIES="YES" + + einfo "Running bundle install ${bundle_args} ..." + ${RUBY} /usr/bin/bundle install ${bundle_args} || die "bundler failed" + + 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 + + # fix permissions + fowners -R ${MY_USER}:${MY_USER} ${dest} ${temp} ${logs} + + ## RC script ## + + if use systemd ; then + ewarn "Beware: systemd support has not been tested, use at your own risk!" + systemd_dounit "${FILESDIR}/gitlab-sidekiq.service" + systemd_dounit "${FILESDIR}/gitlab-unicorn.service" + systemd_dounit "${FILESDIR}/gitlab-workhorse.service" + systemd_dounit "${FILESDIR}/gitlab-mailroom.service" + systemd_dotmpfilesd "${FILESDIR}/gitlab.conf" + else + local rcscript=gitlab-sidekiq.init + use unicorn && rcscript=gitlab-unicorn.init + + cp "${FILESDIR}/${rcscript}" "${T}" || die + sed -i \ + -e "s|@USER@|${MY_USER}|" \ + -e "s|@GITLAB_BASE@|${dest}|" \ + -e "s|@LOGS_DIR@|${logs}|" \ + -e "s|@QUEUES@|${SIDEKIQ_QUEUES}|" \ + "${T}/${rcscript}" \ + || die "failed to filter ${rcscript}" + + newinitd "${T}/${rcscript}" "${MY_NAME}" + fi +} + +pkg_postinst() { + elog "If this is an update from a previous version, stop your GitLab" + elog "instance and issue the following command to perform all required" + elog "migrations:" + elog " emerge --config \"=${CATEGORY}/${PF}\"" + elog "PLEASE NOTE: It's HIGHLY recommended to backup your database" + elog "before running the config phase. 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() { + local shell_conf='/etc/gitlab-shell.yml' + + einfo "Checking configuration files" + + if [ ! -r "${CONF_DIR}/database.yml" ]; then + eerror "Copy ${CONF_DIR}/database.yml.* to" + eerror "${CONF_DIR}/database.yml and edit this file in order to configure your" + eerror "database settings for \"production\" environment."; die + fi + + # check gitlab-shell configuration + if [ -r ${shell_conf} ]; then + local shell_repos_path="$(ryaml ${shell_conf} repos_path)" + local gitlab_repos_path="$(ryaml ${CONF_DIR}/gitlab.yml \ + production gitlab_shell repos_path)" + + if [ ! "${shell_repos_path}" -ef "${gitlab_repos_path}" ]; then + eerror "repos_path in ${CONF_DIR}/gitlab.yml and ${shell_conf}" + eerror "must points to the same location! Fix the repos_path location and" + eerror "run this again."; die + fi + else + ewarn "GitLab Shell checks skipped, could not find config file at" + ewarn "${shell_conf}. Make sure that you have gitlab-shell properly" + ewarn "installed and that repos_path is the same as in GitLab." + fi + + local email_from="$(ryaml ${CONF_DIR}/gitlab.yml production gitlab email_from)" + local git_home="$(egethome ${MY_USER})" + + # configure Git global settings + if [ ! -e "${git_home}/.gitconfig" ]; then + einfo "Setting git user" + su -l ${MY_USER} -c " + git config --global user.email '${email_from}'; + git config --global user.name 'GitLab'" \ + || die "failed to setup git name and email" + fi + + if [ ! -d "${DEST_DIR}/.git" ]; then + # create dummy git repo as workaround for + # https://github.com/bundler/bundler/issues/2039 + einfo "Initializing dummy git repository to avoid false errors from bundler" + su -l ${MY_USER} -c " + cd ${DEST_DIR} + git init + git add README.md + git commit -m 'Dummy repository'" >/dev/null + fi + + ## Initialize app ## + + local RAILS_ENV="production" + local RUBY=${RUBY:-/usr/bin/ruby} + local BUNDLE="${RUBY} /usr/bin/bundle" + + local dbname="$(ryaml ${CONF_DIR}/database.yml production database)" + + if [ -f "${DEST_DIR}/.secret" ]; then + local update=true + + einfo "Migrating database ..." + exec_rake db:migrate + + # https://github.com/gitlabhq/gitlabhq/issues/5311#issuecomment-31656496 + einfo "Migrating iids ..." + exec_rake migrate_iids + + einfo "Cleaning old precompiled assets ..." + exec_rake assets:clean + + einfo "Cleaning cache ..." + exec_rake cache:clear + else + local update=false + + einfo "Initializing database ..." + exec_rake gitlab:setup + fi + + einfo "Precompiling assests ..." + exec_rake assets:precompile + + if [ "${update}" = 'true' ]; then + ewarn + ewarn "This configuration script runs only common migration tasks." + ewarn "Please read guides on" + ewarn " https://github.com/gitlabhq/gitlabhq/blob/master/doc/update/" + ewarn "for any additional migration tasks specific to your previous GitLab" + ewarn "version." + fi + 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 +} + +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 $@" +} From 33f5f3510efc4b0715ac13953f81358758c0170d Mon Sep 17 00:00:00 2001 From: Manuel Friedli Date: Tue, 12 Jul 2016 00:10:40 +0200 Subject: [PATCH 2/2] dev-vcs/gitlab-workhorse: added ebuild for version 0.7.8 Package-Manager: portage-2.2.28 --- dev-vcs/gitlab-workhorse/ChangeLog | 6 +++ dev-vcs/gitlab-workhorse/Manifest | 5 ++- .../files/fix-Makefile-0.7.8.patch | 12 ++++++ .../gitlab-workhorse-0.7.8.ebuild | 39 +++++++++++++++++++ 4 files changed, 61 insertions(+), 1 deletion(-) create mode 100644 dev-vcs/gitlab-workhorse/files/fix-Makefile-0.7.8.patch create mode 100644 dev-vcs/gitlab-workhorse/gitlab-workhorse-0.7.8.ebuild diff --git a/dev-vcs/gitlab-workhorse/ChangeLog b/dev-vcs/gitlab-workhorse/ChangeLog index 7796d55..038f06d 100644 --- a/dev-vcs/gitlab-workhorse/ChangeLog +++ b/dev-vcs/gitlab-workhorse/ChangeLog @@ -1,3 +1,9 @@ +*gitlab-workhorse-0.7.8 (11 Jul 2016) + + 11 Jul 2016; Manuel Friedli + +files/fix-Makefile-0.7.8.patch, +gitlab-workhorse-0.7.8.ebuild: + dev-vcs/gitlab-workhorse: added ebuild for version 0.7.8 + *gitlab-workhorse-0.7.7 (28 Jun 2016) 28 Jun 2016; Manuel Friedli diff --git a/dev-vcs/gitlab-workhorse/Manifest b/dev-vcs/gitlab-workhorse/Manifest index 6c4664f..c40d02d 100644 --- a/dev-vcs/gitlab-workhorse/Manifest +++ b/dev-vcs/gitlab-workhorse/Manifest @@ -1,13 +1,16 @@ AUX fix-Makefile-0.7.1.patch 377 SHA256 10fa5bfbf9d61de4f07d0f117a0d2e2498f97b7a23a04f37e0a0bcfdf87c69c1 SHA512 c25175937b18a153f63990d37fb3161aa55428df3f7f3d9e1bc22836c055511cee649a998239c9765adbc1273ba8059ac2b1b1e2b3c4d016d762ccb78834a5bf WHIRLPOOL 85ecc6518b540a8cee0189e67c0cf3b67ca1943e4ed3433ea6827fe37fda11d1ac741b142d7d43ccc2afe5d4b85b6a02b9c603c21bc4df1b107e4a411cafc898 AUX fix-Makefile-0.7.6.patch 397 SHA256 e38d2418507d2b76013523a1e527163560101089b377760b220648cc60527c92 SHA512 11681e6dfaf674beb7fa3a5cabec56f835f63173dceab188ef5fb0a33e82b5af8fc7bf90f009f036358f13e56be4979937433614f21ad4316ea58382ad99a980 WHIRLPOOL bf394735aad3bb331aafc98b97be4553b1fdff190bf6ac90af88541ed152b4b8f767baab4f2ad5fc5bb47301c5ce15654e658c8bb1efe8eac108ceae52b8eb31 AUX fix-Makefile-0.7.7.patch 397 SHA256 5923fe2acd4c7ab4a425345cc95cdfce9da5fa9a6630624c97424a567602ccd8 SHA512 3e2304d38bbd52b4a130564a36e4318ad7c96150f31411c8729bbe62b1b0f3b4e82ccf9f9a1ad579e2bab96665765970a8b50a303b4faf178170c95c5bb841b8 WHIRLPOOL de1748c9c79e08c07fd264e24591a5665867d13f5bb23d8cfce0a0249e7127a38f04bcc95c0a7427f247af10e8b661bc219d2275e08b06a058cb6293e0f383f7 +AUX fix-Makefile-0.7.8.patch 397 SHA256 491e085466e5e653bb7adc13458fae4c2fa96e87d53ffcd16af1a012f7fddd05 SHA512 27ee0a6e40db1b02acd4c4b67e7d47045af93b063391ec2546340bd5b3b20e057e924b713549b35a2c0073eb62fea1f451073de4b311fa1fdb154421efdc4950 WHIRLPOOL 4475084cb5667ac3460c5c82fd68699125feec26dc54c68abbb20ba0e38e27c1ddd1bf39bb97e28dc7c9f6220e4db0db3f8d0d9571edbe3e591dae64881fd386 AUX gitlab-workhorse.conf 248 SHA256 6d11d63aa869cfd8c6f77c3a875984c226db633be899ad7ce97fafe94236eee7 SHA512 234213c8361702bdfeea40bd306b5899de19f34ce985e090a86e01aa601cf4ed23da4dfb75f74fe5986bbea5535a7a6a745406b4f67f79d352bd1c863777c7f1 WHIRLPOOL 8ac1134cde3aee942466d206e703ebd5330f83537d7e29641447f812d857bcc57b07fbf82eab086c0d622750694f64fabf8ffca2ba26a725f61b40fd1941e963 AUX gitlab-workhorse.init 653 SHA256 f38c37ed818cb8c25fb800bfcb5448f659e876b78ea33ea7a1ba3c80e73ea95e SHA512 2667997def39e6dc17e6a1d9be06d6e855d5d3e956e64d93bb3e74bbad0a1d427dc034f9c139f3b05e2666abab014404b2c8013c5347f4ec25fbf5ef86e7e88e WHIRLPOOL 63cd7ff80d88676b44c2d6ccdadf74907d5f8e4268f03ee11775c423bf95955f9d3aaeedd79fa6e0486b2d225336eb2ffa165dd7b9ac87ed0c2d403dc7e5afb4 DIST gitlab-workhorse-0.7.1.tar.bz2 26792 SHA256 3f00a7813d84a86980d739fad30e527257ff186fd0e3df069d42760b6b056ae7 SHA512 7d9a02a37a6e4612c07a7ced022151a19d783e902fa21bd1a401066101ff07e61ed281217bf01bd7f51ae5cd329eea212ebff1c01d30e80d52d4a8b71bb94eb3 WHIRLPOOL edf291bbf981b58543169c839b449e92b95ecfda0be127429c6490981380e00e1cefc0a0684dc38dbe9f573e93e37f51f0d4b5385418b10af16a5a12c77f9b80 DIST gitlab-workhorse-0.7.6.tar.bz2 27970 SHA256 a00e6db3de8a48bc8ac44e609bf994e81fbcdf9226ea77d5ea5700e89a1deaf1 SHA512 a269110823602ae0e92bfcbfb391f7999144caeb35ae62a32f5ec896b04a7e9d791a8baba21c06784acec4d1f074ba3ec99a79a2eab14b664196e6b72d7132be WHIRLPOOL c8b5716df1ce525927c5a56492a1eab7a2a7776c3541f4ac50e3621fc5332d3278b08c5cfde54c9ae05e6a32ec355de44c63f16861e4e7921685ced483eebcdc DIST gitlab-workhorse-0.7.7.tar.bz2 28097 SHA256 6b18467ca987e898c7b948e9306e215a4a37c94e03fa5c1d3bf36c13cd3a149e SHA512 8053d8091f6b3687dbc866278aeeb4ab5df706536085bf3182a712c4147a1f8db70f0fc5d96043ed92b9d569d83b979507aba20073cc05cfa8ad637d8119ec36 WHIRLPOOL 27d4fb645f51045db6282063b47952e2ac8503a198b1d9f60e502a905463d49461b13cd40914e73ec8efef7b128d66cc77f09128aeb1c17fc461b0459f04f606 +DIST gitlab-workhorse-0.7.8.tar.bz2 28253 SHA256 0823495288304a4e2c6491fb011d509ccabea8af765bd35e47e6e5b1da52a599 SHA512 392d1a11da1f61fa5e319d8cf5fc2f158cbc90baaedbd98f33a992cc938f67efe5837e9731c8b4b8d1e8265620c5ae69ced3326eb376aa1cc691457eb6fbc002 WHIRLPOOL fa61930d4a8ecad35b3d27f46da731623f6e41898485d564403ee53badd793824afdf1376c0e0cf6e2e6e30cbf205091db3e416841f60bf6ff905504714ca1be EBUILD gitlab-workhorse-0.7.1.ebuild 854 SHA256 c9e78983856490f7b638453356da30d6396f96ea3960f990e9cbb5dbef249eef SHA512 3c490abda76ed861ac7c126a656b91c4dac72f70ac99688865ec8a90a5aabb34f6d767899445510b9bbbc4edd30ba6b756668bb8d7c529dc000ba7fd570801e1 WHIRLPOOL e03f624cb7eceb56d45e638f772b935086bda3c21ec9e7e804aaf2449a2f6546da6d3143fe8499343b0fa7dc489a9413f1720a757d09e0803d8105af34116151 EBUILD gitlab-workhorse-0.7.6.ebuild 918 SHA256 42a55a2b0604345c1314a1a4333c507db888ad4e456ad4a908514e320658e58a SHA512 14f5a80e5d9effef0cdbb226b1536b75d9a37472c012703c35d38dc0a54fecdca5cf04b56574220327a7f87fcb6875d65757442f17e6f47d26aa8a1d876aa8d9 WHIRLPOOL 07ef711760eb4aed11d60a893074c816dd201ab0ad731bcbba9e914460983a9b17f775e6bce11f6bb0f6a5dfdb384f7a70ecabe0fcf00700b10842d14d81f7fc EBUILD gitlab-workhorse-0.7.7.ebuild 918 SHA256 42fe96bd48d1db6764075287040198b9363788ae7327b8ce59c1e06a10009c50 SHA512 b398f6c402d1934658c675a4e075daf5375d98da898e3187454d8b02f6f31a028f5661d39eb753b4136844bf531f76868217d2d78277e4667c8f87261e3137ce WHIRLPOOL a1145879b65f1434309b2420b2cb2391750247aecf321132740b7afd609d8e4f325d084f351c72174db28f05343fc1e5b20d15512ffc9d876962828905d2abcf -MISC ChangeLog 722 SHA256 2c0263394f12923767c5fb1ace2df7a87682ab6493db5a3496827b13044464e3 SHA512 beebdb3164d8d6bdbd1aa049c601955e5fb046d13ed61f18de321131d3946223af9aae74fe17e24d1b79f391c1d7af394614b775f69a88919b3c170bc5fa7b6a WHIRLPOOL 26df2411b88d27be5983d1cbc7a4618b80a905d5540c046d07216e3bbdaa4880a8467d67896a18c295686ee7aa42e302263dc0f071e7e7996a3b37f3d5ff727d +EBUILD gitlab-workhorse-0.7.8.ebuild 918 SHA256 e3d95d2e627772b1bb034134890e1f9422ad419d2ac57e55337a16e68b847466 SHA512 ee391c4ec21da9a04f1abbca7067aa3dd70b405cb271fab417ea7d023cbe874b05f70d1dd5f08f6d75bb7a16d02d80e0634aad3848dc3cdf95a9c6da8448fc62 WHIRLPOOL 7e27afa5c674c931dd96e1df0b1f2e74741039025d9c2f8937589a52af62acdec46f41eff201404904d5c7b1f7748aeaea091196a68ec7b2f9758f4bad519e34 +MISC ChangeLog 940 SHA256 2d1196d93b88692f0f2a56366df5147c4ef2bb2f947ef9b138543e299debb87b SHA512 0b482a6e3658bb19105d13839cfe5ef8e45232c25d97bd10c250d682b94486e69fc5efe895e89f3a04001618975b8dad167161ada35b704a936f593e6814975a WHIRLPOOL 4bce53e9a14904da925f6d6a5d2187978ba0b52ebb10ea6ab859605d572d5939f6a42303b267fc3cdd419ad1ed1d2244dc8846751d4dbdf61ad906bfd23fd8fb MISC metadata.xml 234 SHA256 f35b97f99a26d73cc441e1d93bfe25aaa4e9f7f6d90c8d05a74f7b7bc5b68472 SHA512 59d8156b3ca3e99c40d5a2a32de7edf2eb53279b2424998862589d6bad77617d23fc852afec0a92f8ac5bb54a88ebc504cc0641029c1936412e90ab03dfdd447 WHIRLPOOL 935a1401910a42f888c991e443a49275ea8b87976c5aa977f670053d97d18754231749749bc92d37d4b5f45ecf65914480942a11b5827b6c08fb24313a428431 diff --git a/dev-vcs/gitlab-workhorse/files/fix-Makefile-0.7.8.patch b/dev-vcs/gitlab-workhorse/files/fix-Makefile-0.7.8.patch new file mode 100644 index 0000000..e04b20d --- /dev/null +++ b/dev-vcs/gitlab-workhorse/files/fix-Makefile-0.7.8.patch @@ -0,0 +1,12 @@ +diff --git a/Makefile b/Makefile +index 9b3146d..b3c0630 100644 +--- a/Makefile ++++ b/Makefile +@@ -1,5 +1,5 @@ +-PREFIX=/usr/local +-VERSION=$(shell git describe)-$(shell date -u +%Y%m%d.%H%M%S) ++PREFIX=${DESTDIR}/usr ++VERSION=v0.7.8-$(shell date -u +%Y%m%d.%H%M%S) + export GOPATH=$(shell pwd)/_build + GOBUILD=go build -ldflags "-X main.Version=${VERSION}" + PKG=gitlab.com/gitlab-org/gitlab-workhorse diff --git a/dev-vcs/gitlab-workhorse/gitlab-workhorse-0.7.8.ebuild b/dev-vcs/gitlab-workhorse/gitlab-workhorse-0.7.8.ebuild new file mode 100644 index 0000000..36897d4 --- /dev/null +++ b/dev-vcs/gitlab-workhorse/gitlab-workhorse-0.7.8.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +inherit eutils user + +DESCRIPTION="This is the new backend for Git-over-HTTP communication needed for GitLab >= 8.4" +HOMEPAGE="https://gitlab.com/gitlab-org/gitlab-workhorse" +SRC_URI="https://gitlab.com/gitlab-org/${PN}/repository/archive.tar.bz2?ref=v${PV} -> ${P}.tar.bz2" +S="${WORKDIR}/${PN}-v${PV}-f184885d77ba71ebac24cc51d5fba599306f2e00" +RESTRICT="mirror" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~arm ~arm64" + +DEPEND=">=dev-lang/go-1.5.1" + +src_prepare() { + epatch "${FILESDIR}/fix-Makefile-${PV}.patch" +} + +src_install() { + local dest=/usr/bin + + diropts -m755 + dodir ${dest} + + exeinto ${dest} + for f in "${PN}" gitlab-zip-cat gitlab-zip-metadata ; do + doexe "${S}/${f}" + done + + ## RC script ## + newinitd "${FILESDIR}/${PN}.init" "${PN}" + newconfd "${FILESDIR}/${PN}.conf" "${PN}" +}