diff --git a/www/tt-rss/Makefile b/www/tt-rss/Makefile index f9e56493fbcc..d3e5cc102966 100644 --- a/www/tt-rss/Makefile +++ b/www/tt-rss/Makefile @@ -1,76 +1,76 @@ PORTNAME= tt-rss PORTVERSION= g20240421 -PORTREVISION= 1 +PORTREVISION= 2 PORTEPOCH= 2 CATEGORIES= www PKGNAMESUFFIX= ${PHP_PKGNAMESUFFIX} MAINTAINER= dereks@lifeofadishwasher.com COMMENT= Tiny Tiny RSS: web-based news feed (RSS/Atom) aggregator WWW= https://tt-rss.org/ LICENSE= GPLv2 RUN_DEPENDS= ${LOCALBASE}/bin/git:devel/git USES= gettext-tools php:cli,web,flavors shebangfix USE_GITLAB= yes GL_SITE= https://gitlab.tt-rss.org GL_TAGNAME= d832907125a7711397da8ade5cfb51082d802542 # phe json/openssl extension is required but it's statically linked in default php USE_PHP= ctype dom exif fileinfo filter iconv intl mbstring pcntl pdo \ phar posix session simplexml sockets tokenizer xml xmlwriter \ zip USE_RC_SUBR= ttrssd SHEBANG_FILES= update.php update_daemon2.php REINPLACE_ARGS= -i "" NO_ARCH= yes NO_BUILD= yes # Instead of depending on the extact database driver list php packages that tt-rss # depends on during install pkg-message as a post install setup. # mysql: php-mysqli php-pdo_mysql # pgsql: php-pgsql php-pdo_pgsql # # from Mk/Uses/php.mk create sub vars for mysqli/pdo_mysql pgsql/pdo_pgsql values SUB_FILES= config.php httpd-tt-rss.conf pkg-message ttrss_db_check.php SUB_LIST= MYSQL_DEPS="${mysqli_DEPENDS:T} ${pdo_mysql_DEPENDS:T}" \ PGSQL_DEPS="${pgsql_DEPENDS:T} ${pdo_pgsql_DEPENDS:T}" \ WWWOWN=${WWWOWN} PLIST_SUB= WWWGRP=${WWWGRP} \ WWWOWN=${WWWOWN} OPTIONS_DEFINE= CURL GD OPTIONS_DEFAULT= CURL GD CURL_DESC= Use SimplePie instead of Magpie GD_DESC= Use OTP QR code generation CURL_USE= PHP=curl GD_USE= PHP=gd do-install: ${MKDIR} \ ${STAGEDIR}${WWWDIR} \ ${STAGEDIR}${DATADIR} \ ${STAGEDIR}${EXAMPLESDIR} (cd ${WRKSRC} && ${COPYTREE_SHARE} "*" ${STAGEDIR}${WWWDIR} \ "! -name LICENSE ! -name .empty ! -name Jenkinsfile") ${RM} -r ${STAGEDIR}${WWWDIR}/debian ${INSTALL_DATA} ${WRKDIR}/httpd-tt-rss.conf ${STAGEDIR}${DATADIR} ${ECHO} "${OPSYS}:${PORTVERSION}:${GL_TAGNAME:C/^(.{11}).*$/\1/W}}" > \ "${STAGEDIR}${WWWDIR}/version_static.txt" ${RM} ${STAGEDIR}${WWWDIR}/config.php-dist ${INSTALL_DATA} ${WRKDIR}/config.php \ ${STAGEDIR}${WWWDIR}/config.php.sample ${INSTALL_DATA} ${WRKDIR}/ttrss_db_check.php \ ${STAGEDIR}${WWWDIR}/ttrss_db_check.php ${INSTALL_DATA} ${FILESDIR}/newsyslog.sample \ ${STAGEDIR}${EXAMPLESDIR} .include diff --git a/www/tt-rss/files/ttrssd.in b/www/tt-rss/files/ttrssd.in index 07b7a38e1c8e..a92d4464df53 100644 --- a/www/tt-rss/files/ttrssd.in +++ b/www/tt-rss/files/ttrssd.in @@ -1,105 +1,107 @@ #! /bin/sh # PROVIDE: ttrssd # REQUIRE: LOGIN mysql postgresql # KEYWORD: shutdown # Add the following lines to /etc/rc.conf to enable `ttrssd': # # ttrssd_enable="YES" # # ttrssd_local_db (bool): Set to "YES" by default. # Set it to "NO" if the database is on another # server. . /etc/rc.subr name="ttrssd" rcvar=ttrssd_enable +: ${ttrssd_svcj_options:="net_basic"} + # read settings, set default values load_rc_config "${name}" : ${ttrssd_enable="NO"} : ${ttrssd_local_db:="YES"} initdb_php="%%WWWDIR%%/update.php" dbcheck_php="%%WWWDIR%%/ttrss_db_check.php" required_files="%%WWWDIR%%/config.php" pidfile="/var/run/${name}.pid" ppidfile="/var/run/${name}_parent.pid" phpcli="%%LOCALBASE%%/bin/php" command_interpreter=$phpcli long_name="Tiny Tiny RSS updating feeds daemon." phpupd="%%WWWDIR%%/update_daemon2.php" ttrssd_log="/var/log/${name}.log" ttrssd_user="%%WWWOWN%%" start_precmd=${name}_prestart start_cmd=${name}_start stop_cmd=${name}_stop MYSQL_CHECK_CMD="%%LOCALBASE%%/bin/mysqladmin -u mysqld ping" MYSQL_CHECK_MSG="${name}: mysqladmin command failed; mysql not ready?" PGSQL_CHECK_CMD="%%LOCALBASE%%/bin/pg_isready" PGSQL_CHECK_MSG="${name}: postgresql status failed; postgresql not ready?" ttrssd_start() { if ! [ -x $phpcli ]; then echo "$phpcli not found" exit 1 fi if [ -f $pidfile ]; then echo "$name already running?" exit 2 fi echo "Starting $long_name" daemon -H -P "$ppidfile" -p "$pidfile" \ -u "$ttrssd_user" -o "$ttrssd_log" \ sh -c "${initdb_php} --update-schema=force-yes; $phpupd" } ttrssd_stop() { if ! [ -f $pidfile ]; then echo "$name not running?" exit 1 fi echo "Stopping $long_name" pkill -CHLD -F "$pidfile" pkill -F "$pidfile" pwait "$(cat $ppidfile)" } ttrssd_prestart() { if checkyesno ttrssd_local_db; then # Wait for the local database to be started database="$("$phpcli" -f "$dbcheck_php")" case "$database" in "mysql") CHECK_CMD="$MYSQL_CHECK_CMD" CHECK_MSG="$MYSQL_CHECK_MSG" ;; "pgsql") CHECK_CMD="$PGSQL_CHECK_CMD" CHECK_MSG="$PGSQL_CHECK_MSG" ;; *) err 1 "Unknown database configured: $database" ;; esac for n in $(seq 1 10); do if $CHECK_CMD > /dev/null 2>&1; then return fi sleep 1 done err 1 $CHECK_MSG fi } run_rc_command "$1"