From b2737501ffef4a2c9bf8435e6557a0b4081d41b4 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Mon, 23 Oct 2017 02:25:06 +0100 Subject: [PATCH] Always use absolute path when deleting a file Signed-off-by: Michael Tremer --- src/buildservice/__init__.py | 3 --- src/buildservice/jobs.py | 2 +- src/buildservice/packages.py | 2 +- 3 files changed, 2 insertions(+), 5 deletions(-) diff --git a/src/buildservice/__init__.py b/src/buildservice/__init__.py index 8c21cab..a9ee56e 100644 --- a/src/buildservice/__init__.py +++ b/src/buildservice/__init__.py @@ -140,9 +140,6 @@ class Backend(object): for row in query: path = row.path - if not path.startswith("/"): - path = os.path.join(PACKAGES_DIR, path) - if not path or not paths.startswith("%s/" % PAKFIRE_DIR): log.warning("Cannot delete file outside of the tree") continue diff --git a/src/buildservice/jobs.py b/src/buildservice/jobs.py index cd5958b..2a3b493 100644 --- a/src/buildservice/jobs.py +++ b/src/buildservice/jobs.py @@ -236,7 +236,7 @@ class Job(base.DataObject): # Remove all logfiles for logfile in self.logfiles: - self.db.execute("INSERT INTO queue_delete(path) VALUES(%s)", logfile.path) + self.backend.delete_file(os.path.join(PACKAGES_DIR, logfile.path)) self.db.execute("DELETE FROM logfiles WHERE job_id = %s", self.id) diff --git a/src/buildservice/packages.py b/src/buildservice/packages.py index b130616..1e3ef39 100644 --- a/src/buildservice/packages.py +++ b/src/buildservice/packages.py @@ -211,7 +211,7 @@ class Package(base.DataObject): return pakfire.util.version_compare(self.backend, self.friendly_name, other.friendly_name) < 0 def delete(self): - self.db.execute("INSERT INTO queue_delete(path) VALUES(%s)", self.path) + self.backend.delete_file(os.path.join(PACKAGES_DIR, self.path)) # Delete all files from the filelist. self.db.execute("DELETE FROM filelists WHERE pkg_id = %s", self.id) -- 2.39.2