From nobody@FreeBSD.org  Mon Sep 23 20:46:19 2013
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1])
	(using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by hub.freebsd.org (Postfix) with ESMTP id BE26DC00
	for <freebsd-gnats-submit@FreeBSD.org>; Mon, 23 Sep 2013 20:46:19 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from oldred.freebsd.org (oldred.freebsd.org [8.8.178.121])
	(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by mx1.freebsd.org (Postfix) with ESMTPS id 9056528B1
	for <freebsd-gnats-submit@FreeBSD.org>; Mon, 23 Sep 2013 20:46:19 +0000 (UTC)
Received: from oldred.freebsd.org ([127.0.1.6])
	by oldred.freebsd.org (8.14.5/8.14.7) with ESMTP id r8NKkItr049240
	for <freebsd-gnats-submit@FreeBSD.org>; Mon, 23 Sep 2013 20:46:18 GMT
	(envelope-from nobody@oldred.freebsd.org)
Received: (from nobody@localhost)
	by oldred.freebsd.org (8.14.5/8.14.5/Submit) id r8NKkIlS049239;
	Mon, 23 Sep 2013 20:46:18 GMT
	(envelope-from nobody)
Message-Id: <201309232046.r8NKkIlS049239@oldred.freebsd.org>
Date: Mon, 23 Sep 2013 20:46:18 GMT
From: Volodymyr Kostyrko <arcade@b1t.name>
To: freebsd-gnats-submit@FreeBSD.org
Subject: python packages install packed eggs which makes them unusable for running services
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         182332
>Category:       ports
>Synopsis:       www/trac: installs packed eggs which makes them unusable for running services
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    clsung
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Mon Sep 23 20:50:00 UTC 2013
>Closed-Date:    Sat Feb 08 20:03:46 UTC 2014
>Last-Modified:  Sat Feb  8 20:10:00 UTC 2014
>Originator:     Volodymyr Kostyrko
>Release:        stable/9
>Organization:
none
>Environment:
FreeBSD limbo.b1t.lan 9.2-PRERELEASE FreeBSD 9.2-PRERELEASE #10 r255757M: Sat Sep 21 12:39:20 EEST 2013     arcade@limbo.b1t.lan:/usr/obj/usr/src/sys/MINIMAL  amd64
>Description:
Most services and daemon when started have no privileges over local file system while packed egg file should be unpacked somewhere before use.

Anyway egg is a distribution format, while we are using packages with ports we don't need to stick to eggs.

Possible errors would be:

Traceback (most recent call last):
  File "build/bdist.freebsd-9.1-RELEASE-p1-amd64/egg/trac/web/api.py", line 514, in send_error
    data, 'text/html')
  File "build/bdist.freebsd-9.1-RELEASE-p1-amd64/egg/trac/web/chrome.py", line 975, in render_template
    template = self.load_template(filename, method=method)
  File "build/bdist.freebsd-9.1-RELEASE-p1-amd64/egg/trac/web/chrome.py", line 933, in load_template
    self.get_all_templates_dirs(), auto_reload=self.auto_reload,
  File "build/bdist.freebsd-9.1-RELEASE-p1-amd64/egg/trac/web/chrome.py", line 649, in get_all_templates_dirs
    dirs.extend(provider.get_templates_dirs() or [])
  File "build/bdist.freebsd-9.1-RELEASE-p1-amd64/egg/trac/web/chrome.py", line 627, in get_templates_dirs
    pkg_resources.resource_filename('trac', 'templates'),
  File "build/bdist.freebsd-9.1-RELEASE-p1-amd64/egg/pkg_resources.py", line 914, in resource_filename
    self, resource_name
  File "build/bdist.freebsd-9.1-RELEASE-p1-amd64/egg/pkg_resources.py", line 1393, in get_resource_filename
    return self._extract_resource(manager, zip_path)
  File "build/bdist.freebsd-9.1-RELEASE-p1-amd64/egg/pkg_resources.py", line 1400, in _extract_resource
    manager, os.path.join(zip_path, name)
  File "build/bdist.freebsd-9.1-RELEASE-p1-amd64/egg/pkg_resources.py", line 1418, in _extract_resource
    self.egg_name, self._parts(zip_path)
  File "build/bdist.freebsd-9.1-RELEASE-p1-amd64/egg/pkg_resources.py", line 994, in get_cache_path
    self.extraction_error()
  File "build/bdist.freebsd-9.1-RELEASE-p1-amd64/egg/pkg_resources.py", line 960, in extraction_error
    raise err
ExtractionError: Can't extract file(s) to egg cache

The following error occurred while trying to extract file(s) to the Python egg
cache:

  [Errno 13] Permission denied: '/.python-eggs'

The Python egg cache directory is currently set to:

  /.python-eggs

Perhaps your account does not have write access to this directory?  You can
change the cache directory by setting the PYTHON_EGG_CACHE environment
variable to point to an accessible directory.
>How-To-Repeat:

>Fix:


>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-ports-bugs->freebsd-python 
Responsible-Changed-By: linimon 
Responsible-Changed-When: Sun Sep 29 21:47:48 UTC 2013 
Responsible-Changed-Why:  
Over to maintainer(s). 

http://www.freebsd.org/cgi/query-pr.cgi?pr=182332 

From: Kubilay Kocak <koobs.freebsd@gmail.com>
To: bug-followup@FreeBSD.org, arcade@b1t.name, python@FreeBSD.org
Cc:  
Subject: Re: ports/182332: python packages install packed eggs which makes
 them unusable for running services
Date: Wed, 23 Oct 2013 15:23:04 +1100

 Hi Volodymyr,
 
 While it is a desirable (and planned) long-terms goal to have consistent
 behaviour in the ports tree, there is not *yet* a formal or specific
 documented policy regarding Python module packaging in FreeBSD.
 
 A number of maintainers *do* however, make changes to upstream modules
 by explicitly setting zip_safe=False in setup.py, or overriding the use
 of setuptools with plain-old distutils, resulting in the module being
 installed uncompressed.
 
 For those modules or ports that *dont* currently do this such as
 www/trac, the end-user *can* use the PYTHON_EGG_CACHE environment
 variable that points to a writable area of the filesystem to address the
 behaviour.
 
 In short, I recommend that this PR be changed, assigning it to the
 maintainer of the www/trac port for follow-up and resolution.
Class-Changed-From-To: sw-bug->change-request 
Class-Changed-By: koobs 
Class-Changed-When: Wed Oct 23 04:39:43 UTC 2013 
Class-Changed-Why:  
Port packaging change-request, not a software bug 

http://www.freebsd.org/cgi/query-pr.cgi?pr=182332 
Responsible-Changed-From-To: freebsd-python->clsung 
Responsible-Changed-By: koobs 
Responsible-Changed-When: Wed Oct 23 04:55:23 UTC 2013 
Responsible-Changed-Why:  
Fix synposis (category) and reassign to maintaner 

http://www.freebsd.org/cgi/query-pr.cgi?pr=182332 

From: Volodymyr Kostyrko <arcade@b1t.name>
To: koobs@FreeBSD.org, bug-followup@FreeBSD.org, python@FreeBSD.org
Cc:  
Subject: Re: ports/182332: python packages install packed eggs which makes
 them unusable for running services
Date: Wed, 23 Oct 2013 17:09:56 +0300

 23.10.2013 07:23, Kubilay Kocak wrote:
 > Hi Volodymyr,
 >
 > While it is a desirable (and planned) long-terms goal to have consistent
 > behaviour in the ports tree, there is not *yet* a formal or specific
 > documented policy regarding Python module packaging in FreeBSD.
 
 And that's bad.
 
 > A number of maintainers *do* however, make changes to upstream modules
 > by explicitly setting zip_safe=False in setup.py, or overriding the use
 > of setuptools with plain-old distutils, resulting in the module being
 > installed uncompressed.
 
 Or like me overriding the way egg is installed to uncompress it.
 
 > For those modules or ports that *dont* currently do this such as
 > www/trac, the end-user *can* use the PYTHON_EGG_CACHE environment
 > variable that points to a writable area of the filesystem to address the
 > behaviour.
 
 While this is possibly true for www/trac this can be not so funny for 
 some other modules that are actually used in restricted env or even 
 chroot without possibility to write anything anywhere. Using compressed 
 eggs in such environments is a bit painful...
 
 > In short, I recommend that this PR be changed, assigning it to the
 > maintainer of the www/trac port for follow-up and resolution.
 
 Actually I started this pr because I want some Python module package 
 policy to emerge and possibly to explicitly specify one recommended way 
 of dealing with such packages. As you wrote many port maintainers 
 specifically override the order of things in different inconsistent ways 
 and even this makes packages more useful having a lot of different 
 patches and crotches throughout the ports tree is definitely not a good 
 thing.
 
 -- 
 Sphinx of black quartz, judge my vow.

From: Kubilay Kocak <koobs.freebsd@gmail.com>
To: bug-followup@FreeBSD.org, arcade@b1t.name
Cc:  
Subject: Re: ports/182332: www/trac: installs packed eggs which makes them
 unusable for running services
Date: Thu, 24 Oct 2013 08:10:56 +1100

 All valid points (and I personally agree). It's worth remembering
 however, that there are *two* questions that need to be considered
 independently:
 
 1) What can be done to resolve "this PR", specifically
 2) What else could be done to preclude similar PR's, generally
 
 In the context of issue tracking, only (1) applies, and assigning this
 PR to the trac maintainer is the best and quickest way to have your
 issue resolved. The verbose reply I provided was just designed as
 additional background and context for the decision.
 
 For (2), the FreeBSD Python@ Team has its goals documented on our Wiki
 page that includes the development of a python ports policy among others:
 
 https://wiki.freebsd.org/Python
 
 If Python is your thing, I encourage you to jump on IRC, say hi to the
 team and let us know what you're interested in making better :)
 
 Koobs
 
 
 

From: Ruslan Makhmatkhanov <cvs-src@yandex.ru>
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: ports/182332
Date: Mon, 27 Jan 2014 01:56:17 +0400

 This is a multi-part message in MIME format.
 --------------000806000701010607000903
 Content-Type: text/plain; charset=ISO-8859-1; format=flowed
 Content-Transfer-Encoding: 7bit
 
 Hi, would you please test if this patch working for you? It implements 
 just this. Full changelog following:
 
 - remove indefinite article from COMMENT
 - add LICENSE (BSD3C)
 - set RUN_DEPENDS explicitly
 - turn database back-end selection into radio-option keeping existing
    logic: if PGSQL isn't selected SQLITE is used
 - use options helpers
 - do not use easy_install and convert to auto-generated packing list
 - utilize shebangfix, instead of doing the same manually
 - remove no more needed x-generate-plist target
 - simplify examples installation and unmute it's commands
 - do not install rpm stuff, it's not linux here anyway
 - whitespace fixes in pkg-descr
 - bump PORTREVISION
 
 -- 
 Regards,
 Ruslan
 
 T.O.S. Of Reality
 
 --------------000806000701010607000903
 Content-Type: text/x-patch;
  name="trac-distutils.diff"
 Content-Transfer-Encoding: 7bit
 Content-Disposition: attachment;
  filename="trac-distutils.diff"
 
 Index: Makefile
 ===================================================================
 --- Makefile	(revision 341293)
 +++ Makefile	(working copy)
 @@ -3,6 +3,7 @@
  
  PORTNAME=	trac
  PORTVERSION=	1.0.1
 +PORTREVISION=	1
  CATEGORIES=	www devel python
  MASTER_SITES=	http://ftp.edgewall.com/pub/trac/ \
  		ftp://ftp.edgewall.com/pub/trac/
 @@ -9,85 +10,52 @@
  DISTNAME=	Trac-${PORTVERSION}
  
  MAINTAINER=	clsung@FreeBSD.org
 -COMMENT=	An enhanced wiki and issue tracking system for software projects
 +COMMENT=	Enhanced wiki and issue tracking system for software projects
  
 -BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}Genshi>=0.6:${PORTSDIR}/textproc/py-genshi \
 -		${PYTHON_PKGNAMEPREFIX}Babel>=0.9.5:${PORTSDIR}/devel/py-babel
 -RUN_DEPENDS:=	${BUILD_DEPENDS}
 +LICENSE=	BSD3CLAUSE
  
 -OPTIONS_DEFINE=		SILVERCITY DOCUTILS PYGMENTS TZ PGSQL SVN
 -OPTIONS_DEFAULT=	SILVERCITY DOCUTILS PYGMENTS TZ SVN
 +BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}Babel>=0.9.5:${PORTSDIR}/devel/py-babel \
 +		${PYTHON_PKGNAMEPREFIX}Genshi>=0.6:${PORTSDIR}/textproc/py-genshi
 +RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}Babel>=0.9.5:${PORTSDIR}/devel/py-babel \
 +		${PYTHON_PKGNAMEPREFIX}Genshi>=0.6:${PORTSDIR}/textproc/py-genshi
 +
 +OPTIONS_DEFINE=		SILVERCITY DOCUTILS PYGMENTS TZ SVN
 +OPTIONS_DEFAULT=	SILVERCITY DOCUTILS PYGMENTS TZ SVN SQLITE
 +OPTIONS_RADIO=		DATABASE
 +OPTIONS_RADIO_DATABASE=	PGSQL SQLITE
  SILVERCITY_DESC=	Silvercity for syntax highlighting
  DOCUTILS_DESC=		Allow additional text markup
  PYGMENTS_DESC=		Use generic syntax highlighter
  TZ_DESC=		Process Time Zones
  
 -CONFLICTS=	ja-trac-[0-9]*
 +SILVERCITY_RUN_DEPENDS=	${LOCALBASE}/bin/source2html.py:${PORTSDIR}/textproc/silvercity
 +DOCUTILS_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}docutils>0:${PORTSDIR}/textproc/py-docutils
 +PYGMENTS_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}pygments>0:${PORTSDIR}/textproc/py-pygments
 +TZ_RUN_DEPENDS=		${PYTHON_PKGNAMEPREFIX}pytz>0:${PORTSDIR}/devel/py-pytz
 +PGSQL_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}psycopg2>0:${PORTSDIR}/databases/py-psycopg2
 +SQLITE_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}sqlite3>0:${PORTSDIR}/databases/py-sqlite3
 +SVN_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}subversion>0:${PORTSDIR}/devel/py-subversion
  
 -USE_PYTHON=	2
 -USE_PYDISTUTILS=	easy_install
 -PYDISTUTILS_PKGNAME=	Trac
 -PYDISTUTILS_NOEGGINFO=	yes
 +CONFLICTS=		ja-trac-[0-9]*
 +PORTEXAMPLES=		*
 +PORTDATA=		*
  
 -USE_RC_SUBR=	tracd
 -SUB_LIST=	PYTHON_CMD=${PYTHON_CMD}
 +USES=			shebangfix
 +SHEBANG_FILES=		contrib/cgi-bin/trac.fcgi contrib/cgi-bin/trac.cgi \
 +			trac/tests/functional/better_twill.py trac/tests/functional/tester.py \
 +			trac/tests/functional/testenv.py trac/tests/functional/compat.py \
 +			trac/tests/functional/__init__.py contrib/emailfilter.py \
 +			contrib/checkwiki.py contrib/htpasswd.py
 +USE_PYTHON=		2
 +USE_PYDISTUTILS=	yes
 +PYDISTUTILS_AUTOPLIST=	yes
 +USE_RC_SUBR=		tracd
  
 -.include <bsd.port.options.mk>
 -
 -.if ${PORT_OPTIONS:MSILVERCITY}
 -RUN_DEPENDS+=	${LOCALBASE}/bin/source2html.py:${PORTSDIR}/textproc/silvercity
 -.endif
 -
 -.if ${PORT_OPTIONS:MDOCUTILS}
 -RUN_DEPENDS+=	${LOCALBASE}/bin/rst2html:${PORTSDIR}/textproc/py-docutils
 -.endif
 -
 -.if ${PORT_OPTIONS:MPYGMENTS}
 -RUN_DEPENDS+=	${LOCALBASE}/bin/pygmentize:${PORTSDIR}/textproc/py-pygments
 -.endif
 -
 -.if ${PORT_OPTIONS:MTZ}
 -RUN_DEPENDS+=	${PYTHON_PKGNAMEPREFIX}pytz>0:${PORTSDIR}/devel/py-pytz
 -.endif
 -
 -.if ${PORT_OPTIONS:MPGSQL}
 -RUN_DEPENDS+=	${PYTHON_SITELIBDIR}/psycopg2/__init__.py:${PORTSDIR}/databases/py-psycopg2
 -.else
 -RUN_DEPENDS+=	${PYTHON_PKGNAMEPREFIX}sqlite3>0:${PORTSDIR}/databases/py-sqlite3
 -.endif
 -
 -.if ${PORT_OPTIONS:MSVN}
 -RUN_DEPENDS+=	${PYTHON_SITELIBDIR}/svn/__init__.py:${PORTSDIR}/devel/py-subversion
 -.endif
 -
 -# This target is only meant to be used by the port maintainer.
 -x-generate-plist:
 -	(${PORTSDIR}/Tools/scripts/plist -d -m ${MTREE_FILE} ${PREFIX} \
 -	| ${SED} -E \
 -		's,.*share/nls/.+$$,,g \
 -		;s,@dirrm share/man(/.*)?$$,,g \
 -		;s,${PYTHON_SITELIBDIR:S,^${PYTHONBASE}/,,},%%PYTHON_SITELIBDIR%%,g \
 -		;s,share/trac,%%DATADIR%%,g \
 -		;s,share/examples/trac,%%EXAMPLESDIR%%,g \
 -		;s,@dirrm (%%PYTHON_SITELIBDIR%%|${PYTHON_LIBDIR:S,${PYTHONBASE}/,,})$$,,g \
 -		' | ${TR} -s '\n') > temp-pkg-plist
 -
 -pre-install:
 -	@${REINPLACE_CMD} -i '' -e 's|/usr/bin/python|${PYTHON_CMD}|' ${WRKSRC}/contrib/cgi-bin/trac.fcgi \
 -	    ${WRKSRC}/contrib/cgi-bin/trac.cgi
 -
  post-install:
  	@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/sample-plugins
 -	@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/rpm
 -	@${INSTALL_DATA} ${WRKSRC}/contrib/rpm/* ${STAGEDIR}${EXAMPLESDIR}/rpm
 -	@${FIND} ${WRKSRC}/contrib -type f -maxdepth 1 -exec ${INSTALL_DATA} {} ${STAGEDIR}${EXAMPLESDIR}/ \;
 -. for d in permissions workflow
 -	@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/sample-plugins/${d}
 -	@${INSTALL_DATA} ${WRKSRC}/sample-plugins/${d}/* ${STAGEDIR}${EXAMPLESDIR}/sample-plugins/${d}/
 -	@${RM} -rf ${WRKSRC}/contrib/${d}
 -. endfor
 -	@${INSTALL_DATA} ${WRKSRC}/sample-plugins/*.py ${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)
  	@${MKDIR} ${STAGEDIR}${DATADIR}/cgi-bin
 -	@${INSTALL_SCRIPT} ${WRKSRC}/contrib/cgi-bin/* ${STAGEDIR}${DATADIR}/cgi-bin
 +	${INSTALL_SCRIPT} ${WRKSRC}/contrib/cgi-bin/* ${STAGEDIR}${DATADIR}/cgi-bin
  
  .include <bsd.port.mk>
 Index: pkg-descr
 ===================================================================
 --- pkg-descr	(revision 341293)
 +++ pkg-descr	(working copy)
 @@ -5,7 +5,7 @@
  
  All aspects of Trac have been designed with one single goal, to simplify
  tracking and communication of software issues, enhancements and monitoring
 -overall progress. 
 +overall progress.
  
  What is Trac?
  
 @@ -16,6 +16,6 @@
  
  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. 
 +issues/bug reports, code changesets, documentation and files.
  
  WWW: http://trac.edgewall.org/
 Index: pkg-plist
 ===================================================================
 --- pkg-plist	(revision 341293)
 +++ pkg-plist	(working copy)
 @@ -1,41 +0,0 @@
 -%%DATADIR%%/cgi-bin/trac.cgi
 -%%DATADIR%%/cgi-bin/trac.fcgi
 -%%EXAMPLESDIR%%/README
 -%%EXAMPLESDIR%%/bugzilla2trac.py
 -%%EXAMPLESDIR%%/checkwiki.py
 -%%EXAMPLESDIR%%/emailfilter.py
 -%%EXAMPLESDIR%%/htdigest.py
 -%%EXAMPLESDIR%%/htpasswd.py
 -%%EXAMPLESDIR%%/l10n_diff_index.py
 -%%EXAMPLESDIR%%/l10n_reset_en_GB.py
 -%%EXAMPLESDIR%%/l10n_revert_lineno_conflicts.py
 -%%EXAMPLESDIR%%/migrateticketmodel.py
 -%%EXAMPLESDIR%%/rpm/installscript
 -%%EXAMPLESDIR%%/rpm/makerpm
 -%%EXAMPLESDIR%%/sample-plugins/HelloWorld.py
 -%%EXAMPLESDIR%%/sample-plugins/Timestamp.py
 -%%EXAMPLESDIR%%/sample-plugins/milestone_to_version.py
 -%%EXAMPLESDIR%%/sample-plugins/permissions/debug_perm.py
 -%%EXAMPLESDIR%%/sample-plugins/permissions/public_wiki_policy.py
 -%%EXAMPLESDIR%%/sample-plugins/permissions/vulnerability_tickets.py
 -%%EXAMPLESDIR%%/sample-plugins/revision_links.py
 -%%EXAMPLESDIR%%/sample-plugins/workflow/CodeReview.py
 -%%EXAMPLESDIR%%/sample-plugins/workflow/DeleteTicket.py
 -%%EXAMPLESDIR%%/sample-plugins/workflow/MilestoneOperation.py
 -%%EXAMPLESDIR%%/sample-plugins/workflow/StatusFixer.py
 -%%EXAMPLESDIR%%/sample-plugins/workflow/VoteOperation.py
 -%%EXAMPLESDIR%%/sample-plugins/workflow/enterprise-review-workflow.ini
 -%%EXAMPLESDIR%%/sourceforge2trac.py
 -%%EXAMPLESDIR%%/trac-pre-commit-hook
 -%%EXAMPLESDIR%%/trac-svn-hook
 -%%EXAMPLESDIR%%/trac-svn-post-commit-hook.cmd
 -%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%
 -bin/trac-admin
 -bin/tracd
 -@dirrm %%DATADIR%%/cgi-bin
 -@dirrm %%DATADIR%%
 -@dirrm %%EXAMPLESDIR%%/sample-plugins/workflow
 -@dirrm %%EXAMPLESDIR%%/sample-plugins/permissions
 -@dirrm %%EXAMPLESDIR%%/sample-plugins
 -@dirrm %%EXAMPLESDIR%%/rpm
 -@dirrm %%EXAMPLESDIR%%
 
 --------------000806000701010607000903--
State-Changed-From-To: open->closed 
State-Changed-By: rm 
State-Changed-When: Sat Feb 8 20:03:45 UTC 2014 
State-Changed-Why:  
This is now installed as usual distutils package. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=182332 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: ports/182332: commit references a PR
Date: Sat,  8 Feb 2014 20:02:43 +0000 (UTC)

 Author: rm
 Date: Sat Feb  8 20:02:33 2014
 New Revision: 343380
 URL: http://svnweb.freebsd.org/changeset/ports/343380
 QAT: https://qat.redports.org/buildarchive/r343380/
 
 Log:
   - remove indefinite article from COMMENT
   - add LICENSE (BSD3C)
   - set RUN_DEPENDS explicitly
   - turn database back-end selection into radio-option keeping existing
   logic: if PGSQL isn't selected SQLITE is used
   - use options helpers
   - do not use easy_install and convert to auto-generated packing list [1]
   - utilize shebangfix, instead of doing the same manually
   - remove no more needed x-generate-plist target
   - simplify examples installation and unmute it's commands
   - do not install rpm stuff, it's not linux here anyway
   - whitespace fixes in pkg-descr
   - bump PORTREVISION
   
   PR:		182332
   Requested by:   Volodymyr Kostyrko <arcade@b1t.name> [1]
   Submitted by:	rm (myself)
   Approved by:	maintainer timeout
   
   - add upstream patch to fix wiki bracketed link with Genshi 0.7
     see http://trac.edgewall.org/changeset/11683 for details
   
   PR:     181419
   Submitted by:   Hung-Yi Chen <gaod@hychen.org>
   Approved by:    maintainer timeout
 
 Added:
   head/www/trac/files/patch-trac_wiki_formatter.py   (contents, props changed)
   head/www/trac/files/patch-trac_wiki_tests_wiki-tests.txt   (contents, props changed)
 Deleted:
   head/www/trac/pkg-plist
 Modified:
   head/www/trac/Makefile
   head/www/trac/pkg-descr
   head/www/trac/pkg-message
 
 Modified: head/www/trac/Makefile
 ==============================================================================
 --- head/www/trac/Makefile	Sat Feb  8 19:59:23 2014	(r343379)
 +++ head/www/trac/Makefile	Sat Feb  8 20:02:33 2014	(r343380)
 @@ -3,91 +3,59 @@
  
  PORTNAME=	trac
  PORTVERSION=	1.0.1
 +PORTREVISION=	1
  CATEGORIES=	www devel python
  MASTER_SITES=	http://ftp.edgewall.com/pub/trac/ \
  		ftp://ftp.edgewall.com/pub/trac/
  DISTNAME=	Trac-${PORTVERSION}
  
  MAINTAINER=	clsung@FreeBSD.org
 -COMMENT=	An enhanced wiki and issue tracking system for software projects
 +COMMENT=	Enhanced wiki and issue tracking system for software projects
  
 -BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}Genshi>=0.6:${PORTSDIR}/textproc/py-genshi \
 -		${PYTHON_PKGNAMEPREFIX}Babel>=0.9.5:${PORTSDIR}/devel/py-babel
 -RUN_DEPENDS:=	${BUILD_DEPENDS}
 +LICENSE=	BSD3CLAUSE
  
 -OPTIONS_DEFINE=		SILVERCITY DOCUTILS PYGMENTS TZ PGSQL SVN
 -OPTIONS_DEFAULT=	SILVERCITY DOCUTILS PYGMENTS TZ SVN
 +BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}Babel>=0.9.5:${PORTSDIR}/devel/py-babel \
 +		${PYTHON_PKGNAMEPREFIX}Genshi>=0.6:${PORTSDIR}/textproc/py-genshi
 +RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}Babel>=0.9.5:${PORTSDIR}/devel/py-babel \
 +		${PYTHON_PKGNAMEPREFIX}Genshi>=0.6:${PORTSDIR}/textproc/py-genshi
 +
 +OPTIONS_DEFINE=		SILVERCITY DOCUTILS PYGMENTS TZ SVN
 +OPTIONS_DEFAULT=	SILVERCITY DOCUTILS PYGMENTS TZ SVN SQLITE
 +OPTIONS_RADIO=		DATABASE
 +OPTIONS_RADIO_DATABASE=	PGSQL SQLITE
  SILVERCITY_DESC=	Silvercity for syntax highlighting
  DOCUTILS_DESC=		Allow additional text markup
  PYGMENTS_DESC=		Use generic syntax highlighter
  TZ_DESC=		Process Time Zones
  
 -CONFLICTS=	ja-trac-[0-9]*
 -
 -USE_PYTHON=	2
 -USE_PYDISTUTILS=	easy_install
 -PYDISTUTILS_PKGNAME=	Trac
 -PYDISTUTILS_NOEGGINFO=	yes
 -
 -USE_RC_SUBR=	tracd
 -SUB_LIST=	PYTHON_CMD=${PYTHON_CMD}
 -
 -.include <bsd.port.options.mk>
 -
 -.if ${PORT_OPTIONS:MSILVERCITY}
 -RUN_DEPENDS+=	${LOCALBASE}/bin/source2html.py:${PORTSDIR}/textproc/silvercity
 -.endif
 -
 -.if ${PORT_OPTIONS:MDOCUTILS}
 -RUN_DEPENDS+=	${LOCALBASE}/bin/rst2html:${PORTSDIR}/textproc/py-docutils
 -.endif
 -
 -.if ${PORT_OPTIONS:MPYGMENTS}
 -RUN_DEPENDS+=	${LOCALBASE}/bin/pygmentize:${PORTSDIR}/textproc/py-pygments
 -.endif
 -
 -.if ${PORT_OPTIONS:MTZ}
 -RUN_DEPENDS+=	${PYTHON_PKGNAMEPREFIX}pytz>0:${PORTSDIR}/devel/py-pytz
 -.endif
 -
 -.if ${PORT_OPTIONS:MPGSQL}
 -RUN_DEPENDS+=	${PYTHON_SITELIBDIR}/psycopg2/__init__.py:${PORTSDIR}/databases/py-psycopg2
 -.else
 -RUN_DEPENDS+=	${PYTHON_PKGNAMEPREFIX}sqlite3>0:${PORTSDIR}/databases/py-sqlite3
 -.endif
 -
 -.if ${PORT_OPTIONS:MSVN}
 -RUN_DEPENDS+=	${PYTHON_SITELIBDIR}/svn/__init__.py:${PORTSDIR}/devel/py-subversion
 -.endif
 -
 -# This target is only meant to be used by the port maintainer.
 -x-generate-plist:
 -	(${PORTSDIR}/Tools/scripts/plist -d -m ${MTREE_FILE} ${PREFIX} \
 -	| ${SED} -E \
 -		's,.*share/nls/.+$$,,g \
 -		;s,@dirrm share/man(/.*)?$$,,g \
 -		;s,${PYTHON_SITELIBDIR:S,^${PYTHONBASE}/,,},%%PYTHON_SITELIBDIR%%,g \
 -		;s,share/trac,%%DATADIR%%,g \
 -		;s,share/examples/trac,%%EXAMPLESDIR%%,g \
 -		;s,@dirrm (%%PYTHON_SITELIBDIR%%|${PYTHON_LIBDIR:S,${PYTHONBASE}/,,})$$,,g \
 -		' | ${TR} -s '\n') > temp-pkg-plist
 -
 -pre-install:
 -	@${REINPLACE_CMD} -i '' -e 's|/usr/bin/python|${PYTHON_CMD}|' ${WRKSRC}/contrib/cgi-bin/trac.fcgi \
 -	    ${WRKSRC}/contrib/cgi-bin/trac.cgi
 +SILVERCITY_RUN_DEPENDS=	${LOCALBASE}/bin/source2html.py:${PORTSDIR}/textproc/silvercity
 +DOCUTILS_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}docutils>0:${PORTSDIR}/textproc/py-docutils
 +PYGMENTS_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}pygments>0:${PORTSDIR}/textproc/py-pygments
 +TZ_RUN_DEPENDS=		${PYTHON_PKGNAMEPREFIX}pytz>0:${PORTSDIR}/devel/py-pytz
 +PGSQL_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}psycopg2>0:${PORTSDIR}/databases/py-psycopg2
 +SQLITE_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}sqlite3>0:${PORTSDIR}/databases/py-sqlite3
 +SVN_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}subversion>0:${PORTSDIR}/devel/py-subversion
 +
 +CONFLICTS=		ja-trac-[0-9]*
 +PORTEXAMPLES=		*
 +PORTDATA=		*
 +
 +USES=			shebangfix
 +SHEBANG_FILES=		contrib/cgi-bin/trac.fcgi contrib/cgi-bin/trac.cgi \
 +			trac/tests/functional/better_twill.py trac/tests/functional/tester.py \
 +			trac/tests/functional/testenv.py trac/tests/functional/compat.py \
 +			trac/tests/functional/__init__.py contrib/emailfilter.py \
 +			contrib/checkwiki.py contrib/htpasswd.py
 +USE_PYTHON=		2
 +USE_PYDISTUTILS=	yes
 +PYDISTUTILS_AUTOPLIST=	yes
 +USE_RC_SUBR=		tracd
  
  post-install:
  	@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/sample-plugins
 -	@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/rpm
 -	@${INSTALL_DATA} ${WRKSRC}/contrib/rpm/* ${STAGEDIR}${EXAMPLESDIR}/rpm
 -	@${FIND} ${WRKSRC}/contrib -type f -maxdepth 1 -exec ${INSTALL_DATA} {} ${STAGEDIR}${EXAMPLESDIR}/ \;
 -. for d in permissions workflow
 -	@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/sample-plugins/${d}
 -	@${INSTALL_DATA} ${WRKSRC}/sample-plugins/${d}/* ${STAGEDIR}${EXAMPLESDIR}/sample-plugins/${d}/
 -	@${RM} -rf ${WRKSRC}/contrib/${d}
 -. endfor
 -	@${INSTALL_DATA} ${WRKSRC}/sample-plugins/*.py ${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)
  	@${MKDIR} ${STAGEDIR}${DATADIR}/cgi-bin
 -	@${INSTALL_SCRIPT} ${WRKSRC}/contrib/cgi-bin/* ${STAGEDIR}${DATADIR}/cgi-bin
 +	${INSTALL_SCRIPT} ${WRKSRC}/contrib/cgi-bin/* ${STAGEDIR}${DATADIR}/cgi-bin
  
  .include <bsd.port.mk>
 
 Added: head/www/trac/files/patch-trac_wiki_formatter.py
 ==============================================================================
 --- /dev/null	00:00:00 1970	(empty, because file is newly added)
 +++ head/www/trac/files/patch-trac_wiki_formatter.py	Sat Feb  8 20:02:33 2014	(r343380)
 @@ -0,0 +1,14 @@
 +Backported from upstream repo: http://trac.edgewall.org/changeset/11683
 +See PR 181419 for details.
 +
 +--- trac/wiki/formatter.py.orig        2013-02-01 08:47:41.000000000 +0800
 ++++ trac/wiki/formatter.py 2013-08-20 14:24:46.982232000 +0800
 +@@ -575,7 +575,7 @@
 +         ns = fullmatch.group('snsbr')
 +         target = unquote_label(fullmatch.group('stgtbr'))
 +         match = match[1:-1]
 +-        return '&lt;%s&gt;' % \
 ++        return u'&lt;%s&gt;' % \
 +                 self._make_link(ns, target, match, match, fullmatch)
 +
 +     def _shref_formatter(self, match, fullmatch):
 
 Added: head/www/trac/files/patch-trac_wiki_tests_wiki-tests.txt
 ==============================================================================
 --- /dev/null	00:00:00 1970	(empty, because file is newly added)
 +++ head/www/trac/files/patch-trac_wiki_tests_wiki-tests.txt	Sat Feb  8 20:02:33 2014	(r343380)
 @@ -0,0 +1,19 @@
 +Backported from upstream repo: http://trac.edgewall.org/changeset/11683
 +See PR 181419 for details.
 +
 +--- trac/wiki/tests/wiki-tests.txt.orig        2013-08-20 14:02:43.308222000 +0800
 ++++ trac/wiki/tests/wiki-tests.txt 2013-08-20 14:01:18.000000000 +0800
 +@@ -314,6 +314,13 @@
 + ------------------------------
 + <p>
 + nolink:&#34;&lt;blink&gt;&#34;
 ++</p> 
 ++------------------------------ 
 ++============================== Bracketed links 
 ++See <http://en.wikipedia.org/wiki/Mornington_Crescent_(game)> 
 ++------------------------------ 
 ++<p> 
 ++See &lt;<a class="ext-link" href="http://en.wikipedia.org/wiki/Mornington_Crescent_(game)"><span class="icon"></span>http://en.wikipedia.org/wiki/Mornington_Crescent_(game)</a>&gt; 
 + </p>
 + ------------------------------
 + ============================================================
 
 Modified: head/www/trac/pkg-descr
 ==============================================================================
 --- head/www/trac/pkg-descr	Sat Feb  8 19:59:23 2014	(r343379)
 +++ head/www/trac/pkg-descr	Sat Feb  8 20:02:33 2014	(r343380)
 @@ -5,7 +5,7 @@ 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. 
 +overall progress.
  
  What is Trac?
  
 @@ -14,8 +14,8 @@ What is Trac?
      * A flexible web-based issue tracker
      * An interface to the Subversion revision control system
  
 -At the core of Trac lies an integrated wiki and issue/bug database.  Using
 +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. 
 +issues/bug reports, code changesets, documentation and files.
  
  WWW: http://trac.edgewall.org/
 
 Modified: head/www/trac/pkg-message
 ==============================================================================
 --- head/www/trac/pkg-message	Sat Feb  8 19:59:23 2014	(r343379)
 +++ head/www/trac/pkg-message	Sat Feb  8 20:02:33 2014	(r343380)
 @@ -6,10 +6,10 @@ You should be careful to check that the 
  been ported to 1.0.1, as they most probably won't work without adaptation
  due to the numerous internal changes that occurred during 1.0.1 development.
  
 -See:	http://trac.edgewall.org/wiki/TracDev/ApiChanges/1.0
 +See: http://trac.edgewall.org/wiki/TracDev/ApiChanges/1.0
  
  Consult the upgrade instructions at:
  
 -	http://trac.edgewall.org/wiki/TracUpgrade
 +  http://trac.edgewall.org/wiki/TracUpgrade
  
  *******************************************************************************
 _______________________________________________
 svn-ports-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-ports-all
 To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
 
>Unformatted:
