Summary: | sys-apps/portage-2.1_pre7-r5 does not work with PORTAGE_TMPDIR set to anything but /var/tmp | ||
---|---|---|---|
Product: | Portage Development | Reporter: | Thomas Raschbacher <lordvan> |
Component: | Core | Assignee: | Portage team <dev-portage> |
Status: | RESOLVED FIXED | ||
Severity: | major | Keywords: | InVCS, REGRESSION |
Priority: | High | ||
Version: | 2.1 | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 115839 |
Description
Thomas Raschbacher
2006-04-18 11:52:48 UTC
(In reply to comment #0) > File "/usr/lib/portage/pym/portage.py", line 2529, in prepare_build_dirs > shutil.rmtree(clean_dir) > File "/usr/lib/python2.4/shutil.py", line 172, in rmtree > onerror(os.rmdir, path, sys.exc_info()) > File "/usr/lib/python2.4/shutil.py", line 170, in rmtree > os.rmdir(path) > OSError: [Errno 20] Not a directory: '/mnt/space/Portage/tmp/portage/homedir' From the exception, it looks like '/mnt/space/Portage/tmp/portage/homedir' exists but isn't a directory. That seems like an odd case (it should work if you remove that file). Anyway, I'll fix it so that exception is handled properly... actually that is a directory (it is used by the older portage version i'm currently using) for some reason it dosn't think it is a directory in the latest one. (unfortunately i didn't have time yet to look at that code and it's been a while since I read portage.py anyway ;)) actually I just noticed that in fact homedir is NOT a directory but a symlink to a directory. IMHO portage should check if it is a symlink and if so check if the target is a directory. (In reply to comment #3) > actually I just noticed that in fact homedir is NOT a directory but a symlink > to a directory. IMHO portage should check if it is a symlink and if so check if > the target is a directory. Well, portage was trying to recursively remove the directory in order to ensure a clean state. Why do you have a symlink there? I'd like to move homedir one level deeper, into $PORTAGE_BUILDDIR, so that each build gets it's own unique homedir. (In reply to comment #4) > I'd like to move homedir one level deeper, into $PORTAGE_BUILDDIR, so that each > build gets it's own unique homedir. I went ahead and moved it to $PORTAGE_BUILDDIR/homedir in svn r3330 so now you now you can do whatever you like with $PORTAGE_TMPDIR/portage/homedir because it's no longer used by portage. :) This has been release in 2.1_pre10-r4. |