diff options
author | Johannes Berg <johannes.berg@intel.com> | 2017-02-06 17:23:05 +0100 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2017-02-07 07:33:08 +0100 |
commit | 82a6b6614f7269d1e973eccfdb2cbab03beaeb2b (patch) | |
tree | 999f344c438f4b28de78380fa919e29901e1ef14 /devel | |
parent | 3532080405eb22c4b6fdab29e5d268bbe40198e3 (diff) |
backports-update-manager: install kernels one by one
That way, the user at least has some feedback that something
is happening. Also add the missing try/finally so that the
temporary directory is cleaned up.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'devel')
-rwxr-xr-x | devel/backports-update-manager | 33 |
1 files changed, 18 insertions, 15 deletions
diff --git a/devel/backports-update-manager b/devel/backports-update-manager index 982913ec..74c022d9 100755 --- a/devel/backports-update-manager +++ b/devel/backports-update-manager @@ -479,22 +479,25 @@ class backport_kernel_updater: self.fix_header_lib_modules(d_lib_modules) def extract_backport_pkgs(self): tmp_prefix = BACKPORTS_KSRC_DIR + '_' - tmpdir_path = tempfile.mkdtemp(prefix=tmp_prefix) for url in self.all_kernel_urls: - kver = self.get_kver(url) - dir_target = os.path.join(self.ksrc_prefix, "debs") - target = os.path.join(dir_target, url.split('/')[-1]) - if not self.is_new_kernel(url): - sys.stdout.write("%s - already installed %s ...\n" % (kver.get('ver'), target)) - continue - sys.stdout.write("%s - extracting new %s ...\n" % (kver.get('ver'), target)) - data, dpath = tempfile.mkstemp(prefix=tmp_prefix) - ar.print_data(target, data) - tar = tarfile.open(name=dpath, mode='r') - tar.extractall(path=tmpdir_path, members=bk_tar_members(tar)) - os.unlink(dpath) - self.sanitize_and_install_kernel_dirs(tmpdir_path) - self.rm_clean_dir(tmpdir_path) + tmpdir_path = tempfile.mkdtemp(prefix=tmp_prefix) + try: + kver = self.get_kver(url) + dir_target = os.path.join(self.ksrc_prefix, "debs") + target = os.path.join(dir_target, url.split('/')[-1]) + if not self.is_new_kernel(url): + sys.stdout.write("%s - already installed %s ...\n" % (kver.get('ver'), target)) + continue + sys.stdout.write("%s - extracting new %s ...\n" % (kver.get('ver'), target)) + data, dpath = tempfile.mkstemp(prefix=tmp_prefix) + ar.print_data(target, data) + tar = tarfile.open(name=dpath, mode='r') + tar.extractall(path=tmpdir_path, members=bk_tar_members(tar)) + os.unlink(dpath) + + self.sanitize_and_install_kernel_dirs(tmpdir_path) + finally: + self.rm_clean_dir(tmpdir_path) def rebuild_needed(self, kdir): if '-generic' not in kdir: return False |