svn commit: r560426 - in head/www/trac-devel: . files

Oleksii Samorukov samm at FreeBSD.org
Tue Jan 5 21:01:20 UTC 2021


Author: samm
Date: Tue Jan  5 21:01:18 2021
New Revision: 560426
URL: https://svnweb.freebsd.org/changeset/ports/560426

Log:
  www/trac-devel: re-add development version and update it to the latest release
  
  - Re-add trac-devel which was removed due to py27 dependency. Version 1.5.2 uses Py3.
  - Fix dependency list and add new options
  - Backport patch from SVN to fix --daemon mode

Added:
  head/www/trac-devel/
  head/www/trac-devel/Makefile   (contents, props changed)
  head/www/trac-devel/distinfo   (contents, props changed)
  head/www/trac-devel/files/
  head/www/trac-devel/files/patch-trac_util_daemon.py   (contents, props changed)
  head/www/trac-devel/files/tracd.in   (contents, props changed)
  head/www/trac-devel/pkg-descr   (contents, props changed)

Added: head/www/trac-devel/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/trac-devel/Makefile	Tue Jan  5 21:01:18 2021	(r560426)
@@ -0,0 +1,62 @@
+# $FreeBSD$
+
+PORTNAME=	trac
+DISTVERSION=	1.5.2
+CATEGORIES=	www devel python
+MASTER_SITES=	http://ftp.edgewall.com/pub/trac/ \
+		ftp://ftp.edgewall.com/pub/trac/
+PKGNAMESUFFIX=	-devel
+DISTNAME=	Trac-${DISTVERSION}
+
+MAINTAINER=	samm at FreeBSD.org
+COMMENT=	Enhanced wiki and issue tracking system for software projects
+
+LICENSE=	BSD3CLAUSE
+LICENSE_FILE=	${WRKSRC}/COPYING
+
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}Babel>=2.3.4:devel/py-babel@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}Jinja2>=2.10:devel/py-Jinja2@${PY_FLAVOR}
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}Babel>=2.3.4:devel/py-babel@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}Jinja2>=2.10:devel/py-Jinja2@${PY_FLAVOR}
+
+# some tests are failing with 3.8
+USES=		python:3.7
+
+CONFLICTS_INSTALL=	trac
+
+USE_PYTHON=	distutils autoplist
+USE_RC_SUBR=	tracd
+SUB_LIST=	PYTHON_CMD=${PYTHON_CMD}
+
+PORTEXAMPLES=	*
+PORTDATA=	*
+
+NO_ARCH=	yes
+
+OPTIONS_DEFINE=		DOCUTILS PYGMENTS TZ SVN GIT EXAMPLES TEXTILE
+OPTIONS_DEFAULT=	DOCUTILS PYGMENTS TZ SVN SQLITE TEXTILE
+OPTIONS_RADIO=		DATABASE
+OPTIONS_RADIO_DATABASE=	PGSQL SQLITE MYSQL
+DOCUTILS_DESC=		Allow additional text markup
+PYGMENTS_DESC=		Use generic syntax highlighter
+TEXTILE_DESC=		Support for the Textile markup
+TZ_DESC=		Process Time Zones
+SVN_DESC=		Enable SVN support
+GIT_DESC=		Enable GIT support
+
+DOCUTILS_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}docutils>=0.14:textproc/py-docutils@${PY_FLAVOR}
+PYGMENTS_RUN_DEPENDS=	${PY_PYGMENTS}
+TZ_RUN_DEPENDS=		${PYTHON_PKGNAMEPREFIX}pytz>0:devel/py-pytz@${PY_FLAVOR}
+PGSQL_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}psycopg2>0:databases/py-psycopg2@${PY_FLAVOR}
+SQLITE_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR}
+MYSQL_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}mysqlclient>=0:databases/py-mysqlclient@${PY_FLAVOR}
+SVN_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}subversion>0:devel/py-subversion@${PY_FLAVOR}
+GIT_RUN_DEPENDS=	git:devel/git
+TEXTILE_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}textile>0:www/py-textile@${PY_FLAVOR}
+
+post-install-EXAMPLES-on:
+	@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/sample-plugins
+	${FIND} ${WRKSRC}/contrib -type f -maxdepth 1 -exec ${INSTALL_DATA} {} ${STAGEDIR}${EXAMPLESDIR}/ \;
+	(cd ${WRKSRC}/sample-plugins && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR}/sample-plugins)
+
+.include <bsd.port.mk>

Added: head/www/trac-devel/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/trac-devel/distinfo	Tue Jan  5 21:01:18 2021	(r560426)
@@ -0,0 +1,3 @@
+TIMESTAMP = 1609593024
+SHA256 (Trac-1.5.2.tar.gz) = dac241e8018e11374cfabe68f902d815948611481f4ecb565e4f076768547e39
+SIZE (Trac-1.5.2.tar.gz) = 5416364

Added: head/www/trac-devel/files/patch-trac_util_daemon.py
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/trac-devel/files/patch-trac_util_daemon.py	Tue Jan  5 21:01:18 2021	(r560426)
@@ -0,0 +1,23 @@
+--- trac/util/daemon.py.orig	2020-12-20 02:35:50 UTC
++++ trac/util/daemon.py
+@@ -68,12 +68,14 @@ def daemonize(pidfile=None, progname=None, stdin='/dev
+     # The process is now daemonized, redirect standard file descriptors
+     for stream in sys.stdout, sys.stderr:
+         stream.flush()
+-    stdin = os.open(stdin, 'rb')
+-    stdout = os.open(stdout, 'ab+')
+-    stderr = os.open(stderr, 'ab+', 0)
+-    os.dup2(stdin.fileno(), sys.stdin.fileno())
+-    os.dup2(stdout.fileno(), sys.stdout.fileno())
+-    os.dup2(stderr.fileno(), sys.stderr.fileno())
++    stdin = os.open(stdin, os.O_RDONLY)
++    stdout = os.open(stdout,  os.O_RDWR | os.O_APPEND)
++    stderr = os.open(stderr, os.O_RDWR | os.O_APPEND)
++    os.dup2(stdin, sys.stdin.fileno())
++    os.dup2(stdout, sys.stdout.fileno())
++    os.dup2(stderr, sys.stderr.fileno())
++    for fd in stdin, stdout, stderr:
++        os.close(fd)
+ 
+     if pidfile:
+         # Register signal handlers to ensure atexit hooks are called on exit

Added: head/www/trac-devel/files/tracd.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/trac-devel/files/tracd.in	Tue Jan  5 21:01:18 2021	(r560426)
@@ -0,0 +1,61 @@
+#!/bin/sh
+#
+# tracd startup
+#
+# $FreeBSD$
+
+# PROVIDE: tracd
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
+
+#
+# Add the following lines to /etc/rc.conf to enable or configure tracd:
+# tracd_enable (bool):		Set to "NO" by default.
+#				Set it to "YES" to enable tracd.
+# tracd_listen (str):		The host name or IP address to bind tracd to.
+#				By default tracd listens 0.0.0.0, i.e. all the
+#				available addresses on all interfaces.
+# tracd_port (str):		The port number to bind to, 80 by default.
+# tracd_pidfile (str):		When daemonizing, file to which to write pid
+#				if not to /var/run/tracd.pid.
+# tracd_envdir (str):		Directory of the project environments. Set to
+#				"/home/trac" by default.
+# tracd_env (str):		The project environment name while using single
+# 				environment mode. The default is empty, meaning
+#				multiproject mode.
+# tracd_args (str):		Extra arguments passed to tracd startup
+# 				command. Empty by default.
+#
+
+. /etc/rc.subr
+
+name="tracd"
+rcvar=tracd_enable
+
+tracd_enable=${tracd_enable:-"NO"}
+tracd_listen=${tracd_listen:-"0.0.0.0"}
+tracd_port=${tracd_port:-"80"}
+tracd_pidfile=${tracd_pidfile:-"/var/run/tracd.pid"}
+tracd_envdir=${tracd_envdir:-"/home/trac"}
+tracd_env=${tracd_env:-""}
+tracd_args=${tracd_args:-""}
+
+load_rc_config ${name}
+
+command_args="--daemonize --hostname=${tracd_listen} --port=${tracd_port}"
+command_args="${command_args} --pidfile=${tracd_pidfile} ${tracd_args}"
+
+required_dirs=${tracd_envdir}
+pidfile=${tracd_pidfile}
+
+if [ -z "${tracd_env}" ]; then
+	_trac_env="--env-parent-dir ${tracd_envdir}"
+else
+	_trac_env="${tracd_envdir}/${tracd_env}"
+	command_args="${command_args} --single-env"
+fi
+
+command_args="%%PREFIX%%/bin/tracd ${command_args} ${_trac_env}"
+command="%%PYTHON_CMD%%"
+
+run_rc_command $1

Added: head/www/trac-devel/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/trac-devel/pkg-descr	Tue Jan  5 21:01:18 2021	(r560426)
@@ -0,0 +1,21 @@
+Trac uses a minimalistic approach to web-based software project management.
+Our mission is to help developers write great software while staying out of
+the way.  Trac should impose as little as possible on a team's established
+development process and policies.
+
+All aspects of Trac have been designed with one single goal, to simplify
+tracking and communication of software issues, enhancements and monitoring
+overall progress.
+
+What is Trac?
+
+    * An integrated system for managing software projects
+    * An enhanced wiki
+    * A flexible web-based issue tracker
+    * An interface to the Subversion and GIT revision control systems
+
+At the core of Trac lies an integrated wiki and issue/bug database. Using
+wiki markup, all objects managed by Trac can directly link to other
+issues/bug reports, code changesets, documentation and files.
+
+WWW: https://trac.edgewall.org/


More information about the svn-ports-head mailing list