alibuild 1.17.26__py3-none-any.whl → 1.17.28__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,9 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: alibuild
3
- Version: 1.17.26
3
+ Version: 1.17.28
4
4
  Summary: ALICE Build Tool
5
+ Home-page: https://alisw.github.io/alibuild
6
+ Author: Giulio Eulisse
5
7
  Author-email: Giulio Eulisse <giulio.eulisse@cern.ch>, Timo Wilken <timo.wilken@cern.ch>, Sergio Garcia <sergio.garcia@cern.ch>
6
8
  Project-URL: homepage, https://alisw.github.io/alibuild
7
9
  Keywords: HEP,ALICE
@@ -22,6 +24,8 @@ Provides-Extra: docs
22
24
  Requires-Dist: mkdocs; extra == "docs"
23
25
  Requires-Dist: mkdocs-material; extra == "docs"
24
26
  Requires-Dist: mkdocs-redirects; extra == "docs"
27
+ Dynamic: author
28
+ Dynamic: home-page
25
29
  Dynamic: license-file
26
30
 
27
31
  .. image:: https://badge.fury.io/py/alibuild.svg
@@ -1,11 +1,11 @@
1
- alibuild-1.17.26.data/scripts/aliBuild,sha256=5g-apCjhc9cvtFvKSP0yr6IJtChNvtTAP-BtPL-91M8,4307
2
- alibuild-1.17.26.data/scripts/aliDeps,sha256=fhfPB2NpuLj8bZZPUjJW2e4VxA8ZkHlp5q76xAOzufI,219
3
- alibuild-1.17.26.data/scripts/aliDoctor,sha256=gQwLcNGAm7_QF7FFCtmtFXEoroKsRonNMA7UP4DS1y4,221
4
- alibuild-1.17.26.data/scripts/alienv,sha256=8QihJOzKue4oeuIM31MsoX8Fw7FNZ4zY7wyK6UYtgTE,12568
5
- alibuild-1.17.26.data/scripts/pb,sha256=LfkIUyX3xXxmaGSdtAbA-dS1Y1eEShEHpmto1tIEga0,211
6
- alibuild-1.17.26.dist-info/licenses/LICENSE.md,sha256=WJ7YI-moTFb-uVrFjnzzhGJrnL9P2iqQe8NuED3hutI,35141
1
+ alibuild-1.17.28.data/scripts/aliBuild,sha256=5g-apCjhc9cvtFvKSP0yr6IJtChNvtTAP-BtPL-91M8,4307
2
+ alibuild-1.17.28.data/scripts/aliDeps,sha256=fhfPB2NpuLj8bZZPUjJW2e4VxA8ZkHlp5q76xAOzufI,219
3
+ alibuild-1.17.28.data/scripts/aliDoctor,sha256=gQwLcNGAm7_QF7FFCtmtFXEoroKsRonNMA7UP4DS1y4,221
4
+ alibuild-1.17.28.data/scripts/alienv,sha256=8QihJOzKue4oeuIM31MsoX8Fw7FNZ4zY7wyK6UYtgTE,12568
5
+ alibuild-1.17.28.data/scripts/pb,sha256=LfkIUyX3xXxmaGSdtAbA-dS1Y1eEShEHpmto1tIEga0,211
6
+ alibuild-1.17.28.dist-info/licenses/LICENSE.md,sha256=WJ7YI-moTFb-uVrFjnzzhGJrnL9P2iqQe8NuED3hutI,35141
7
7
  alibuild_helpers/__init__.py,sha256=ZAhyhRxOkiTA1fMzwEKACY8Eo8MdWp1MawVicFlvQWk,736
8
- alibuild_helpers/_version.py,sha256=2d5vthP1ynvgXnR866ndEisRMHAjfC0TkcxvmRmNyfU,515
8
+ alibuild_helpers/_version.py,sha256=d9ZYjuIqOumGgXjyClc426mJxSn_0zHPtOI0JlJmdAk,708
9
9
  alibuild_helpers/analytics.py,sha256=fuiOagDngFnodGo7upMWeY-RjTTncDRz5Kwz8zxUr9o,4579
10
10
  alibuild_helpers/args.py,sha256=T0nOOMCpJZdJkEPZENz7nOsaYIfeZ7qHfAR1Vx4-T2Y,31694
11
11
  alibuild_helpers/build.py,sha256=FLeSwo-q_o6bPARbgKm1-pnwax1xe5ulc42bjSKqrog,56994
@@ -13,7 +13,7 @@ alibuild_helpers/build_template.sh,sha256=e7nh8ZhNH-z0LPkuETYVYlgM75EfhoCo__hn1Q
13
13
  alibuild_helpers/clean.py,sha256=-LeQUYDwxihzGJi4rCiuALu051T44-0cV8S6-l_lCaQ,3250
14
14
  alibuild_helpers/cmd.py,sha256=5tdxtyrHDzmdSVIA0pzxBoici1GZDS0fUStbX85r6ao,5906
15
15
  alibuild_helpers/deps.py,sha256=nHLyNqVuTUfW5bqfzCDxAaVVsklv5wHMl4FMMfTQF-8,4909
16
- alibuild_helpers/doctor.py,sha256=bE5YOEl3abxhSNo6Zr3HQTfETe_1C4SmmQnzm1GF_x8,9532
16
+ alibuild_helpers/doctor.py,sha256=CSvfwmD28NRmvSnmZRTHWaf11pAoSIlMxJ1yW00Xh9c,9685
17
17
  alibuild_helpers/git.py,sha256=_GjLIxprHnCfUdQ908xfza1rwhqag1_df7_gcC_8sgw,4004
18
18
  alibuild_helpers/init.py,sha256=GmVLXqMS-aXqPnCk5dgAONMQFe7MqjlEtXtcQ1a-0qY,5009
19
19
  alibuild_helpers/log.py,sha256=OEflXNcGNgvVYLZbvVwd2Inyt12tnEw5RgkrsiAT2c0,4700
@@ -45,7 +45,7 @@ tests/test_analytics.py,sha256=IlxATGj-MU0sTVqpi2-EKrIhyV9C48K5IZ39kWFz-Os,1942
45
45
  tests/test_args.py,sha256=8d8BybESxbIDvEOOSHmmd2rCTgNxI_vF-sgbDojI-Fg,8867
46
46
  tests/test_build.py,sha256=_R577NEhNNr-qLy-TQItcOXeIJ3dGB7EIlS3bVQx0vc,18503
47
47
  tests/test_clean.py,sha256=Zm3gjtO8Pgl27xUzQIHeGqpe05YMVXZp6Sua59prvcE,7492
48
- tests/test_cmd.py,sha256=iMpfLKqvi-qaSP6EM7PoJnGSZ9Qf4sj5669o2kcD8_I,3820
48
+ tests/test_cmd.py,sha256=SsWWasMrhbIu9Lqyr_wpuvDjg72ACJ1H_zDlTnybBuE,5049
49
49
  tests/test_deps.py,sha256=bLDFuqLRJiCW4U71dzXYM0Niv-skQXSsKGb6LXGVsZ0,2113
50
50
  tests/test_doctor.py,sha256=Z7X1d6XqCqmoYAEkRllXf-6HWvfnzGOFd_ghh4gmWYQ,4270
51
51
  tests/test_git.py,sha256=fh3sBkW7FwFQQZ3x6Rp3C4wBqM7I9CcX75e6u2oaSKg,1963
@@ -68,7 +68,7 @@ tests/testdist/clobber-initdotsh.sh,sha256=K4L8hiEgNg0hI2WAiEA65rWU5sp-fwOYkubpV
68
68
  tests/testdist/defaults-o2.sh,sha256=IJWVMYjQYz876twos1bj-5VnPv7WTdM0X-fd09j4xxM,325
69
69
  tests/testdist/delete-etc.sh,sha256=NFMApyWMLQu3HJMsx0x8ZEveCaXbosO6XzJk8KDRJdg,63
70
70
  tests/testdist/tracking-env.sh,sha256=3cJszuzJ5dxNYvHO4ydUOWIXwmMS7wfeb-JBCDK21O4,119
71
- alibuild-1.17.26.dist-info/METADATA,sha256=qvpDKJt0ipvsMmojCJJfnjnRrx29V8fSCUYgCNF5kh4,2129
72
- alibuild-1.17.26.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
73
- alibuild-1.17.26.dist-info/top_level.txt,sha256=WjKmc89Vn0WlbEp9a9VmhwqRkeKxjUX_6NT3T8K3Hv0,45
74
- alibuild-1.17.26.dist-info/RECORD,,
71
+ alibuild-1.17.28.dist-info/METADATA,sha256=j5qfH2ROl_kt-812pB2M5zQSE2VeMNoPz5OU98JRgQc,2231
72
+ alibuild-1.17.28.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
73
+ alibuild-1.17.28.dist-info/top_level.txt,sha256=WjKmc89Vn0WlbEp9a9VmhwqRkeKxjUX_6NT3T8K3Hv0,45
74
+ alibuild-1.17.28.dist-info/RECORD,,
@@ -1,7 +1,14 @@
1
1
  # file generated by setuptools-scm
2
2
  # don't change, don't track in version control
3
3
 
4
- __all__ = ["__version__", "__version_tuple__", "version", "version_tuple"]
4
+ __all__ = [
5
+ "__version__",
6
+ "__version_tuple__",
7
+ "version",
8
+ "version_tuple",
9
+ "__commit_id__",
10
+ "commit_id",
11
+ ]
5
12
 
6
13
  TYPE_CHECKING = False
7
14
  if TYPE_CHECKING:
@@ -9,13 +16,19 @@ if TYPE_CHECKING:
9
16
  from typing import Union
10
17
 
11
18
  VERSION_TUPLE = Tuple[Union[int, str], ...]
19
+ COMMIT_ID = Union[str, None]
12
20
  else:
13
21
  VERSION_TUPLE = object
22
+ COMMIT_ID = object
14
23
 
15
24
  version: str
16
25
  __version__: str
17
26
  __version_tuple__: VERSION_TUPLE
18
27
  version_tuple: VERSION_TUPLE
28
+ commit_id: COMMIT_ID
29
+ __commit_id__: COMMIT_ID
19
30
 
20
- __version__ = version = '1.17.26'
21
- __version_tuple__ = version_tuple = (1, 17, 26)
31
+ __version__ = version = '1.17.28'
32
+ __version_tuple__ = version_tuple = (1, 17, 28)
33
+
34
+ __commit_id__ = commit_id = None
@@ -22,7 +22,8 @@ def checkPreferSystem(spec, cmd, homebrew_replacement, getstatusoutput_docker):
22
22
  debug("Package %s can only be managed via alibuild.", spec["package"])
23
23
  return (1, "")
24
24
  cmd = homebrew_replacement + cmd
25
- err, out = getstatusoutput_docker(cmd)
25
+ with tempfile.TemporaryDirectory(prefix=f"alibuild_prefer_check_{spec['package']}_") as temp_dir:
26
+ err, out = getstatusoutput_docker(cmd, cwd=temp_dir)
26
27
  if not err:
27
28
  success("Package %s will be picked up from the system.", spec["package"])
28
29
  for x in out.split("\n"):
@@ -40,7 +41,8 @@ def checkRequirements(spec, cmd, homebrew_replacement, getstatusoutput_docker):
40
41
  debug("Package %s is not a system requirement.", spec["package"])
41
42
  return (0, "")
42
43
  cmd = homebrew_replacement + cmd
43
- err, out = getstatusoutput_docker(cmd)
44
+ with tempfile.TemporaryDirectory(prefix=f"alibuild_prefer_check_{spec['package']}_") as temp_dir:
45
+ err, out = getstatusoutput_docker(cmd, cwd=temp_dir)
44
46
  if not err:
45
47
  success("Required package %s will be picked up from the system.", spec["package"])
46
48
  debug("%s", cmd)
@@ -148,9 +150,6 @@ def doDoctor(args, parser):
148
150
  extra_env.update(dict([e.partition('=')[::2] for e in args.environment]))
149
151
 
150
152
  with DockerRunner(args.dockerImage, args.docker_extra_args, extra_env=extra_env, extra_volumes=[f"{os.path.abspath(args.configDir)}:/alidist:ro"] if args.docker else []) as getstatusoutput_docker:
151
- def performPreferCheckWithTempDir(pkg, cmd):
152
- with tempfile.TemporaryDirectory(prefix=f"alibuild_prefer_check_{pkg['package']}_") as temp_dir:
153
- return getstatusoutput_docker(cmd, cwd=temp_dir)
154
153
  fromSystem, own, failed, validDefaults = \
155
154
  getPackageList(packages = packages,
156
155
  specs = specs,
@@ -160,8 +159,8 @@ def doDoctor(args, parser):
160
159
  architecture = args.architecture,
161
160
  disable = args.disable,
162
161
  defaults = args.defaults,
163
- performPreferCheck = performPreferCheckWithTempDir,
164
- performRequirementCheck = performPreferCheckWithTempDir,
162
+ performPreferCheck = lambda pkg, cmd: checkPreferSystem(pkg, cmd, homebrew_replacement, getstatusoutput_docker),
163
+ performRequirementCheck = lambda pkg, cmd: checkRequirements(pkg, cmd, homebrew_replacement, getstatusoutput_docker),
165
164
  performValidateDefaults = performValidateDefaults,
166
165
  overrides = overrides,
167
166
  taps = taps,
tests/test_cmd.py CHANGED
@@ -68,6 +68,28 @@ class CmdTestCase(unittest.TestCase):
68
68
  getstatusoutput_docker("echo test")
69
69
  mock_getstatusoutput.assert_called_with("env TEST_VAR=test_value ANOTHER_VAR=another_value /bin/bash -c 'echo test'", cwd=None)
70
70
 
71
+ @mock.patch("alibuild_helpers.cmd.getoutput")
72
+ @mock.patch("alibuild_helpers.cmd.getstatusoutput")
73
+ def test_DockerRunner_multiline_env_var(self, mock_getstatusoutput, mock_getoutput):
74
+ multiline_value = "line1\nline2\nline3"
75
+ extra_env = {"MULTILINE_VAR": multiline_value}
76
+
77
+ with DockerRunner("", extra_env=extra_env) as getstatusoutput_docker:
78
+ mock_getoutput.assert_not_called()
79
+ getstatusoutput_docker("echo test")
80
+ mock_getstatusoutput.assert_called_with("env MULTILINE_VAR='line1\nline2\nline3' /bin/bash -c 'echo test'", cwd=None)
81
+
82
+ @mock.patch("alibuild_helpers.cmd.getoutput")
83
+ @mock.patch("alibuild_helpers.cmd.getstatusoutput")
84
+ def test_DockerRunner_env_var_with_semicolon(self, mock_getstatusoutput, mock_getoutput):
85
+ semicolon_value = "value1;value2;value3"
86
+ extra_env = {"SEMICOLON_VAR": semicolon_value}
87
+
88
+ with DockerRunner("", extra_env=extra_env) as getstatusoutput_docker:
89
+ mock_getoutput.assert_not_called()
90
+ getstatusoutput_docker("echo test")
91
+ mock_getstatusoutput.assert_called_with("env SEMICOLON_VAR='value1;value2;value3' /bin/bash -c 'echo test'", cwd=None)
92
+
71
93
 
72
94
  if __name__ == '__main__':
73
95
  unittest.main()