--- portage.py.orig 2004-11-04 23:24:11.587502942 +0200 +++ portage.py 2004-11-04 23:21:59.298265287 +0200 @@ -1523,6 +1523,12 @@ if listonly or ("distlocks" not in features): use_locks = 0 + + if ("skiprocheck" in features) and use_locks: + print "!!! disabling locking for fetching to readonly filesystem" + print "!!! you can get rid of this warning by adding -distlocks to FEATURES" + use_locks = 0 + # local mirrors are always added if custommirrors.has_key("local"): @@ -1644,8 +1650,9 @@ del missingSourceHost can_fetch=True - if not os.access(mysettings["DISTDIR"]+"/",os.W_OK): + if ("skiprocheck" not in features) and (not os.access(mysettings["DISTDIR"]+"/",os.W_OK)): print "!!! No write access to %s" % mysettings["DISTDIR"]+"/" + print "!!! You can disable this check by adding skiprocheck to FEATURES" can_fetch=False else: mystat=os.stat(mysettings["DISTDIR"]+"/") @@ -1785,7 +1792,7 @@ myret=spawn(myfetch,mysettings,free=1) finally: #if root, -always- set the perms. - if os.path.exists(mysettings["DISTDIR"]+"/"+myfile) and (fetched != 1 or os.getuid() == 0): + if os.path.exists(mysettings["DISTDIR"]+"/"+myfile) and (fetched != 1 or os.getuid() == 0) and os.access(mysettings["DISTDIR"]+"/"+locks_in_subdir,os.W_OK): if os.stat(mysettings["DISTDIR"]+"/"+myfile).st_gid != portage_gid: try: os.chown(mysettings["DISTDIR"]+"/"+myfile,-1,portage_gid)