Summary: | Can't use emerge from nfs-mounted /usr/portage | ||
---|---|---|---|
Product: | Portage Development | Reporter: | walt <wsheets> |
Component: | Core | Assignee: | Portage team <dev-portage> |
Status: | RESOLVED CANTFIX | ||
Severity: | blocker | ||
Priority: | High | ||
Version: | unspecified | ||
Hardware: | x86 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
walt
2004-10-21 11:52:53 UTC
Define it as a local repository. NFS locks exist to allow concurrent access. You could try symlinking .locks to /dev/shm. You could also mount read/write. You could also disable distlocks. Sounds like disabling distlocks is what I really prefer, but would you explain your first option: define it as a local repository how/where? Thanks! Disabling distlocks did what I wanted. But because FEATURES is an incremental variable I had to edit make.globals to do it. Would be nice instead to be able to put FEATURES="nodistlocks" in make.conf. Yes, it's hardly urgent, and you have more important things to do. Anyway, thanks for the hints. You have that ability already because, as you said already, FEATURES is incremental - just like USE is incremental. Try adding FEATURES="-distlocks" to make.conf. Looking at the code, portage should have known that $DISTDIR was readonly. Can you check what the output of the following command is please? # python -c 'import os; print os.access("/usr/portage/distfiles/",os.W_OK)' 'InCVS' was added by mistake.. Also encountered problem when using a remote mounted portage/distfiles Portage tries to set permissions of files to root & cannot Via email from wsheets@sbcglobal.net: # python -c 'import os; print os.access("/usr/portage/distfiles/",os.W_OK)' The answer is 'True', which is *wrong*. Via email from wsheets@sbcglobal.net: # python -c 'import os; print os.access("/usr/portage/distfiles/",os.W_OK)' The answer is 'True', which is *wrong*. Here is what mount says: k2:/ on /mnt/nfs type nfs (rw,addr=192.168.0.6,addr=192.168.0.6) and yet when I try to write to anywhere on the mounted fs I get a 'read-only fs' error. So why is 'mount' falsely telling me that the fs is rw? Dunno. I intentionally export that fs as read-only (which it actually is, despite what 'mount' says. Can you think of any tests I can do to solve this riddle? Hm. I dunno whether I should feel stupid, or be annoyed: When I add the '-o ro' flag to the 'mount' command then everything works as it should. 'mount' then reports that the nfs-mounted directory is ro, and emerge just prints a harmless warning that there is no write access. Never occured to me that 'mount' couldn't figure out for itself that the fs was read-only. Is 'mount' being buggy, or am I being too picky? The problem could be that the kernel has no way to check if the NFS filesystem is read-only other than actually performing a write operation which you likely don't want to happen at mount time. |