For a given port determine its dependences using any combination of the FETCH_, EXTRACT_, PATCH_, BUILD_, LIB_, and RUN_DEPENDS and show them as a pseudo graphical tree. Use back references for cross-connections. Generated with FreeBSD Port Tools 0.99 Sent via gmail.
There are some issues. If I try the script with the following locale: $> locale LANG= LC_CTYPE="C" LC_COLLATE="C" LC_TIME="C" LC_NUMERIC="C" LC_MONETARY="C" LC_MESSAGES="C" LC_ALL= $> ./porttree.py -r /usr/ports/mail/postfix Traceback (most recent call last): File "./porttree.py", line 181, in <module> print Net(port_tree).show(port_dir, style=eval('int(%s)' % str(options.style))) UnicodeEncodeError: 'ascii' codec can't encode character u'\u22a2' in position 2: ordinal not in range(128) $> locale LANG= LC_CTYPE=de_DE.ISO8859-15 LC_COLLATE=de_DE.ISO8859-15 LC_TIME=de_DE.ISO8859-15 LC_NUMERIC=en_US.ISO8859-15 LC_MONETARY=de_DE.ISO8859-15 LC_MESSAGES=en_US.ISO8859-15 LC_ALL= $> ./porttree.py -r /usr/ports/mail/postfix Traceback (most recent call last): File "./porttree.py", line 181, in <module> print Net(port_tree).show(port_dir, style=eval('int(%s)' % str(options.style))) File "/usr/local/lib/python2.7/encodings/iso8859_15.py", line 12, in encode return codecs.charmap_encode(input,errors,encoding_table) UnicodeEncodeError: 'charmap' codec can't encode character u'\u250c' in position 2: character maps to <undefined> $> pkg_info -qox py math/py-networkx textproc/py-pygments devel/py-setuptools devel/py-subversion lang/python27
Yes, you are right. There is an issue with coding. Currently it works only with utf-8. I run it in gterm with UTF-8 encoding. Even pipe breaks the program in default style. This is connected to the way how Python 2.* treats strings and unicode strings. but have not yet found a good solution. A workaround is to use -s 0 for ASCII-only chars for drawing the tree. See also http://code.google.com/p/porttree/issues/detail?id=1 -- Vladimir Chukharev Tampere University of Technology
The new version of the porttree port. Please disregard the old version. The new version outputs utf-8 chars and does not break on a terminal with non-utf-8 encoding. If the terminal has pseudo graphics, iconv can be used to convert to the right encoding. ISO-8859-* do not have, the only way is to use style 0 (-s 0) to draw with +, | and `. See man for examples. Many new features are added. --- porttree-0.2.r20.shar begins here --- # This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # porttree # porttree/pkg-descr # porttree/distinfo # porttree/Makefile # echo c - porttree mkdir -p porttree > /dev/null 2>&1 echo x - porttree/pkg-descr sed 's/^X//' >porttree/pkg-descr << '602a5ff264d0d3f6c041a303b573ce36' XFor a given port determine its dependences using any combination of the FETCH_, XEXTRACT_, PATCH_, BUILD_, LIB_, and RUN_DEPENDS and show them as a pseudo Xgraphical tree. Use back references for cross-connections. 602a5ff264d0d3f6c041a303b573ce36 echo x - porttree/distinfo sed 's/^X//' >porttree/distinfo << '5b512887ac4c012b571d94007fa4865c' XSHA256 (porttree-0.2.r20.tar.bz2) = ebb32cd9283aa74683cb612b464b2b1426481e65e9264a04c82d2b92cd180503 XSIZE (porttree-0.2.r20.tar.bz2) = 8724 5b512887ac4c012b571d94007fa4865c echo x - porttree/Makefile sed 's/^X//' >porttree/Makefile << 'a45043e9afed212b53be44b69cd3aeb8' X# New ports collection makefile for: porttree X# Date created: 18 Aug 2011 X# Whom: Vladimir Chukharev X# X# $FreeBSD$ X# X XPORTNAME= porttree XPORTVERSION= 0.2.r${SVN_REV} XCATEGORIES= ports-mgmt python XMASTER_SITES= ${MASTER_SITE_GOOGLE_CODE} X XMAINTAINER= Vladimir.Chukharev@gmail.com XCOMMENT= Show dependences of FreeBSD port as pseudo graphical tree X XLICENSE= MIT X XMAN1= porttree.1 XUSE_BZIP2= yes X#USE_PYTHON= 2.4+ X XOPTIONS= GENDIST "Support generating distfile from SVN" Off X X.include <bsd.port.options.mk> X XRUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}networkx>=1.5:${PORTSDIR}/math/py-networkx X X.if defined(WITH_GENDIST) XFETCH_DEPENDS+= svn:${PORTSDIR}/devel/subversion X.endif X XSVNROOT?= http://porttree.googlecode.com/svn/trunk/ XSVN_REV= 20 XNO_BUILD= yes XNO_INSTALL= yes XPLIST_FILES= bin/porttree X X.include <bsd.port.pre.mk> Xdo-install: X ${INSTALL_SCRIPT} ${WRKSRC}/src/porttree.py ${PREFIX}/bin/porttree X ${INSTALL_MAN} ${WRKSRC}/src/porttree.1 ${MAN8PREFIX}/man/man1 Xgen-dist: X ${MKDIR} ${WRKDIR} X ${RM} -rf ${WRKSRC} X svn export -r ${SVN_REV} ${SVNROOT} ${WRKSRC} X ${TAR} -cvy -C ${WRKDIR} --exclude FreeBSDport -f ${DISTDIR}/${DISTNAME}.tar.bz2 ${DISTNAME} X.include <bsd.port.post.mk> a45043e9afed212b53be44b69cd3aeb8 exit --- porttree-0.2.r20.shar ends here --- -- Vladimir Chukharev Tampere University of Technology
Responsible Changed From-To: freebsd-ports-bugs->ohauer I'll take it.
ohauer 2011-11-06 17:15:50 UTC FreeBSD ports repository Modified files: ports-mgmt Makefile Added files: ports-mgmt/porttree Makefile distinfo pkg-descr Log: For a given port determine its dependences using any combination of the - FETCH_DEPENDS - EXTRACT_DEPENDS - PATCH_DEPENDS - LIB_DEPENDS - BUILD_DEPENDS - RUN_DEPENDS and show them as a pseudo graphical tree. Use back references for cross-connections. WWW: http://code.google.com/p/porttree/ PR: ports/160007 Submitted by: Vladimir Chukharev Revision Changes Path 1.46 +1 -0 ports/ports-mgmt/Makefile 1.1 +44 -0 ports/ports-mgmt/porttree/Makefile (new) 1.1 +2 -0 ports/ports-mgmt/porttree/distinfo (new) 1.1 +12 -0 ports/ports-mgmt/porttree/pkg-descr (new) _______________________________________________ cvs-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/cvs-all To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
State Changed From-To: open->closed Committed with minor changes, Thanks!