Phil Dawson pushed to branch aevri/rm-exitstack at BuildStream / buildstream
Commits:
-
b74aca1a
by Jürg Billeter at 2018-10-23T09:22:19Z
-
c7dda150
by Jürg Billeter at 2018-10-23T09:48:00Z
-
74c115b9
by Angelos Evripiotis at 2018-10-23T10:07:31Z
3 changed files:
- buildstream/plugins/sources/deb.py
- buildstream/plugins/sources/tar.py
- tests/testutils/artifactshare.py
Changes:
| ... | ... | @@ -50,7 +50,7 @@ deb - stage files from .deb packages |
| 50 | 50 |
"""
|
| 51 | 51 |
|
| 52 | 52 |
import tarfile
|
| 53 |
-from contextlib import contextmanager, ExitStack
|
|
| 53 |
+from contextlib import contextmanager
|
|
| 54 | 54 |
import arpy # pylint: disable=import-error
|
| 55 | 55 |
|
| 56 | 56 |
from .tar import TarSource
|
| ... | ... | @@ -69,8 +69,7 @@ class DebSource(TarSource): |
| 69 | 69 |
|
| 70 | 70 |
@contextmanager
|
| 71 | 71 |
def _get_tar(self):
|
| 72 |
- with ExitStack() as context:
|
|
| 73 |
- deb_file = context.enter_context(open(self._get_mirror_file(), 'rb'))
|
|
| 72 |
+ with open(self._get_mirror_file(), 'rb') as deb_file:
|
|
| 74 | 73 |
arpy_archive = arpy.Archive(fileobj=deb_file)
|
| 75 | 74 |
arpy_archive.read_all_headers()
|
| 76 | 75 |
data_tar_arpy = [v for k, v in arpy_archive.archived_files.items() if b"data.tar" in k][0]
|
| ... | ... | @@ -57,7 +57,7 @@ tar - stage files from tar archives |
| 57 | 57 |
|
| 58 | 58 |
import os
|
| 59 | 59 |
import tarfile
|
| 60 |
-from contextlib import contextmanager, ExitStack
|
|
| 60 |
+from contextlib import contextmanager
|
|
| 61 | 61 |
from tempfile import TemporaryFile
|
| 62 | 62 |
|
| 63 | 63 |
from buildstream import SourceError
|
| ... | ... | @@ -88,8 +88,7 @@ class TarSource(DownloadableFileSource): |
| 88 | 88 |
def _run_lzip(self):
|
| 89 | 89 |
assert self.host_lzip
|
| 90 | 90 |
with TemporaryFile() as lzip_stdout:
|
| 91 |
- with ExitStack() as context:
|
|
| 92 |
- lzip_file = context.enter_context(open(self._get_mirror_file(), 'r'))
|
|
| 91 |
+ with open(self._get_mirror_file(), 'r') as lzip_file:
|
|
| 93 | 92 |
self.call([self.host_lzip, '-d'],
|
| 94 | 93 |
stdin=lzip_file,
|
| 95 | 94 |
stdout=lzip_stdout)
|
| ... | ... | @@ -122,9 +122,8 @@ class ArtifactShare(): |
| 122 | 122 |
# same algo for creating an artifact reference
|
| 123 | 123 |
#
|
| 124 | 124 |
|
| 125 |
- # Chop off the .bst suffix first
|
|
| 126 |
- assert element_name.endswith('.bst')
|
|
| 127 |
- element_name = element_name[:-4]
|
|
| 125 |
+ # Replace path separator and chop off the .bst suffix
|
|
| 126 |
+ element_name = os.path.splitext(element_name.replace(os.sep, '-'))[0]
|
|
| 128 | 127 |
|
| 129 | 128 |
valid_chars = string.digits + string.ascii_letters + '-._'
|
| 130 | 129 |
element_name = ''.join([
|
