alibuild 1.17.25__tar.gz → 1.17.27__tar.gz

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.
Files changed (93) hide show
  1. {alibuild-1.17.25 → alibuild-1.17.27}/.github/workflows/release.yml +0 -1
  2. {alibuild-1.17.25 → alibuild-1.17.27}/PKG-INFO +6 -1
  3. {alibuild-1.17.25 → alibuild-1.17.27}/alibuild.egg-info/PKG-INFO +6 -1
  4. {alibuild-1.17.25 → alibuild-1.17.27}/alibuild.egg-info/SOURCES.txt +2 -0
  5. {alibuild-1.17.25 → alibuild-1.17.27}/alibuild_helpers/_version.py +16 -3
  6. {alibuild-1.17.25 → alibuild-1.17.27}/alibuild_helpers/cmd.py +1 -1
  7. {alibuild-1.17.25 → alibuild-1.17.27}/pyproject.toml +2 -1
  8. alibuild-1.17.27/requirements.txt +6 -0
  9. alibuild-1.17.27/setup.py +98 -0
  10. {alibuild-1.17.25 → alibuild-1.17.27}/tests/test_cmd.py +22 -0
  11. {alibuild-1.17.25 → alibuild-1.17.27}/.flake8 +0 -0
  12. {alibuild-1.17.25 → alibuild-1.17.27}/.github/workflows/documentation.yml +0 -0
  13. {alibuild-1.17.25 → alibuild-1.17.27}/.github/workflows/pr-check.yml +0 -0
  14. {alibuild-1.17.25 → alibuild-1.17.27}/.gitignore +0 -0
  15. {alibuild-1.17.25 → alibuild-1.17.27}/.pylintrc +0 -0
  16. {alibuild-1.17.25 → alibuild-1.17.27}/ANALYTICS.md +0 -0
  17. {alibuild-1.17.25 → alibuild-1.17.27}/DESIGN.md +0 -0
  18. {alibuild-1.17.25 → alibuild-1.17.27}/LICENSE.md +0 -0
  19. {alibuild-1.17.25 → alibuild-1.17.27}/PACKAGING.md +0 -0
  20. {alibuild-1.17.25 → alibuild-1.17.27}/README.rst +0 -0
  21. {alibuild-1.17.25 → alibuild-1.17.27}/alfaBuild +0 -0
  22. {alibuild-1.17.25 → alibuild-1.17.27}/aliBuild +0 -0
  23. {alibuild-1.17.25 → alibuild-1.17.27}/aliDeps +0 -0
  24. {alibuild-1.17.25 → alibuild-1.17.27}/aliDoctor +0 -0
  25. {alibuild-1.17.25 → alibuild-1.17.27}/alibuild.egg-info/dependency_links.txt +0 -0
  26. {alibuild-1.17.25 → alibuild-1.17.27}/alibuild.egg-info/requires.txt +0 -0
  27. {alibuild-1.17.25 → alibuild-1.17.27}/alibuild.egg-info/top_level.txt +0 -0
  28. {alibuild-1.17.25 → alibuild-1.17.27}/alibuild_helpers/__init__.py +0 -0
  29. {alibuild-1.17.25 → alibuild-1.17.27}/alibuild_helpers/analytics.py +0 -0
  30. {alibuild-1.17.25 → alibuild-1.17.27}/alibuild_helpers/args.py +0 -0
  31. {alibuild-1.17.25 → alibuild-1.17.27}/alibuild_helpers/build.py +0 -0
  32. {alibuild-1.17.25 → alibuild-1.17.27}/alibuild_helpers/build_template.sh +0 -0
  33. {alibuild-1.17.25 → alibuild-1.17.27}/alibuild_helpers/clean.py +0 -0
  34. {alibuild-1.17.25 → alibuild-1.17.27}/alibuild_helpers/deps.py +0 -0
  35. {alibuild-1.17.25 → alibuild-1.17.27}/alibuild_helpers/doctor.py +0 -0
  36. {alibuild-1.17.25 → alibuild-1.17.27}/alibuild_helpers/git.py +0 -0
  37. {alibuild-1.17.25 → alibuild-1.17.27}/alibuild_helpers/init.py +0 -0
  38. {alibuild-1.17.25 → alibuild-1.17.27}/alibuild_helpers/log.py +0 -0
  39. {alibuild-1.17.25 → alibuild-1.17.27}/alibuild_helpers/scm.py +0 -0
  40. {alibuild-1.17.25 → alibuild-1.17.27}/alibuild_helpers/sl.py +0 -0
  41. {alibuild-1.17.25 → alibuild-1.17.27}/alibuild_helpers/sync.py +0 -0
  42. {alibuild-1.17.25 → alibuild-1.17.27}/alibuild_helpers/templating_plugin.py +0 -0
  43. {alibuild-1.17.25 → alibuild-1.17.27}/alibuild_helpers/utilities.py +0 -0
  44. {alibuild-1.17.25 → alibuild-1.17.27}/alibuild_helpers/workarea.py +0 -0
  45. {alibuild-1.17.25 → alibuild-1.17.27}/alienv +0 -0
  46. {alibuild-1.17.25 → alibuild-1.17.27}/codecov.yml +0 -0
  47. {alibuild-1.17.25 → alibuild-1.17.27}/debian/changelog +0 -0
  48. {alibuild-1.17.25 → alibuild-1.17.27}/debian/compat +0 -0
  49. {alibuild-1.17.25 → alibuild-1.17.27}/debian/control +0 -0
  50. {alibuild-1.17.25 → alibuild-1.17.27}/debian/copyright +0 -0
  51. {alibuild-1.17.25 → alibuild-1.17.27}/debian/files +0 -0
  52. {alibuild-1.17.25 → alibuild-1.17.27}/debian/rules +0 -0
  53. {alibuild-1.17.25 → alibuild-1.17.27}/docs/README.md +0 -0
  54. {alibuild-1.17.25 → alibuild-1.17.27}/docs/SUPPORT +0 -0
  55. {alibuild-1.17.25 → alibuild-1.17.27}/docs/docs/alice_logo.png +0 -0
  56. {alibuild-1.17.25 → alibuild-1.17.27}/docs/docs/deps.png +0 -0
  57. {alibuild-1.17.25 → alibuild-1.17.27}/docs/docs/index.md +0 -0
  58. {alibuild-1.17.25 → alibuild-1.17.27}/docs/docs/quick.md +0 -0
  59. {alibuild-1.17.25 → alibuild-1.17.27}/docs/docs/reference.md +0 -0
  60. {alibuild-1.17.25 → alibuild-1.17.27}/docs/docs/stylesheets/extra.css +0 -0
  61. {alibuild-1.17.25 → alibuild-1.17.27}/docs/docs/troubleshooting.md +0 -0
  62. {alibuild-1.17.25 → alibuild-1.17.27}/docs/docs/user.md +0 -0
  63. {alibuild-1.17.25 → alibuild-1.17.27}/docs/mkdocs.yml +0 -0
  64. {alibuild-1.17.25 → alibuild-1.17.27}/pb +0 -0
  65. {alibuild-1.17.25 → alibuild-1.17.27}/setup.cfg +0 -0
  66. {alibuild-1.17.25 → alibuild-1.17.27}/templates/alibuild_to_please.jnj +0 -0
  67. {alibuild-1.17.25 → alibuild-1.17.27}/tests/test_analytics.py +0 -0
  68. {alibuild-1.17.25 → alibuild-1.17.27}/tests/test_args.py +0 -0
  69. {alibuild-1.17.25 → alibuild-1.17.27}/tests/test_build.py +0 -0
  70. {alibuild-1.17.25 → alibuild-1.17.27}/tests/test_clean.py +0 -0
  71. {alibuild-1.17.25 → alibuild-1.17.27}/tests/test_deps.py +0 -0
  72. {alibuild-1.17.25 → alibuild-1.17.27}/tests/test_doctor.py +0 -0
  73. {alibuild-1.17.25 → alibuild-1.17.27}/tests/test_git.py +0 -0
  74. {alibuild-1.17.25 → alibuild-1.17.27}/tests/test_hashing.py +0 -0
  75. {alibuild-1.17.25 → alibuild-1.17.27}/tests/test_init.py +0 -0
  76. {alibuild-1.17.25 → alibuild-1.17.27}/tests/test_log.py +0 -0
  77. {alibuild-1.17.25 → alibuild-1.17.27}/tests/test_packagelist.py +0 -0
  78. {alibuild-1.17.25 → alibuild-1.17.27}/tests/test_parseRecipe.py +0 -0
  79. {alibuild-1.17.25 → alibuild-1.17.27}/tests/test_sync.py +0 -0
  80. {alibuild-1.17.25 → alibuild-1.17.27}/tests/test_utilities.py +0 -0
  81. {alibuild-1.17.25 → alibuild-1.17.27}/tests/test_workarea.py +0 -0
  82. {alibuild-1.17.25 → alibuild-1.17.27}/tests/testdist/broken1.sh +0 -0
  83. {alibuild-1.17.25 → alibuild-1.17.27}/tests/testdist/broken2.sh +0 -0
  84. {alibuild-1.17.25 → alibuild-1.17.27}/tests/testdist/broken3.sh +0 -0
  85. {alibuild-1.17.25 → alibuild-1.17.27}/tests/testdist/broken4.sh +0 -0
  86. {alibuild-1.17.25 → alibuild-1.17.27}/tests/testdist/broken5.sh +0 -0
  87. {alibuild-1.17.25 → alibuild-1.17.27}/tests/testdist/broken6.sh +0 -0
  88. {alibuild-1.17.25 → alibuild-1.17.27}/tests/testdist/broken7.sh +0 -0
  89. {alibuild-1.17.25 → alibuild-1.17.27}/tests/testdist/clobber-initdotsh.sh +0 -0
  90. {alibuild-1.17.25 → alibuild-1.17.27}/tests/testdist/defaults-o2.sh +0 -0
  91. {alibuild-1.17.25 → alibuild-1.17.27}/tests/testdist/delete-etc.sh +0 -0
  92. {alibuild-1.17.25 → alibuild-1.17.27}/tests/testdist/tracking-env.sh +0 -0
  93. {alibuild-1.17.25 → alibuild-1.17.27}/tox.ini +0 -0
@@ -49,7 +49,6 @@ jobs:
49
49
  sed -i.bak "
50
50
  s|^ url .*| url \"$url\"|;
51
51
  s|^ sha256 .*| sha256 \"$sha\"|;
52
- s|^ version .*| version \"${GITHUB_REF#refs/tags/v}\"|
53
52
  " "$(brew formula alibuild)"
54
53
  rm -f "$(brew formula alibuild).bak"
55
54
  - name: Regenerate alibuild formula
@@ -1,8 +1,11 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: alibuild
3
- Version: 1.17.25
3
+ Version: 1.17.27
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>
8
+ License-Expression: GPL-3.0-only
6
9
  Project-URL: homepage, https://alisw.github.io/alibuild
7
10
  Keywords: HEP,ALICE
8
11
  Classifier: Development Status :: 5 - Production/Stable
@@ -22,6 +25,8 @@ Provides-Extra: docs
22
25
  Requires-Dist: mkdocs; extra == "docs"
23
26
  Requires-Dist: mkdocs-material; extra == "docs"
24
27
  Requires-Dist: mkdocs-redirects; extra == "docs"
28
+ Dynamic: author
29
+ Dynamic: home-page
25
30
  Dynamic: license-file
26
31
 
27
32
  .. image:: https://badge.fury.io/py/alibuild.svg
@@ -1,8 +1,11 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: alibuild
3
- Version: 1.17.25
3
+ Version: 1.17.27
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>
8
+ License-Expression: GPL-3.0-only
6
9
  Project-URL: homepage, https://alisw.github.io/alibuild
7
10
  Keywords: HEP,ALICE
8
11
  Classifier: Development Status :: 5 - Production/Stable
@@ -22,6 +25,8 @@ Provides-Extra: docs
22
25
  Requires-Dist: mkdocs; extra == "docs"
23
26
  Requires-Dist: mkdocs-material; extra == "docs"
24
27
  Requires-Dist: mkdocs-redirects; extra == "docs"
28
+ Dynamic: author
29
+ Dynamic: home-page
25
30
  Dynamic: license-file
26
31
 
27
32
  .. image:: https://badge.fury.io/py/alibuild.svg
@@ -14,6 +14,8 @@ alienv
14
14
  codecov.yml
15
15
  pb
16
16
  pyproject.toml
17
+ requirements.txt
18
+ setup.py
17
19
  tox.ini
18
20
  .github/workflows/documentation.yml
19
21
  .github/workflows/pr-check.yml
@@ -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.25'
21
- __version_tuple__ = version_tuple = (1, 17, 25)
31
+ __version__ = version = '1.17.27'
32
+ __version_tuple__ = version_tuple = (1, 17, 27)
33
+
34
+ __commit_id__ = commit_id = 'gd0b6a7065'
@@ -105,7 +105,7 @@ class DockerRunner:
105
105
  if self._container is None:
106
106
  command_prefix=""
107
107
  if self._extra_env:
108
- command_prefix="env " + " ".join("{}={}".format(k, v) for (k,v) in self._extra_env.items()) + " "
108
+ command_prefix="env " + " ".join("{}={}".format(k, quote(v)) for (k,v) in self._extra_env.items()) + " "
109
109
  return getstatusoutput("{}{} -c {}".format(command_prefix, BASH, quote(cmd))
110
110
  , cwd=cwd)
111
111
  envOpts = []
@@ -8,7 +8,8 @@ name = 'alibuild'
8
8
  dynamic = ['readme', 'version']
9
9
  description = 'ALICE Build Tool'
10
10
  keywords = ['HEP', 'ALICE']
11
- license = { file = 'LICENSE' }
11
+ license = "GPL-3.0-only"
12
+ license-files = ["LICENSE[.]md"]
12
13
  authors = [
13
14
  {name = 'Giulio Eulisse', email = 'giulio.eulisse@cern.ch'},
14
15
  {name = 'Timo Wilken', email = 'timo.wilken@cern.ch'},
@@ -0,0 +1,6 @@
1
+ requests
2
+ pyyaml
3
+ distro
4
+ jinja2
5
+ # https://github.com/boto/boto3/issues/4398
6
+ boto3<1.36.0
@@ -0,0 +1,98 @@
1
+ #!/usr/bin/env python3
2
+ """ Package alibuild using setuptools
3
+ """
4
+
5
+ # Always prefer setuptools over distutils
6
+ from setuptools import setup, find_packages
7
+ # To use a consistent encoding
8
+ from codecs import open
9
+ import os.path
10
+ import sys
11
+
12
+ here = os.path.abspath(os.path.dirname(__file__))
13
+
14
+ # Get the long description from the README file
15
+ with open(os.path.join(here, 'README.rst'), encoding='utf-8') as f:
16
+ long_description = f.read()
17
+
18
+ install_requires = ['pyyaml', 'requests', 'distro', 'jinja2', 'boto3<1.36.0']
19
+
20
+ setup(
21
+ name='alibuild',
22
+
23
+ description='ALICE Build Tool',
24
+ long_description=long_description,
25
+ long_description_content_type='text/x-rst',
26
+
27
+ # The project's main homepage.
28
+ url='https://alisw.github.io/alibuild',
29
+
30
+ # Author details
31
+ author='Giulio Eulisse',
32
+ author_email='giulio.eulisse@cern.ch',
33
+
34
+ # Choose your license
35
+ license='GPL',
36
+
37
+ # See https://pypi.org/classifiers/
38
+ classifiers=[
39
+ # How mature is this project?
40
+ 'Development Status :: 5 - Production/Stable',
41
+
42
+ # Indicate who your project is intended for
43
+ 'Intended Audience :: Developers',
44
+ 'Topic :: Software Development :: Build Tools',
45
+
46
+ # Pick your license as you wish (should match "license" above)
47
+ 'License :: OSI Approved :: GNU General Public License v3 (GPLv3)',
48
+
49
+ # Specify the Python versions you support here. In particular, ensure
50
+ # that you indicate whether you support Python 2, Python 3 or both.
51
+ 'Programming Language :: Python :: 3.6', # slc7, slc8, cs8
52
+ 'Programming Language :: Python :: 3.8', # ubuntu2004
53
+ 'Programming Language :: Python :: 3.9', # slc9
54
+ 'Programming Language :: Python :: 3.10', # ubuntu2204
55
+ 'Programming Language :: Python :: 3.11', # MacOS
56
+ 'Programming Language :: Python :: 3.12', # MacOS
57
+ ],
58
+
59
+ # What does your project relate to?
60
+ keywords='HEP ALICE',
61
+
62
+ # You can just specify the packages manually here if your project is
63
+ # simple. Or you can use find_packages().
64
+ packages=find_packages(exclude=['yaml']),
65
+
66
+ # Alternatively, if you want to distribute just a my_module.py, uncomment
67
+ # this:
68
+ # py_modules=["my_module"],
69
+
70
+ # Single-source our package version using setuptools_scm. This makes it
71
+ # PEP440-compliant, and it always references the alibuild commit that
72
+ # aliBuild was built from.
73
+ use_scm_version={'write_to': 'alibuild_helpers/_version.py'},
74
+ setup_requires=[
75
+ # The 7.* series removed support for Python 3.6.
76
+ 'setuptools_scm<7.0.0' if sys.version_info < (3, 7) else
77
+ 'setuptools_scm'
78
+ ] + (['packaging<=23'] if sys.version_info <(3, 7) else []),
79
+
80
+ # List run-time dependencies here. These will be installed by pip when
81
+ # your project is installed. For an analysis of "install_requires" vs pip's
82
+ # requirements files see:
83
+ # https://packaging.python.org/en/latest/requirements.html
84
+ install_requires=install_requires,
85
+
86
+ # If there are data files included in your packages that need to be
87
+ # installed, specify them here. If using Python 2.6 or less, then these
88
+ # have to be included in MANIFEST.in as well.
89
+ include_package_data=True,
90
+ package_data={
91
+ 'alibuild_helpers': ['build_template.sh'],
92
+ },
93
+
94
+ # To provide executable scripts, use entry points in preference to the
95
+ # "scripts" keyword. Entry points provide cross-platform support and allow
96
+ # pip to create the appropriate form of executable for the target platform.
97
+ scripts = ["aliBuild", "alienv", "aliDoctor", "aliDeps", "pb"]
98
+ )
@@ -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()
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes