]> git.decadent.org.uk Git - dak.git/blobdiff - daklib/contents.py
Allow to specify a custom unpack directory in UnpackedSource class
[dak.git] / daklib / contents.py
index aedeb83dff5d529ad0bcf5ee417147841ecd77f2..e5abcac61a916d13d15b9ed7c339ffc539d3a504 100644 (file)
@@ -301,7 +301,7 @@ class ContentsWriter(object):
         if len(component_names) > 0:
             component_query = component_query.filter(Component.component_name.in_(component_names))
         if not force:
-            suite_query = suite_query.filter_by(untouchable = False)
+            suite_query = suite_query.filter(Suite.untouchable == False)
         deb_id = get_override_type('deb', session).overridetype_id
         udeb_id = get_override_type('udeb', session).overridetype_id
         pool = Pool()
@@ -394,11 +394,12 @@ class UnpackedSource(object):
     UnpackedSource extracts a source package into a temporary location and
     gives you some convinient function for accessing it.
     '''
-    def __init__(self, dscfilename):
+    def __init__(self, dscfilename, tmpbasedir=None):
         '''
         The dscfilename is a name of a DSC file that will be extracted.
         '''
-        temp_directory = mkdtemp(dir = Config()['Dir::TempPath'])
+        basedir = tmpbasedir if tmpbasedir else Config()['Dir::TempPath']
+        temp_directory = mkdtemp(dir = basedir)
         self.root_directory = os.path.join(temp_directory, 'root')
         command = ('dpkg-source', '--no-copy', '--no-check', '-q', '-x',
             dscfilename, self.root_directory)