alibuild 1.17.12__tar.gz → 1.17.13__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.12 → alibuild-1.17.13}/PKG-INFO +1 -1
- {alibuild-1.17.12 → alibuild-1.17.13}/alfaBuild +1 -1
- {alibuild-1.17.12 → alibuild-1.17.13}/aliBuild +1 -1
- {alibuild-1.17.12 → alibuild-1.17.13}/alibuild.egg-info/PKG-INFO +1 -1
- {alibuild-1.17.12 → alibuild-1.17.13}/alibuild_helpers/_version.py +2 -2
- {alibuild-1.17.12 → alibuild-1.17.13}/alibuild_helpers/build.py +25 -2
- {alibuild-1.17.12 → alibuild-1.17.13}/alibuild_helpers/utilities.py +21 -20
- {alibuild-1.17.12 → alibuild-1.17.13}/tests/test_packagelist.py +14 -11
- {alibuild-1.17.12 → alibuild-1.17.13}/.flake8 +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/.github/workflows/documentation.yml +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/.github/workflows/pr-check.yml +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/.github/workflows/release.yml +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/.gitignore +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/.pylintrc +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/ANALYTICS.md +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/DESIGN.md +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/LICENSE.md +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/MANIFEST.in +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/PACKAGING.md +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/README.rst +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/aliDeps +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/aliDoctor +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/alibuild.egg-info/SOURCES.txt +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/alibuild.egg-info/dependency_links.txt +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/alibuild.egg-info/requires.txt +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/alibuild.egg-info/top_level.txt +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/alibuild_helpers/__init__.py +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/alibuild_helpers/analytics.py +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/alibuild_helpers/args.py +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/alibuild_helpers/build_template.sh +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/alibuild_helpers/clean.py +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/alibuild_helpers/cmd.py +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/alibuild_helpers/deps.py +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/alibuild_helpers/doctor.py +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/alibuild_helpers/git.py +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/alibuild_helpers/init.py +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/alibuild_helpers/log.py +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/alibuild_helpers/scm.py +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/alibuild_helpers/sl.py +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/alibuild_helpers/sync.py +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/alibuild_helpers/templating_plugin.py +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/alibuild_helpers/workarea.py +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/alienv +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/codecov.yml +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/debian/changelog +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/debian/compat +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/debian/control +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/debian/copyright +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/debian/files +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/debian/rules +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/docs/README.md +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/docs/SUPPORT +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/docs/docs/alice_logo.png +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/docs/docs/deps.png +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/docs/docs/index.md +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/docs/docs/quick.md +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/docs/docs/reference.md +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/docs/docs/stylesheets/extra.css +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/docs/docs/troubleshooting.md +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/docs/docs/user.md +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/docs/mkdocs.yml +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/pb +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/pyproject.toml +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/requirements.txt +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/setup.cfg +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/setup.py +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/templates/alibuild_to_please.jnj +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/tests/test_analytics.py +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/tests/test_args.py +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/tests/test_build.py +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/tests/test_clean.py +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/tests/test_cmd.py +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/tests/test_deps.py +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/tests/test_doctor.py +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/tests/test_git.py +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/tests/test_hashing.py +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/tests/test_init.py +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/tests/test_log.py +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/tests/test_parseRecipe.py +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/tests/test_sync.py +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/tests/test_utilities.py +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/tests/test_workarea.py +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/tests/testdist/broken1.sh +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/tests/testdist/broken2.sh +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/tests/testdist/broken3.sh +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/tests/testdist/broken4.sh +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/tests/testdist/broken5.sh +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/tests/testdist/broken6.sh +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/tests/testdist/broken7.sh +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/tests/testdist/clobber-initdotsh.sh +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/tests/testdist/defaults-o2.sh +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/tests/testdist/delete-etc.sh +0 -0
- {alibuild-1.17.12 → alibuild-1.17.13}/tox.ini +0 -0
|
@@ -57,7 +57,7 @@ def doMain(args, parser):
|
|
|
57
57
|
error(e.message)
|
|
58
58
|
exit(1)
|
|
59
59
|
|
|
60
|
-
if args.action == "version":
|
|
60
|
+
if args.action == "version" or args.action == 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)
|
|
@@ -57,7 +57,7 @@ def doMain(args, parser):
|
|
|
57
57
|
error(e.message)
|
|
58
58
|
exit(1)
|
|
59
59
|
|
|
60
|
-
if args.action == "version":
|
|
60
|
+
if args.action == "version" or args.action == 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)
|
|
@@ -4,8 +4,8 @@ from alibuild_helpers import __version__
|
|
|
4
4
|
from alibuild_helpers.analytics import report_event
|
|
5
5
|
from alibuild_helpers.log import debug, info, banner, warning
|
|
6
6
|
from alibuild_helpers.log import dieOnError
|
|
7
|
-
from alibuild_helpers.cmd import execute, DockerRunner, BASH, install_wrapper_script
|
|
8
|
-
from alibuild_helpers.utilities import prunePaths, symlink, call_ignoring_oserrors, topological_sort
|
|
7
|
+
from alibuild_helpers.cmd import execute, DockerRunner, BASH, install_wrapper_script, getstatusoutput
|
|
8
|
+
from alibuild_helpers.utilities import prunePaths, symlink, call_ignoring_oserrors, topological_sort, detectArch
|
|
9
9
|
from alibuild_helpers.utilities import resolve_store_path
|
|
10
10
|
from alibuild_helpers.utilities import parseDefaults, readDefaults
|
|
11
11
|
from alibuild_helpers.utilities import getPackageList, asList
|
|
@@ -1112,6 +1112,29 @@ def doBuild(args, parser):
|
|
|
1112
1112
|
""")
|
|
1113
1113
|
buildErrMsg += "".join("\n ( cd %s && git pull --rebase )" % dp for dp in updatablePkgs)
|
|
1114
1114
|
|
|
1115
|
+
# Gather build info for the error message
|
|
1116
|
+
try:
|
|
1117
|
+
safe_args = {
|
|
1118
|
+
"pkgname", "defaults", "architecture", "forceUnknownArch",
|
|
1119
|
+
"develPrefix", "jobs", "noSystem", "noDevel", "forceTracked", "plugin",
|
|
1120
|
+
"disable", "annotate", "onlyDeps", "docker"
|
|
1121
|
+
}
|
|
1122
|
+
args_str = " ".join(f"--{k}={v}" for k, v in vars(args).items() if v and k in safe_args)
|
|
1123
|
+
detected_arch = detectArch()
|
|
1124
|
+
buildErrMsg += dedent(f"""
|
|
1125
|
+
Build info:
|
|
1126
|
+
OS: {detected_arch}
|
|
1127
|
+
Using aliBuild from alibuild@{__version__ or "unknown"} recipes in alidist@{os.environ["ALIBUILD_ALIDIST_HASH"][:10]}
|
|
1128
|
+
Build arguments: {args_str}
|
|
1129
|
+
""")
|
|
1130
|
+
|
|
1131
|
+
if detected_arch.startswith("osx"):
|
|
1132
|
+
buildErrMsg += f'XCode version: {getstatusoutput("xcodebuild -version")[1]}'
|
|
1133
|
+
|
|
1134
|
+
except Exception as exc:
|
|
1135
|
+
warning("Failed to gather build info", exc_info=exc)
|
|
1136
|
+
|
|
1137
|
+
|
|
1115
1138
|
dieOnError(err, buildErrMsg.strip())
|
|
1116
1139
|
|
|
1117
1140
|
# We need to create 2 sets of links, once with the full requires,
|
|
@@ -493,27 +493,28 @@ def getPackageList(packages, specs, configDir, preferSystem, noSystem,
|
|
|
493
493
|
if re.match(replacement_matcher, key):
|
|
494
494
|
replacement = spec["prefer_system_replacement_specs"][replacement_matcher]
|
|
495
495
|
break
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
496
|
+
if replacement:
|
|
497
|
+
# We must keep the package name the same, since it is used to
|
|
498
|
+
# specify dependencies.
|
|
499
|
+
replacement["package"] = spec["package"]
|
|
500
|
+
# The version is required for all specs. What we put there will
|
|
501
|
+
# influence the package's hash, so allow the user to override it.
|
|
502
|
+
replacement.setdefault("version", requested_version)
|
|
503
|
+
spec = replacement
|
|
504
|
+
# Allows generalising the version based on the actual key provided
|
|
505
|
+
spec["version"] = spec["version"].replace("%(key)s", key)
|
|
506
|
+
recipe = replacement.get("recipe", "")
|
|
507
|
+
# If there's an explicitly-specified recipe, we're still building
|
|
508
|
+
# the package. If not, aliBuild will still "build" it, but it's
|
|
509
|
+
# basically instantaneous, so report to the user that we're taking
|
|
510
|
+
# it from the system.
|
|
511
|
+
if recipe:
|
|
512
|
+
ownPackages.add(spec["package"])
|
|
513
|
+
else:
|
|
514
|
+
systemPackages.add(spec["package"])
|
|
515
515
|
else:
|
|
516
|
-
|
|
516
|
+
warning(f"Could not find named replacement spec for {spec['package']}: {key}, "
|
|
517
|
+
"falling back to building the package ourselves.")
|
|
517
518
|
|
|
518
519
|
dieOnError(("system_requirement" in spec) and recipe.strip("\n\t "),
|
|
519
520
|
"System requirements %s cannot have a recipe" % spec["package"])
|
|
@@ -154,17 +154,20 @@ class ReplacementTestCase(unittest.TestCase):
|
|
|
154
154
|
self.assertNotIn("with-replacement-recipe", systemPkgs)
|
|
155
155
|
self.assertIn("with-replacement-recipe", ownPkgs)
|
|
156
156
|
|
|
157
|
-
@mock.patch("alibuild_helpers.utilities.
|
|
158
|
-
def test_missing_replacement_spec(self,
|
|
159
|
-
"""Check
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
157
|
+
@mock.patch("alibuild_helpers.utilities.warning")
|
|
158
|
+
def test_missing_replacement_spec(self, mock_warning):
|
|
159
|
+
"""Check a warning is displayed when the replacement spec is not found."""
|
|
160
|
+
warning_msg = "falling back to building the package ourselves"
|
|
161
|
+
warning_exists = False
|
|
162
|
+
def side_effect(msg, *args, **kwargs):
|
|
163
|
+
nonlocal warning_exists
|
|
164
|
+
if warning_msg in str(msg):
|
|
165
|
+
warning_exists = True
|
|
166
|
+
mock_warning.side_effect = side_effect
|
|
167
|
+
specs, systemPkgs, ownPkgs, failedReqs, validDefaults = \
|
|
168
|
+
getPackageListWithDefaults(["missing-spec"])
|
|
169
|
+
self.assertTrue(warning_exists)
|
|
170
|
+
|
|
168
171
|
|
|
169
172
|
|
|
170
173
|
@mock.patch("alibuild_helpers.utilities.getRecipeReader", new=MockReader)
|
|
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
|
|
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
|
|
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
|