Date: Sat, 13 Apr 2013 10:58:56 -0700 From: Jason Helfman <jgh@FreeBSD.org> To: Ruslan Mahmatkhanov <cvs-src@yandex.ru> Cc: Volodymyr Kostyrko <c.kworr@gmail.com>, freebsd-python@freebsd.org Subject: Re: py-distribute update leftover Message-ID: <CAMuy=%2BjNBTnDk7-NRpo_g=LXyi4oAmyz4zUumrbMJcRgNaSQ=g@mail.gmail.com> In-Reply-To: <506C2B80.70204@yandex.ru> References: <506C1F7F.9020405@gmail.com> <506C2B80.70204@yandex.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Oct 3, 2012 at 5:11 AM, Ruslan Mahmatkhanov <cvs-src@yandex.ru>wrote: > Hello, > > Volodymyr Kostyrko wrote on 03.10.2012 15:20: > > Hello. >> >> Recent py-ditribute update doesn't update easy_install.pth on python2.7: >> >> ===>>> The following actions were performed: >> Re-installation of py27-distribute-0.6.28 >> >> # cd /usr/local/lib/python2.7/site-**packages/ >> # cat easy-install.pth >> import sys; sys.__plen = len(sys.path) >> ./distribute-0.6.27-py2.7.egg >> ./Pyrseas-0.5.0-py2.7.egg >> ./Babel-0.9.6-py2.7.egg >> ./Genshi-0.6-py2.7.egg >> ./Pygments-1.5-py2.7.egg >> ./Trac-0.12.3-py2.7.egg >> ./hg_git-0.3.3-py2.7.egg >> ./graphviz-0.7.4-py2.7.egg >> ./TracTocMacro-11.0.0.3-py2.7.**egg >> ./pytz-2012f-py2.7.egg >> import sys; new=sys.path[sys.__plen:]; del sys.path[sys.__plen:]; >> p=getattr(sys,'__egginsert',0)**; sys.path[p:p]=new; sys.__egginsert = >> p+len(new) >> >> And a new file was created: >> >> # cat easy-install.pth.dist >> import sys; sys.__plen = len(sys.path) >> ./distribute-0.6.28-py2.7.egg >> import sys; new=sys.path[sys.__plen:]; del sys.path[sys.__plen:]; >> p=getattr(sys,'__egginsert',0)**; sys.path[p:p]=new; sys.__egginsert = >> p+len(new) >> > > It's in pkg-plist logic: > """ > %%PYTHON_SITELIBDIR%%/easy-**install.pth.dist > @exec if [ ! -f %B/easy-install.pth ]; then cp %B/%f %B/easy-install.pth; > fi > """ > > easy-install.pth.dist is always installed, and it will be only copied to > easy-install.pth if there is no one already. > > What about easy-install.pth contents is not updated - I need an testing > environment. Would you describe the steps you did to stick with distribute > instead of setuptools and I'll try to reproduce? > > -- > Regards, > Ruslan In porting a new application, I found the logic in the pkg-plist, after investigation with a fellow developer (db@) to potentially not be the best path. The application I ported updates easy-install.pth, as I assume other py- packages do, much like installing openjdk6 would register the jvm. So this file will always differ, and never be removed. @unexec if cmp -s %B/easy-install.pth %B/easy-install.pth.dist; then rm %B/easy-install.pth; fi Unless, of course, on de-installation if the egg would be de-registered from easy-install.pth through the Mk framework. On a clean system, all packages would register, and then de-register on de-installation and then the file would be safely removed. https://redports.org/buildarchive/20130412222501-42749/ I would appreciate any feedback. Thanks! -jgh -- Jason Helfman | FreeBSD Committer jgh@FreeBSD.org | http://people.freebsd.org/~jgh | The Power to Serve
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAMuy=%2BjNBTnDk7-NRpo_g=LXyi4oAmyz4zUumrbMJcRgNaSQ=g>