[dak/master 2/3] Use UnpackedSource in make-changelog.
Signed-off-by: Torsten Werner <twerner@debian.org>
---
dak/make_changelog.py | 16 ++++++----------
1 files changed, 6 insertions(+), 10 deletions(-)
diff --git a/dak/make_changelog.py b/dak/make_changelog.py
index 0a76bcc..f55f1dd 100755
--- a/dak/make_changelog.py
+++ b/dak/make_changelog.py
@@ -52,12 +52,12 @@ Generate changelog entry between two suites
import os
import sys
import apt_pkg
-from commands import getstatusoutput
from glob import glob
from shutil import rmtree
from daklib.dbconn import *
from daklib import utils
from daklib.config import Config
+from daklib.contents import UnpackedSource
from daklib.regexes import re_no_epoch
################################################################################
@@ -202,14 +202,11 @@ def export_files(session, pool, clpool, temppath):
pass
os.link(os.path.join(path, file), os.path.join(path, link))
- tempdir = utils.temp_dirname(parent=temppath)
- os.rmdir(tempdir)
-
for p in unpack.keys():
package = os.path.splitext(os.path.basename(p))[0].split('_')
- cmd = 'dpkg-source --no-check --no-copy -x %s %s' % (p, tempdir)
- (result, output) = getstatusoutput(cmd)
- if not result:
+ try:
+ unpacked = UnpackedSource(p)
+ tempdir = unpacked.get_root_directory()
stats['unpack'] += 1
for file in files:
for f in glob(os.path.join(tempdir, 'debian', '*%s' % file)):
@@ -227,13 +224,12 @@ def export_files(session, pool, clpool, temppath):
pass
os.link(version, suite)
stats['created'] += 1
- else:
+ unpacked.cleanup()
+ except:
print 'make-changelog: unable to unpack %s_%s: %s' \
% (package[0], package[1], output)
stats['errors'] += 1
- rmtree(tempdir)
-
for root, dirs, files in os.walk(clpool):
if len(files):
if root.split('/')[-1] not in sources.keys():
--
1.7.2.5
Reply to: