www-apps/tt-rss: discontinued, as I'm no longer running it on Gentoo

This commit is contained in:
2024-02-26 14:28:21 -08:00
parent 832ebc89bf
commit 6d45d60eb6
10 changed files with 0 additions and 366 deletions

View File

@@ -1,16 +0,0 @@
BDEPEND=>=dev-vcs/git-1.8.2.1[curl]
DEFINED_PHASES=install postinst prerm setup unpack
DEPEND=!vhosts? ( daemon? ( acl? ( sys-apps/acl ) ) ) || ( virtual/httpd-cgi virtual/httpd-fastcgi ) app-admin/webapp-config
DESCRIPTION=Tiny Tiny RSS - A web-based news feed (RSS/Atom) aggregator using AJAX
EAPI=8
HOMEPAGE=https://tt-rss.org/
INHERIT=git-r3 webapp
IUSE=+acl daemon gd +mysqli postgres vhosts
KEYWORDS=~amd64 ~arm ~arm64 ~mips ~x86
LICENSE=GPL-3
PROPERTIES=live
RDEPEND=daemon? ( acl? ( sys-apps/acl ) ) daemon? ( acct-user/ttrssd acct-group/ttrssd || ( ( virtual/httpd-php:8.1 dev-lang/php:8.1[gd?,mysqli?,postgres?,curl,fileinfo,intl,json(+),pdo,unicode,xml,cli,pcntl] ) ( virtual/httpd-php:8.0 dev-lang/php:8.0[gd?,mysqli?,postgres?,curl,fileinfo,intl,json(+),pdo,unicode,xml,cli,pcntl] ) ( virtual/httpd-php:7.4 dev-lang/php:7.4[gd?,mysqli?,postgres?,curl,fileinfo,intl,json(+),pdo,unicode,xml,cli,pcntl] ) ) ) !daemon? ( || ( ( virtual/httpd-php:8.1 dev-lang/php:8.1[gd?,mysqli?,postgres?,curl,fileinfo,intl,json(+),pdo,unicode,xml] ) ( virtual/httpd-php:8.0 dev-lang/php:8.0[gd?,mysqli?,postgres?,curl,fileinfo,intl,json(+),pdo,unicode,xml] ) ( virtual/httpd-php:7.4 dev-lang/php:7.4[gd?,mysqli?,postgres?,curl,fileinfo,intl,json(+),pdo,unicode,xml] ) ) ) app-admin/webapp-config
REQUIRED_USE=|| ( mysqli postgres )
SLOT=20231125
_eclasses_=git-r3 86fa1f157b70b9d2ff340c4633b1cf4b webapp de2d3d345b44597c10d7104a7bcdf7b2
_md5_=00c95ef093e713384d6230618373fb57

View File

@@ -1,24 +0,0 @@
#!/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

View File

@@ -1,15 +0,0 @@
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
filesystem you have just installed to then you will need to set
TTRSSD_USER to your PHP user. When everything is ready, (re)start the
update daemon like so:
/etc/init.d/ttrssd restart
This will periodically update your feeds in the background. Add the
daemon to your default runlevel to start it on every boot:
rc-update add ttrssd default

View File

@@ -1,2 +0,0 @@
Please read https://tt-rss.org/wiki/GlobalConfig. Note that the configuration
syntax changed in 2021.

View File

@@ -1,26 +0,0 @@
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;

View File

@@ -1,47 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# Space-separated paths of TT-RSS instances that you want to start the
# update daemon for. If left empty, these will be automatically
# detected using data from /var/db/webapps/tt-rss. Instances without
# the update_daemon2.php script present will be skipped.
#
# Default:
# INSTANCE_DIRS=""
# Example:
# INSTANCE_DIRS="/some/webhost/htdocs/tt-rss /some/otherwebhost/htdocs/newsreader"
#
INSTANCE_DIRS=""
# Path to the log files. One log file will be created for each TT-RSS
# instance. Update the logrotate file after changing this.
#
# Default:
# LOG_DIR="/var/log/ttrssd"
#
LOG_DIR="/var/log/ttrssd"
# User to run the update daemon as. You should not run this as
# root. If ACLs are unavailable on the filesystem used by the TT-RSS
# instances then choosing the same user that serves the PHP web
# interface is recommended to avoid permission issues. You *must* add
# this user to the ttrssd group. If the PHP user is not the same as
# the web server user (e.g. apache or nginx) then this user must be
# added to the ttrssd group too.
#
# Default:
# TTRSSD_USER="ttrssd"
#
TTRSSD_USER="ttrssd"
# Additional options to pass to the update daemon. If you want to pass
# different options to different TT-RSS instances then create symlinks
# of the ttrssd init.d script (e.g. ttrssd.foo, ttrssd.bar) and
# configure INSTANCE_DIRS and TTRSSD_OPTS for each of these.
#
# Default:
# TTRSSD_OPTS=""
# Example:
# TTRSSD_OPTS="--tasks=1 --interval=300"
#
TTRSSD_OPTS=""

View File

@@ -1,119 +0,0 @@
#!/sbin/openrc-run
# Copyright 1999-2022 Gentoo Authors
# 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
}

View File

@@ -1,9 +0,0 @@
/var/log/ttrssd/*.log {
daily
delaycompress
missingok
notifempty
postrotate
/etc/init.d/ttrssd restart > /dev/null
endscript
}

View File

@@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>chewi@gentoo.org</email>
<name>James Le Cuirot</name>
</maintainer>
<stabilize-allarches/>
<use>
<flag name="daemon">Install additional init scripts for automated RSS updates</flag>
</use>
</pkgmetadata>

View File

@@ -1,96 +0,0 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit git-r3 webapp
DESCRIPTION="Tiny Tiny RSS - A web-based news feed (RSS/Atom) aggregator using AJAX"
HOMEPAGE="https://tt-rss.org/"
EGIT_REPO_URI="https://git.tt-rss.org/fox/${PN}.git"
EGIT_COMMIT=2c7e000120b23487ed4090241a206f528e6b11f5
LICENSE="GPL-3"
KEYWORDS="~amd64 ~arm ~arm64 ~mips ~x86"
SLOT="${PV}" # Single live slot.
IUSE="+acl daemon gd +mysqli postgres"
REQUIRED_USE="|| ( mysqli postgres )"
PHP_SLOTS="8.1 8.0 7.4"
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
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
}
pkg_postinst() {
if use vhosts && [[ -n ${REPLACING_VERSIONS} ]]; then
elog
elog "The live ebuild does not automatically upgrade your installations so"
elog "don't forget to do so manually."
fi
webapp_pkg_postinst
}