mirror of
https://git.launchpad.net/ubuntu-dev-tools
synced 2025-03-13 08:01:09 +00:00
pullpkg: unpack downloaded src from upload queue
This commit is contained in:
parent
d05e023dfe
commit
20261960f6
@ -26,6 +26,7 @@ import os
|
|||||||
import re
|
import re
|
||||||
import sys
|
import sys
|
||||||
import errno
|
import errno
|
||||||
|
import subprocess
|
||||||
|
|
||||||
from argparse import ArgumentParser
|
from argparse import ArgumentParser
|
||||||
|
|
||||||
@ -401,7 +402,9 @@ class PullPkg(object):
|
|||||||
|
|
||||||
if options['upload_queue']:
|
if options['upload_queue']:
|
||||||
# upload queue API is different/simpler
|
# upload queue API is different/simpler
|
||||||
self.pull_upload_queue(pull, arch=options['arch'], **params)
|
self.pull_upload_queue(pull, arch=options['arch'],
|
||||||
|
download_only=options['download_only'],
|
||||||
|
**params)
|
||||||
return
|
return
|
||||||
|
|
||||||
# call implementation, and allow exceptions to flow up to caller
|
# call implementation, and allow exceptions to flow up to caller
|
||||||
@ -559,8 +562,23 @@ class PullPkg(object):
|
|||||||
urls |= set(p.sourceFileUrls())
|
urls |= set(p.sourceFileUrls())
|
||||||
if not urls:
|
if not urls:
|
||||||
Logger.error("No source files to download")
|
Logger.error("No source files to download")
|
||||||
|
dscfile = None
|
||||||
for url in urls:
|
for url in urls:
|
||||||
download(url, os.getcwd())
|
dst = download(url, os.getcwd())
|
||||||
|
if dst.name.endswith('.dsc'):
|
||||||
|
dscfile = dst
|
||||||
|
if params['download_only']:
|
||||||
|
Logger.debug("--download-only specified, not extracting")
|
||||||
|
elif not dscfile:
|
||||||
|
Logger.error("No source dsc file found, cannot extract")
|
||||||
|
else:
|
||||||
|
cmd = ['dpkg-source', '-x', dscfile.name]
|
||||||
|
Logger.debug(' '.join(cmd))
|
||||||
|
result = subprocess.run(cmd, encoding='utf-8',
|
||||||
|
stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
|
||||||
|
if result.returncode != 0:
|
||||||
|
Logger.error('Source unpack failed.')
|
||||||
|
Logger.debug(result.stdout)
|
||||||
else:
|
else:
|
||||||
name = '.*'
|
name = '.*'
|
||||||
if pull == PULL_DEBS:
|
if pull == PULL_DEBS:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user