[dak/master 1/5] Factor out symlink stuff from get_changelog_versions => ensure_all_source_exists
Signed-off-by: Chris Lamb <lamby@debian.org>
---
daklib/queue.py | 41 ++++++++++++++++++++++++++++-------------
1 files changed, 28 insertions(+), 13 deletions(-)
diff --git a/daklib/queue.py b/daklib/queue.py
index c30aeb0..f2cc8bd 100755
--- a/daklib/queue.py
+++ b/daklib/queue.py
@@ -1025,21 +1025,16 @@ class Upload(object):
###########################################################################
- def get_changelog_versions(self, source_dir):
- """Extracts a the source package and (optionally) grabs the
- version history out of debian/changelog for the BTS."""
-
- cnf = Config()
+ def ensure_all_source_exists(self, dest_dir=None):
+ """
+ Ensure that dest_dir contains all the orig tarballs for the specified
+ changes. If it does not, symlink them into place.
- # Find the .dsc (again)
- dsc_filename = None
- for f in self.pkg.files.keys():
- if self.pkg.files[f]["type"] == "dsc":
- dsc_filename = f
+ If dest_dir is None, populate the current directory.
+ """
- # If there isn't one, we have nothing to do. (We have reject()ed the upload already)
- if not dsc_filename:
- return
+ if dest_dir is None:
+ dest_dir = os.getcwd()
# Create a symlink mirror of the source files in our temporary directory
for f in self.pkg.files.keys():
@@ -1064,6 +1059,26 @@ class Upload(object):
dest = os.path.join(os.getcwd(), os.path.basename(orig_file))
os.symlink(self.pkg.orig_files[orig_file]["path"], dest)
+ ###########################################################################
+
+ def get_changelog_versions(self, source_dir):
+ """Extracts a the source package and (optionally) grabs the
+ version history out of debian/changelog for the BTS."""
+
+ cnf = Config()
+
+ # Find the .dsc (again)
+ dsc_filename = None
+ for f in self.pkg.files.keys():
+ if self.pkg.files[f]["type"] == "dsc":
+ dsc_filename = f
+
+ # If there isn't one, we have nothing to do. (We have reject()ed the upload already)
+ if not dsc_filename:
+ return
+
+ self.ensure_all_source_exists()
+
# Extract the source
cmd = "dpkg-source -sn -x %s" % (dsc_filename)
(result, output) = commands.getstatusoutput(cmd)
--
1.6.3.3
Reply to: