X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=daklib%2Ffilewriter.py;h=b44fc2a5775c0fac1e21cb56af3585c6691a31ab;hb=3f76f67b9d9bf590e2b3d0aac5d015b8d52a6149;hp=714531afe4b1a4163f120b81743dd29f91cfa097;hpb=9b218664cdb36874fb393a00e4a37f50aed3d7e3;p=dak.git diff --git a/daklib/filewriter.py b/daklib/filewriter.py index 714531af..b44fc2a5 100755 --- a/daklib/filewriter.py +++ b/daklib/filewriter.py @@ -54,6 +54,11 @@ class BaseFileWriter(object): ''' Returns a file object for writing. ''' + # create missing directories + try: + os.makedirs(os.path.dirname(self.path)) + except: + pass self.file = open(self.path + '.new', 'w') return self.file @@ -69,11 +74,11 @@ class BaseFileWriter(object): ''' self.file.close() if self.gzip: - check_call('gzip --rsyncable <%s.new >%s.gz.new' % (self.path, self.path), + check_call('gzip -9cn --rsyncable <%s.new >%s.gz.new' % (self.path, self.path), shell = True) self.rename('%s.gz' % self.path) if self.bzip2: - check_call('bzip2 <%s.new >%s.bz2.new' % (self.path, self.path), shell = True) + check_call('bzip2 -9 <%s.new >%s.bz2.new' % (self.path, self.path), shell = True) self.rename('%s.bz2' % self.path) if self.uncompressed: self.rename(self.path) @@ -93,10 +98,10 @@ class BinaryContentsFileWriter(BaseFileWriter): 'bzip2': False } flags.update(keywords) - if 'component' in flags: + if flags['debtype'] == 'deb': template = "dists/%(suite)s/%(component)s/Contents-%(architecture)s" - else: - template = "dists/%(suite)s/Contents-%(architecture)s" + else: # udeb + template = "dists/%(suite)s/%(component)s/Contents-udeb-%(architecture)s" BaseFileWriter.__init__(self, template, **flags) class SourceContentsFileWriter(BaseFileWriter):