From 9aefa814d833d6bdd1bdbc7d0f44d5680c9beaa8 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 24 Dec 2022 14:02:21 +0000 Subject: gentoo auto-resync : 24:12:2022 - 14:02:21 --- www-apps/Manifest.gz | Bin 12952 -> 12952 bytes www-apps/gitea/Manifest | 2 + www-apps/gitea/gitea-1.17.4.ebuild | 125 ++++++++++ www-apps/redmine/Manifest | 9 +- .../files/redmine-4.2.7-rails-yaml-safe_load.patch | 29 --- www-apps/redmine/redmine-4.2.7.ebuild | 244 ------------------- www-apps/redmine/redmine-4.2.9.ebuild | 240 +++++++++++++++++++ www-apps/redmine/redmine-5.0.2.ebuild | 258 --------------------- www-apps/redmine/redmine-5.0.4.ebuild | 254 ++++++++++++++++++++ 9 files changed, 625 insertions(+), 536 deletions(-) create mode 100644 www-apps/gitea/gitea-1.17.4.ebuild delete mode 100644 www-apps/redmine/files/redmine-4.2.7-rails-yaml-safe_load.patch delete mode 100644 www-apps/redmine/redmine-4.2.7.ebuild create mode 100644 www-apps/redmine/redmine-4.2.9.ebuild delete mode 100644 www-apps/redmine/redmine-5.0.2.ebuild create mode 100644 www-apps/redmine/redmine-5.0.4.ebuild (limited to 'www-apps') diff --git a/www-apps/Manifest.gz b/www-apps/Manifest.gz index 42a1f123d6f8..d43ec91d7da1 100644 Binary files a/www-apps/Manifest.gz and b/www-apps/Manifest.gz differ diff --git a/www-apps/gitea/Manifest b/www-apps/gitea/Manifest index a741b4ad2814..e37d2ce92822 100644 --- a/www-apps/gitea/Manifest +++ b/www-apps/gitea/Manifest @@ -2,5 +2,7 @@ AUX gitea.confd-r1 243 BLAKE2B 87caa8371f53f52b0a85f720342f9f358dedec9240ab78998 AUX gitea.initd-r3 802 BLAKE2B 2e33e95f7d2762986184d45b0bbb250cc5e04fffc4e4b006233b28e5b57be69eef1d83441adebe2b94681585edaf77f9da4eb97930f91e75c1b1a5cd8d137633 SHA512 5ff2e653180a0601734fcd055dfffdfdc12363736ed2e56c8576c802398b90f4025b44002cbb9a3fd1e0c2d4c169f62d460381c6c549746d3390e55fc1c677d1 AUX gitea.service-r3 732 BLAKE2B 8227349f9ffe5dbf7c59efc3b1e250bf8184a72d37958c0ce0a2d8affabaadcb6aaf271b1402c7ac127b80d534f4f72b888ccdce7aa5f7a7cf86a0efe0e719e0 SHA512 7c8aa33dcea56b6fccac23095f7b84225f1c85541cd5eb3536d2901e638c391e025bd9db28bd10c26ef91e5a8fe2d12a878040cf21d4b983858a19f2cac7d1b0 DIST gitea-1.17.3.tar.gz 52711597 BLAKE2B 7562542870850e669c0bf19848f90d73a0e0d4beab43f489a24a5670edc4e87a436d9e81d9e6e55ab08fabad3dcdb58bae07a4564b15e5fb60eeb7eb76e44f32 SHA512 501c567679c87537e31c778f41a72ac25aaa5f61868857c1ca1f34fd0f9a4dbfe58c5ca97104edad32d6d6ba75eb4ef16a9009654d09da6b0ae2c71a1cfdfa2a +DIST gitea-1.17.4.tar.gz 52844862 BLAKE2B fe5f52be1c9697032fb7b8e84d90be9b540b4cede67ff4dcc3392621eb206efa0f273589e5fcd0f9f7f56de9dbd42804c9117c21ef2538d7aaaf8cbf13b984f4 SHA512 1bae6e11d441f4efe0b92882a5c2c1f4ada9015d49e6140bac87be1a103e23fd622543bf2d988fe9e9d57c26545b53c5acca31aac13034e01f41d5731ac02809 EBUILD gitea-1.17.3.ebuild 3317 BLAKE2B fc94b9df66f3ac86dd27022cf4620b8b554b9ce500a0011d6683f13e4f8445967041335ff48e847c803406c08e9a7ca46504ac12551709ee7e890d028a727753 SHA512 62b06fe8e30338a0704e39d01dc8f9a82d3a6b390c80aa4f5c8f10830c7db21875c996a7d8f778382cce0e79297fb26aff32c414c0efab730a52066d3375c2eb +EBUILD gitea-1.17.4.ebuild 3318 BLAKE2B 2442718948c1e3f7fbf59404c94f78243832d9584dd237e82988e4dbf50f47f255bb14afb21f9159dbc84ac68de8a4082151cb0da6a7ad9894ebc38cf6a1aa90 SHA512 0e5c8a43de3b0c3d33eedacb201612c202930d2494a11fe5cf0f22a0a0066925c02f25d32bef8da79445e69a3bc55fe2bf26d0e8001bdcbf1a318f773e65e6ed MISC metadata.xml 339 BLAKE2B 6117542b37ffbb9dc5aa2420c5846c95864b632cb35e1c69acea24d0eaed05767b0c3607a58bc9ab8e54596927072f1c7c5cb795ee44d076b7ac027d0ee65a58 SHA512 9b05184ccba06361a7dfdecced7ad53d887065763bbbc736aedc791d9089f146f99fbbd6a483bdaf47a6ee5d4965dfc2a66e6990bea1beb599baf621c2c16471 diff --git a/www-apps/gitea/gitea-1.17.4.ebuild b/www-apps/gitea/gitea-1.17.4.ebuild new file mode 100644 index 000000000000..c3facdc15fbb --- /dev/null +++ b/www-apps/gitea/gitea-1.17.4.ebuild @@ -0,0 +1,125 @@ +# Copyright 2016-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit fcaps go-module tmpfiles systemd flag-o-matic + +DESCRIPTION="A painless self-hosted Git service" +HOMEPAGE="https://gitea.io https://github.com/go-gitea/gitea" + +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/go-gitea/gitea.git" +else + SRC_URI="https://github.com/go-gitea/gitea/releases/download/v${PV}/gitea-src-${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" +fi + +S="${WORKDIR}/${PN}-src-${PV}" + +LICENSE="Apache-2.0 BSD BSD-2 ISC MIT MPL-2.0" +SLOT="0" +IUSE="+acct pam sqlite pie" + +DEPEND=" + acct? ( + acct-group/git + acct-user/git[gitea] ) + pam? ( sys-libs/pam )" +RDEPEND="${DEPEND} + dev-vcs/git" + +DOCS=( + custom/conf/app.example.ini CONTRIBUTING.md README.md +) +FILECAPS=( + -m 711 cap_net_bind_service+ep usr/bin/gitea +) + +RESTRICT="test" + +src_prepare() { + default + + local sedcmds=( + -e "s#^ROOT =#ROOT = ${EPREFIX}/var/lib/gitea/gitea-repositories#" + -e "s#^ROOT_PATH =#ROOT_PATH = ${EPREFIX}/var/log/gitea#" + -e "s#^APP_DATA_PATH = data#APP_DATA_PATH = ${EPREFIX}/var/lib/gitea/data#" + -e "s#^HTTP_ADDR = 0.0.0.0#HTTP_ADDR = 127.0.0.1#" + -e "s#^MODE = console#MODE = file#" + -e "s#^LEVEL = Trace#LEVEL = Info#" + -e "s#^LOG_SQL = true#LOG_SQL = false#" + -e "s#^DISABLE_ROUTER_LOG = false#DISABLE_ROUTER_LOG = true#" + ) + + sed -i "${sedcmds[@]}" custom/conf/app.example.ini || die + if use sqlite ; then + sed -i -e "s#^DB_TYPE = .*#DB_TYPE = sqlite3#" custom/conf/app.example.ini || die + fi +} + +src_configure() { + # bug 832756 - PIE build issues + filter-flags -fPIE + filter-ldflags -fPIE -pie +} + +src_compile() { + local gitea_tags=( + bindata + $(usev pam) + $(usex sqlite 'sqlite sqlite_unlock_notify' '') + ) + local gitea_settings=( + "-X code.gitea.io/gitea/modules/setting.CustomConf=${EPREFIX}/etc/gitea/app.ini" + "-X code.gitea.io/gitea/modules/setting.CustomPath=${EPREFIX}/var/lib/gitea/custom" + "-X code.gitea.io/gitea/modules/setting.AppWorkPath=${EPREFIX}/var/lib/gitea" + ) + local makeenv=( + DRONE_TAG="${PV}" + LDFLAGS="-extldflags \"${LDFLAGS}\" ${gitea_settings[*]}" + TAGS="${gitea_tags[*]}" + ) + + GOFLAGS="" + if use pie ; then + GOFLAGS+="-buildmode=pie" + fi + + env "${makeenv[@]}" emake EXTRA_GOFLAGS="${GOFLAGS}" backend +} + +src_install() { + dobin gitea + + einstalldocs + + newconfd "${FILESDIR}/gitea.confd-r1" gitea + newinitd "${FILESDIR}/gitea.initd-r3" gitea + newtmpfiles - gitea.conf <<-EOF + d /run/gitea 0755 git git + EOF + systemd_newunit "${FILESDIR}"/gitea.service-r3 gitea.service + + insinto /etc/gitea + newins custom/conf/app.example.ini app.ini + if use acct; then + fowners root:git /etc/gitea/{,app.ini} + fperms g+w,o-rwx /etc/gitea/{,app.ini} + + diropts -m0750 -o git -g git + keepdir /var/lib/gitea /var/lib/gitea/custom /var/lib/gitea/data + keepdir /var/log/gitea + fi +} + +pkg_postinst() { + fcaps_pkg_postinst + tmpfiles_process gitea.conf + + ewarn "The default JWT signing algorithm changed in 1.15.0 from HS256 (symmetric) to" + ewarn "RS256 (asymmetric). Gitea OAuth2 tokens (and potentially client secrets) will" + ewarn "need to be regenerated unless you change your JWT_SIGNING_ALGORITHM back to HS256." + ewarn "For other breaking changes, see ." +} diff --git a/www-apps/redmine/Manifest b/www-apps/redmine/Manifest index a1221a7ab6cd..4705299461c1 100644 --- a/www-apps/redmine/Manifest +++ b/www-apps/redmine/Manifest @@ -1,11 +1,10 @@ AUX 10_redmine_vhost.conf 314 BLAKE2B 6e687093ed220c8a275f43d002d9661a36a0602001e4783b036bea0daac86810ce034573da5f3ac65e7f556af77db93849d93931de909bfbac1313e7fe705120 SHA512 5c6628b353167056a33f8b1be4332f7d3fb6b31e4457dbe1968ff1123c8d7bc607e175307636cd83d683715e9973fc8c87720aa35224e75fab81b074c7bab604 AUX additional_environment.rb 322 BLAKE2B 26571ffcbc43431058a685000e00870ec41d266c4cdf46e077018bbbac34a5c818fccb19508c76dd56f53bc31d3e469e61302d36825ba36a5d851cfa73b0a0ef SHA512 1a4b649bc036372a47782a089c2b3db244ea4dd5437f2d931b6c7c4578f5aa104c8b8493da4a3f2874aac0380527604807ec2062525dcd392425b9b22c84f9bf AUX redmine-3.initd 1269 BLAKE2B 1c0f561fa1c13c899b17b7c707ac6beaa9090a9ec98657f7ddce2e653241d7388392f22eaf35a85f5de96c3a0c32a4b67f0003725c371ef1ffb1f76c56d989b4 SHA512 c0ec931313d8b684cc8d2ab59e0c6d6fd159202420a3849cbb09a62f4fae7f6c3ec071b58fc17d838247c7c573a92de0ecdab7de995fd2391c4bd66001335ece -AUX redmine-4.2.7-rails-yaml-safe_load.patch 1002 BLAKE2B 78ee82fae3d16dcb54fc61137ce9f8f51b6809d28f8b3292100502f9927c423d64024fee7662d2d06d4a71be4e94b1d0cf7bb401221ca7f49c1df5a023b89918 SHA512 cd45f50d0f1f73996b091a15b99f5bd466214cb94b60b03268b4689f49ef0058bef23c18acffa23d79bdc4766daee4218a4a5b9d40043f2b91330ad928918b51 AUX redmine.confd 267 BLAKE2B d2f4f34ac6ac2aadfe5371831fb5dba6dc6e58fd26197528ebe27d9f4faa3dc8b9c495e77841b8a2e67db7093c76cbcda24b9548da0d10268d105b5dde0bb023 SHA512 4e4a700f1540b5e82df6ca610a94adcb08929f5ca75e605e40372b18ccc395515cdd53451ba2b3e3d9bdf129d9052a7218f6323d526c1ffb2540254d279c8d94 AUX redmine.logrotate 106 BLAKE2B 0c725d812b4a6caae29ed55d0b948a3dc14369aa550994d55ca3aa41e0c1e34962d26da4a46c99fdbdcdd600c12f2d386559af53a2e48d55b5d670372be65b60 SHA512 c7e611dc5e662e5b2126c77a333081708e552f2980efb835dc8560cd5e1929c6923e5e6e4e45604fe662b9bd5ef433678eb900e797cee34bbb1b80fb55eed0e1 -DIST redmine-4.2.7.tar.gz 3042676 BLAKE2B 023448a6b1ea20ef0d924def19f661a6d1099f3ab6fe0c887e4e8782773bcc63488075d86f3dc70d8ebf87d44e6b6b242be4a1fb4b5cce5cc361f6f39e99e6d4 SHA512 6654aec3981de8b26de416d253c22c91d881dd7df54192ce41e6e99213c6f4b0947ce213fe484c18117f8701d0528ebb23fe3acf335f84638eeddd972b601be9 -DIST redmine-5.0.2.tar.gz 3104135 BLAKE2B abc0f2dfe8f3eacc134172c0d740cc17f269371a90027d87b0329d03fafb1dc17532fc55343dbac9e07e0a195acc67cc133be92eae2b48e0ad9f4afce876afd1 SHA512 aeb0486b2193b0c622f878b67089f9628a59c28bc7a6d3660756dd8047e13b199198d2b7cf42d04c1235f06567e4c4f572d529f964edb862fcd19e2ce7febbdc -EBUILD redmine-4.2.7.ebuild 7053 BLAKE2B e40fcc6bb07843879945f032ce2a5a8f96e5e4fe20841c7f1dee1aa5f53775bb8d6d1c6c377bfe7e56824c99b335eeb3ac6dd58bdf4c8910ec6d50ae40c6c876 SHA512 40e82f668cca35c61eb8f0429b5000fa6de27c4f6512f2b21e10cc2ae350786121548d47537ebd0fb4fa18e4939d2b2eb9c561ed6172732131dbc50ca87bf0da -EBUILD redmine-5.0.2.ebuild 7543 BLAKE2B cb7baf49be579dbf7ec50dea3b94351328877c5343fff926ec7d8f77379c8d11c3d869969b2fb092c672ac317ce5aef44c9a6ff9e4fb73c8715a8947677ec2a5 SHA512 949872a5dc4a9970ad8527b01d8043ba3dc405587200b14f650886b392e7470e2e51012b22359d28a06d39e9c10991387f1d6ec787dbd5a7646e9aaec6148964 +DIST redmine-4.2.9.tar.gz 3043566 BLAKE2B 682e1b517a1dba705d5687b8be004d1cc0db3a0a9d8cbecd6a72846e211743491d755da3a24488d563fa73f63969e0ae5ea527bb9aacc8b3399720848194d142 SHA512 b0c6cade20dbcb4dd5c88081fb44f63dc3687b3735d47572e71bfeff0e17d2e4c9281afc10cf3b9679ab1e492a71a260a1d3fac5b660af5226849ccac4e0dd36 +DIST redmine-5.0.4.tar.gz 3114593 BLAKE2B 2a8247f18696d23607011f1c7d59c5411aead8230e8e7b30c7778a2aaa3064ccccc4bf05b33bac6a3d78cb22775f015bfe7a15cb69e529c60a087d9498164d84 SHA512 e1c0693ae1d4c71de7bef8d78b42e2d81cd53a2bd0bdfa83778528f40b5d43bb118e8e22f29112130f3082ddafd0c8931b05d5409e7a3f8a23dc619c5d84cf78 +EBUILD redmine-4.2.9.ebuild 6993 BLAKE2B 0854b1e2c3c898796d176eedd90fbfcd3252ea0a935808a68d3f37d43202f18e826026eeb5758142cc2b2056a42a0f057e4690018e334308b3809a460ccab201 SHA512 599729b503818fa024b597170c17783ef3c7f3c201be35479cb463d16e1b872e0ca97bdbc50fae925a60db102fb7be0f0359477418eb8cd2e7deff1cf0f17694 +EBUILD redmine-5.0.4.ebuild 7474 BLAKE2B 0b89dff6f61b37ecb78f7ccbca9966ed390391f5ab7597d9ff4c9e91f2e05261ce7dbdd1c2451d7de6b7b0ac54f7b963d3ebe90c76f246b8b746c8a0cb3cf610 SHA512 078c64b4aa29a4212a0fea2f374a8406f8016ca6cbf78e4b582736293bc01e0f9ff8d35c36b98d52fc7b8a25e11d1ac4ca7960f7e83352077def72886438e826 MISC metadata.xml 659 BLAKE2B 1598079638eae3152ded1c8129eac0386737c2eb827e3e0d4d16cfa5506acebbb12e51c2084e43d43ff5c3ff220bfde3e7e0d84c4b03502b2f1b593543442d50 SHA512 ac1674ad83f39871d410c338915fba222c6cddf310b62abd7eb3725dba294b1595c291cb8f87debf7e350e67703c7b30ccba223c3b8a7692e916d2a17adb4434 diff --git a/www-apps/redmine/files/redmine-4.2.7-rails-yaml-safe_load.patch b/www-apps/redmine/files/redmine-4.2.7-rails-yaml-safe_load.patch deleted file mode 100644 index dcd4bdb51073..000000000000 --- a/www-apps/redmine/files/redmine-4.2.7-rails-yaml-safe_load.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 8eb7563204e6c9b3a1fcff453c08ed4824b20bc6 Mon Sep 17 00:00:00 2001 -From: "Azamat H. Hackimov" -Date: Wed, 13 Jul 2022 13:52:18 +0300 -Subject: [PATCH] Added compatibility option for recent Rails - -Rails 5.2.8.1, 6.0.5.1, 6.1.6.1 and 7.0.3.1 fixes CVE-2022-32224 which -breaks compatibility with old implementation of YAML.unsafe_load. - -Added `config.active_record.yaml_column_permitted_classes = [Symbol]` to -configuration of application to workaround issue. ---- - config/application.rb | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/config/application.rb b/config/application.rb -index bba468f38..78557d376 100644 ---- a/config/application.rb -+++ b/config/application.rb -@@ -32,6 +32,7 @@ module RedmineApp - - config.active_record.store_full_sti_class = true - config.active_record.default_timezone = :local -+ config.active_record.yaml_column_permitted_classes = [Symbol] - - config.action_mailer.delivery_job = "ActionMailer::MailDeliveryJob" - --- -2.35.1 - diff --git a/www-apps/redmine/redmine-4.2.7.ebuild b/www-apps/redmine/redmine-4.2.7.ebuild deleted file mode 100644 index 373621607812..000000000000 --- a/www-apps/redmine/redmine-4.2.7.ebuild +++ /dev/null @@ -1,244 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -USE_RUBY="ruby26 ruby27" -inherit depend.apache ruby-ng - -DESCRIPTION="Flexible project management web application using the Ruby on Rails framework" -HOMEPAGE="https://www.redmine.org/" -SRC_URI="https://www.redmine.org/releases/${P}.tar.gz" - -KEYWORDS="~amd64" -LICENSE="GPL-2" -SLOT="0" -IUSE="fastcgi imagemagick ldap markdown +minimagick mysql passenger pdf postgres sqlite" - -PATCHES=( - "${FILESDIR}/${P}-rails-yaml-safe_load.patch" -) - -ruby_add_bdepend " - fastcgi? ( dev-ruby/fcgi ) - ldap? ( dev-ruby/ruby-net-ldap ) - minimagick? ( dev-ruby/mini_magick ) - markdown? ( >=dev-ruby/redcarpet-3.5.1 ) - mysql? ( >=dev-ruby/mysql2-0.5.0:0.5 ) - passenger? ( www-apache/passenger ) - postgres? ( >=dev-ruby/pg-1.1.4:1 ) - sqlite? ( >=dev-ruby/sqlite3-1.4.0 ) - dev-ruby/actionpack-xml_parser:2 - dev-ruby/addressable - dev-ruby/csv:3 - >=dev-ruby/i18n-1.8.2:1 - >=dev-ruby/mail-2.7.1 - dev-ruby/marcel - dev-ruby/mimemagic - >=dev-ruby/mini_mime-1.0.1 - >=dev-ruby/nokogiri-1.11.1 - dev-ruby/rack-openid - >=dev-ruby/rails-5.2.8.1:5.2 - >=dev-ruby/rbpdf-1.20.0 - >=dev-ruby/request_store-1.5.0:0 - >=dev-ruby/roadie-rails-2.2.0:2 - dev-ruby/rotp - >=dev-ruby/rouge-3.26.0 - dev-ruby/rqrcode - >=dev-ruby/ruby-openid-2.9.2 - >=dev-ruby/rubyzip-2.3.0:2 -" - -RDEPEND=" - acct-group/redmine - acct-user/redmine - imagemagick? ( media-gfx/imagemagick ) - pdf? ( - app-text/ghostscript-gpl - media-gfx/imagemagick - ) -" - -REDMINE_DIR="/var/lib/${PN}" - -all_ruby_prepare() { - rm -fr log files/delete.me .github || die - - # bug #406605 - rm .{git,hg}ignore || die - - # newenvd not working here - cat > "${T}/50${PN}" <<-EOF || die - CONFIG_PROTECT="${EROOT}/${REDMINE_DIR}/config" - CONFIG_PROTECT_MASK="${EROOT}/${REDMINE_DIR}/config/locales ${EROOT}/${REDMINE_DIR}/config/settings.yml" - EOF - - # Fixing versions in Gemfile - sed -i -e "s/~>/>=/g" Gemfile || die - - # bug #724464 - sed -i -e "s/gem 'rails',.*/gem 'rails', '~>5.2.6'/" Gemfile || die - - sed -i -e "/group :development do/,/end$/d" Gemfile || die - sed -i -e "/group :test do/,/end$/d" Gemfile || die - - if ! use imagemagick ; then - sed -i -e "/group :minimagick do/,/end$/d" Gemfile || die - fi - if ! use ldap ; then - # remove ldap stuff module if disabled to avoid #413779 - use ldap || rm app/models/auth_source_ldap.rb || die - sed -i -e "/group :ldap do/,/end$/d" Gemfile || die - fi - if ! use markdown ; then - sed -i -e "/group :markdown do/,/end$/d" Gemfile || die - fi - # Additional dependency for Gemfile (#657156) - if use fastcgi; then - echo "gem 'fcgi'" > Gemfile.local - fi -} - -all_ruby_install() { - dodoc doc/* README.rdoc - rm -r doc test appveyor.yml CONTRIBUTING.md README.rdoc || die - - keepdir /var/log/${PN} - - insinto "${REDMINE_DIR}" - doins -r . - insinto "${REDMINE_DIR}/config" - doins "${FILESDIR}/additional_environment.rb" - keepdir "${REDMINE_DIR}"/{app/views/previews,files,public/plugin_assets,vendor} - keepdir "${REDMINE_DIR}"/tmp/{cache,imports,sessions,sockets} - - fowners -R redmine:redmine \ - "${REDMINE_DIR}/config.ru" \ - "${REDMINE_DIR}/config" \ - "${REDMINE_DIR}/files" \ - "${REDMINE_DIR}/public/plugin_assets" \ - "${REDMINE_DIR}/tmp" \ - /var/log/${PN} - - fowners redmine:redmine "${REDMINE_DIR}" - - # protect sensitive data, see bug #406605 - fperms -R go-rwx \ - "${REDMINE_DIR}/config" \ - "${REDMINE_DIR}/files" \ - "${REDMINE_DIR}/tmp" \ - /var/log/${PN} - - if use passenger; then - has_apache - insinto "${APACHE_VHOSTS_CONFDIR}" - doins "${FILESDIR}/10_redmine_vhost.conf" - fi - - # logrotate - insinto /etc/logrotate.d - newins "${FILESDIR}"/redmine.logrotate redmine - - newconfd "${FILESDIR}/${PN}.confd" ${PN} - newinitd "${FILESDIR}/${PN}-3.initd" ${PN} - doenvd "${T}/50${PN}" -} - -pkg_postinst() { - if [[ -e "${EROOT}/${REDMINE_DIR}/config/initializers/session_store.rb" \ - || -e "${EROOT}/${REDMINE_DIR}/config/initializers/secret_token.rb" ]] - then - elog "Execute the following command to upgrade environment:" - elog - elog "# emerge --config \"=${CATEGORY}/${PF}\"" - elog - elog "For upgrade instructions take a look at:" - elog "http://www.redmine.org/wiki/redmine/RedmineUpgrade" - else - elog "Execute the following command to initialize environment:" - elog - elog "# cd ${EROOT}/${REDMINE_DIR}" - elog "# cp config/database.yml.example config/database.yml" - elog "# \${EDITOR} config/database.yml" - elog "# chown redmine:redmine config/database.yml" - elog "# emerge --config \"=${CATEGORY}/${PF}\"" - elog - elog "Installation notes are at official site" - elog "http://www.redmine.org/wiki/redmine/RedmineInstall" - fi -} - -pkg_config() { - # Remove old lock file - rm -f "${EROOT}/${REDMINE_DIR}/Gemfile.lock" - - if [[ ! -e "${EROOT}/${REDMINE_DIR}/config/database.yml" ]]; then - eerror "Copy ${EROOT}/${REDMINE_DIR}/config/database.yml.example to" - eerror "${EROOT}/${REDMINE_DIR}/config/database.yml then edit this" - eerror "file in order to configure your database settings for" - eerror "\"production\" environment." - die - fi - - local RAILS_ENV=${RAILS_ENV:-production} - if [[ ! -L /usr/bin/ruby ]]; then - eerror "/usr/bin/ruby is not a valid symlink to any ruby implementation." - eerror "Please update it via `eselect ruby`" - die - fi - if [[ $RUBY_TARGETS != *$( eselect ruby show | awk 'NR==2' | tr -d ' ' )* ]] - then - eerror "/usr/bin/ruby is currently not included in redmine's ruby targets:" - eerror "${RUBY_TARGETS}." - eerror "Please update it via `eselect ruby`" - die - fi - local RUBY=${RUBY:-ruby} - - cd "${EROOT}/${REDMINE_DIR}" || die - if [[ -e "${EROOT}/${REDMINE_DIR}/config/initializers/session_store.rb" ]] - then - einfo - einfo "Generating secret token." - einfo - rm config/initializers/session_store.rb || die - RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake generate_secret_token || die - fi - if [[ -e "${EROOT}/${REDMINE_DIR}/config/initializers/secret_token.rb" ]] - then - einfo - einfo "Upgrading database." - einfo - - einfo "Generating secret token." - # Migration from Redmine 2.x - rm config/initializers/secret_token.rb || die - RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake generate_secret_token || die - - einfo "Migrating database." - RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake db:migrate || die - einfo "Upgrading the plugin migrations." - RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake redmine:plugins:migrate || die - einfo "Clear the cache." - ${RUBY} -S rake tmp:cache:clear || die - else - einfo - einfo "Initializing database." - einfo - - einfo "Generating a session store secret." - ${RUBY} -S rake generate_secret_token || die - einfo "Creating the database structure." - RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake db:migrate || die - einfo "Populating database with default configuration data." - RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake redmine:load_default_data || die - chown redmine:redmine -R "${EROOT}/var/log/redmine/" || die - einfo - einfo "If you use sqlite3, please do not forget to change the ownership" - einfo "of the sqlite files." - einfo - einfo "# cd \"${EROOT}/${REDMINE_DIR}\"" - einfo "# chown redmine:redmine db/ db/*.sqlite3" - einfo - fi -} diff --git a/www-apps/redmine/redmine-4.2.9.ebuild b/www-apps/redmine/redmine-4.2.9.ebuild new file mode 100644 index 000000000000..48dd0847e369 --- /dev/null +++ b/www-apps/redmine/redmine-4.2.9.ebuild @@ -0,0 +1,240 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +USE_RUBY="ruby26 ruby27" +inherit depend.apache ruby-ng + +DESCRIPTION="Flexible project management web application using the Ruby on Rails framework" +HOMEPAGE="https://www.redmine.org/" +SRC_URI="https://www.redmine.org/releases/${P}.tar.gz" + +KEYWORDS="~amd64" +LICENSE="GPL-2" +SLOT="0" +IUSE="fastcgi imagemagick ldap markdown +minimagick mysql passenger pdf postgres sqlite" + +ruby_add_bdepend " + fastcgi? ( dev-ruby/fcgi ) + ldap? ( dev-ruby/ruby-net-ldap ) + minimagick? ( dev-ruby/mini_magick ) + markdown? ( >=dev-ruby/redcarpet-3.5.1 ) + mysql? ( >=dev-ruby/mysql2-0.5.0:0.5 ) + passenger? ( www-apache/passenger ) + postgres? ( >=dev-ruby/pg-1.1.4:1 ) + sqlite? ( >=dev-ruby/sqlite3-1.4.0 ) + dev-ruby/actionpack-xml_parser:2 + dev-ruby/addressable + dev-ruby/csv:3 + >=dev-ruby/i18n-1.8.2:1 + >=dev-ruby/mail-2.7.1 + dev-ruby/marcel + dev-ruby/mimemagic + >=dev-ruby/mini_mime-1.0.1 + >=dev-ruby/nokogiri-1.11.1 + dev-ruby/rack-openid + >=dev-ruby/rails-5.2.8.1:5.2 + >=dev-ruby/rbpdf-1.20.0 + >=dev-ruby/request_store-1.5.0:0 + >=dev-ruby/roadie-rails-2.2.0:2 + dev-ruby/rotp + >=dev-ruby/rouge-3.26.0 + dev-ruby/rqrcode + >=dev-ruby/ruby-openid-2.9.2 + >=dev-ruby/rubyzip-2.3.0:2 +" + +RDEPEND=" + acct-group/redmine + acct-user/redmine + imagemagick? ( media-gfx/imagemagick ) + pdf? ( + app-text/ghostscript-gpl + media-gfx/imagemagick + ) +" + +REDMINE_DIR="/var/lib/${PN}" + +all_ruby_prepare() { + rm -fr log files/delete.me .github || die + + # bug #406605 + rm .{git,hg}ignore || die + + # newenvd not working here + cat > "${T}/50${PN}" <<-EOF || die + CONFIG_PROTECT="${EROOT}/${REDMINE_DIR}/config" + CONFIG_PROTECT_MASK="${EROOT}/${REDMINE_DIR}/config/locales ${EROOT}/${REDMINE_DIR}/config/settings.yml" + EOF + + # Fixing versions in Gemfile + sed -i -e "s/~>/>=/g" Gemfile || die + + # bug #724464 + sed -i -e "s/gem 'rails',.*/gem 'rails', '~>5.2.6'/" Gemfile || die + + sed -i -e "/group :development do/,/end$/d" Gemfile || die + sed -i -e "/group :test do/,/end$/d" Gemfile || die + + if ! use imagemagick ; then + sed -i -e "/group :minimagick do/,/end$/d" Gemfile || die + fi + if ! use ldap ; then + # remove ldap stuff module if disabled to avoid #413779 + use ldap || rm app/models/auth_source_ldap.rb || die + sed -i -e "/group :ldap do/,/end$/d" Gemfile || die + fi + if ! use markdown ; then + sed -i -e "/group :markdown do/,/end$/d" Gemfile || die + fi + # Additional dependency for Gemfile (#657156) + if use fastcgi; then + echo "gem 'fcgi'" > Gemfile.local + fi +} + +all_ruby_install() { + dodoc doc/* README.rdoc + rm -r doc test appveyor.yml CONTRIBUTING.md README.rdoc || die + + keepdir /var/log/${PN} + + insinto "${REDMINE_DIR}" + doins -r . + insinto "${REDMINE_DIR}/config" + doins "${FILESDIR}/additional_environment.rb" + keepdir "${REDMINE_DIR}"/{app/views/previews,files,public/plugin_assets,vendor} + keepdir "${REDMINE_DIR}"/tmp/{cache,imports,sessions,sockets} + + fowners -R redmine:redmine \ + "${REDMINE_DIR}/config.ru" \ + "${REDMINE_DIR}/config" \ + "${REDMINE_DIR}/files" \ + "${REDMINE_DIR}/public/plugin_assets" \ + "${REDMINE_DIR}/tmp" \ + /var/log/${PN} + + fowners redmine:redmine "${REDMINE_DIR}" + + # protect sensitive data, see bug #406605 + fperms -R go-rwx \ + "${REDMINE_DIR}/config" \ + "${REDMINE_DIR}/files" \ + "${REDMINE_DIR}/tmp" \ + /var/log/${PN} + + if use passenger; then + has_apache + insinto "${APACHE_VHOSTS_CONFDIR}" + doins "${FILESDIR}/10_redmine_vhost.conf" + fi + + # logrotate + insinto /etc/logrotate.d + newins "${FILESDIR}"/redmine.logrotate redmine + + newconfd "${FILESDIR}/${PN}.confd" ${PN} + newinitd "${FILESDIR}/${PN}-3.initd" ${PN} + doenvd "${T}/50${PN}" +} + +pkg_postinst() { + if [[ -e "${EROOT}/${REDMINE_DIR}/config/initializers/session_store.rb" \ + || -e "${EROOT}/${REDMINE_DIR}/config/initializers/secret_token.rb" ]] + then + elog "Execute the following command to upgrade environment:" + elog + elog "# emerge --config \"=${CATEGORY}/${PF}\"" + elog + elog "For upgrade instructions take a look at:" + elog "http://www.redmine.org/wiki/redmine/RedmineUpgrade" + else + elog "Execute the following command to initialize environment:" + elog + elog "# cd ${EROOT}/${REDMINE_DIR}" + elog "# cp config/database.yml.example config/database.yml" + elog "# \${EDITOR} config/database.yml" + elog "# chown redmine:redmine config/database.yml" + elog "# emerge --config \"=${CATEGORY}/${PF}\"" + elog + elog "Installation notes are at official site" + elog "http://www.redmine.org/wiki/redmine/RedmineInstall" + fi +} + +pkg_config() { + # Remove old lock file + rm -f "${EROOT}/${REDMINE_DIR}/Gemfile.lock" + + if [[ ! -e "${EROOT}/${REDMINE_DIR}/config/database.yml" ]]; then + eerror "Copy ${EROOT}/${REDMINE_DIR}/config/database.yml.example to" + eerror "${EROOT}/${REDMINE_DIR}/config/database.yml then edit this" + eerror "file in order to configure your database settings for" + eerror "\"production\" environment." + die + fi + + local RAILS_ENV=${RAILS_ENV:-production} + if [[ ! -L /usr/bin/ruby ]]; then + eerror "/usr/bin/ruby is not a valid symlink to any ruby implementation." + eerror "Please update it via `eselect ruby`" + die + fi + if [[ $RUBY_TARGETS != *$( eselect ruby show | awk 'NR==2' | tr -d ' ' )* ]] + then + eerror "/usr/bin/ruby is currently not included in redmine's ruby targets:" + eerror "${RUBY_TARGETS}." + eerror "Please update it via `eselect ruby`" + die + fi + local RUBY=${RUBY:-ruby} + + cd "${EROOT}/${REDMINE_DIR}" || die + if [[ -e "${EROOT}/${REDMINE_DIR}/config/initializers/session_store.rb" ]] + then + einfo + einfo "Generating secret token." + einfo + rm config/initializers/session_store.rb || die + RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake generate_secret_token || die + fi + if [[ -e "${EROOT}/${REDMINE_DIR}/config/initializers/secret_token.rb" ]] + then + einfo + einfo "Upgrading database." + einfo + + einfo "Generating secret token." + # Migration from Redmine 2.x + rm config/initializers/secret_token.rb || die + RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake generate_secret_token || die + + einfo "Migrating database." + RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake db:migrate || die + einfo "Upgrading the plugin migrations." + RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake redmine:plugins:migrate || die + einfo "Clear the cache." + ${RUBY} -S rake tmp:cache:clear || die + else + einfo + einfo "Initializing database." + einfo + + einfo "Generating a session store secret." + ${RUBY} -S rake generate_secret_token || die + einfo "Creating the database structure." + RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake db:migrate || die + einfo "Populating database with default configuration data." + RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake redmine:load_default_data || die + chown redmine:redmine -R "${EROOT}/var/log/redmine/" || die + einfo + einfo "If you use sqlite3, please do not forget to change the ownership" + einfo "of the sqlite files." + einfo + einfo "# cd \"${EROOT}/${REDMINE_DIR}\"" + einfo "# chown redmine:redmine db/ db/*.sqlite3" + einfo + fi +} diff --git a/www-apps/redmine/redmine-5.0.2.ebuild b/www-apps/redmine/redmine-5.0.2.ebuild deleted file mode 100644 index 8b1b55111a6c..000000000000 --- a/www-apps/redmine/redmine-5.0.2.ebuild +++ /dev/null @@ -1,258 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -USE_RUBY="ruby27" -inherit depend.apache ruby-ng - -DESCRIPTION="Flexible project management web application using the Ruby on Rails framework" -HOMEPAGE="https://www.redmine.org/" -SRC_URI="https://www.redmine.org/releases/${P}.tar.gz" - -KEYWORDS="~amd64" -LICENSE="GPL-2" -SLOT="0" -IUSE="fastcgi imagemagick ldap markdown +minimagick mysql passenger pdf postgres sqlite" - -ruby_add_bdepend " - fastcgi? ( dev-ruby/fcgi ) - ldap? ( >=dev-ruby/ruby-net-ldap-0.17.0 ) - minimagick? ( >=dev-ruby/mini_magick-4.11.0 ) - markdown? ( >=dev-ruby/redcarpet-3.5.1 ) - mysql? ( >=dev-ruby/mysql2-0.5.0:0.5 ) - passenger? ( www-apache/passenger ) - postgres? ( >=dev-ruby/pg-1.2.2:1 ) - sqlite? ( >=dev-ruby/sqlite3-1.4.0 ) - dev-ruby/actionpack-xml_parser:2 - dev-ruby/addressable - >=dev-ruby/commonmarker-0.23.4 - dev-ruby/csv:3 - >=dev-ruby/deckar01-task_list-2.3.2 - >=dev-ruby/html-pipeline-2.13.2 - >=dev-ruby/i18n-1.10.0:1 - >=dev-ruby/mail-2.7.1 - dev-ruby/marcel - >=dev-ruby/mini_mime-1.1.0 - >=dev-ruby/net-imap-0.2.2 - >=dev-ruby/net-pop-0.1.1 - >=dev-ruby/net-smtp-0.3.0 - >=dev-ruby/nokogiri-1.13.0 - >=dev-ruby/rails-6.1.6:6.1 - >=dev-ruby/rbpdf-1.20.0 - >=dev-ruby/request_store-1.5.0:0 - dev-ruby/rexml - >=dev-ruby/roadie-rails-3.0.0:3 - >=dev-ruby/rotp-5.0.0 - >=dev-ruby/rouge-3.28.0 - dev-ruby/rqrcode - >=dev-ruby/rubyzip-2.3.0:2 - >=dev-ruby/sanitize-6.0:6 -" - -RDEPEND=" - acct-group/redmine - acct-user/redmine - imagemagick? ( media-gfx/imagemagick ) - pdf? ( - app-text/ghostscript-gpl - media-gfx/imagemagick - ) -" - -PATCHES=( - "${FILESDIR}/redmine-4.2.7-rails-yaml-safe_load.patch" -) - -REDMINE_DIR="/var/lib/${PN}" - -all_ruby_prepare() { - rm -fr log files/delete.me .github || die - - # bug #406605 - rm .{git,hg}ignore || die - - # newenvd not working here - cat > "${T}/50${PN}" <<-EOF || die - CONFIG_PROTECT="${EROOT}/${REDMINE_DIR}/config" - CONFIG_PROTECT_MASK="${EROOT}/${REDMINE_DIR}/config/locales ${EROOT}/${REDMINE_DIR}/config/settings.yml" - EOF - - # Fixing versions in Gemfile - sed -i -e "s/~>/>=/g" Gemfile || die - - # bug #724464 - sed -i -e "s/gem 'rails',.*/gem 'rails', '~>6.1.6'/" Gemfile || die - - # Commonmark - sed -i -e "s/'0.23.4'/'>=0.23.4'/" -e "s/'2.3.2'/'>=2.3.2'/" Gemfile - - sed -i -e "/group :development do/,/end$/d" Gemfile || die - sed -i -e "/group :test do/,/end$/d" Gemfile || die - - if ! use imagemagick ; then - sed -i -e "/group :minimagick do/,/end$/d" Gemfile || die - fi - if ! use ldap ; then - # remove ldap stuff module if disabled to avoid #413779 - use ldap || rm app/models/auth_source_ldap.rb || die - sed -i -e "/group :ldap do/,/end$/d" Gemfile || die - fi - if ! use markdown ; then - sed -i -e "/group :markdown do/,/end$/d" Gemfile || die - fi - # Additional dependency for Gemfile (#657156) - if use fastcgi; then - echo "gem 'fcgi'" > Gemfile.local - fi -} - -all_ruby_install() { - dodoc doc/* README.rdoc - rm -r doc test appveyor.yml CONTRIBUTING.md README.rdoc || die - - keepdir /var/log/${PN} - - insinto "${REDMINE_DIR}" - doins -r . - insinto "${REDMINE_DIR}/config" - doins "${FILESDIR}/additional_environment.rb" - keepdir "${REDMINE_DIR}"/{app/views/previews,files,public/plugin_assets,vendor} - keepdir "${REDMINE_DIR}"/tmp/{cache,imports,sessions,sockets} - - fowners -R redmine:redmine \ - "${REDMINE_DIR}/config.ru" \ - "${REDMINE_DIR}/config" \ - "${REDMINE_DIR}/files" \ - "${REDMINE_DIR}/public/plugin_assets" \ - "${REDMINE_DIR}/tmp" \ - /var/log/${PN} - - fowners redmine:redmine "${REDMINE_DIR}" - - # protect sensitive data, see bug #406605 - fperms -R go-rwx \ - "${REDMINE_DIR}/config" \ - "${REDMINE_DIR}/files" \ - "${REDMINE_DIR}/tmp" \ - /var/log/${PN} - - if use passenger; then - has_apache - insinto "${APACHE_VHOSTS_CONFDIR}" - doins "${FILESDIR}/10_redmine_vhost.conf" - fi - - # logrotate - insinto /etc/logrotate.d - newins "${FILESDIR}"/redmine.logrotate redmine - - newconfd "${FILESDIR}/${PN}.confd" ${PN} - newinitd "${FILESDIR}/${PN}-3.initd" ${PN} - doenvd "${T}/50${PN}" -} - -pkg_postinst() { - if [[ -e "${EROOT}${REDMINE_DIR}/config/initializers/session_store.rb" \ - || -e "${EROOT}${REDMINE_DIR}/config/initializers/secret_token.rb" ]] - then - elog "Execute the following command to upgrade environment:" - elog - elog "# emerge --config \"=${CATEGORY}/${PF}\"" - elog - elog "For upgrade instructions take a look at:" - elog "http://www.redmine.org/wiki/redmine/RedmineUpgrade" - else - elog "Execute the following command to initialize environment:" - elog - elog "# cd ${EROOT}${REDMINE_DIR}" - elog "# cp config/database.yml.example config/database.yml" - elog "# \${EDITOR} config/database.yml" - elog "# chown redmine:redmine config/database.yml" - elog "# emerge --config \"=${CATEGORY}/${PF}\"" - elog - elog "Installation notes are at official site" - elog "http://www.redmine.org/wiki/redmine/RedmineInstall" - fi - - elog - elog "OpenID support was removed in Redmine 5.0. If you are using OpenID" - elog "authentication, you should switch back to Redmine 4.2 or install and" - elog "enable an OpenID plugin. See https://redmine.org/issues/35755." - elog -} - -pkg_config() { - # Remove old lock file - rm -f "${EROOT}${REDMINE_DIR}/Gemfile.lock" - - if [[ ! -e "${EROOT}${REDMINE_DIR}/config/database.yml" ]]; then - eerror "Copy ${EROOT}${REDMINE_DIR}/config/database.yml.example to" - eerror "${EROOT}${REDMINE_DIR}/config/database.yml then edit this" - eerror "file in order to configure your database settings for" - eerror "\"production\" environment." - die - fi - - local RAILS_ENV=${RAILS_ENV:-production} - if [[ ! -L /usr/bin/ruby ]]; then - eerror "/usr/bin/ruby is not a valid symlink to any ruby implementation." - eerror "Please update it via `eselect ruby`" - die - fi - if [[ $RUBY_TARGETS != *$( eselect ruby show | awk 'NR==2' | tr -d ' ' )* ]] - then - eerror "/usr/bin/ruby is currently not included in redmine's ruby targets:" - eerror "${RUBY_TARGETS}." - eerror "Please update it via `eselect ruby`" - die - fi - local RUBY=${RUBY:-ruby} - - cd "${EROOT}${REDMINE_DIR}" || die - if [[ -e "${EROOT}${REDMINE_DIR}/config/initializers/session_store.rb" ]] - then - einfo - einfo "Generating secret token." - einfo - rm config/initializers/session_store.rb || die - RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake generate_secret_token || die - fi - if [[ -e "${EROOT}${REDMINE_DIR}/config/initializers/secret_token.rb" ]] - then - einfo - einfo "Upgrading database." - einfo - - einfo "Generating secret token." - # Migration from Redmine 2.x - rm config/initializers/secret_token.rb || die - RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake generate_secret_token || die - - einfo "Migrating database." - RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake db:migrate || die - einfo "Upgrading the plugin migrations." - RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake redmine:plugins:migrate || die - einfo "Clear the cache." - ${RUBY} -S rake tmp:cache:clear || die - else - einfo - einfo "Initializing database." - einfo - - einfo "Generating a session store secret." - ${RUBY} -S rake generate_secret_token || die - einfo "Creating the database structure." - RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake db:migrate || die - einfo "Populating database with default configuration data." - RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake redmine:load_default_data || die - chown redmine:redmine -R "${EROOT}/var/log/redmine/" || die - einfo - einfo "If you use sqlite3, please do not forget to change the ownership" - einfo "of the sqlite files." - einfo - einfo "# cd \"${EROOT}${REDMINE_DIR}\"" - einfo "# chown redmine:redmine db/ db/*.sqlite3" - einfo - fi -} diff --git a/www-apps/redmine/redmine-5.0.4.ebuild b/www-apps/redmine/redmine-5.0.4.ebuild new file mode 100644 index 000000000000..d979e79f2554 --- /dev/null +++ b/www-apps/redmine/redmine-5.0.4.ebuild @@ -0,0 +1,254 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +USE_RUBY="ruby27" +inherit depend.apache ruby-ng + +DESCRIPTION="Flexible project management web application using the Ruby on Rails framework" +HOMEPAGE="https://www.redmine.org/" +SRC_URI="https://www.redmine.org/releases/${P}.tar.gz" + +KEYWORDS="~amd64" +LICENSE="GPL-2" +SLOT="0" +IUSE="fastcgi imagemagick ldap markdown +minimagick mysql passenger pdf postgres sqlite" + +ruby_add_bdepend " + fastcgi? ( dev-ruby/fcgi ) + ldap? ( >=dev-ruby/ruby-net-ldap-0.17.0 ) + minimagick? ( >=dev-ruby/mini_magick-4.11.0 ) + markdown? ( >=dev-ruby/redcarpet-3.5.1 ) + mysql? ( >=dev-ruby/mysql2-0.5.0:0.5 ) + passenger? ( www-apache/passenger ) + postgres? ( >=dev-ruby/pg-1.2.2:1 ) + sqlite? ( >=dev-ruby/sqlite3-1.4.0 ) + dev-ruby/actionpack-xml_parser:2 + dev-ruby/addressable + >=dev-ruby/commonmarker-0.23.4 + dev-ruby/csv:3 + >=dev-ruby/deckar01-task_list-2.3.2 + >=dev-ruby/html-pipeline-2.13.2 + >=dev-ruby/i18n-1.10.0:1 + >=dev-ruby/mail-2.7.1 + dev-ruby/marcel + >=dev-ruby/mini_mime-1.1.0 + >=dev-ruby/net-imap-0.2.2 + >=dev-ruby/net-pop-0.1.1 + >=dev-ruby/net-smtp-0.3.0 + >=dev-ruby/nokogiri-1.13.0 + >=dev-ruby/rails-6.1.6:6.1 + >=dev-ruby/rbpdf-1.20.0 + >=dev-ruby/request_store-1.5.0:0 + dev-ruby/rexml + >=dev-ruby/roadie-rails-3.0.0:3 + >=dev-ruby/rotp-5.0.0 + >=dev-ruby/rouge-3.28.0 + dev-ruby/rqrcode + >=dev-ruby/rubyzip-2.3.0:2 + >=dev-ruby/sanitize-6.0:6 +" + +RDEPEND=" + acct-group/redmine + acct-user/redmine + imagemagick? ( media-gfx/imagemagick ) + pdf? ( + app-text/ghostscript-gpl + media-gfx/imagemagick + ) +" + +REDMINE_DIR="/var/lib/${PN}" + +all_ruby_prepare() { + rm -fr log files/delete.me .github || die + + # bug #406605 + rm .{git,hg}ignore || die + + # newenvd not working here + cat > "${T}/50${PN}" <<-EOF || die + CONFIG_PROTECT="${EROOT}/${REDMINE_DIR}/config" + CONFIG_PROTECT_MASK="${EROOT}/${REDMINE_DIR}/config/locales ${EROOT}/${REDMINE_DIR}/config/settings.yml" + EOF + + # Fixing versions in Gemfile + sed -i -e "s/~>/>=/g" Gemfile || die + + # bug #724464 + sed -i -e "s/gem 'rails',.*/gem 'rails', '~>6.1.6'/" Gemfile || die + + # Commonmark + sed -i -e "s/'0.23.4'/'>=0.23.4'/" -e "s/'2.3.2'/'>=2.3.2'/" Gemfile + + sed -i -e "/group :development do/,/end$/d" Gemfile || die + sed -i -e "/group :test do/,/end$/d" Gemfile || die + + if ! use imagemagick ; then + sed -i -e "/group :minimagick do/,/end$/d" Gemfile || die + fi + if ! use ldap ; then + # remove ldap stuff module if disabled to avoid #413779 + use ldap || rm app/models/auth_source_ldap.rb || die + sed -i -e "/group :ldap do/,/end$/d" Gemfile || die + fi + if ! use markdown ; then + sed -i -e "/group :markdown do/,/end$/d" Gemfile || die + fi + # Additional dependency for Gemfile (#657156) + if use fastcgi; then + echo "gem 'fcgi'" > Gemfile.local + fi +} + +all_ruby_install() { + dodoc doc/* README.rdoc + rm -r doc test appveyor.yml CONTRIBUTING.md README.rdoc || die + + keepdir /var/log/${PN} + + insinto "${REDMINE_DIR}" + doins -r . + insinto "${REDMINE_DIR}/config" + doins "${FILESDIR}/additional_environment.rb" + keepdir "${REDMINE_DIR}"/{app/views/previews,files,public/plugin_assets,vendor} + keepdir "${REDMINE_DIR}"/tmp/{cache,imports,sessions,sockets} + + fowners -R redmine:redmine \ + "${REDMINE_DIR}/config.ru" \ + "${REDMINE_DIR}/config" \ + "${REDMINE_DIR}/files" \ + "${REDMINE_DIR}/public/plugin_assets" \ + "${REDMINE_DIR}/tmp" \ + /var/log/${PN} + + fowners redmine:redmine "${REDMINE_DIR}" + + # protect sensitive data, see bug #406605 + fperms -R go-rwx \ + "${REDMINE_DIR}/config" \ + "${REDMINE_DIR}/files" \ + "${REDMINE_DIR}/tmp" \ + /var/log/${PN} + + if use passenger; then + has_apache + insinto "${APACHE_VHOSTS_CONFDIR}" + doins "${FILESDIR}/10_redmine_vhost.conf" + fi + + # logrotate + insinto /etc/logrotate.d + newins "${FILESDIR}"/redmine.logrotate redmine + + newconfd "${FILESDIR}/${PN}.confd" ${PN} + newinitd "${FILESDIR}/${PN}-3.initd" ${PN} + doenvd "${T}/50${PN}" +} + +pkg_postinst() { + if [[ -e "${EROOT}${REDMINE_DIR}/config/initializers/session_store.rb" \ + || -e "${EROOT}${REDMINE_DIR}/config/initializers/secret_token.rb" ]] + then + elog "Execute the following command to upgrade environment:" + elog + elog "# emerge --config \"=${CATEGORY}/${PF}\"" + elog + elog "For upgrade instructions take a look at:" + elog "http://www.redmine.org/wiki/redmine/RedmineUpgrade" + else + elog "Execute the following command to initialize environment:" + elog + elog "# cd ${EROOT}${REDMINE_DIR}" + elog "# cp config/database.yml.example config/database.yml" + elog "# \${EDITOR} config/database.yml" + elog "# chown redmine:redmine config/database.yml" + elog "# emerge --config \"=${CATEGORY}/${PF}\"" + elog + elog "Installation notes are at official site" + elog "http://www.redmine.org/wiki/redmine/RedmineInstall" + fi + + elog + elog "OpenID support was removed in Redmine 5.0. If you are using OpenID" + elog "authentication, you should switch back to Redmine 4.2 or install and" + elog "enable an OpenID plugin. See https://redmine.org/issues/35755." + elog +} + +pkg_config() { + # Remove old lock file + rm -f "${EROOT}${REDMINE_DIR}/Gemfile.lock" + + if [[ ! -e "${EROOT}${REDMINE_DIR}/config/database.yml" ]]; then + eerror "Copy ${EROOT}${REDMINE_DIR}/config/database.yml.example to" + eerror "${EROOT}${REDMINE_DIR}/config/database.yml then edit this" + eerror "file in order to configure your database settings for" + eerror "\"production\" environment." + die + fi + + local RAILS_ENV=${RAILS_ENV:-production} + if [[ ! -L /usr/bin/ruby ]]; then + eerror "/usr/bin/ruby is not a valid symlink to any ruby implementation." + eerror "Please update it via `eselect ruby`" + die + fi + if [[ $RUBY_TARGETS != *$( eselect ruby show | awk 'NR==2' | tr -d ' ' )* ]] + then + eerror "/usr/bin/ruby is currently not included in redmine's ruby targets:" + eerror "${RUBY_TARGETS}." + eerror "Please update it via `eselect ruby`" + die + fi + local RUBY=${RUBY:-ruby} + + cd "${EROOT}${REDMINE_DIR}" || die + if [[ -e "${EROOT}${REDMINE_DIR}/config/initializers/session_store.rb" ]] + then + einfo + einfo "Generating secret token." + einfo + rm config/initializers/session_store.rb || die + RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake generate_secret_token || die + fi + if [[ -e "${EROOT}${REDMINE_DIR}/config/initializers/secret_token.rb" ]] + then + einfo + einfo "Upgrading database." + einfo + + einfo "Generating secret token." + # Migration from Redmine 2.x + rm config/initializers/secret_token.rb || die + RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake generate_secret_token || die + + einfo "Migrating database." + RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake db:migrate || die + einfo "Upgrading the plugin migrations." + RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake redmine:plugins:migrate || die + einfo "Clear the cache." + ${RUBY} -S rake tmp:cache:clear || die + else + einfo + einfo "Initializing database." + einfo + + einfo "Generating a session store secret." + ${RUBY} -S rake generate_secret_token || die + einfo "Creating the database structure." + RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake db:migrate || die + einfo "Populating database with default configuration data." + RAILS_ENV="${RAILS_ENV}" ${RUBY} -S rake redmine:load_default_data || die + chown redmine:redmine -R "${EROOT}/var/log/redmine/" || die + einfo + einfo "If you use sqlite3, please do not forget to change the ownership" + einfo "of the sqlite files." + einfo + einfo "# cd \"${EROOT}${REDMINE_DIR}\"" + einfo "# chown redmine:redmine db/ db/*.sqlite3" + einfo + fi +} -- cgit v1.2.3