diff options
author | V3n3RiX <venerix@koprulu.sector> | 2022-03-20 00:40:44 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2022-03-20 00:40:44 +0000 |
commit | 4cbcc855382a06088e2f016f62cafdbcb7e40665 (patch) | |
tree | 356496503d52354aa6d9f2d36126302fed5f3a73 /www-apps/tt-rss | |
parent | fcc5224904648a8e6eb528d7603154160a20022f (diff) |
gentoo resync : 20.03.2022
Diffstat (limited to 'www-apps/tt-rss')
-rw-r--r-- | www-apps/tt-rss/Manifest | 13 | ||||
-rw-r--r-- | www-apps/tt-rss/files/permissions-r1 | 24 | ||||
-rw-r--r-- | www-apps/tt-rss/files/postinstall-en-with-daemon-r1.txt | 3 | ||||
-rw-r--r-- | www-apps/tt-rss/files/postinstall-en.txt | 3 | ||||
-rw-r--r-- | www-apps/tt-rss/files/tt-rss-no-chmod.patch | 26 | ||||
-rw-r--r-- | www-apps/tt-rss/files/ttrssd.initd-r4 | 119 | ||||
-rw-r--r-- | www-apps/tt-rss/tt-rss-20200922.ebuild | 5 | ||||
-rw-r--r-- | www-apps/tt-rss/tt-rss-20220218.ebuild | 90 | ||||
-rw-r--r-- | www-apps/tt-rss/tt-rss-99999999.ebuild | 20 |
9 files changed, 279 insertions, 24 deletions
diff --git a/www-apps/tt-rss/Manifest b/www-apps/tt-rss/Manifest index 2293090ec51c..8b08ebfdafcb 100644 --- a/www-apps/tt-rss/Manifest +++ b/www-apps/tt-rss/Manifest @@ -1,10 +1,15 @@ AUX permissions 1188 BLAKE2B 9c9813f987c6e2f45f5118f8ba5093e7e68bf02f47e8dfc76eca853b2eb84b535f55379e916e90091961ac3362564d338f741637a2bf80583e594b6881fb91c7 SHA512 c7c383438911d79740f0fd6ff48d934f76fb5074c0c20a6e9da029c546c525f8405cebf987690dedce2e8f53832edbb6a111389bc25183d8c9166866638612d7 -AUX postinstall-en-with-daemon-r1.txt 539 BLAKE2B b81a0b1021b3c9a44bae9a172befc5c16a852c0fa2c6c20dc0317605ebd92fdcc9baae7ef3cd3dbade6a3722c52e1514122feeb26627a6503ffb2add4516a2e1 SHA512 2a78184ce2dd1a3feaf8ae8761378ad388cdfd7bb81f407a1c7de676bf46749adc6e374df03300a558ad0adf3ccbf886b6eda9aab49068ce63743ff124a0e386 -AUX postinstall-en.txt 55 BLAKE2B 841988e40b1e0fb6d6a0ef331d7c87448ce8722047527245ef6f3b6bf66d45a77fb2b034a257ce6f3a0d1dc076207c21a5bd9e3c489c39a3ec2a9b60530a9a06 SHA512 aac36537f3e03407df5f6baa14ee06ff148b63b7d2b2a323d26b7efd2ce91d1d1859a95fc1210559de4baabfacee27c7da4e6e72cbfadc05a1987816fc21b912 +AUX permissions-r1 1189 BLAKE2B 5411939128bac5718d47b91b1f189805e675ecc7142ef47750863dc8c4f2654c48cb7fbbb65457ee0074de1e293faffb71d97672cb04ef5113bfad31c0309558 SHA512 7ffade42d37d6c400c3df10f47165a6f83602182dde82da420ad61244f8db3a22675120d52877e892a959e911307bee759caa843aed25496a244e883fabaa8e3 +AUX postinstall-en-with-daemon-r1.txt 586 BLAKE2B 8a8c24cb93373af40ca662bc5453bbf3f2628ba0e39f0053405010e9c91e032167a7da9feb335782a679af1efee004bd134694fb655a5992cc3b1f8d3712b8db SHA512 e57ae761499454ce26c5bf58b7faa1cdfa05a7409bc4fc2b2ade16097a8131e279ffb09be2d5b39e80a17fd1c9533e795c6908548097f318106f1c7cac00e65d +AUX postinstall-en.txt 102 BLAKE2B e4edc2c0a482cb8ba822b902e553680626081336abe42421380404c179324c2243eb07c4934ff70ce07b0c9c4777af14c803e1adf08768ea76c1660612e111d3 SHA512 2b1a6e9faf17b36e7011b488cde989d890fa23e87d5f88aa91a1d9597bb55400db74e413742c9d15acbc745a25f23b1533ad6fdb829d04dc21ff5898c7d98ccf +AUX tt-rss-no-chmod.patch 934 BLAKE2B ef6c7a85ded012b3d9b2369b19ff657dc8b3954b2c94d30b47c42ca83d660b98f753ece525156beb544ed1d0660162e06a07c1e2bef963543bac7eee15cc676c SHA512 659c00f349aecc994d7b95c721e85f5ffca12b56ea81fefed5dc675d33a2a8d6fb3968891065b2f73b52d21e736ea8e95163062103ecf15cd448a0797cf37807 AUX ttrssd.confd-r2 1581 BLAKE2B ce18840ddb58704abb9311d02e27cfc179bba43668b90cb358082466d55bb54acdb5806f73cb24dbc758981c477eeb6a50c472043323abaf50572f7d2eeee4b1 SHA512 15957854718a4decf7ac9784e955fc090755343008facd3d65d7e72f3e00df170215514a5435378180110c6f4584df9e5580eb45775816eb3f5c58d09e03d249 AUX ttrssd.initd-r3 2338 BLAKE2B 6ddcb12c548ef6b34196da7539b5ec2f061db46f041912647ea2741208004d25cc7d51d88375aa06b5866a7ef44995088cc9002d625666bdaaf687733b699a8f SHA512 eb6a9824562f49d42e94522c074719720686cd2d3fb3d0ac13ce5d83fdeae6b17a5047e79e761aea084eb8ff6e6aa733d49131324f8a00406935f8e0b962764b +AUX ttrssd.initd-r4 2866 BLAKE2B e8b8e6369f7c4c290e76f31e69bf24d2ee088c0ff526d41fefadcdf23c21377f483cbccd80101592c5141553bf7b1a8ae20cf730f6df4b9044a5fdd613e8e652 SHA512 392de1fedd03cd54f6cff722a391eb8b2eaa913d216304716a2325b91ed523da29d3cc82e16462aa6ed7eb0ce9ae02fd66c7070d0f6a62219602e4c3ce3a87af AUX ttrssd.logrotated-r1 135 BLAKE2B dc653add518cd3ed5296097d51ca2346e102edcbad5ec82397713ded489e8ed8e49af928331e58b80152f13bddc37d673c67440df388651c875cfbd37ff62080 SHA512 c292020a55688c6edb4306d9d8144ad7d30be94fda08467b8bbe560c7bf02b0877d9591123a226dd030e9a9c01b79df4a3696e54fd1ece0dbdef1c285cdae97a DIST tt-rss-20200922.tar.gz 3406007 BLAKE2B 7058253fbbba1c121d11eace8a3ef024b7ef83b05fd8b10b0ba0d017fa75d16b970e2c95c13091f760b21bcf092f609d81a5649de03672b0394113412f90beb0 SHA512 90387d07af76bc90bfb2e740dcfa0b2e13ed9af679a6c9258edd053511277bc36fca8edd4b3862c3f1957fa65a827b161abf3ed7fa603d4b84514fd456947a47 -EBUILD tt-rss-20200922.ebuild 2212 BLAKE2B 3f3a9cfcbf2bbcb4050482802eab14f931381b9f77c03428f940003d40b7aa626cd7239685ccbf957e10eab72297f7474806474d78b7e9c59cf01af88c1cc2ed SHA512 f4a4d97a67bb19a3ecadd11f7c74ecba323fa615fc727dc6d8ae9a521208879d82b67d228d5ff29aad717467286946206f16fe81e4c00868ef8ef2f80879923f -EBUILD tt-rss-99999999.ebuild 2297 BLAKE2B 4ab696d8e0d23b3a3b719ce86dac61a38ffb352878eac1ff69af053dcbd16dc06ec9226c223df6f5d050e446636d45fa3d51adcce91de1af7c43647ad6acbb02 SHA512 20ac7001282913406bb80ec4586d570ab108aa78cfa73d15f15c2f92643112300925d14428ff756307ca2e4467c046116ec71c74de7d1180b19dcf4cdad5990f +DIST tt-rss-20220218.tar.gz 9916433 BLAKE2B 318969b6e5156842079bf68c4ea614e5e60e21d8caa46b1a78f2cef051904da30e5091838f6e10f6f610d8ee39c7922137aeb60b7cd5004cabc1d2cdf65edfa8 SHA512 38a81dd737462724bc52ca3915350c175abe548cd566a4f9a5e1d5efda9287d0666e9348e5b13dd20549360501de5b0bfb659292fb650f7a60fdab8b63cf8202 +EBUILD tt-rss-20200922.ebuild 2088 BLAKE2B 57da71460733b748deaa542020056f5f447210f1e5756d32af016675480da723aad94daccaca142ee6efaf4bdf22b7f7510fe582bae865b82a3722ec9ae3d46d SHA512 20fa8fd78de92142e5370441378d2e22634d82028c372b63b5d91b45b615b643fa3ab5a82e13df17591fa227d48aa967580b18508a931caf6cde52d92bbc22e4 +EBUILD tt-rss-20220218.ebuild 1927 BLAKE2B f533ff2137699ee6696856cbaadbb0773eea148f45c13e8c7736d2212078171c8629f17c53e0701ddc6b27d69328a7e634854a9e6b8e5c9097be6bd0bf9b2481 SHA512 9edac5cb8ffc212c74f35aa0f16289dafd4c88ba3de7bcb75113c5f8e5e4fae1603de3c087cf3cba3bc8599dd7797ae3838403f76ce851e453b05a47fdb1a803 +EBUILD tt-rss-99999999.ebuild 2092 BLAKE2B e784b3bd22094b2584e2a799b220a80a97680cdb3b3f3f80a2fef49b7ea91ec0a9df3fd172c411abe5f9999b3df410fcd16f72d091c63ab229344fb905d77ebd SHA512 b1bb0ace278597ec63cb05f7a2c649d2d85115bc78a910930d8a88185ddd288a08a50e7f83dea153866409c54ec89ed81523011b75fceda4c7e7f9b4ec9fe4df MISC metadata.xml 374 BLAKE2B 659dd027265141ba90d4bf8abe45e12ed5187c866605f939f26fd4b55911870c8cca907c96f4bae2f84cb43c1691a6eb79eabe671e4b3de0c34d9befb6ed4c46 SHA512 ab38e1e98bb90c292576830d65ad6871dc6feab2a93d7cc9a580f1333e6c7859cb215ef44952b3e9018b431ca0c4c7f61fd0ee6d2daa86bde971ab2e113ba0bc diff --git a/www-apps/tt-rss/files/permissions-r1 b/www-apps/tt-rss/files/permissions-r1 new file mode 100644 index 000000000000..e50b4406646d --- /dev/null +++ b/www-apps/tt-rss/files/permissions-r1 @@ -0,0 +1,24 @@ +#!/bin/bash -e + +cd "${MY_INSTALLDIR}" + +if [[ $1 = install ]]; then + # We need to lock down cache/ for the operations below to be + # safe. The permissions match the webapp-config defaults but these + # can be changed and existing installations may also differ. + chown root:root cache/ + chmod 00755 cache/ + + chgrp --no-dereference ttrssd feed-icons/ lock/ cache/*/ + chmod g+ws feed-icons/ lock/ cache/*/ + + # Files within lock/ are exclusively written by the update daemon. + # feed-icons/ and cache/ holds files that are modified in place by both + # processes and therefore ACLs are required to ensure that the files + # themselves are created as group writable. + if ! setfacl --modify d:g::rwX feed-icons/ cache/*/; then + echo "WARNING: ACLs are not available on this filesystem. Either enable them or set TTRSSD_USER to your PHP user in /etc/conf.d/ttrssd to avoid permission issues." + elif [[ -n $(find feed-icons/ cache/ -type f ! -name ".*" ! -name index.html ! \( -group ttrssd -perm -020 \) -print -quit) ]]; then + echo "WARNING: Files that are not writable by the ttrssd group found within the cache or feed-icons directories. Either delete them or correct their permissions." + fi +fi diff --git a/www-apps/tt-rss/files/postinstall-en-with-daemon-r1.txt b/www-apps/tt-rss/files/postinstall-en-with-daemon-r1.txt index 8c72406d76d2..92d1fa315c72 100644 --- a/www-apps/tt-rss/files/postinstall-en-with-daemon-r1.txt +++ b/www-apps/tt-rss/files/postinstall-en-with-daemon-r1.txt @@ -1,4 +1,5 @@ -Please read https://tt-rss.org/wiki/InstallationNotes. +Please read https://tt-rss.org/wiki/GlobalConfig. Note that the configuration +syntax changed in 2021. Once you have configured TT-RSS, tweak /etc/conf.d/ttrssd to your needs if you have not already done so. If ACLs are unavailable on the diff --git a/www-apps/tt-rss/files/postinstall-en.txt b/www-apps/tt-rss/files/postinstall-en.txt index 67a16111f3d5..f28a19d991bf 100644 --- a/www-apps/tt-rss/files/postinstall-en.txt +++ b/www-apps/tt-rss/files/postinstall-en.txt @@ -1 +1,2 @@ -Please read https://tt-rss.org/wiki/InstallationNotes. +Please read https://tt-rss.org/wiki/GlobalConfig. Note that the configuration +syntax changed in 2021. diff --git a/www-apps/tt-rss/files/tt-rss-no-chmod.patch b/www-apps/tt-rss/files/tt-rss-no-chmod.patch new file mode 100644 index 000000000000..e51e66eaed22 --- /dev/null +++ b/www-apps/tt-rss/files/tt-rss-no-chmod.patch @@ -0,0 +1,26 @@ +These files may be written and then updated by the web interface user or the +update daemon user, so they need to be group writeable. We enforce this with +ACLs rather than chmod though. + +diff --color -Naur a/classes/pref/feeds.php b/classes/pref/feeds.php +--- a/classes/pref/feeds.php 2022-02-18 13:44:03.000000000 +0000 ++++ b/classes/pref/feeds.php 2022-02-19 15:37:55.000723992 +0000 +@@ -490,7 +490,6 @@ + + if (file_exists($new_filename)) unlink($new_filename); + if (rename($tmp_file, $new_filename)) { +- chmod($new_filename, 0644); + + $feed->set([ + 'favicon_avg_color' => null, +diff --color -Naur a/classes/rssutils.php b/classes/rssutils.php +--- a/classes/rssutils.php 2022-02-18 13:44:03.000000000 +0000 ++++ b/classes/rssutils.php 2022-02-19 15:37:40.393312123 +0000 +@@ -1728,7 +1728,6 @@ + + fwrite($fp, $contents); + fclose($fp); +- chmod($icon_file, 0644); + clearstatcache(); + + return $icon_file; diff --git a/www-apps/tt-rss/files/ttrssd.initd-r4 b/www-apps/tt-rss/files/ttrssd.initd-r4 new file mode 100644 index 000000000000..9dbfa157ce43 --- /dev/null +++ b/www-apps/tt-rss/files/ttrssd.initd-r4 @@ -0,0 +1,119 @@ +#!/sbin/openrc-run +# Copyright 1999-2022 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +command="/usr/bin/php" + +depend() { + need net + after postgresql mysql +} + +PID_DIR="/run/ttrssd" +LOG_DIR=${LOG_DIR:-"/var/log/ttrssd"} +TTRSSD_USER=${TTRSSD_USER:-"ttrssd"} + +list_instance_dirs() { + if [ -z "${INSTANCE_DIRS}" ]; then + cut -d" " -f4 /var/db/webapps/tt-rss/*/installs 2>/dev/null + else + printf "%s\n" ${INSTANCE_DIRS} + fi +} + +instance_dir_to_name() { + local name + + name=${1#/} + printf %s "${name}" | awk '{ + gsub("/", "--"); + print $0; + }' +} + +start_pre() { + mkdir -p "${PID_DIR}" "${LOG_DIR}" || return 1 + chown "${TTRSSD_USER}":ttrssd "${LOG_DIR}" || return 1 +} + +start() { + local instance_dir instance_name ret=1 + + IFS=" +" + for instance_dir in $(list_instance_dirs); do + if [ -d "${instance_dir}" ]; then + if [ ! -f "${instance_dir}"/update_daemon2.php ]; then + ewarn "TT-RSS instance in ${instance_dir} has no update_daemon2.php script" + elif [ ! -f "${instance_dir}"/config.php ]; then + eerror "TT-RSS instance in ${instance_dir} is not configured" + else + instance_name=$(instance_dir_to_name "${instance_dir}") + ebegin "Starting TT-RSS update daemon in ${instance_dir}" + start-stop-daemon --start --user "${TTRSSD_USER}":ttrssd \ + --background --wait 2000 \ + --stdout "${LOG_DIR}/${instance_name}.log" \ + --stderr "${LOG_DIR}/${instance_name}.log" \ + --make-pidfile --pidfile "${PID_DIR}/${instance_name}.pid" \ + --exec /usr/bin/php -- -f "${instance_dir}"/update_daemon2.php \ + -- ${TTRSSD_OPTS} + eend $? && ret=0 + fi + else + eerror "TT-RSS instance in ${instance_dir} is missing" + fi + done + unset IFS + + # Succeed if at least one started. + return ${ret} +} + +stop() { + local instance_dir instance_name + + IFS=" +" + for instance_dir in $(list_instance_dirs); do + instance_name=$(instance_dir_to_name "${instance_dir}") + + [ -f "${PID_DIR}/${instance_name}.pid" ] || + [ -f "${instance_dir}"/update_daemon2.php ] || + continue + + ebegin "Stopping TT-RSS update daemon in ${instance_dir}" + start-stop-daemon --stop --retry 5 --pidfile "${PID_DIR}/${instance_name}.pid" \ + --exec /usr/bin/php -- -f "${instance_dir}"/update_daemon2.php \ + -- ${TTRSSD_OPTS} + eend $? + + rm -f "${instance_dir}"/lock/*.lock + done + unset IFS + + # Always succeed. + return 0 +} + +status() { + local instance_dir instance_name pid + + IFS=" +" + for instance_dir in $(list_instance_dirs); do + instance_name=$(instance_dir_to_name "${instance_dir}") + + [ -f "${PID_DIR}/${instance_name}.pid" ] || + [ -f "${instance_dir}"/update_daemon2.php ] || + continue + + if start-stop-daemon --signal 0 --pidfile "${PID_DIR}/${instance_name}.pid"; then + # At least one instance is running + return 0 + fi + done + unset IFS + + # No instances are running + return 3 +} diff --git a/www-apps/tt-rss/tt-rss-20200922.ebuild b/www-apps/tt-rss/tt-rss-20200922.ebuild index 86ea09cce5e4..e2117ac64f57 100644 --- a/www-apps/tt-rss/tt-rss-20200922.ebuild +++ b/www-apps/tt-rss/tt-rss-20200922.ebuild @@ -93,8 +93,3 @@ src_install() { webapp_src_install } - -pkg_postinst() { - elog "You need to merge config.php-dist into config.php manually when upgrading." - webapp_pkg_postinst -} diff --git a/www-apps/tt-rss/tt-rss-20220218.ebuild b/www-apps/tt-rss/tt-rss-20220218.ebuild new file mode 100644 index 000000000000..2081b2a81759 --- /dev/null +++ b/www-apps/tt-rss/tt-rss-20220218.ebuild @@ -0,0 +1,90 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit webapp + +DESCRIPTION="Tiny Tiny RSS - A web-based news feed (RSS/Atom) aggregator using AJAX" +HOMEPAGE="https://tt-rss.org/" +SRC_URI="https://dev.gentoo.org/~chewi/distfiles/${P}.tar.gz" # Upstream git frontend blocks wget? +LICENSE="GPL-3" +KEYWORDS="~amd64 ~arm ~mips ~x86" +IUSE="+acl daemon gd +mysqli postgres" +REQUIRED_USE="|| ( mysqli postgres )" + +PHP_SLOTS="8.0 7.4 7.3" +PHP_USE="gd?,mysqli?,postgres?,curl,fileinfo,intl,json(+),pdo,unicode,xml" + +php_rdepend() { + local slot + echo "|| (" + for slot in ${PHP_SLOTS}; do + echo "( + virtual/httpd-php:${slot} + dev-lang/php:${slot}[$1] + )" + done + echo ")" +} + +DEPEND=" + daemon? ( acl? ( sys-apps/acl ) ) +" + +RDEPEND=" + ${DEPEND} + daemon? ( + acct-user/ttrssd + acct-group/ttrssd + $(php_rdepend "${PHP_USE},cli,pcntl") + ) + !daemon? ( + $(php_rdepend "${PHP_USE}") + ) +" + +DEPEND=" + !vhosts? ( ${DEPEND} ) +" + +need_httpd_cgi # From webapp.eclass + +S="${WORKDIR}/${PN}" + +PATCHES=( + "${FILESDIR}"/${PN}-no-chmod.patch +) + +src_install() { + webapp_src_preinst + + insinto "${MY_HTDOCSDIR}" + doins -r * + + # When updating, grep the plugins directory for additional CACHE_DIR + # instances as they cannot be created later due to permissions. + dodir "${MY_HTDOCSDIR}"/cache/starred-images + + local dir + for dir in "${ED}${MY_HTDOCSDIR}"/{cache/*,feed-icons,lock}/; do + webapp_serverowned "${dir#${ED}}" + done + + if use daemon; then + webapp_hook_script "${FILESDIR}"/permissions-r1 + webapp_postinst_txt en "${FILESDIR}"/postinstall-en-with-daemon-r1.txt + + newinitd "${FILESDIR}"/ttrssd.initd-r4 ttrssd + newconfd "${FILESDIR}"/ttrssd.confd-r2 ttrssd + + insinto /etc/logrotate.d + newins "${FILESDIR}"/ttrssd.logrotated-r1 ttrssd + + elog "After upgrading, please restart ttrssd." + else + webapp_postinst_txt en "${FILESDIR}"/postinstall-en.txt + fi + + webapp_src_install +} diff --git a/www-apps/tt-rss/tt-rss-99999999.ebuild b/www-apps/tt-rss/tt-rss-99999999.ebuild index 25e4a31621d6..e91fad7a3c67 100644 --- a/www-apps/tt-rss/tt-rss-99999999.ebuild +++ b/www-apps/tt-rss/tt-rss-99999999.ebuild @@ -1,9 +1,9 @@ # Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -inherit git-r3 prefix webapp +inherit git-r3 webapp DESCRIPTION="Tiny Tiny RSS - A web-based news feed (RSS/Atom) aggregator using AJAX" HOMEPAGE="https://tt-rss.org/" @@ -50,13 +50,9 @@ DEPEND=" need_httpd_cgi # From webapp.eclass -src_configure() { - hprefixify config.php-dist - - sed -i -r \ - -e "/'DB_TYPE'/s:,.*:, '$(usex mysqli mysql pgsql)'); // mysql or pgsql:" \ - config.php-dist || die -} +PATCHES=( + "${FILESDIR}"/${PN}-no-chmod.patch +) src_install() { webapp_src_preinst @@ -74,10 +70,10 @@ src_install() { done if use daemon; then - webapp_hook_script "${FILESDIR}"/permissions + webapp_hook_script "${FILESDIR}"/permissions-r1 webapp_postinst_txt en "${FILESDIR}"/postinstall-en-with-daemon-r1.txt - newinitd "${FILESDIR}"/ttrssd.initd-r3 ttrssd + newinitd "${FILESDIR}"/ttrssd.initd-r4 ttrssd newconfd "${FILESDIR}"/ttrssd.confd-r2 ttrssd insinto /etc/logrotate.d @@ -92,8 +88,6 @@ src_install() { } pkg_postinst() { - elog "You need to merge config.php-dist into config.php manually when upgrading." - if use vhosts && [[ -n ${REPLACING_VERSIONS} ]]; then elog elog "The live ebuild does not automatically upgrade your installations so" |