Summary: | www/trac: installs packed eggs which makes them unusable for running services | ||||||
---|---|---|---|---|---|---|---|
Product: | Ports & Packages | Reporter: | Volodymyr Kostyrko <arcade> | ||||
Component: | Individual Port(s) | Assignee: | Cheng-Lung Sung <clsung> | ||||
Status: | Closed FIXED | ||||||
Severity: | Affects Only Me | ||||||
Priority: | Normal | ||||||
Version: | Latest | ||||||
Hardware: | Any | ||||||
OS: | Any | ||||||
Attachments: |
|
Description
Volodymyr Kostyrko
2013-09-23 21:50:00 UTC
Responsible Changed From-To: freebsd-ports-bugs->freebsd-python Over to maintainer(s). 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 Port packaging change-request, not a software bug Responsible Changed From-To: freebsd-python->clsung Fix synposis (category) and reassign to maintaner 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. 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 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 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 '<%s>' % \ ++ return u'<%s>' % \ + 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:"<blink>" ++</p> ++------------------------------ ++============================== Bracketed links ++See <http://en.wikipedia.org/wiki/Mornington_Crescent_(game)> ++------------------------------ ++<p> ++See <<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>> + </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" State Changed From-To: open->closed This is now installed as usual distutils package. |