The first output is from elementtree-1.2.6-r2, which uses setuptools. The second is from elementtree-1.2.6-r1 which does not use setuptools. (Upgrade fails with portage traceback because of this whacky behaviour but that's a separate bug.) /var/tmp/portage/dev-python/elementtree-1.2.6-r2/image/ `-- usr |-- lib | `-- python2.5 | `-- site-packages | |-- elementtree | | |-- ElementInclude.py | | |-- ElementPath.py | | |-- ElementTree.py | | |-- HTMLTreeBuilder.py | | |-- SgmlopXMLTreeBuilder.py | | |-- SimpleXMLTreeBuilder.py | | |-- SimpleXMLWriter.py | | |-- TidyHTMLTreeBuilder.py | | |-- TidyTools.py | | |-- XMLTreeBuilder.py | | `-- __init__.py | `-- elementtree-1.2.6_20050316-py2.5.egg-info | |-- PKG-INFO | |-- SOURCES.txt | |-- dependency_links.txt | `-- top_level.txt `-- share `-- doc `-- elementtree-1.2.6-r2 |-- CHANGES.bz2 |-- PKG-INFO.bz2 |-- README.bz2 `-- html |-- effbot.css |-- index.html |-- pythondoc-elementtree.ElementInclude.html |-- pythondoc-elementtree.ElementPath.html |-- pythondoc-elementtree.ElementTree.html |-- pythondoc-elementtree.HTMLTreeBuilder.html |-- pythondoc-elementtree.SgmlopXMLTreeBuilder.html |-- pythondoc-elementtree.SimpleXMLTreeBuilder.html |-- pythondoc-elementtree.SimpleXMLWriter.html |-- pythondoc-elementtree.TidyTools.html `-- pythondoc-elementtree.XMLTreeBuilder.html 10 directories, 29 files /var/tmp/portage/dev-python/elementtree-1.2.6-r2/image/ `-- usr |-- lib | `-- python2.5 | `-- site-packages | |-- elementtree | | |-- ElementInclude.py | | |-- ElementPath.py | | |-- ElementTree.py | | |-- HTMLTreeBuilder.py | | |-- SgmlopXMLTreeBuilder.py | | |-- SimpleXMLTreeBuilder.py | | |-- SimpleXMLWriter.py | | |-- TidyHTMLTreeBuilder.py | | |-- TidyTools.py | | |-- XMLTreeBuilder.py | | `-- __init__.py | `-- elementtree-1.2.6_20050316-py2.5.egg-info `-- share `-- doc `-- elementtree-1.2.6-r2 |-- CHANGES.bz2 |-- PKG-INFO.bz2 |-- README.bz2 `-- html |-- effbot.css |-- index.html |-- pythondoc-elementtree.ElementInclude.html |-- pythondoc-elementtree.ElementPath.html |-- pythondoc-elementtree.ElementTree.html |-- pythondoc-elementtree.HTMLTreeBuilder.html |-- pythondoc-elementtree.SgmlopXMLTreeBuilder.html |-- pythondoc-elementtree.SimpleXMLTreeBuilder.html |-- pythondoc-elementtree.SimpleXMLWriter.html |-- pythondoc-elementtree.TidyTools.html `-- pythondoc-elementtree.XMLTreeBuilder.html 9 directories, 26 files
$ cat /var/tmp/portage/dev-python/elementtree-1.2.6-r2/image/usr/lib/python2.5/site-packages/elementtree-1.2.6_20050316-py2.5.egg-info Metadata-Version: 1.0 Name: elementtree Version: 1.2.6-20050316 Summary: ElementTree - a light-weight XML object model for Python. Home-page: http://effbot.org/zone/element-index.htm Author: Fredrik Lundh Author-email: fredrik@pythonware.com License: Python (MIT style) Download-URL: http://effbot.org/downloads#elementtree Description: The Element type is a flexible container object, designed to store hierarchical data structures in memory. Element structures can be converted to and from XML. Platform: Python 1.5.2 and later. Classifier: Development Status :: 6 - Mature Classifier: Operating System :: OS Independent Classifier: Topic :: Text Processing :: Markup :: HTML Classifier: Topic :: Text Processing :: Markup :: XML
I can't reproduce this, could you paste the portage traceback, if you can get it to happen again, please? -r1 was removed from the tree a couple days ago, but it also used setuptools, so can you verify it was 1.2.6-r1 -> 1.2.6-r2 you upgraded and not 1.2.6 -> 1.2.6-r2? Thanks
To clarify, I get the file vs. directory structure, but portage doesn't complain. I tried unmerging completly, making sure site-packages/elementtree was completely gone, then emerged 1.2.6 then upgraded to 1.2.6-r2 with no problem. Were you using Paludis? I checked their faq and it definately seems to have a problem with this: """ * Non-directories on top of directories. Paludis will not let a package overwrite a directory with a non-directory. This is for your own safety. Portage doesn't bail out on this, but instead ends up partially merging content and generally making a mess of your system."""
No, I never ever used paludis... :P For steps to reproduce, just see Bug 184679 comment #0. The traceback is there as well. Reproducible on demand, just comment out the sed in src_unpack, emerge, uncomment, emerge. :)
Hey Jakub, this is fixed in the latest portage release (2.1.3_rc7) It seems this problem only happened when FEATURES='collission-protect" was enabled, so do you think we should just close this bug? I haven't come across this problem before, but I imagine the only way around it would be to block the version you're upgrading from so they are forced to un-merge first.
(In reply to comment #5) > Hey Jakub, this is fixed in the latest portage release (2.1.3_rc7) Well yeah, but don't you think that there's something fishy with dev-python/elementtree? The portage issue is a separate problem, but I don't think that you should get different results (file vs. directory plus bunch of files missing in the former case) depending on whether you use setuptools or not... :)
(In reply to comment #6) > (In reply to comment #5) > The portage issue is a separate problem, but I don't think that you should > get different results (file vs. directory plus bunch of > files missing in the former case) depending on whether you use setuptools or > not... :) > No, that's the expected behavior, strange as it is. You get either a 'flat' egg (a file) or a directory structure in depending on how its installed. We made some changes last week to the distutils eclass so we could stop sed'ing any package that used setuptools. Unfortunately turbogears has a few of its dependencies that don't use setuptools in their setup.py and it caused problems with Python 2.4 if I didn't do this after the eclass change. I actually changed confibobj and Cheetah to do this too at the same time, but no bug reports so far. Anyways, most likely this won't have to be done for anymore packages.
(In reply to comment #7) > No, that's the expected behavior, strange as it is. You get either a 'flat' egg > (a file) or a directory structure in depending on how its installed. We made > some changes last week to the distutils eclass so we could stop sed'ing any > package that used setuptools. Whacky; oh well, closing this.