[openwrt/openwrt] scripts/dl_cleanup: add support for subdirectories
LEDE Commits
lede-commits at lists.infradead.org
Thu Sep 22 13:50:46 PDT 2022
ansuel pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/da4609788ddd559d4847662231cded2ecac16549
commit da4609788ddd559d4847662231cded2ecac16549
Author: Michael Pratt <mcpratt at pm.me>
AuthorDate: Mon Sep 19 16:39:34 2022 -0400
scripts/dl_cleanup: add support for subdirectories
Allow comparing subdirectories exactly like files.
Handle a corner case where the new subdirectory
has the same tarball inside of it
as the one that was downloaded
before a subdirectory for that package was established.
Signed-off-by: Michael Pratt <mcpratt at pm.me>
---
scripts/dl_cleanup.py | 27 ++++++++++++++++++---------
1 file changed, 18 insertions(+), 9 deletions(-)
diff --git a/scripts/dl_cleanup.py b/scripts/dl_cleanup.py
index f7232b78c9..b15a9bb1a7 100755
--- a/scripts/dl_cleanup.py
+++ b/scripts/dl_cleanup.py
@@ -149,15 +149,18 @@ class Entry:
self.fileext = ""
self.filenoext = ""
- for ext in extensions:
- if filename.endswith(ext):
- filename = filename[0 : 0 - len(ext)]
- self.filenoext = filename
- self.fileext = ext
- break
+ if os.path.isdir(self.getPath()):
+ self.filenoext = filename
else:
- print(self.filename, "has an unknown file-extension")
- raise EntryParseError("ext")
+ for ext in extensions:
+ if filename.endswith(ext):
+ filename = filename[0 : 0 - len(ext)]
+ self.filenoext = filename
+ self.fileext = ext
+ break
+ else:
+ print(self.filename, "has an unknown file-extension")
+ raise EntryParseError("ext")
for (regex, parseVersion) in versionRegex:
match = regex.match(filename)
if match:
@@ -184,7 +187,10 @@ class Entry:
path = self.getPath()
print("Deleting", path)
if not opt_dryrun:
- os.unlink(path)
+ if os.path.isdir(path):
+ shutil.rmtree(path)
+ else:
+ os.unlink(path)
def deleteBuildDir(self):
paths = self.getBuildPaths()
@@ -301,6 +307,9 @@ def main(argv):
lastVersion = None
versions = progmap[prog]
for version in versions:
+ if lastVersion:
+ if os.path.isdir(lastVersion.getPath()) and not os.path.isdir(version.getPath()):
+ continue
if lastVersion is None or version >= lastVersion:
lastVersion = version
if lastVersion:
More information about the lede-commits
mailing list