alibuild 1.17.15__tar.gz → 1.17.17__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.
- {alibuild-1.17.15 → alibuild-1.17.17}/.github/workflows/documentation.yml +1 -1
- {alibuild-1.17.15 → alibuild-1.17.17}/.github/workflows/pr-check.yml +20 -17
- {alibuild-1.17.15 → alibuild-1.17.17}/PKG-INFO +4 -3
- {alibuild-1.17.15 → alibuild-1.17.17}/alfaBuild +3 -3
- {alibuild-1.17.15 → alibuild-1.17.17}/aliBuild +3 -3
- {alibuild-1.17.15 → alibuild-1.17.17}/alibuild.egg-info/PKG-INFO +4 -3
- {alibuild-1.17.15 → alibuild-1.17.17}/alibuild.egg-info/requires.txt +1 -1
- {alibuild-1.17.15 → alibuild-1.17.17}/alibuild_helpers/_version.py +9 -4
- {alibuild-1.17.15 → alibuild-1.17.17}/alibuild_helpers/analytics.py +4 -2
- {alibuild-1.17.15 → alibuild-1.17.17}/alibuild_helpers/args.py +9 -9
- {alibuild-1.17.15 → alibuild-1.17.17}/alibuild_helpers/build.py +5 -7
- {alibuild-1.17.15 → alibuild-1.17.17}/alibuild_helpers/clean.py +2 -2
- {alibuild-1.17.15 → alibuild-1.17.17}/alibuild_helpers/cmd.py +1 -1
- {alibuild-1.17.15 → alibuild-1.17.17}/alibuild_helpers/deps.py +4 -4
- {alibuild-1.17.15 → alibuild-1.17.17}/alibuild_helpers/doctor.py +6 -4
- {alibuild-1.17.15 → alibuild-1.17.17}/alibuild_helpers/git.py +1 -1
- {alibuild-1.17.15 → alibuild-1.17.17}/alibuild_helpers/init.py +4 -3
- {alibuild-1.17.15 → alibuild-1.17.17}/alibuild_helpers/log.py +6 -8
- {alibuild-1.17.15 → alibuild-1.17.17}/alibuild_helpers/sync.py +26 -27
- {alibuild-1.17.15 → alibuild-1.17.17}/alibuild_helpers/templating_plugin.py +1 -1
- {alibuild-1.17.15 → alibuild-1.17.17}/alibuild_helpers/utilities.py +29 -15
- alibuild-1.17.17/docs/docs/stylesheets/extra.css +9 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/pyproject.toml +1 -1
- alibuild-1.17.17/requirements.txt +6 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/setup.py +1 -5
- {alibuild-1.17.15 → alibuild-1.17.17}/tests/test_analytics.py +2 -2
- {alibuild-1.17.15 → alibuild-1.17.17}/tests/test_args.py +8 -8
- {alibuild-1.17.15 → alibuild-1.17.17}/tests/test_build.py +4 -6
- {alibuild-1.17.15 → alibuild-1.17.17}/tests/test_clean.py +0 -1
- {alibuild-1.17.15 → alibuild-1.17.17}/tests/test_deps.py +1 -1
- {alibuild-1.17.15 → alibuild-1.17.17}/tests/test_doctor.py +1 -1
- {alibuild-1.17.15 → alibuild-1.17.17}/tests/test_git.py +5 -5
- {alibuild-1.17.15 → alibuild-1.17.17}/tests/test_hashing.py +1 -1
- {alibuild-1.17.15 → alibuild-1.17.17}/tests/test_init.py +3 -3
- {alibuild-1.17.15 → alibuild-1.17.17}/tests/test_log.py +1 -1
- {alibuild-1.17.15 → alibuild-1.17.17}/tests/test_packagelist.py +6 -6
- {alibuild-1.17.15 → alibuild-1.17.17}/tests/test_parseRecipe.py +7 -7
- {alibuild-1.17.15 → alibuild-1.17.17}/tests/test_sync.py +3 -3
- {alibuild-1.17.15 → alibuild-1.17.17}/tests/test_utilities.py +17 -17
- {alibuild-1.17.15 → alibuild-1.17.17}/tox.ini +19 -19
- alibuild-1.17.15/docs/docs/stylesheets/extra.css +0 -7
- alibuild-1.17.15/requirements.txt +0 -7
- {alibuild-1.17.15 → alibuild-1.17.17}/.flake8 +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/.github/workflows/release.yml +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/.gitignore +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/.pylintrc +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/ANALYTICS.md +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/DESIGN.md +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/LICENSE.md +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/MANIFEST.in +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/PACKAGING.md +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/README.rst +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/aliDeps +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/aliDoctor +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/alibuild.egg-info/SOURCES.txt +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/alibuild.egg-info/dependency_links.txt +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/alibuild.egg-info/top_level.txt +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/alibuild_helpers/__init__.py +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/alibuild_helpers/build_template.sh +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/alibuild_helpers/scm.py +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/alibuild_helpers/sl.py +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/alibuild_helpers/workarea.py +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/alienv +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/codecov.yml +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/debian/changelog +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/debian/compat +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/debian/control +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/debian/copyright +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/debian/files +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/debian/rules +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/docs/README.md +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/docs/SUPPORT +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/docs/docs/alice_logo.png +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/docs/docs/deps.png +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/docs/docs/index.md +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/docs/docs/quick.md +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/docs/docs/reference.md +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/docs/docs/troubleshooting.md +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/docs/docs/user.md +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/docs/mkdocs.yml +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/pb +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/setup.cfg +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/templates/alibuild_to_please.jnj +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/tests/test_cmd.py +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/tests/test_workarea.py +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/tests/testdist/broken1.sh +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/tests/testdist/broken2.sh +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/tests/testdist/broken3.sh +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/tests/testdist/broken4.sh +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/tests/testdist/broken5.sh +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/tests/testdist/broken6.sh +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/tests/testdist/broken7.sh +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/tests/testdist/clobber-initdotsh.sh +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/tests/testdist/defaults-o2.sh +0 -0
- {alibuild-1.17.15 → alibuild-1.17.17}/tests/testdist/delete-etc.sh +0 -0
|
@@ -17,7 +17,7 @@ jobs:
|
|
|
17
17
|
- uses: actions/setup-python@v5
|
|
18
18
|
with:
|
|
19
19
|
python-version: 3.x
|
|
20
|
-
- run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
|
|
20
|
+
- run: echo "cache_id=$(date --utc '+%V')" >> "$GITHUB_ENV"
|
|
21
21
|
- uses: actions/cache@v4
|
|
22
22
|
with:
|
|
23
23
|
key: mkdocs-material-${{ env.cache_id }}
|
|
@@ -74,6 +74,8 @@ jobs:
|
|
|
74
74
|
matrix:
|
|
75
75
|
python-version:
|
|
76
76
|
- '3.11'
|
|
77
|
+
- '3.12'
|
|
78
|
+
- '3.13'
|
|
77
79
|
|
|
78
80
|
steps:
|
|
79
81
|
- uses: actions/checkout@v4
|
|
@@ -110,20 +112,21 @@ jobs:
|
|
|
110
112
|
with:
|
|
111
113
|
files: coverage.json
|
|
112
114
|
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
115
|
+
# Temporarily disabled until we decide whether to follow PEP8 or not
|
|
116
|
+
# lint:
|
|
117
|
+
# name: lint
|
|
118
|
+
# runs-on: ubuntu-latest
|
|
119
|
+
#
|
|
120
|
+
# steps:
|
|
121
|
+
# - uses: actions/checkout@v4
|
|
122
|
+
#
|
|
123
|
+
# - name: Set up Python
|
|
124
|
+
# uses: actions/setup-python@v5
|
|
125
|
+
# with:
|
|
126
|
+
# python-version: 3.x
|
|
127
|
+
#
|
|
128
|
+
# - name: Install dependencies
|
|
129
|
+
# run: python -m pip install --upgrade tox tox-gh-actions
|
|
130
|
+
#
|
|
131
|
+
# - name: Run linters
|
|
132
|
+
# run: tox -e lint
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: alibuild
|
|
3
|
-
Version: 1.17.
|
|
3
|
+
Version: 1.17.17
|
|
4
4
|
Summary: ALICE Build Tool
|
|
5
5
|
Home-page: https://alisw.github.io/alibuild
|
|
6
6
|
Author: Giulio Eulisse
|
|
@@ -25,11 +25,12 @@ Requires-Dist: pyyaml
|
|
|
25
25
|
Requires-Dist: requests
|
|
26
26
|
Requires-Dist: distro
|
|
27
27
|
Requires-Dist: jinja2
|
|
28
|
-
Requires-Dist: boto3
|
|
28
|
+
Requires-Dist: boto3<1.36.0
|
|
29
29
|
Dynamic: author
|
|
30
30
|
Dynamic: description
|
|
31
31
|
Dynamic: description-content-type
|
|
32
32
|
Dynamic: home-page
|
|
33
|
+
Dynamic: license-file
|
|
33
34
|
|
|
34
35
|
.. image:: https://badge.fury.io/py/alibuild.svg
|
|
35
36
|
.. image:: https://github.com/alisw/alibuild/actions/workflows/pr-check.yml/badge.svg?branch=master&event=push
|
|
@@ -57,7 +57,7 @@ def doMain(args, parser):
|
|
|
57
57
|
error(e.message)
|
|
58
58
|
exit(1)
|
|
59
59
|
|
|
60
|
-
if args.action == "version" or args.action
|
|
60
|
+
if args.action == "version" or args.action is None:
|
|
61
61
|
print("aliBuild version: {version} ({arch})".format(
|
|
62
62
|
version=__version__ or "unknown", arch=args.architecture or "unknown"))
|
|
63
63
|
sys.exit(0)
|
|
@@ -111,8 +111,8 @@ if __name__ == "__main__":
|
|
|
111
111
|
else:
|
|
112
112
|
os.environ["ALIBUILD_ANALYTICS_USER_UUID"] = open(expanduser("~/.config/alibuild/analytics-uuid")).read().strip()
|
|
113
113
|
try:
|
|
114
|
-
|
|
115
|
-
if
|
|
114
|
+
useProfiler = "--profile" in sys.argv
|
|
115
|
+
if useProfiler:
|
|
116
116
|
print("profiler started")
|
|
117
117
|
import cProfile, pstats
|
|
118
118
|
from io import StringIO
|
|
@@ -57,7 +57,7 @@ def doMain(args, parser):
|
|
|
57
57
|
error(e.message)
|
|
58
58
|
exit(1)
|
|
59
59
|
|
|
60
|
-
if args.action == "version" or args.action
|
|
60
|
+
if args.action == "version" or args.action is None:
|
|
61
61
|
print("aliBuild version: {version} ({arch})".format(
|
|
62
62
|
version=__version__ or "unknown", arch=args.architecture or "unknown"))
|
|
63
63
|
sys.exit(0)
|
|
@@ -111,8 +111,8 @@ if __name__ == "__main__":
|
|
|
111
111
|
else:
|
|
112
112
|
os.environ["ALIBUILD_ANALYTICS_USER_UUID"] = open(expanduser("~/.config/alibuild/analytics-uuid")).read().strip()
|
|
113
113
|
try:
|
|
114
|
-
|
|
115
|
-
if
|
|
114
|
+
useProfiler = "--profile" in sys.argv
|
|
115
|
+
if useProfiler:
|
|
116
116
|
print("profiler started")
|
|
117
117
|
import cProfile, pstats
|
|
118
118
|
from io import StringIO
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: alibuild
|
|
3
|
-
Version: 1.17.
|
|
3
|
+
Version: 1.17.17
|
|
4
4
|
Summary: ALICE Build Tool
|
|
5
5
|
Home-page: https://alisw.github.io/alibuild
|
|
6
6
|
Author: Giulio Eulisse
|
|
@@ -25,11 +25,12 @@ Requires-Dist: pyyaml
|
|
|
25
25
|
Requires-Dist: requests
|
|
26
26
|
Requires-Dist: distro
|
|
27
27
|
Requires-Dist: jinja2
|
|
28
|
-
Requires-Dist: boto3
|
|
28
|
+
Requires-Dist: boto3<1.36.0
|
|
29
29
|
Dynamic: author
|
|
30
30
|
Dynamic: description
|
|
31
31
|
Dynamic: description-content-type
|
|
32
32
|
Dynamic: home-page
|
|
33
|
+
Dynamic: license-file
|
|
33
34
|
|
|
34
35
|
.. image:: https://badge.fury.io/py/alibuild.svg
|
|
35
36
|
.. image:: https://github.com/alisw/alibuild/actions/workflows/pr-check.yml/badge.svg?branch=master&event=push
|
|
@@ -1,8 +1,13 @@
|
|
|
1
|
-
# file generated by
|
|
1
|
+
# file generated by setuptools-scm
|
|
2
2
|
# don't change, don't track in version control
|
|
3
|
+
|
|
4
|
+
__all__ = ["__version__", "__version_tuple__", "version", "version_tuple"]
|
|
5
|
+
|
|
3
6
|
TYPE_CHECKING = False
|
|
4
7
|
if TYPE_CHECKING:
|
|
5
|
-
from typing import Tuple
|
|
8
|
+
from typing import Tuple
|
|
9
|
+
from typing import Union
|
|
10
|
+
|
|
6
11
|
VERSION_TUPLE = Tuple[Union[int, str], ...]
|
|
7
12
|
else:
|
|
8
13
|
VERSION_TUPLE = object
|
|
@@ -12,5 +17,5 @@ __version__: str
|
|
|
12
17
|
__version_tuple__: VERSION_TUPLE
|
|
13
18
|
version_tuple: VERSION_TUPLE
|
|
14
19
|
|
|
15
|
-
__version__ = version = '1.17.
|
|
16
|
-
__version_tuple__ = version_tuple = (1, 17,
|
|
20
|
+
__version__ = version = '1.17.17'
|
|
21
|
+
__version_tuple__ = version_tuple = (1, 17, 17)
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env python3
|
|
2
|
-
import os
|
|
2
|
+
import os
|
|
3
|
+
import subprocess
|
|
4
|
+
import sys
|
|
3
5
|
from os.path import exists, expanduser
|
|
4
6
|
from os import unlink
|
|
5
7
|
|
|
@@ -104,7 +106,7 @@ def report_exception(e):
|
|
|
104
106
|
exd = e.__class__.__name__,
|
|
105
107
|
exf = "1")
|
|
106
108
|
|
|
107
|
-
def enable_analytics():
|
|
109
|
+
def enable_analytics() -> None:
|
|
108
110
|
if exists(expanduser("~/.config/alibuild/disable-analytics")):
|
|
109
111
|
unlink(expanduser("~/.config/alibuild/disable-analytics"))
|
|
110
112
|
if not exists(expanduser("~/.config/alibuild/analytics-uuid")):
|
|
@@ -176,8 +176,8 @@ def doParseArgs():
|
|
|
176
176
|
build_system = build_parser.add_mutually_exclusive_group()
|
|
177
177
|
build_system.add_argument("--always-prefer-system", dest="preferSystem", action="store_true",
|
|
178
178
|
help="Always use system packages when compatible.")
|
|
179
|
-
build_system.add_argument("--no-system", dest="noSystem",
|
|
180
|
-
help="Never use system packages, even if compatible.")
|
|
179
|
+
build_system.add_argument("--no-system", dest="noSystem", nargs="?", const="*", default=None, metavar="PACKAGES",
|
|
180
|
+
help="Never use system packages for the provided, command separated, PACKAGES, even if compatible.")
|
|
181
181
|
|
|
182
182
|
# Options for clean subcommand
|
|
183
183
|
clean_parser.add_argument("-a", "--architecture", dest="architecture", metavar="ARCH", default=detectedArch,
|
|
@@ -237,8 +237,8 @@ def doParseArgs():
|
|
|
237
237
|
deps_system = deps_parser.add_mutually_exclusive_group()
|
|
238
238
|
deps_system.add_argument("--always-prefer-system", dest="preferSystem", action="store_true",
|
|
239
239
|
help="Always use system packages when compatible.")
|
|
240
|
-
deps_system.add_argument("--no-system", dest="noSystem",
|
|
241
|
-
help="Never use system packages, even if compatible.")
|
|
240
|
+
deps_system.add_argument("--no-system", dest="noSystem", nargs="?", const="*", default=None, metavar="PACKAGES",
|
|
241
|
+
help="Never use system packages for PACKAGES, even if compatible.")
|
|
242
242
|
|
|
243
243
|
# Options for the doctor subcommand
|
|
244
244
|
doctor_parser.add_argument("packages", metavar="PACKAGE", nargs="+",
|
|
@@ -258,8 +258,8 @@ def doParseArgs():
|
|
|
258
258
|
doctor_system = doctor_parser.add_mutually_exclusive_group()
|
|
259
259
|
doctor_system.add_argument("--always-prefer-system", dest="preferSystem", action="store_true",
|
|
260
260
|
help="Always use system packages when compatible.")
|
|
261
|
-
doctor_system.add_argument("--no-system", dest="noSystem",
|
|
262
|
-
help="Never use system packages, even if compatible.")
|
|
261
|
+
doctor_system.add_argument("--no-system", dest="noSystem", nargs="?", const="*", default=None, metavar="PACKAGES",
|
|
262
|
+
help="Never use system packages for the provided, command separated, PACKAGES, even if compatible.")
|
|
263
263
|
|
|
264
264
|
doctor_docker = doctor_parser.add_argument_group(title="Use a Docker container", description="""\
|
|
265
265
|
If you're planning to build inside a Docker container, e.g. using aliBuild
|
|
@@ -457,14 +457,14 @@ def finaliseArgs(args, parser):
|
|
|
457
457
|
|
|
458
458
|
# On selected platforms, caching is active by default
|
|
459
459
|
if args.architecture in S3_SUPPORTED_ARCHS and not args.preferSystem and not args.no_remote_store:
|
|
460
|
-
args.noSystem =
|
|
460
|
+
args.noSystem = "*"
|
|
461
461
|
if not args.remoteStore:
|
|
462
462
|
args.remoteStore = "https://s3.cern.ch/swift/v1/alibuild-repo"
|
|
463
463
|
elif args.no_remote_store:
|
|
464
464
|
args.remoteStore = ""
|
|
465
465
|
|
|
466
466
|
if args.remoteStore or args.writeStore:
|
|
467
|
-
args.noSystem =
|
|
467
|
+
args.noSystem = "*"
|
|
468
468
|
|
|
469
469
|
if args.remoteStore.endswith("::rw") and args.writeStore:
|
|
470
470
|
parser.error("cannot specify ::rw and --write-store at the same time")
|
|
@@ -474,7 +474,7 @@ def finaliseArgs(args, parser):
|
|
|
474
474
|
args.writeStore = args.remoteStore
|
|
475
475
|
|
|
476
476
|
if args.action in ["build", "init"]:
|
|
477
|
-
if "develPrefix" in args and args.develPrefix
|
|
477
|
+
if "develPrefix" in args and args.develPrefix is None:
|
|
478
478
|
if "chdir" in args:
|
|
479
479
|
args.develPrefix = basename(abspath(args.chdir))
|
|
480
480
|
else:
|
|
@@ -11,7 +11,6 @@ from alibuild_helpers.utilities import parseDefaults, readDefaults
|
|
|
11
11
|
from alibuild_helpers.utilities import getPackageList, asList
|
|
12
12
|
from alibuild_helpers.utilities import validateDefaults
|
|
13
13
|
from alibuild_helpers.utilities import Hasher
|
|
14
|
-
from alibuild_helpers.utilities import yamlDump
|
|
15
14
|
from alibuild_helpers.utilities import resolve_tag, resolve_version, short_commit_hash
|
|
16
15
|
from alibuild_helpers.git import Git, git
|
|
17
16
|
from alibuild_helpers.sl import Sapling
|
|
@@ -31,11 +30,10 @@ import socket
|
|
|
31
30
|
import os
|
|
32
31
|
import re
|
|
33
32
|
import shutil
|
|
34
|
-
import sys
|
|
35
33
|
import time
|
|
36
34
|
|
|
37
35
|
|
|
38
|
-
def writeAll(fn, txt):
|
|
36
|
+
def writeAll(fn, txt) -> None:
|
|
39
37
|
f = open(fn, "w")
|
|
40
38
|
f.write(txt)
|
|
41
39
|
f.close()
|
|
@@ -476,7 +474,7 @@ def doBuild(args, parser):
|
|
|
476
474
|
checkedOutCommitName = scm.checkedOutCommitName(directory=args.configDir)
|
|
477
475
|
except SCMError:
|
|
478
476
|
dieOnError(True, "Cannot find SCM directory in %s." % args.configDir)
|
|
479
|
-
os.environ["ALIBUILD_ALIDIST_HASH"] = checkedOutCommitName
|
|
477
|
+
os.environ["ALIBUILD_ALIDIST_HASH"] = checkedOutCommitName
|
|
480
478
|
|
|
481
479
|
debug("Building for architecture %s", args.architecture)
|
|
482
480
|
debug("Number of parallel builds: %d", args.jobs)
|
|
@@ -512,9 +510,9 @@ def doBuild(args, parser):
|
|
|
512
510
|
("\n- ".join(sorted(failed)), args.defaults, " ".join(args.pkgname)))
|
|
513
511
|
|
|
514
512
|
for x in specs.values():
|
|
515
|
-
x["requires"] = [r for r in x["requires"] if not
|
|
516
|
-
x["build_requires"] = [r for r in x["build_requires"] if not
|
|
517
|
-
x["runtime_requires"] = [r for r in x["runtime_requires"] if not
|
|
513
|
+
x["requires"] = [r for r in x["requires"] if r not in args.disable]
|
|
514
|
+
x["build_requires"] = [r for r in x["build_requires"] if r not in args.disable]
|
|
515
|
+
x["runtime_requires"] = [r for r in x["runtime_requires"] if r not in args.disable]
|
|
518
516
|
|
|
519
517
|
if systemPackages:
|
|
520
518
|
banner("aliBuild can take the following packages from the system and will not build them:\n %s",
|
|
@@ -47,14 +47,14 @@ def decideClean(workDir, architecture, aggressiveCleanup):
|
|
|
47
47
|
"%s/SOURCES" % (workDir)]
|
|
48
48
|
allBuildStuff = glob.glob("%s/BUILD/*" % workDir)
|
|
49
49
|
toDelete += [x for x in allBuildStuff
|
|
50
|
-
if not path.islink(x) and
|
|
50
|
+
if not path.islink(x) and basename(x) not in symlinksBuild]
|
|
51
51
|
installGlob ="%s/%s/*/" % (workDir, architecture)
|
|
52
52
|
installedPackages = set([dirname(x) for x in glob.glob(installGlob)])
|
|
53
53
|
symlinksInstall = []
|
|
54
54
|
for x in installedPackages:
|
|
55
55
|
symlinksInstall += [path.realpath(y) for y in glob.glob(x + "/latest*")]
|
|
56
56
|
toDelete += [x for x in glob.glob(installGlob+ "*")
|
|
57
|
-
if not path.islink(x) and
|
|
57
|
+
if not path.islink(x) and path.realpath(x) not in symlinksInstall]
|
|
58
58
|
toDelete = [x for x in toDelete if path.exists(x)]
|
|
59
59
|
return toDelete
|
|
60
60
|
|
|
@@ -78,7 +78,7 @@ class DockerRunner:
|
|
|
78
78
|
instead.
|
|
79
79
|
"""
|
|
80
80
|
|
|
81
|
-
def __init__(self, docker_image, docker_run_args=()):
|
|
81
|
+
def __init__(self, docker_image, docker_run_args=()) -> None:
|
|
82
82
|
self._docker_image = docker_image
|
|
83
83
|
self._docker_run_args = docker_run_args
|
|
84
84
|
self._container = None
|
|
@@ -41,9 +41,9 @@ def doDeps(args, parser):
|
|
|
41
41
|
|
|
42
42
|
for s in specs.values():
|
|
43
43
|
# Remove disabled packages
|
|
44
|
-
s["requires"] = [r for r in s["requires"] if not
|
|
45
|
-
s["build_requires"] = [r for r in s["build_requires"] if not
|
|
46
|
-
s["runtime_requires"] = [r for r in s["runtime_requires"] if not
|
|
44
|
+
s["requires"] = [r for r in s["requires"] if r not in args.disable and r != "defaults-release"]
|
|
45
|
+
s["build_requires"] = [r for r in s["build_requires"] if r not in args.disable and r != "defaults-release"]
|
|
46
|
+
s["runtime_requires"] = [r for r in s["runtime_requires"] if r not in args.disable and r != "defaults-release"]
|
|
47
47
|
|
|
48
48
|
# Determine which pacakages are only build/runtime dependencies
|
|
49
49
|
all_build = set()
|
|
@@ -97,7 +97,7 @@ def doDeps(args, parser):
|
|
|
97
97
|
# Check if we have dot in PATH
|
|
98
98
|
try:
|
|
99
99
|
execute(["dot", "-V"])
|
|
100
|
-
except Exception
|
|
100
|
+
except Exception:
|
|
101
101
|
dieOnError(True, "Could not find dot in PATH. Please install graphviz and add it to PATH.")
|
|
102
102
|
try:
|
|
103
103
|
if args.neat:
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env python3
|
|
2
|
-
import os
|
|
2
|
+
import os
|
|
3
|
+
import re
|
|
4
|
+
import sys
|
|
3
5
|
from os.path import exists, abspath, expanduser
|
|
4
6
|
import logging
|
|
5
7
|
from alibuild_helpers.log import debug, error, banner, info, success, warning
|
|
@@ -7,9 +9,9 @@ from alibuild_helpers.log import logger
|
|
|
7
9
|
from alibuild_helpers.utilities import getPackageList, parseDefaults, readDefaults, validateDefaults
|
|
8
10
|
from alibuild_helpers.cmd import getstatusoutput, DockerRunner
|
|
9
11
|
|
|
10
|
-
def prunePaths(workDir):
|
|
12
|
+
def prunePaths(workDir) -> None:
|
|
11
13
|
for x in ["PATH", "LD_LIBRARY_PATH", "DYLD_LIBRARY_PATH"]:
|
|
12
|
-
if not
|
|
14
|
+
if x not in os.environ:
|
|
13
15
|
continue
|
|
14
16
|
workDirEscaped = re.escape("%s" % workDir) + "[^:]*:?"
|
|
15
17
|
os.environ[x] = re.sub(workDirEscaped, "", os.environ[x])
|
|
@@ -52,7 +54,7 @@ def checkRequirements(spec, cmd, homebrew_replacement, getstatusoutput_docker):
|
|
|
52
54
|
spec.get("system_requirement_missing"))
|
|
53
55
|
return (err, "")
|
|
54
56
|
|
|
55
|
-
def systemInfo():
|
|
57
|
+
def systemInfo() -> None:
|
|
56
58
|
_,out = getstatusoutput("env")
|
|
57
59
|
debug("Environment:\n%s", out)
|
|
58
60
|
_,out = getstatusoutput("uname -a")
|
|
@@ -96,7 +96,7 @@ def git(args, directory=".", check=True, prompt=True):
|
|
|
96
96
|
directory=quote(directory),
|
|
97
97
|
args=" ".join(map(quote, args)),
|
|
98
98
|
# GIT_TERMINAL_PROMPT is only supported in git 2.3+.
|
|
99
|
-
prompt_var=
|
|
99
|
+
prompt_var="GIT_TERMINAL_PROMPT=0" if not prompt else "",
|
|
100
100
|
directory_safe_var=f"GIT_CONFIG_COUNT={lastGitOverride+2} GIT_CONFIG_KEY_{lastGitOverride}=safe.directory GIT_CONFIG_VALUE_{lastGitOverride}=$PWD GIT_CONFIG_KEY_{lastGitOverride+1}=gc.auto GIT_CONFIG_VALUE_{lastGitOverride+1}=0" if directory else "",
|
|
101
101
|
), timeout=GIT_CMD_TIMEOUTS.get(args[0] if len(args) else "*", GIT_COMMAND_TIMEOUT_SEC))
|
|
102
102
|
if check and err != 0:
|
|
@@ -2,11 +2,12 @@ from alibuild_helpers.git import git, Git
|
|
|
2
2
|
from alibuild_helpers.utilities import getPackageList, parseDefaults, readDefaults, validateDefaults
|
|
3
3
|
from alibuild_helpers.log import debug, error, warning, banner, info
|
|
4
4
|
from alibuild_helpers.log import dieOnError
|
|
5
|
-
from alibuild_helpers.workarea import
|
|
5
|
+
from alibuild_helpers.workarea import updateReferenceRepoSpec
|
|
6
6
|
|
|
7
7
|
from os.path import join
|
|
8
8
|
import os.path as path
|
|
9
|
-
import os
|
|
9
|
+
import os
|
|
10
|
+
import sys
|
|
10
11
|
|
|
11
12
|
def parsePackagesDefinition(pkgname):
|
|
12
13
|
return [ dict(zip(["name","ver"], y.split("@")[0:2]))
|
|
@@ -49,7 +50,7 @@ def doInit(args):
|
|
|
49
50
|
specs=specs,
|
|
50
51
|
configDir=args.configDir,
|
|
51
52
|
preferSystem=False,
|
|
52
|
-
noSystem=
|
|
53
|
+
noSystem="*",
|
|
53
54
|
architecture="",
|
|
54
55
|
disable=[],
|
|
55
56
|
defaults=args.defaults,
|
|
@@ -4,15 +4,13 @@ import re
|
|
|
4
4
|
import time
|
|
5
5
|
import datetime
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
def dieOnError(err, msg):
|
|
7
|
+
def dieOnError(err, msg) -> None:
|
|
10
8
|
if err:
|
|
11
9
|
error("%s", msg)
|
|
12
10
|
sys.exit(1)
|
|
13
11
|
|
|
14
12
|
class LogFormatter(logging.Formatter):
|
|
15
|
-
def __init__(self, fmtstr):
|
|
13
|
+
def __init__(self, fmtstr) -> None:
|
|
16
14
|
self.fmtstr = fmtstr
|
|
17
15
|
self.COLOR_RESET = "\033[m" if sys.stdout.isatty() else ""
|
|
18
16
|
self.LEVEL_COLORS = { logging.WARNING: "\033[4;33m",
|
|
@@ -35,7 +33,7 @@ class LogFormatter(logging.Formatter):
|
|
|
35
33
|
} for x in record.msg.split("\n"))
|
|
36
34
|
|
|
37
35
|
|
|
38
|
-
def log_current_package(package, main_package, specs, devel_prefix):
|
|
36
|
+
def log_current_package(package, main_package, specs, devel_prefix) -> None:
|
|
39
37
|
"""Show PACKAGE as the one currently being processed in future log messages."""
|
|
40
38
|
if logger_handler.level > logging.DEBUG:
|
|
41
39
|
return
|
|
@@ -55,14 +53,14 @@ def log_current_package(package, main_package, specs, devel_prefix):
|
|
|
55
53
|
|
|
56
54
|
|
|
57
55
|
class ProgressPrint:
|
|
58
|
-
def __init__(self, begin_msg=""):
|
|
56
|
+
def __init__(self, begin_msg="") -> None:
|
|
59
57
|
self.count = -1
|
|
60
58
|
self.lasttime = 0
|
|
61
59
|
self.STAGES = ".", "..", "...", "....", ".....", "....", "...", ".."
|
|
62
60
|
self.begin_msg = begin_msg
|
|
63
61
|
self.percent = -1
|
|
64
62
|
|
|
65
|
-
def __call__(self, txt, *args):
|
|
63
|
+
def __call__(self, txt, *args) -> None:
|
|
66
64
|
if logger.level <= logging.DEBUG or not sys.stdout.isatty():
|
|
67
65
|
debug(txt, *args)
|
|
68
66
|
return
|
|
@@ -88,7 +86,7 @@ class ProgressPrint:
|
|
|
88
86
|
self.lasttime = time.time()
|
|
89
87
|
sys.stderr.flush()
|
|
90
88
|
|
|
91
|
-
def erase(self):
|
|
89
|
+
def erase(self) -> None:
|
|
92
90
|
nerase = len(self.STAGES[self.count]) if self.count > -1 else 0
|
|
93
91
|
if self.percent > -1:
|
|
94
92
|
nerase = nerase + 7
|