Lines 5574-5579
Link Here
|
5574 |
self.updateprotect = protect_obj.updateprotect |
5574 |
self.updateprotect = protect_obj.updateprotect |
5575 |
self.isprotected = protect_obj.isprotected |
5575 |
self.isprotected = protect_obj.isprotected |
5576 |
self.contentscache=[] |
5576 |
self.contentscache=[] |
|
|
5577 |
self._contents_inodes = None |
5577 |
|
5578 |
|
5578 |
def lockdb(self): |
5579 |
def lockdb(self): |
5579 |
if self.lock_num == 0: |
5580 |
if self.lock_num == 0: |
Lines 5855-5865
Link Here
|
5855 |
(for this or a previous version)""" |
5856 |
(for this or a previous version)""" |
5856 |
destfile = normalize_path( |
5857 |
destfile = normalize_path( |
5857 |
os.path.join(destroot, filename.lstrip(os.path.sep))) |
5858 |
os.path.join(destroot, filename.lstrip(os.path.sep))) |
5858 |
if not os.path.exists(destfile): |
5859 |
try: |
|
|
5860 |
mylstat = os.lstat(destfile) |
5861 |
except OSError: |
5859 |
return True |
5862 |
return True |
|
|
5863 |
|
5860 |
pkgfiles = self.getcontents() |
5864 |
pkgfiles = self.getcontents() |
5861 |
if pkgfiles and filename in pkgfiles: |
5865 |
if pkgfiles and filename in pkgfiles: |
5862 |
return True |
5866 |
return True |
|
|
5867 |
if pkgfiles: |
5868 |
if self._contents_inodes is None: |
5869 |
self._contents_inodes = set() |
5870 |
for x in pkgfiles: |
5871 |
try: |
5872 |
lstat = os.lstat(x) |
5873 |
self._contents_inodes.add((lstat.st_dev, lstat.st_ino)) |
5874 |
except OSError: |
5875 |
pass |
5876 |
if (mylstat.st_dev, mylstat.st_ino) in self._contents_inodes: |
5877 |
return True |
5863 |
|
5878 |
|
5864 |
return False |
5879 |
return False |
5865 |
|
5880 |
|