From ceadb0710c882bf98099926f23a0341e1e7b22c4 Mon Sep 17 00:00:00 2001 From: Manuel Friedli Date: Fri, 5 Aug 2016 11:58:38 +0200 Subject: [PATCH 1/4] www-apps/gitlab-ce: added ebuild for version 8.10.4 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.10.4.ebuild | 381 +++++++++++++++++++++ 3 files changed, 389 insertions(+), 1 deletion(-) create mode 100644 www-apps/gitlab-ce/gitlab-ce-8.10.4.ebuild diff --git a/www-apps/gitlab-ce/ChangeLog b/www-apps/gitlab-ce/ChangeLog index d3ffdba..53f0cc4 100644 --- a/www-apps/gitlab-ce/ChangeLog +++ b/www-apps/gitlab-ce/ChangeLog @@ -1,3 +1,8 @@ +*gitlab-ce-8.10.4 (05 Aug 2016) + + 05 Aug 2016; Manuel Friedli +gitlab-ce-8.10.4.ebuild: + www-apps/gitlab-ce: added ebuild for version 8.10.4 + *gitlab-ce-8.10.3 (02 Aug 2016) 02 Aug 2016; Manuel Friedli +gitlab-ce-8.10.3.ebuild: diff --git a/www-apps/gitlab-ce/Manifest b/www-apps/gitlab-ce/Manifest index 5328b6c..1192d2b 100644 --- a/www-apps/gitlab-ce/Manifest +++ b/www-apps/gitlab-ce/Manifest @@ -10,11 +10,13 @@ AUX gitlab.conf 27 SHA256 cd9be088bbb67a5400407fc6f63c061eb224f16748b7d0812ff2c1 DIST gitlab-ce-8.10.1.tar.gz 21035550 SHA256 8fe9c994b87f4ef819b14c8149b07a594a8f624285e6f80f888a63978b3c9ef8 SHA512 00d762c65d24cdebe05b3a31e9577500f437c0c64711c121b3967a9ebf3f711dc94cf08e8cc3fe1a3919236acce019e149ce1c64dd8ad0f43d9f298b9d76a167 WHIRLPOOL c3bfe435b8018c0488e760d115c6a290a13f8eaebd900201a807a386a62a0aeace04e4e7daa24f500347676b5aab760efbcbb1daf252aaefd6a73033b382a4fb DIST gitlab-ce-8.10.2.tar.gz 21038115 SHA256 71cba117f895beb96278b81ec09d60d46189f71024cb2e1db14628206d64c26e SHA512 d9fccb2530357835e647ecbbd04e825154cb9b780c4d67210b3cd5598418e377af90046c10a1b192e8b4ea99b77ad0b6ac734e237360c4c179338003ce24463f WHIRLPOOL bfe3eb27576a31d5abcc1bb60824ce06feb78c1c15b0a94a514707ba536db0d37be00db0ebc3a6c83b0533b0bfb80d01e9bcd851545703ea4ac398a12e6fc866 DIST gitlab-ce-8.10.3.tar.gz 21039284 SHA256 4d00eab29d24e03b36e61d74544cccda0eb3acccbe09efb91b9670d70116f74b SHA512 e66c5a5919352c78f8fbb983dc17d5ba5e39bed7e335b031d599eb827315c4253ee59d2955ba50df9c3923003595519ee4bfd4e67dfd0c6bd4d47c61ac576350 WHIRLPOOL 38cf4cdaf4c89529f345c5eb2723fbeb986012d5f3e8732d9d527c6497a1ddfb124806888759d9f256c57e13b1be843ef7d0a6f8725ab89bb4e5b45a9c080805 +DIST gitlab-ce-8.10.4.tar.gz 21039911 SHA256 cce5d0cce05cacc260baeda3014bf192b931d897fb72588cc91c2eff15481db6 SHA512 d89aa1b91b7584b45c63aff6aea646b261415e15e95bcdbd3c3a9dd8ce127fa3a4fd22e15d9464d3b572bc2ba202f6ee518d1937515d8d69d435c5cb59835080 WHIRLPOOL 0929eb1703771c57292cbc5711091d84c22b4fe960cfaa5e8714f101622197bff65ee3f1d7a0619daa4a9acd2d1dc6ce3bf35153045a22c43623ed5b3413d661 DIST gitlab-ce-8.9.6.tar.gz 21555571 SHA256 1b357ed1157a2a20b647004f588b67d72416df805a385fa7b605905bafb26f55 SHA512 d4693cdc80fff44e2f2d2e640163337b153ee08fbd12cefd055c8a595e1487010f7c0db39a11056577d331d3a76cc7da9936139199aad324d9c324395f684f9a WHIRLPOOL 00474d385cd9b574bbef0847f80613253f4543c54b356ab654b0ca3e7233e056efbe995a9de3e418c68d482d4a2b9b0cf676941c7013755bd795bfe83c9766aa EBUILD gitlab-ce-8.10.1.ebuild 11676 SHA256 18467061975ce0212ddb08cb12b4d2d9f2da6f7999e9d42dd249d96891326318 SHA512 ee1538902ef35fe4f771211eacd0c7fb81aaa81c4b18049111eead6a5ada19318763165245e3e6d05fd41490e0ee4d30ab6fcc946b35e31e1a3f41b200cc46c9 WHIRLPOOL cfad8b037071a70bedf8095cd29cd27d2c703dc9470f4ee943860716e01e7347e78cd9a6612c44fd749a8cb06d6979376493606ab941266ce732e285dc7e3edc EBUILD gitlab-ce-8.10.2.ebuild 11677 SHA256 d131e1f22e6ab5d5dfbeca80128ce0838631c82f71cb7f11dbf58d3aec9c2ed6 SHA512 e2530f1f2f2b31ebd4a6adcfacb512d4579baaf69aa2adfb7fd8fd9408966d5454cebdf4441ebc016ff89fa2dbe61ec19239f6e39844e0d3b0a44ec0f73d3cf4 WHIRLPOOL 30d1aa4d499013205953c70210edf6962a4da78ce3c1d11c98d2b048eb57e2d45991a4a2dda34c5c5269dc077ae67cbee76e4859b1c0897b6377673a6f451fb4 EBUILD gitlab-ce-8.10.3.ebuild 11677 SHA256 1d2e22b1611203ad6d2fe3752a9cffceee7568a876c5b650cb52d12f089e4dbb SHA512 3784835943745d42c5f086b5183c2947c903fd67a19569a6fdd903a68f55fbc09fdd7d667e0fa0fca9871bd299587759f7bb133edba2135eb260e91f16ac6a59 WHIRLPOOL af68d6b67236e8bd683f070e97c4277997822ec9b8bcfa4ac0a4c54edfd470e5fff107d8a5ae2017b1f70f5a4f2c845f6bc40caf9387030540b823c380ff03f2 +EBUILD gitlab-ce-8.10.4.ebuild 11677 SHA256 d6ed052547aebde8708b4624c3a522ea66e86afdde950d2ec8704659c3bf2ce2 SHA512 ca3348dc51e1214f13746ce7d681fd8202dd46f742bb30a040970e467c589be132375fdcf57b5780e61b9179a244075f4f5537e49442025caee6e46c2a073dba WHIRLPOOL 5a2bd77a585a32103d699e3f4d99eef6f3659dc316217a80b7b2937d0ed93365784299724156546df09ff6aa7ee01c962359a4c89a22fe8e94aef8027b6839a9 EBUILD gitlab-ce-8.9.6.ebuild 12341 SHA256 a46bb7c78639ee411a8c0994847f4f90a89133f2d85e7eb71f76f9f6756e5c25 SHA512 19712bb3ece7873e9dc2a5d471512a553108b95338bd370dab8dfac6695da34ee713d4d106c62de1472eab7e3e953471ad6274f7d646900e7ef2c7521460211b WHIRLPOOL 1cdff895e32079e2bd85863d46a3c6c0f39590e454f7c77d058f7403341ab39adf477005a9c6c417ec7ca527bffedf0ec1ec3b3f64cb242c3b2d3404c41b6e8f EBUILD gitlab-ce-9999.ebuild 12344 SHA256 cd17ceba505495a7633f8f106d2adc1ee81b74d2b09f8a83cccb0010600f8005 SHA512 c961866f01e626855cddc928c14c8f4a8aa4285dd04e87d1bc310b02c7617dce73c93e5b670650a86c075c4adcdd6b4c3489feb4c204d0474a8e993f3e000440 WHIRLPOOL 11159c64d381f201fa33941bbe7f549ca368a16ebc7e1087b286a8a375e687073e1c586e02411e4a2b50ca74835bf1e81ca069eedefaee483ac3deb20f51fa05 -MISC ChangeLog 4090 SHA256 106927f5f5c0ffaa2ab86ea0b2421e32d8f22d7a0912f2d69471656b375a85b8 SHA512 534b6f45bfe2a2612b0af6e8d614717386091c7b8306e1538959d39c85ee60d4f4abb3512f3bbe3baa4bb8cedb05692cd1f7002194202917e5b0d0e5d62d26b7 WHIRLPOOL abc2d05705c514ba0196dce14af15ff0e4338bc317083bf9e45a6b486cc913811c4dfe3f650d400777a3151313fc6c758c9a871eb7a435299e6b0d2327e4c453 +MISC ChangeLog 4256 SHA256 a479147a06e20424997924d628c409da666e605f0780ecbafd4bbd5b49a4757c SHA512 41ea9e9582644e2240e678b59b89dabc18d5bec3da6c3c9fe5d72ed93809a4908a5f1f49592cc58dd7113d23d607927fb454f80fd70c4f3321586f787bd204e2 WHIRLPOOL 9e4c601967578e89dd3fe4d2eef58b688751c55a8fe7b843ea9c8d12d1bf3c0c6d11856c22809756955b5446a62cdd697b13594eba51bd37ad4cc4cd3ad58036 MISC metadata.xml 545 SHA256 1b7fc44d811e1ab7638fe4a40253f49d5f1071872d3020c22c4f67662750cb2f SHA512 86f47d297892bccfefa087d93936296f5647993a9ec8e3f47907a6859cbf385e5bc6f00502d7836c9e8d9efef2b6725bf145b0150924c2082b2bd164469ef6ea WHIRLPOOL 6bfb8a55684d68c8bfa6e025a0be965f7b815394ee0896dd2a13cfb524e3cf3f3149acc9072897e30a1842060389576aac07ea8beb4a8b0bfc3e8eab3723f2a1 diff --git a/www-apps/gitlab-ce/gitlab-ce-8.10.4.ebuild b/www-apps/gitlab-ce/gitlab-ce-8.10.4.ebuild new file mode 100644 index 0000000..a16c4a3 --- /dev/null +++ b/www-apps/gitlab-ce/gitlab-ce-8.10.4.ebuild @@ -0,0 +1,381 @@ +# 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_PV="v${PV/_/-}" +MY_GIT_COMMIT="942d997cf3c596e0b1fc8ac0b750d40afffa57e4" + +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-3.2.1 + >=dev-vcs/git-2.7.4 + ~dev-vcs/gitlab-workhorse-0.7.8 + 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/${MY_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() { + 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 + + 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 0f791f078a65900a4d7825fdb28571d078a0a5cd Mon Sep 17 00:00:00 2001 From: Manuel Friedli Date: Sun, 7 Aug 2016 01:44:50 +0200 Subject: [PATCH 2/4] net-im/jabberd2: added ebuild for version 2.3.6, which is missing in the official tree Package-Manager: portage-2.2.28 --- net-im/jabberd2/ChangeLog | 8 + net-im/jabberd2/Manifest | 8 + net-im/jabberd2/files/jabberd2-2.3.1.pamd | 6 + net-im/jabberd2/files/jabberd2-2.3.2.init | 97 ++++++++++ .../jabberd2/files/jabberd2-2.3.2.logrotate | 8 + .../files/jabberd2-2.3.4-optimization.patch | 21 ++ net-im/jabberd2/jabberd2-2.3.6.ebuild | 180 ++++++++++++++++++ net-im/jabberd2/metadata.xml | 16 ++ 8 files changed, 344 insertions(+) create mode 100644 net-im/jabberd2/ChangeLog create mode 100644 net-im/jabberd2/Manifest create mode 100644 net-im/jabberd2/files/jabberd2-2.3.1.pamd create mode 100644 net-im/jabberd2/files/jabberd2-2.3.2.init create mode 100644 net-im/jabberd2/files/jabberd2-2.3.2.logrotate create mode 100644 net-im/jabberd2/files/jabberd2-2.3.4-optimization.patch create mode 100644 net-im/jabberd2/jabberd2-2.3.6.ebuild create mode 100644 net-im/jabberd2/metadata.xml diff --git a/net-im/jabberd2/ChangeLog b/net-im/jabberd2/ChangeLog new file mode 100644 index 0000000..29c89ee --- /dev/null +++ b/net-im/jabberd2/ChangeLog @@ -0,0 +1,8 @@ +*jabberd2-2.3.6 (06 Aug 2016) + + 06 Aug 2016; Manuel Friedli +files/jabberd2-2.3.1.pamd, + +files/jabberd2-2.3.2.init, +files/jabberd2-2.3.2.logrotate, + +files/jabberd2-2.3.4-optimization.patch, +jabberd2-2.3.6.ebuild, + +metadata.xml: + net-im/jabberd2: added ebuild for version 2.3.6, which is missing in the + official tree diff --git a/net-im/jabberd2/Manifest b/net-im/jabberd2/Manifest new file mode 100644 index 0000000..49d0e20 --- /dev/null +++ b/net-im/jabberd2/Manifest @@ -0,0 +1,8 @@ +AUX jabberd2-2.3.1.pamd 158 SHA256 eba4b5cc68b3dd327cfa1afdadbe5adf6d9383f4c79c7661169a4339e40b9a7b SHA512 a52bec9577f028f1141002d0ffaaf11615699a67a7b3677774d7e8aa6595c8291cb6ebcdc0f874e54f700e3b437ae05e05b8d7c8c717dee15cb7d908a954b979 WHIRLPOOL 2289538542300efe78a261285359c6e5ad9151cc01123e3c5579cc72393ce94308d713e38d73bc418c5bc9d7f7a200469568b7b3187b576b3efa8efa19dda919 +AUX jabberd2-2.3.2.init 1897 SHA256 a04c000fb56506abadad9df488368c09d34743414336a37d2596b640381aeff6 SHA512 eb91268d9edcfcd3a5610bdd4b9b9abe93f1092bb2bc4a76f47bad29ec1c2afbc74b029115c5c111d8c9a4fbab139366b050a9bee78a870b4e12cbed8511b39b WHIRLPOOL 8695d980c2f2af483815ff8fb2c7c7dbff6cdfb06e31a52c2bc027aa6ef8553fcc513205b2fc7ce5e1cacaffb1a56320303e1dd2853d907e7ba5b41ba7c797df +AUX jabberd2-2.3.2.logrotate 197 SHA256 bca314e2555e113ee0916d33060c27332381cc3cd633e00e3d092b1f7b0bd149 SHA512 1e3d74612dd08df2014af2ae0f0681e78c9902644dfbf37100369591803f2cf757d27967f7e9c99d3503cff8480ace7ce4b14303028d25866ebbd4ecf882d7c0 WHIRLPOOL c74129c39e571b811212e7d08d94c461c327f58510d9efa7cd1c96888524730024330c1c46accaafa7888b75d4af98302a91c35a4543928d0fb5e7eacebe6f2b +AUX jabberd2-2.3.4-optimization.patch 627 SHA256 8a10c307846425d0ca8f987c8f46c1559f57d7fb4a448744a93637ece01577bd SHA512 2f38d9eb597f7bea21082a56eee1e28474cc66b56d5dd7de45853c98a5cdecbe7d1e5ff951b6b1395f7c27a9a2ec13c4552031b711d882fbd946338116b7d83e WHIRLPOOL aa67b5f0cbb50a81b789ced5efd0f22a2b199a4d51d1c242cde17f8317b1c2fe00d54ba0b73654bc0f7dd4fd027df83646afe5401a7f665d174faae163151be5 +DIST jabberd-2.3.6.tar.xz 1503864 SHA256 33cbf58135f856f5e6e6a7769623fedfda21f0c5f88b3b687a22e04ad915c051 SHA512 c5efa443865028874e1c1f15937064edef4c1699afb14b55963e3cd86930a67dffed7830ab1ae77522cbf797ef9ab89d044ccb28ac65904ffa7e79dee155e8aa WHIRLPOOL 43f6c02d67c792fa1391cc87e7f4d60b6fe7089d8dc7796d54e0e25f1815ad29921eeb97aeb554b015261b7e5f83cd33d076abb61e60ff9fe9441971cb85bdcb +EBUILD jabberd2-2.3.6.ebuild 5231 SHA256 cbcc181f1a02b171e48279a8b985f72d70e079a37112bed3310194d477ceba91 SHA512 146a1b906cfd1a65e19aa955bd9332d84182fa7c8c78bbffa76a8d8d909c87a9c53ff1d047f3724386ab605957aef7f10a827bdeb47f05a61b544aacea6b29d3 WHIRLPOOL 53b4d8b5d3d4a2f65ebda7d77749ef70e3be3b2ea58c35a342cb0dbb32394b2169ae6c9023cc8cad718fae43a20a593903afa93a66bd3ee7d4d868f5bccc91c4 +MISC ChangeLog 350 SHA256 c54b729fa89c6fc316d6e82cd9c8caf39997300048a4a220faf41d314495b5fc SHA512 db9aec023709ad964f7ea1f739719ecc7ea61242a7bf5e311f1827814d85460fbcc3c92b4801e97d5ca3ada26182801a96d55310ea2a2d3e83a47b80a07aab4c WHIRLPOOL ae03b9ac67ed223b7b5315972eee4663f7d1918578075905f89a384a1325b4f46297cc3a0b8b902e23a539b37332f3c69ff23bebccb787b143d43ef207af6c57 +MISC metadata.xml 579 SHA256 70e01bf1f9b621d35d36cfd78ed7f99a214eadeca0dd5031adc86aff077b2023 SHA512 ebaf4fd332d1dede7f0e68e135e14c9e464b04ac22a11af32a43af91af2ec17836165d810e6fe4cab876ea33f120ef00fc9392da2c80b90813e7857c946abcda WHIRLPOOL 84043f101020e6bea68efe9be27c5d08fff6d0f06116c0643ce27b36a146068dadbb235aebe7a2d377dd9c269ece471ab4080fc1589263b315c04941c140dcf6 diff --git a/net-im/jabberd2/files/jabberd2-2.3.1.pamd b/net-im/jabberd2/files/jabberd2-2.3.1.pamd new file mode 100644 index 0000000..2c5a534 --- /dev/null +++ b/net-im/jabberd2/files/jabberd2-2.3.1.pamd @@ -0,0 +1,6 @@ +#%PAM-1.0 + +auth required pam_nologin.so +auth include system-auth +account include system-auth +session include system-auth diff --git a/net-im/jabberd2/files/jabberd2-2.3.2.init b/net-im/jabberd2/files/jabberd2-2.3.2.init new file mode 100644 index 0000000..cf650fd --- /dev/null +++ b/net-im/jabberd2/files/jabberd2-2.3.2.init @@ -0,0 +1,97 @@ +#!/sbin/openrc-run +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +extra_commands="reload" + +depend() { + need net + use mysql postgresql slapd + provide jabber-server +} + +stopJabberServices() { + + eindent + for pidfile in /var/run/jabber/*.pid; do + if [ -f "${pidfile}" ]; then + service=$(basename ${pidfile} .pid) + ebegin "Stopping ${service}" + start-stop-daemon \ + --stop \ + --pidfile ${pidfile} + eend $? + fi + done + eoutdent + +} + +start_pre() { + checkpath -d -o jabber /var/run/jabber +} + +start() { + + einfo "Starting Jabber Server ..." + local services executable cfgfile pidfile + services=$(grep -v ^# /etc/jabber/jabberd.cfg | grep '..*' | awk '{print $1 ":" $2}') + eindent + for service in ${services}; do + + cfgfile=$(echo ${service} | cut -d ':' -f 2) + service=$(echo ${service} | cut -d ':' -f 1) + if [ ! -f "${cfgfile}" ]; then + if [ -f "/etc/jabber/${service}.xml" ]; then + cfgfile="/etc/jabber/${service}.xml" + else + eerror "Can't find: ${cfgfile} or default /etc/jabber/${service}.xml" + stopJabberServices + return 1 + fi + fi + + executable=/usr/bin/${service} + + if [ ! -f "${executable}" ]; then + eerror "Can't find executable: ${executable}" + stopJabberServices + return 1 + fi + + ebegin "Starting ${service} (${cfgfile})" + pidfile="$(grep -v ^# ${cfgfile} | grep '' | sed 's#<.\?pidfile>##g')" + start-stop-daemon \ + --background \ + --start \ + --user jabber:jabber \ + --exec /usr/bin/${service} \ + --pid ${pidfile} \ + -- -c ${cfgfile} + eend $? + + done + eoutdent + +} + +reload() { + eindent + for pidfile in /var/run/jabber/*.pid; do + if [ -f "${pidfile}" ]; then + service=$(basename ${pidfile} .pid) + ebegin "Reloading ${service}" + kill -HUP $(cat ${pidfile}) + eend $? + fi + done + eoutdent +} + +stop() { + + einfo "Stopping Jabber Server" + stopJabberServices + +} diff --git a/net-im/jabberd2/files/jabberd2-2.3.2.logrotate b/net-im/jabberd2/files/jabberd2-2.3.2.logrotate new file mode 100644 index 0000000..fcec0f7 --- /dev/null +++ b/net-im/jabberd2/files/jabberd2-2.3.2.logrotate @@ -0,0 +1,8 @@ +/var/log/jabber/c2s.log /var/log/jabber/s2s.log /var/log/jabber/sm.log /var/log/jabber/router.log { + su jabber jabber + sharedscripts + missingok + postrotate + /etc/init.d/jabberd reload + endscript +} diff --git a/net-im/jabberd2/files/jabberd2-2.3.4-optimization.patch b/net-im/jabberd2/files/jabberd2-2.3.4-optimization.patch new file mode 100644 index 0000000..4808162 --- /dev/null +++ b/net-im/jabberd2/files/jabberd2-2.3.4-optimization.patch @@ -0,0 +1,21 @@ +Re-allow the use of O3/Os, since it seems to have been an old compiler +bug. + +See https://github.com/jabberd2/jabberd2/issues/34 + +--- configure.ac ++++ configure.ac +@@ -23,13 +23,6 @@ + LIBS="$LIBS $lt_cv_dlopen_libs" + fi + +-# check for optimisation level +-AC_MSG_CHECKING([CFLAGS optimization level]) +-[if echo $CFLAGS | grep '.*-O[3s].*' >/dev/null 2>&1; then] +- AC_MSG_ERROR([maximum allowed optimization level is -O2]) +-fi +-AC_MSG_RESULT([fine]) +- + # extra paths + AC_ARG_WITH([extra_include_path], AC_HELP_STRING([--with-extra-include-path], + [use additional include paths]), diff --git a/net-im/jabberd2/jabberd2-2.3.6.ebuild b/net-im/jabberd2/jabberd2-2.3.6.ebuild new file mode 100644 index 0000000..5a78d2c --- /dev/null +++ b/net-im/jabberd2/jabberd2-2.3.6.ebuild @@ -0,0 +1,180 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit autotools db-use eutils flag-o-matic pam + +DESCRIPTION="Open Source Jabber Server" +HOMEPAGE="http://jabberd2.org" +SRC_URI="https://github.com/jabberd2/jabberd2/releases/download/jabberd-${PV}/jabberd-${PV}.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~x86-fbsd" +IUSE="berkdb debug experimental ldap libressl memdebug mysql pam postgres sqlite ssl test websocket zlib" +REQUIRED_USE="memdebug? ( debug )" + +# broken +RESTRICT="test" + +DEPEND="dev-libs/expat + net-libs/udns + net-dns/libidn + virtual/gsasl + berkdb? ( >=sys-libs/db-4.1.25:= ) + ldap? ( net-nds/openldap ) + mysql? ( + virtual/libmysqlclient:= + virtual/mysql:= + ) + pam? ( virtual/pam ) + postgres? ( dev-db/postgresql:= ) + ssl? ( + !libressl? ( >=dev-libs/openssl-1.0.1:0[-bindist] ) + libressl? ( dev-libs/libressl:= ) + ) + sqlite? ( dev-db/sqlite:3 ) + websocket? ( net-libs/http-parser:= ) + zlib? ( sys-libs/zlib )" +RDEPEND="${DEPEND} + >=net-im/jabber-base-0.01" +DEPEND="${DEPEND} + app-arch/xz-utils + virtual/pkgconfig + test? ( dev-libs/check )" + +DOCS=( AUTHORS README ) + +S=${WORKDIR}/jabberd-${PV} + +pkg_pretend() { + if is-flagq '-O[3s]' ; then + ewarn "O3/Os compiler flags have been known to cause problems" + ewarn "with old gcc version. Be aware that this could break" + ewarn "port binding. Make sure to test this." + ewarn "See https://github.com/jabberd2/jabberd2/issues/34" + fi +} + +src_prepare() { + # Fix some default directory locations + sed -i \ + -e 's,@localstatedir@/@package@/pid/,/var/run/@package@/,g' \ + -e 's,@localstatedir@/@package@/run/pbx,/var/run/@package@/pbx,g' \ + -e 's,@localstatedir@/@package@/log/,/var/log/@package@/,g' \ + -e 's,@localstatedir@/lib/jabberd2/fs,@localstatedir@/@package@/fs,g' \ + -e 's,@localstatedir@,/var/spool,g' \ + -e 's,@package@,jabber,g' \ + etc/{sm,router,c2s,s2s}.xml.dist.in || die "fixing default directory locations failed!" + + # If the package wasn't merged with sqlite then default to use berkdb + use sqlite || + sed -i \ + -e 's,<\(module\|driver\)>sqlite<\/\1>,<\1>db,g' \ + etc/{c2s,sm}.xml.dist.in || die "setting berkdb as default failed!" + + # avoid file collision with x11-misc/screen-message wrt #453994 + sed -i \ + -e 's/@jabberd_router_bin@/jabberd2-router/' \ + -e 's/@jabberd_c2s_bin@/jabberd2-c2s/' \ + -e 's/@jabberd_s2s_bin@/jabberd2-s2s/' \ + -e 's/@jabberd_sm_bin@/jabberd2-sm/' \ + etc/jabberd*.in || die "fixing file collisions failed!" + + # rename pid files wrt #241472 + sed -i \ + -e '/pidfile/s/${id}\.pid/jabberd2-c2s\.pid/' \ + etc/c2s.xml.dist.in || die + sed -i \ + -e '/pidfile/s/${id}\.pid/jabberd2-router\.pid/' \ + etc/router.xml.dist.in || die + sed -i \ + -e '/pidfile/s/${id}\.pid/jabberd2-s2s\.pid/' \ + etc/s2s.xml.dist.in || die + sed -i \ + -e '/pidfile/s/${id}\.pid/jabberd2-sm\.pid/' \ + etc/sm.xml.dist.in || die + + epatch "${FILESDIR}"/${PN}-2.3.4-optimization.patch + + eautoreconf +} + +src_configure() { + # --enable-pool-debug is currently broken + econf \ + --sysconfdir=/etc/jabber \ + $(usex debug "--enable-debug" "") \ + $(usex memdebug "--enable-nad-debug" "") \ + $(use_enable ssl) \ + $(use_enable mysql) \ + $(use_enable postgres pgsql) \ + $(use_enable sqlite) \ + $(use_enable berkdb db) \ + $(use_enable ldap) \ + $(use_enable pam) \ + --enable-pipe \ + --enable-anon \ + --enable-fs \ + $(use_enable websocket) \ + $(use_enable experimental) \ + $(use_enable test tests) \ + $(usex berkdb "--with-extra-include-path=$(db_includedir)" "") \ + $(use_with zlib) +} + +src_install() { + local i + + default + prune_libtool_files --modules + + keepdir /var/spool/jabber/{fs,db} + fowners jabber:jabber /usr/bin/{jabberd,router,sm,c2s,s2s} \ + /var/spool/jabber/{fs,db} + fperms 770 /var/spool/jabber/{fs,db} + fperms 750 /usr/bin/{jabberd,router,sm,c2s,s2s} + + # avoid file collision with x11-misc/screen-message wrt #453994 + for i in router sm c2s s2s ; do + einfo "renaming /usr/bin/${i} to /usr/bin/jabberd2-${i}" + mv "${ED%/}"/usr/bin/${i} "${ED%/}"/usr/bin/jabberd2-${i} || die + done + + newinitd "${FILESDIR}/${PN}-2.3.2.init" jabberd + newpamd "${FILESDIR}/${PN}-2.3.1.pamd" jabberd + insinto /etc/logrotate.d + newins "${FILESDIR}/${PN}-2.3.2.logrotate" jabberd + + docompress -x /usr/share/doc/${PF}/tools + docinto tools + dodoc tools/db-setup{.mysql,.pgsql,.sqlite} \ + tools/{migrate-jd14dir-2-sqlite.pl,pipe-auth.pl} + + # remove useless upstart files wrt #498900 + rm -rf "${ED%/}"/usr/etc +} + +pkg_postinst() { + if use pam; then + echo + ewarn 'Jabberd-2 PAM authentication requires your unix usernames to' + ewarn 'be in the form of "contactname@jabberdomain". This behavior' + ewarn 'is likely to change in future versions of jabberd-2. It may' + ewarn 'be advisable to avoid PAM authentication for the time being.' + echo + fi + + if use sqlite || use mysql || use postgres; then + echo + einfo "You will need to setup or update your database using the" + einfo "scripts in /usr/share/doc/${PF}/tools/" + echo + fi + + ewarn 'If you are upgrading from <=jabberd2-2.2.17 then you might have' + ewarn 'to update /etc/jabber/jabberd.cfg via etc-update because' + ewarn 'the binaries have been renamed to avoid file collisions!' +} diff --git a/net-im/jabberd2/metadata.xml b/net-im/jabberd2/metadata.xml new file mode 100644 index 0000000..1168644 --- /dev/null +++ b/net-im/jabberd2/metadata.xml @@ -0,0 +1,16 @@ + + + + + manuel@fritteli.ch + Manuel Friedli + + + Enable experimental features such as TLS Everywhere. + Enable nad and pool debug. Requires USE="debug" to be set. + Enable WebSocket support on C2S port. + + + jabberd2/jabberd2 + + From e4b44105335a539f3e0e719db7c3f94810f9c991 Mon Sep 17 00:00:00 2001 From: Manuel Friedli Date: Sun, 7 Aug 2016 22:27:16 +0200 Subject: [PATCH 3/4] added patch for configure.ac in order to remove the check for colored build output. that one killed the prepare phase. --- net-im/jabberd2/Manifest | 3 ++- .../jabberd2/files/jabberd2-2.3.6-configure.patch | 15 +++++++++++++++ net-im/jabberd2/jabberd2-2.3.6.ebuild | 3 ++- 3 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 net-im/jabberd2/files/jabberd2-2.3.6-configure.patch diff --git a/net-im/jabberd2/Manifest b/net-im/jabberd2/Manifest index 49d0e20..1373287 100644 --- a/net-im/jabberd2/Manifest +++ b/net-im/jabberd2/Manifest @@ -2,7 +2,8 @@ AUX jabberd2-2.3.1.pamd 158 SHA256 eba4b5cc68b3dd327cfa1afdadbe5adf6d9383f4c79c7 AUX jabberd2-2.3.2.init 1897 SHA256 a04c000fb56506abadad9df488368c09d34743414336a37d2596b640381aeff6 SHA512 eb91268d9edcfcd3a5610bdd4b9b9abe93f1092bb2bc4a76f47bad29ec1c2afbc74b029115c5c111d8c9a4fbab139366b050a9bee78a870b4e12cbed8511b39b WHIRLPOOL 8695d980c2f2af483815ff8fb2c7c7dbff6cdfb06e31a52c2bc027aa6ef8553fcc513205b2fc7ce5e1cacaffb1a56320303e1dd2853d907e7ba5b41ba7c797df AUX jabberd2-2.3.2.logrotate 197 SHA256 bca314e2555e113ee0916d33060c27332381cc3cd633e00e3d092b1f7b0bd149 SHA512 1e3d74612dd08df2014af2ae0f0681e78c9902644dfbf37100369591803f2cf757d27967f7e9c99d3503cff8480ace7ce4b14303028d25866ebbd4ecf882d7c0 WHIRLPOOL c74129c39e571b811212e7d08d94c461c327f58510d9efa7cd1c96888524730024330c1c46accaafa7888b75d4af98302a91c35a4543928d0fb5e7eacebe6f2b AUX jabberd2-2.3.4-optimization.patch 627 SHA256 8a10c307846425d0ca8f987c8f46c1559f57d7fb4a448744a93637ece01577bd SHA512 2f38d9eb597f7bea21082a56eee1e28474cc66b56d5dd7de45853c98a5cdecbe7d1e5ff951b6b1395f7c27a9a2ec13c4552031b711d882fbd946338116b7d83e WHIRLPOOL aa67b5f0cbb50a81b789ced5efd0f22a2b199a4d51d1c242cde17f8317b1c2fe00d54ba0b73654bc0f7dd4fd027df83646afe5401a7f665d174faae163151be5 +AUX jabberd2-2.3.6-configure.patch 593 SHA256 39d3cdbcf57ff2247c4ca21cc130f56173a7f0db9f37f71048cae4cd9a043e15 SHA512 15e12903af39209e94b2ee42b802f93d5dc9f5d5f6dc646b65402d4445e046df02fe8150be675024a2b7f4d8f21f2cd2af1976a28c81d429be2e91c3845a327a WHIRLPOOL ef49fd6dd2158804bbd7bb93994089d2f301878ba7dcfa2d93ad77e6c4cbaa52c26e61f6191013b911ca8852f6e3d64faea2fea248dc5ddbcf5f0808cd759faf DIST jabberd-2.3.6.tar.xz 1503864 SHA256 33cbf58135f856f5e6e6a7769623fedfda21f0c5f88b3b687a22e04ad915c051 SHA512 c5efa443865028874e1c1f15937064edef4c1699afb14b55963e3cd86930a67dffed7830ab1ae77522cbf797ef9ab89d044ccb28ac65904ffa7e79dee155e8aa WHIRLPOOL 43f6c02d67c792fa1391cc87e7f4d60b6fe7089d8dc7796d54e0e25f1815ad29921eeb97aeb554b015261b7e5f83cd33d076abb61e60ff9fe9441971cb85bdcb -EBUILD jabberd2-2.3.6.ebuild 5231 SHA256 cbcc181f1a02b171e48279a8b985f72d70e079a37112bed3310194d477ceba91 SHA512 146a1b906cfd1a65e19aa955bd9332d84182fa7c8c78bbffa76a8d8d909c87a9c53ff1d047f3724386ab605957aef7f10a827bdeb47f05a61b544aacea6b29d3 WHIRLPOOL 53b4d8b5d3d4a2f65ebda7d77749ef70e3be3b2ea58c35a342cb0dbb32394b2169ae6c9023cc8cad718fae43a20a593903afa93a66bd3ee7d4d868f5bccc91c4 +EBUILD jabberd2-2.3.6.ebuild 5270 SHA256 59d85fa7b59a21011e080f475ccb69bfdb0aed4b86120e64e746c03e870674db SHA512 091ed958d3e0b0e663965ae7200054f8dc3fcf8665b9232edf04c34b42081f81f80d3a13f18965d74da9ed578a96439f69468518f298fd5c555de8b5522c5274 WHIRLPOOL ddc22f6f4019a5759f8182e3524fdd14bf36083a0537bc7b3bee576845c0ccf92c424e85a806cdc85a7e3f5b5a01d9abd2e5cd26c1744044e231bf44797a8513 MISC ChangeLog 350 SHA256 c54b729fa89c6fc316d6e82cd9c8caf39997300048a4a220faf41d314495b5fc SHA512 db9aec023709ad964f7ea1f739719ecc7ea61242a7bf5e311f1827814d85460fbcc3c92b4801e97d5ca3ada26182801a96d55310ea2a2d3e83a47b80a07aab4c WHIRLPOOL ae03b9ac67ed223b7b5315972eee4663f7d1918578075905f89a384a1325b4f46297cc3a0b8b902e23a539b37332f3c69ff23bebccb787b143d43ef207af6c57 MISC metadata.xml 579 SHA256 70e01bf1f9b621d35d36cfd78ed7f99a214eadeca0dd5031adc86aff077b2023 SHA512 ebaf4fd332d1dede7f0e68e135e14c9e464b04ac22a11af32a43af91af2ec17836165d810e6fe4cab876ea33f120ef00fc9392da2c80b90813e7857c946abcda WHIRLPOOL 84043f101020e6bea68efe9be27c5d08fff6d0f06116c0643ce27b36a146068dadbb235aebe7a2d377dd9c269ece471ab4080fc1589263b315c04941c140dcf6 diff --git a/net-im/jabberd2/files/jabberd2-2.3.6-configure.patch b/net-im/jabberd2/files/jabberd2-2.3.6-configure.patch new file mode 100644 index 0000000..e4adb6a --- /dev/null +++ b/net-im/jabberd2/files/jabberd2-2.3.6-configure.patch @@ -0,0 +1,15 @@ +diff --git a/configure.ac b/configure.ac +index 4f52c86..d481583 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -80,10 +80,6 @@ if test "x-$want_mio_debug" = "x-yes" ; then + AC_DEFINE(MIO_DEBUG,1,[Define to 1 if you want to enable managed IO debug output.]) + fi + +-# Colorized build output +-AX_CHECK_COMPILE_FLAG([-fdiagnostics-color], [CFLAGS="${CFLAGS} -fdiagnostics-color"], +- [AX_CHECK_COMPILE_FLAG([-fcolor-diagnostics], [CFLAGS="${CFLAGS} -fcolor-diagnostics"])]) +- + # Two-step header checking. First check for headers which don't + # require any other headers. + AC_HEADER_DIRENT diff --git a/net-im/jabberd2/jabberd2-2.3.6.ebuild b/net-im/jabberd2/jabberd2-2.3.6.ebuild index 5a78d2c..37f245f 100644 --- a/net-im/jabberd2/jabberd2-2.3.6.ebuild +++ b/net-im/jabberd2/jabberd2-2.3.6.ebuild @@ -97,7 +97,8 @@ src_prepare() { -e '/pidfile/s/${id}\.pid/jabberd2-sm\.pid/' \ etc/sm.xml.dist.in || die - epatch "${FILESDIR}"/${PN}-2.3.4-optimization.patch + epatch "${FILESDIR}"/${PN}-2.3.4-optimization.patch \ + "${FILESDIR}"/${P}-configure.patch eautoreconf } From b25c93abcb1ddd765fb06989f7c68e0c21bb42c0 Mon Sep 17 00:00:00 2001 From: Manuel Friedli Date: Sun, 7 Aug 2016 22:54:02 +0200 Subject: [PATCH 4/4] net-im/jabberd2: added ebuild for jabberd2-2.4.0, as this version is not yet in the official tree. Package-Manager: portage-2.2.28 --- net-im/jabberd2/ChangeLog | 6 + net-im/jabberd2/Manifest | 4 +- net-im/jabberd2/jabberd2-2.4.0.ebuild | 180 ++++++++++++++++++++++++++ 3 files changed, 189 insertions(+), 1 deletion(-) create mode 100644 net-im/jabberd2/jabberd2-2.4.0.ebuild diff --git a/net-im/jabberd2/ChangeLog b/net-im/jabberd2/ChangeLog index 29c89ee..145c893 100644 --- a/net-im/jabberd2/ChangeLog +++ b/net-im/jabberd2/ChangeLog @@ -1,3 +1,9 @@ +*jabberd2-2.4.0 (07 Aug 2016) + + 07 Aug 2016; Manuel Friedli +jabberd2-2.4.0.ebuild: + net-im/jabberd2: added ebuild for jabberd2-2.4.0, as this version is not yet + in the official tree. + *jabberd2-2.3.6 (06 Aug 2016) 06 Aug 2016; Manuel Friedli +files/jabberd2-2.3.1.pamd, diff --git a/net-im/jabberd2/Manifest b/net-im/jabberd2/Manifest index 1373287..421d017 100644 --- a/net-im/jabberd2/Manifest +++ b/net-im/jabberd2/Manifest @@ -4,6 +4,8 @@ AUX jabberd2-2.3.2.logrotate 197 SHA256 bca314e2555e113ee0916d33060c27332381cc3c AUX jabberd2-2.3.4-optimization.patch 627 SHA256 8a10c307846425d0ca8f987c8f46c1559f57d7fb4a448744a93637ece01577bd SHA512 2f38d9eb597f7bea21082a56eee1e28474cc66b56d5dd7de45853c98a5cdecbe7d1e5ff951b6b1395f7c27a9a2ec13c4552031b711d882fbd946338116b7d83e WHIRLPOOL aa67b5f0cbb50a81b789ced5efd0f22a2b199a4d51d1c242cde17f8317b1c2fe00d54ba0b73654bc0f7dd4fd027df83646afe5401a7f665d174faae163151be5 AUX jabberd2-2.3.6-configure.patch 593 SHA256 39d3cdbcf57ff2247c4ca21cc130f56173a7f0db9f37f71048cae4cd9a043e15 SHA512 15e12903af39209e94b2ee42b802f93d5dc9f5d5f6dc646b65402d4445e046df02fe8150be675024a2b7f4d8f21f2cd2af1976a28c81d429be2e91c3845a327a WHIRLPOOL ef49fd6dd2158804bbd7bb93994089d2f301878ba7dcfa2d93ad77e6c4cbaa52c26e61f6191013b911ca8852f6e3d64faea2fea248dc5ddbcf5f0808cd759faf DIST jabberd-2.3.6.tar.xz 1503864 SHA256 33cbf58135f856f5e6e6a7769623fedfda21f0c5f88b3b687a22e04ad915c051 SHA512 c5efa443865028874e1c1f15937064edef4c1699afb14b55963e3cd86930a67dffed7830ab1ae77522cbf797ef9ab89d044ccb28ac65904ffa7e79dee155e8aa WHIRLPOOL 43f6c02d67c792fa1391cc87e7f4d60b6fe7089d8dc7796d54e0e25f1815ad29921eeb97aeb554b015261b7e5f83cd33d076abb61e60ff9fe9441971cb85bdcb +DIST jabberd-2.4.0.tar.xz 1507452 SHA256 1101571f4a94d7ec5a82839e9e2abee51f3983e3b9c416f1b7f2f738ebebdee1 SHA512 eb621d2d76806361f54db49d1d3b2be0e0b5559f8ec64bc8ce8cd10f1455e8f4b98395cf790f969cb8ef63f2fa83f5974c5b70aaa82bbe670e1aa15a3d5a0a0b WHIRLPOOL f6e64febfc72e0d18f2063027cc764361601ab379e41bdb27a7d01f35d472a35632203f0905de8d61ef5f633f53dfa950310c20e9d7d8b69b922ed641793721c EBUILD jabberd2-2.3.6.ebuild 5270 SHA256 59d85fa7b59a21011e080f475ccb69bfdb0aed4b86120e64e746c03e870674db SHA512 091ed958d3e0b0e663965ae7200054f8dc3fcf8665b9232edf04c34b42081f81f80d3a13f18965d74da9ed578a96439f69468518f298fd5c555de8b5522c5274 WHIRLPOOL ddc22f6f4019a5759f8182e3524fdd14bf36083a0537bc7b3bee576845c0ccf92c424e85a806cdc85a7e3f5b5a01d9abd2e5cd26c1744044e231bf44797a8513 -MISC ChangeLog 350 SHA256 c54b729fa89c6fc316d6e82cd9c8caf39997300048a4a220faf41d314495b5fc SHA512 db9aec023709ad964f7ea1f739719ecc7ea61242a7bf5e311f1827814d85460fbcc3c92b4801e97d5ca3ada26182801a96d55310ea2a2d3e83a47b80a07aab4c WHIRLPOOL ae03b9ac67ed223b7b5315972eee4663f7d1918578075905f89a384a1325b4f46297cc3a0b8b902e23a539b37332f3c69ff23bebccb787b143d43ef207af6c57 +EBUILD jabberd2-2.4.0.ebuild 5228 SHA256 80927a0c19c7a97a3f81ba28141c90f5c0c110f661024da9c38b3244879ef865 SHA512 65ae3de033e178598a3401b585c7ba28b2e94ae55e86dc18d526f59f6800128c0ac608ff7723de85c66683a8db37a56ec74b0b2b9046038a96e6657e29462e86 WHIRLPOOL 004d08df2f8b3fdd28bc73628e1a17bbb914bdd8632285f97595b6cc6e2039e72fb8b303f1f88150e3300c6dc5b9cb9bd665706d9554c42c1ed79d764f93a5fa +MISC ChangeLog 561 SHA256 95bb8ede7a41f3fef819599d60791d20af556ffe359bddc402896a0559525151 SHA512 50503af9d2f237d1d0d8d7cbd9aaca46feb6437f8e9a578195753b417c70f75db09c62e9304cab3fe822aa641bb2fba8c8ac9c48ffc415de5b0a5bac177b9584 WHIRLPOOL 813520ed329a67e6f3829414ceb90960d24ecb6839215c41023e15401bcbc872da8a04c33653317bf5ea678993c3e813a42dca1d4fb76c5627ce8e46d3b0f60d MISC metadata.xml 579 SHA256 70e01bf1f9b621d35d36cfd78ed7f99a214eadeca0dd5031adc86aff077b2023 SHA512 ebaf4fd332d1dede7f0e68e135e14c9e464b04ac22a11af32a43af91af2ec17836165d810e6fe4cab876ea33f120ef00fc9392da2c80b90813e7857c946abcda WHIRLPOOL 84043f101020e6bea68efe9be27c5d08fff6d0f06116c0643ce27b36a146068dadbb235aebe7a2d377dd9c269ece471ab4080fc1589263b315c04941c140dcf6 diff --git a/net-im/jabberd2/jabberd2-2.4.0.ebuild b/net-im/jabberd2/jabberd2-2.4.0.ebuild new file mode 100644 index 0000000..be229ab --- /dev/null +++ b/net-im/jabberd2/jabberd2-2.4.0.ebuild @@ -0,0 +1,180 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit autotools db-use eutils flag-o-matic pam + +DESCRIPTION="Open Source Jabber Server" +HOMEPAGE="http://jabberd2.org" +SRC_URI="https://github.com/jabberd2/jabberd2/releases/download/jabberd-${PV}/jabberd-${PV}.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~x86-fbsd" +IUSE="berkdb debug experimental ldap libressl memdebug mysql pam postgres sqlite ssl test websocket zlib" +REQUIRED_USE="memdebug? ( debug )" + +# broken +RESTRICT="test" + +DEPEND="dev-libs/expat + net-libs/udns + net-dns/libidn + virtual/gsasl + berkdb? ( >=sys-libs/db-4.1.25:= ) + ldap? ( net-nds/openldap ) + mysql? ( + virtual/libmysqlclient:= + virtual/mysql:= + ) + pam? ( virtual/pam ) + postgres? ( dev-db/postgresql:= ) + ssl? ( + !libressl? ( >=dev-libs/openssl-1.0.1:0[-bindist] ) + libressl? ( dev-libs/libressl:= ) + ) + sqlite? ( dev-db/sqlite:3 ) + websocket? ( net-libs/http-parser:= ) + zlib? ( sys-libs/zlib )" +RDEPEND="${DEPEND} + >=net-im/jabber-base-0.01" +DEPEND="${DEPEND} + app-arch/xz-utils + virtual/pkgconfig + test? ( dev-libs/check )" + +DOCS=( AUTHORS README ) + +S=${WORKDIR}/jabberd-${PV} + +pkg_pretend() { + if is-flagq '-O[3s]' ; then + ewarn "O3/Os compiler flags have been known to cause problems" + ewarn "with old gcc version. Be aware that this could break" + ewarn "port binding. Make sure to test this." + ewarn "See https://github.com/jabberd2/jabberd2/issues/34" + fi +} + +src_prepare() { + # Fix some default directory locations + sed -i \ + -e 's,@localstatedir@/@package@/pid/,/var/run/@package@/,g' \ + -e 's,@localstatedir@/@package@/run/pbx,/var/run/@package@/pbx,g' \ + -e 's,@localstatedir@/@package@/log/,/var/log/@package@/,g' \ + -e 's,@localstatedir@/lib/jabberd2/fs,@localstatedir@/@package@/fs,g' \ + -e 's,@localstatedir@,/var/spool,g' \ + -e 's,@package@,jabber,g' \ + etc/{sm,router,c2s,s2s}.xml.dist.in || die "fixing default directory locations failed!" + + # If the package wasn't merged with sqlite then default to use berkdb + use sqlite || + sed -i \ + -e 's,<\(module\|driver\)>sqlite<\/\1>,<\1>db,g' \ + etc/{c2s,sm}.xml.dist.in || die "setting berkdb as default failed!" + + # avoid file collision with x11-misc/screen-message wrt #453994 + sed -i \ + -e 's/@jabberd_router_bin@/jabberd2-router/' \ + -e 's/@jabberd_c2s_bin@/jabberd2-c2s/' \ + -e 's/@jabberd_s2s_bin@/jabberd2-s2s/' \ + -e 's/@jabberd_sm_bin@/jabberd2-sm/' \ + etc/jabberd*.in || die "fixing file collisions failed!" + + # rename pid files wrt #241472 + sed -i \ + -e '/pidfile/s/${id}\.pid/jabberd2-c2s\.pid/' \ + etc/c2s.xml.dist.in || die + sed -i \ + -e '/pidfile/s/${id}\.pid/jabberd2-router\.pid/' \ + etc/router.xml.dist.in || die + sed -i \ + -e '/pidfile/s/${id}\.pid/jabberd2-s2s\.pid/' \ + etc/s2s.xml.dist.in || die + sed -i \ + -e '/pidfile/s/${id}\.pid/jabberd2-sm\.pid/' \ + etc/sm.xml.dist.in || die + + epatch "${FILESDIR}"/${PN}-2.3.6-configure.patch + + eautoreconf +} + +src_configure() { + # --enable-pool-debug is currently broken + econf \ + --sysconfdir=/etc/jabber \ + $(usex debug "--enable-debug" "") \ + $(usex memdebug "--enable-nad-debug" "") \ + $(use_enable ssl) \ + $(use_enable mysql) \ + $(use_enable postgres pgsql) \ + $(use_enable sqlite) \ + $(use_enable berkdb db) \ + $(use_enable ldap) \ + $(use_enable pam) \ + --enable-pipe \ + --enable-anon \ + --enable-fs \ + $(use_enable websocket) \ + $(use_enable experimental) \ + $(use_enable test tests) \ + $(usex berkdb "--with-extra-include-path=$(db_includedir)" "") \ + $(use_with zlib) +} + +src_install() { + local i + + default + prune_libtool_files --modules + + keepdir /var/spool/jabber/{fs,db} + fowners jabber:jabber /usr/bin/{jabberd,router,sm,c2s,s2s} \ + /var/spool/jabber/{fs,db} + fperms 770 /var/spool/jabber/{fs,db} + fperms 750 /usr/bin/{jabberd,router,sm,c2s,s2s} + + # avoid file collision with x11-misc/screen-message wrt #453994 + for i in router sm c2s s2s ; do + einfo "renaming /usr/bin/${i} to /usr/bin/jabberd2-${i}" + mv "${ED%/}"/usr/bin/${i} "${ED%/}"/usr/bin/jabberd2-${i} || die + done + + newinitd "${FILESDIR}/${PN}-2.3.2.init" jabberd + newpamd "${FILESDIR}/${PN}-2.3.1.pamd" jabberd + insinto /etc/logrotate.d + newins "${FILESDIR}/${PN}-2.3.2.logrotate" jabberd + + docompress -x /usr/share/doc/${PF}/tools + docinto tools + dodoc tools/db-setup{.mysql,.pgsql,.sqlite} \ + tools/{migrate-jd14dir-2-sqlite.pl,pipe-auth.pl} + + # remove useless upstart files wrt #498900 + rm -rf "${ED%/}"/usr/etc +} + +pkg_postinst() { + if use pam; then + echo + ewarn 'Jabberd-2 PAM authentication requires your unix usernames to' + ewarn 'be in the form of "contactname@jabberdomain". This behavior' + ewarn 'is likely to change in future versions of jabberd-2. It may' + ewarn 'be advisable to avoid PAM authentication for the time being.' + echo + fi + + if use sqlite || use mysql || use postgres; then + echo + einfo "You will need to setup or update your database using the" + einfo "scripts in /usr/share/doc/${PF}/tools/" + echo + fi + + ewarn 'If you are upgrading from <=jabberd2-2.2.17 then you might have' + ewarn 'to update /etc/jabber/jabberd.cfg via etc-update because' + ewarn 'the binaries have been renamed to avoid file collisions!' +}