alibuild 1.17.21__tar.gz → 1.17.23__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.21 → alibuild-1.17.23}/.github/workflows/pr-check.yml +19 -0
- {alibuild-1.17.21/alibuild.egg-info → alibuild-1.17.23}/PKG-INFO +1 -1
- {alibuild-1.17.21 → alibuild-1.17.23/alibuild.egg-info}/PKG-INFO +1 -1
- {alibuild-1.17.21 → alibuild-1.17.23}/alibuild_helpers/_version.py +2 -2
- {alibuild-1.17.21 → alibuild-1.17.23}/alibuild_helpers/args.py +2 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/alibuild_helpers/build.py +4 -1
- {alibuild-1.17.21 → alibuild-1.17.23}/alibuild_helpers/build_template.sh +2 -2
- {alibuild-1.17.21 → alibuild-1.17.23}/alibuild_helpers/deps.py +5 -1
- {alibuild-1.17.21 → alibuild-1.17.23}/alibuild_helpers/doctor.py +9 -2
- {alibuild-1.17.21 → alibuild-1.17.23}/alibuild_helpers/log.py +8 -1
- {alibuild-1.17.21 → alibuild-1.17.23}/alibuild_helpers/sync.py +8 -3
- {alibuild-1.17.21 → alibuild-1.17.23}/alibuild_helpers/utilities.py +2 -2
- {alibuild-1.17.21 → alibuild-1.17.23}/tests/test_build.py +1 -1
- {alibuild-1.17.21 → alibuild-1.17.23}/tests/test_deps.py +2 -1
- {alibuild-1.17.21 → alibuild-1.17.23}/tests/test_doctor.py +2 -1
- {alibuild-1.17.21 → alibuild-1.17.23}/tests/test_init.py +4 -2
- {alibuild-1.17.21 → alibuild-1.17.23}/tests/test_utilities.py +90 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/tox.ini +8 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/.flake8 +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/.github/workflows/documentation.yml +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/.github/workflows/release.yml +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/.gitignore +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/.pylintrc +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/ANALYTICS.md +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/DESIGN.md +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/LICENSE.md +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/PACKAGING.md +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/README.rst +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/alfaBuild +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/aliBuild +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/aliDeps +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/aliDoctor +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/alibuild.egg-info/SOURCES.txt +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/alibuild.egg-info/dependency_links.txt +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/alibuild.egg-info/requires.txt +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/alibuild.egg-info/top_level.txt +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/alibuild_helpers/__init__.py +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/alibuild_helpers/analytics.py +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/alibuild_helpers/clean.py +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/alibuild_helpers/cmd.py +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/alibuild_helpers/git.py +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/alibuild_helpers/init.py +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/alibuild_helpers/scm.py +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/alibuild_helpers/sl.py +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/alibuild_helpers/templating_plugin.py +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/alibuild_helpers/workarea.py +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/alienv +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/codecov.yml +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/debian/changelog +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/debian/compat +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/debian/control +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/debian/copyright +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/debian/files +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/debian/rules +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/docs/README.md +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/docs/SUPPORT +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/docs/docs/alice_logo.png +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/docs/docs/deps.png +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/docs/docs/index.md +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/docs/docs/quick.md +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/docs/docs/reference.md +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/docs/docs/stylesheets/extra.css +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/docs/docs/troubleshooting.md +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/docs/docs/user.md +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/docs/mkdocs.yml +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/pb +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/pyproject.toml +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/setup.cfg +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/templates/alibuild_to_please.jnj +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/tests/test_analytics.py +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/tests/test_args.py +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/tests/test_clean.py +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/tests/test_cmd.py +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/tests/test_git.py +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/tests/test_hashing.py +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/tests/test_log.py +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/tests/test_packagelist.py +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/tests/test_parseRecipe.py +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/tests/test_sync.py +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/tests/test_workarea.py +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/tests/testdist/broken1.sh +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/tests/testdist/broken2.sh +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/tests/testdist/broken3.sh +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/tests/testdist/broken4.sh +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/tests/testdist/broken5.sh +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/tests/testdist/broken6.sh +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/tests/testdist/broken7.sh +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/tests/testdist/clobber-initdotsh.sh +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/tests/testdist/defaults-o2.sh +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/tests/testdist/delete-etc.sh +0 -0
- {alibuild-1.17.21 → alibuild-1.17.23}/tests/testdist/tracking-env.sh +0 -0
|
@@ -129,3 +129,22 @@ jobs:
|
|
|
129
129
|
#
|
|
130
130
|
# - name: Run linters
|
|
131
131
|
# run: tox -e lint
|
|
132
|
+
|
|
133
|
+
check-readme:
|
|
134
|
+
name: Check README
|
|
135
|
+
runs-on: ubuntu-latest
|
|
136
|
+
|
|
137
|
+
steps:
|
|
138
|
+
- uses: actions/checkout@v4
|
|
139
|
+
|
|
140
|
+
- name: Set up Python
|
|
141
|
+
uses: actions/setup-python@v5
|
|
142
|
+
with:
|
|
143
|
+
python-version: 3.x
|
|
144
|
+
|
|
145
|
+
- name: Install dependencies
|
|
146
|
+
run: python -m pip install --upgrade tox tox-gh-actions
|
|
147
|
+
|
|
148
|
+
- name: Run README check
|
|
149
|
+
run: tox -e check-readme
|
|
150
|
+
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: alibuild
|
|
3
|
-
Version: 1.17.
|
|
3
|
+
Version: 1.17.23
|
|
4
4
|
Summary: ALICE Build Tool
|
|
5
5
|
Author-email: Giulio Eulisse <giulio.eulisse@cern.ch>, Timo Wilken <timo.wilken@cern.ch>, Sergio Garcia <sergio.garcia@cern.ch>
|
|
6
6
|
Project-URL: homepage, https://alisw.github.io/alibuild
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: alibuild
|
|
3
|
-
Version: 1.17.
|
|
3
|
+
Version: 1.17.23
|
|
4
4
|
Summary: ALICE Build Tool
|
|
5
5
|
Author-email: Giulio Eulisse <giulio.eulisse@cern.ch>, Timo Wilken <timo.wilken@cern.ch>, Sergio Garcia <sergio.garcia@cern.ch>
|
|
6
6
|
Project-URL: homepage, https://alisw.github.io/alibuild
|
|
@@ -254,6 +254,8 @@ def doParseArgs():
|
|
|
254
254
|
help=("Assume we're not building %(metavar)s and all its (unique) dependencies. "
|
|
255
255
|
"You can specify this option multiple times or separate multiple arguments "
|
|
256
256
|
"with commas."))
|
|
257
|
+
doctor_parser.add_argument("-e", dest="environment", action="append", default=[],
|
|
258
|
+
help="KEY=VALUE binding to add to the build environment. May be specified multiple times.")
|
|
257
259
|
|
|
258
260
|
doctor_system = doctor_parser.add_mutually_exclusive_group()
|
|
259
261
|
doctor_system.add_argument("--always-prefer-system", dest="preferSystem", action="store_true",
|
|
@@ -501,7 +501,10 @@ def doBuild(args, parser):
|
|
|
501
501
|
|
|
502
502
|
install_wrapper_script("git", workDir)
|
|
503
503
|
|
|
504
|
-
|
|
504
|
+
extra_env = {"ALIBUILD_CONFIG_DIR": "/alidist" if args.docker else os.path.abspath(args.configDir)}
|
|
505
|
+
extra_env.update(dict([e.partition('=')[::2] for e in args.environment]))
|
|
506
|
+
|
|
507
|
+
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:
|
|
505
508
|
def performPreferCheckWithTempDir(pkg, cmd):
|
|
506
509
|
with tempfile.TemporaryDirectory(prefix=f"alibuild_prefer_check_{pkg['package']}_") as temp_dir:
|
|
507
510
|
return getstatusoutput_docker(cmd, cwd=temp_dir)
|
|
@@ -103,9 +103,9 @@ unset DYLD_LIBRARY_PATH
|
|
|
103
103
|
EOF
|
|
104
104
|
|
|
105
105
|
cd "$BUILDROOT"
|
|
106
|
-
ln -snf $PKGHASH "$
|
|
106
|
+
ln -snf "$PKGHASH" "$ALIBUILD_BUILD_WORK_DIR/BUILD/$PKGNAME-latest"
|
|
107
107
|
if [[ $DEVEL_PREFIX ]]; then
|
|
108
|
-
ln -snf $PKGHASH "$
|
|
108
|
+
ln -snf "$PKGHASH" "$ALIBUILD_BUILD_WORK_DIR/BUILD/$PKGNAME-latest-$DEVEL_PREFIX"
|
|
109
109
|
fi
|
|
110
110
|
|
|
111
111
|
cd "$BUILDDIR"
|
|
@@ -16,7 +16,11 @@ def doDeps(args, parser):
|
|
|
16
16
|
specs = {}
|
|
17
17
|
defaultsReader = lambda: readDefaults(args.configDir, args.defaults, parser.error, args.architecture)
|
|
18
18
|
(err, overrides, taps) = parseDefaults(args.disable, defaultsReader, debug)
|
|
19
|
-
|
|
19
|
+
|
|
20
|
+
extra_env = {"ALIBUILD_CONFIG_DIR": "/alidist" if args.docker else path.abspath(args.configDir)}
|
|
21
|
+
extra_env.update(dict([e.partition('=')[::2] for e in args.environment]))
|
|
22
|
+
|
|
23
|
+
with DockerRunner(args.dockerImage, args.docker_extra_args, extra_env=extra_env, extra_volumes=[f"{path.abspath(args.configDir)}:/alidist:ro"] if args.docker else []) as getstatusoutput_docker:
|
|
20
24
|
def performCheck(pkg, cmd):
|
|
21
25
|
return getstatusoutput_docker(cmd)
|
|
22
26
|
|
|
@@ -83,7 +83,11 @@ def doDoctor(args, parser):
|
|
|
83
83
|
# Decide if we can use homebrew. If not, we replace it with "true" so
|
|
84
84
|
# that we do not get spurious messages on linux
|
|
85
85
|
homebrew_replacement = ""
|
|
86
|
-
|
|
86
|
+
|
|
87
|
+
extra_env = {"ALIBUILD_CONFIG_DIR": "/alidist" if args.docker else os.path.abspath(args.configDir)}
|
|
88
|
+
extra_env.update(dict([e.partition('=')[::2] for e in args.environment]))
|
|
89
|
+
|
|
90
|
+
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:
|
|
87
91
|
err, output = getstatusoutput_docker("type c++")
|
|
88
92
|
if err:
|
|
89
93
|
warning("Unable to find system compiler.\n"
|
|
@@ -140,7 +144,10 @@ def doDoctor(args, parser):
|
|
|
140
144
|
error("%s", msg)
|
|
141
145
|
return (ok,msg,valid)
|
|
142
146
|
|
|
143
|
-
|
|
147
|
+
extra_env = {"ALIBUILD_CONFIG_DIR": "/alidist" if args.docker else os.path.abspath(args.configDir)}
|
|
148
|
+
extra_env.update(dict([e.partition('=')[::2] for e in args.environment]))
|
|
149
|
+
|
|
150
|
+
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:
|
|
144
151
|
def performPreferCheckWithTempDir(pkg, cmd):
|
|
145
152
|
with tempfile.TemporaryDirectory(prefix=f"alibuild_prefer_check_{pkg['package']}_") as temp_dir:
|
|
146
153
|
return getstatusoutput_docker(cmd, cwd=temp_dir)
|
|
@@ -53,14 +53,21 @@ def log_current_package(package, main_package, specs, devel_prefix) -> None:
|
|
|
53
53
|
|
|
54
54
|
|
|
55
55
|
class ProgressPrint:
|
|
56
|
-
def __init__(self, begin_msg="") -> None:
|
|
56
|
+
def __init__(self, begin_msg="", min_interval=0.) -> None:
|
|
57
57
|
self.count = -1
|
|
58
58
|
self.lasttime = 0
|
|
59
59
|
self.STAGES = ".", "..", "...", "....", ".....", "....", "...", ".."
|
|
60
60
|
self.begin_msg = begin_msg
|
|
61
61
|
self.percent = -1
|
|
62
|
+
self.min_interval = min_interval
|
|
63
|
+
self.last_update = 0
|
|
62
64
|
|
|
63
65
|
def __call__(self, txt, *args) -> None:
|
|
66
|
+
now = time.time()
|
|
67
|
+
if (now - self.last_update) < self.min_interval:
|
|
68
|
+
return
|
|
69
|
+
self.last_update = now
|
|
70
|
+
|
|
64
71
|
if logger.level <= logging.DEBUG or not sys.stdout.isatty():
|
|
65
72
|
debug(txt, *args)
|
|
66
73
|
return
|
|
@@ -178,7 +178,7 @@ class HttpRemoteSync:
|
|
|
178
178
|
destPath = os.path.join(self.workdir, store_path, use_tarball)
|
|
179
179
|
if not os.path.isfile(destPath): # do not download twice
|
|
180
180
|
progress = ProgressPrint("Downloading tarball for %s@%s" %
|
|
181
|
-
(spec["package"], spec["version"]))
|
|
181
|
+
(spec["package"], spec["version"]), min_interval=5.0)
|
|
182
182
|
progress("[0%%] Starting download of %s", use_tarball) # initialise progress bar
|
|
183
183
|
self.getRetry("/".join((self.remoteStore, store_path, use_tarball)),
|
|
184
184
|
destPath, session=session, progress=progress)
|
|
@@ -357,7 +357,7 @@ class CVMFSRemoteSync:
|
|
|
357
357
|
# Create the dummy tarball, if it does not exists
|
|
358
358
|
test -f "{workDir}/{architecture}/store/${{pkg_hash:0:2}}/$pkg_hash/$tarball" && continue
|
|
359
359
|
mkdir -p "{workDir}/INSTALLROOT/$pkg_hash/{architecture}/{package}"
|
|
360
|
-
find "{remote_store}/{cvmfs_architecture}/Packages/{package}/$full_version" ! -name etc -maxdepth 1 -mindepth 1 -exec ln -sf {} "{workDir}/INSTALLROOT/$pkg_hash/{architecture}/{package}/"
|
|
360
|
+
find "{remote_store}/{cvmfs_architecture}/Packages/{package}/$full_version" ! -name etc -maxdepth 1 -mindepth 1 -exec ln -sf {} "{workDir}/INSTALLROOT/$pkg_hash/{architecture}/{package}/" \\;
|
|
361
361
|
cp -fr "{remote_store}/{cvmfs_architecture}/Packages/{package}/$full_version/etc" "{workDir}/INSTALLROOT/$pkg_hash/{architecture}/{package}/etc"
|
|
362
362
|
mkdir -p "{workDir}/TARS/{architecture}/store/${{pkg_hash:0:2}}/$pkg_hash"
|
|
363
363
|
tar -C "{workDir}/INSTALLROOT/$pkg_hash" -czf "{workDir}/TARS/{architecture}/store/${{pkg_hash:0:2}}/$pkg_hash/$tarball" .
|
|
@@ -551,7 +551,7 @@ class Boto3RemoteSync:
|
|
|
551
551
|
for tarball in self._s3_listdir(store_path):
|
|
552
552
|
debug("Fetching tarball %s", tarball)
|
|
553
553
|
progress = ProgressPrint("Downloading tarball for %s@%s" %
|
|
554
|
-
(spec["package"], spec["version"]))
|
|
554
|
+
(spec["package"], spec["version"]), min_interval=5.0)
|
|
555
555
|
progress("[0%%] Starting download of %s", tarball) # initialise progress bar
|
|
556
556
|
# Create containing directory locally. (exist_ok= is python3-specific.)
|
|
557
557
|
os.makedirs(os.path.join(self.workdir, store_path), exist_ok=True)
|
|
@@ -679,6 +679,7 @@ class Boto3RemoteSync:
|
|
|
679
679
|
|
|
680
680
|
# Second, upload dist symlinks. These should be in place before the main
|
|
681
681
|
# tarball, to avoid races in the publisher.
|
|
682
|
+
start_time = time.time()
|
|
682
683
|
for link_dir, symlinks in dist_symlinks.items():
|
|
683
684
|
for link_key, hash_path in symlinks:
|
|
684
685
|
self.s3.put_object(Bucket=self.writeStore,
|
|
@@ -688,6 +689,10 @@ class Boto3RemoteSync:
|
|
|
688
689
|
WebsiteRedirectLocation=hash_path)
|
|
689
690
|
debug("Uploaded %d dist symlinks to S3 from %s",
|
|
690
691
|
len(symlinks), link_dir)
|
|
692
|
+
end_time = time.time()
|
|
693
|
+
debug("Uploaded %d dist symlinks in %.2f seconds",
|
|
694
|
+
sum(len(symlinks) for _, symlinks in dist_symlinks.items()),
|
|
695
|
+
end_time - start_time)
|
|
691
696
|
|
|
692
697
|
self.s3.upload_file(Bucket=self.writeStore, Key=tar_path,
|
|
693
698
|
Filename=os.path.join(self.workdir, tar_path))
|
|
@@ -216,7 +216,7 @@ def doDetectArch(hasOsRelease, osReleaseLines, platformTuple, platformSystem, pl
|
|
|
216
216
|
distribution = distribution.lower()
|
|
217
217
|
# If platform.dist does not return something sensible,
|
|
218
218
|
# let's try with /etc/os-release
|
|
219
|
-
if distribution not in ["ubuntu", "red hat enterprise linux", "redhat", "centos", "almalinux", "
|
|
219
|
+
if distribution not in ["ubuntu", "red hat enterprise linux", "redhat", "centos", "almalinux", "rocky linux"] and hasOsRelease:
|
|
220
220
|
for x in osReleaseLines:
|
|
221
221
|
key, is_prop, val = x.partition("=")
|
|
222
222
|
if not is_prop:
|
|
@@ -236,7 +236,7 @@ def doDetectArch(hasOsRelease, osReleaseLines, platformTuple, platformSystem, pl
|
|
|
236
236
|
if version in debian_ubuntu:
|
|
237
237
|
distribution = "ubuntu"
|
|
238
238
|
version = debian_ubuntu[version]
|
|
239
|
-
elif distribution in ["redhat", "red hat enterprise linux", "centos", "almalinux", "
|
|
239
|
+
elif distribution in ["redhat", "red hat enterprise linux", "centos", "almalinux", "rocky linux"]:
|
|
240
240
|
distribution = "slc"
|
|
241
241
|
|
|
242
242
|
processor = platformProcessor
|
|
@@ -64,7 +64,8 @@ class DepsTestCase(unittest.TestCase):
|
|
|
64
64
|
outdot="/tmp/out.dot",
|
|
65
65
|
outgraph="/tmp/outgraph.pdf",
|
|
66
66
|
package="AliRoot",
|
|
67
|
-
defaults="release"
|
|
67
|
+
defaults="release",
|
|
68
|
+
environment=[])
|
|
68
69
|
def fake_exists(n):
|
|
69
70
|
return {"/alidist/aliroot.sh": True}
|
|
70
71
|
with patch.object(os.path, "exists", fake_exists):
|
|
@@ -48,7 +48,8 @@ class InitTestCase(unittest.TestCase):
|
|
|
48
48
|
defaults = "release",
|
|
49
49
|
dryRun = True,
|
|
50
50
|
fetchRepos = False,
|
|
51
|
-
architecture = "slc7_x86-64"
|
|
51
|
+
architecture = "slc7_x86-64",
|
|
52
|
+
environment = {},
|
|
52
53
|
)
|
|
53
54
|
self.assertRaises(SystemExit, doInit, args)
|
|
54
55
|
self.assertEqual(mock_info.mock_calls, [call('This will initialise local checkouts for %s\n--dry-run / -n specified. Doing nothing.', 'zlib,AliRoot')])
|
|
@@ -81,7 +82,8 @@ class InitTestCase(unittest.TestCase):
|
|
|
81
82
|
defaults = "release",
|
|
82
83
|
dryRun = False,
|
|
83
84
|
fetchRepos = False,
|
|
84
|
-
architecture = "slc7_x86-64"
|
|
85
|
+
architecture = "slc7_x86-64",
|
|
86
|
+
environment = {},
|
|
85
87
|
)
|
|
86
88
|
def fake_exists(n):
|
|
87
89
|
return {"/alidist/aliroot.sh": True}
|
|
@@ -113,12 +113,102 @@ SUPPORT_URL="http://forum.sabayon.org/"
|
|
|
113
113
|
BUG_REPORT_URL="https://bugs.sabayon.org/"
|
|
114
114
|
"""
|
|
115
115
|
|
|
116
|
+
ALMA_8_OS_RELEASE = """
|
|
117
|
+
NAME="AlmaLinux"
|
|
118
|
+
VERSION="8.10 (Cerulean Leopard)"
|
|
119
|
+
ID="almalinux"
|
|
120
|
+
ID_LIKE="rhel centos fedora"
|
|
121
|
+
VERSION_ID="8.10"
|
|
122
|
+
PLATFORM_ID="platform:el8"
|
|
123
|
+
PRETTY_NAME="AlmaLinux 8.10 (Cerulean Leopard)"
|
|
124
|
+
ANSI_COLOR="0;34"
|
|
125
|
+
LOGO="fedora-logo-icon"
|
|
126
|
+
CPE_NAME="cpe:/o:almalinux:almalinux:8::baseos"
|
|
127
|
+
HOME_URL="https://almalinux.org/"
|
|
128
|
+
DOCUMENTATION_URL="https://wiki.almalinux.org/"
|
|
129
|
+
BUG_REPORT_URL="https://bugs.almalinux.org/"
|
|
130
|
+
|
|
131
|
+
ALMALINUX_MANTISBT_PROJECT="AlmaLinux-8"
|
|
132
|
+
ALMALINUX_MANTISBT_PROJECT_VERSION="8.10"
|
|
133
|
+
REDHAT_SUPPORT_PRODUCT="AlmaLinux"
|
|
134
|
+
REDHAT_SUPPORT_PRODUCT_VERSION="8.10"
|
|
135
|
+
SUPPORT_END=2029-06-01
|
|
136
|
+
"""
|
|
137
|
+
|
|
138
|
+
ALMA_9_OS_RELEASE = """
|
|
139
|
+
NAME="AlmaLinux"
|
|
140
|
+
VERSION="9.6 (Sage Margay)"
|
|
141
|
+
ID="almalinux"
|
|
142
|
+
ID_LIKE="rhel centos fedora"
|
|
143
|
+
VERSION_ID="9.6"
|
|
144
|
+
PLATFORM_ID="platform:el9"
|
|
145
|
+
PRETTY_NAME="AlmaLinux 9.6 (Sage Margay)"
|
|
146
|
+
ANSI_COLOR="0;34"
|
|
147
|
+
LOGO="fedora-logo-icon"
|
|
148
|
+
CPE_NAME="cpe:/o:almalinux:almalinux:9::baseos"
|
|
149
|
+
HOME_URL="https://almalinux.org/"
|
|
150
|
+
DOCUMENTATION_URL="https://wiki.almalinux.org/"
|
|
151
|
+
BUG_REPORT_URL="https://bugs.almalinux.org/"
|
|
152
|
+
|
|
153
|
+
ALMALINUX_MANTISBT_PROJECT="AlmaLinux-9"
|
|
154
|
+
ALMALINUX_MANTISBT_PROJECT_VERSION="9.6"
|
|
155
|
+
REDHAT_SUPPORT_PRODUCT="AlmaLinux"
|
|
156
|
+
REDHAT_SUPPORT_PRODUCT_VERSION="9.6"
|
|
157
|
+
SUPPORT_END=2032-06-01
|
|
158
|
+
"""
|
|
159
|
+
|
|
160
|
+
ROCKY_8_OS_RELEASE = """
|
|
161
|
+
NAME="Rocky Linux"
|
|
162
|
+
VERSION="8.10 (Green Obsidian)"
|
|
163
|
+
ID="rocky"
|
|
164
|
+
ID_LIKE="rhel centos fedora"
|
|
165
|
+
VERSION_ID="8.10"
|
|
166
|
+
PLATFORM_ID="platform:el8"
|
|
167
|
+
PRETTY_NAME="Rocky Linux 8.10 (Green Obsidian)"
|
|
168
|
+
ANSI_COLOR="0;32"
|
|
169
|
+
LOGO="fedora-logo-icon"
|
|
170
|
+
CPE_NAME="cpe:/o:rocky:rocky:8:GA"
|
|
171
|
+
HOME_URL="https://rockylinux.org/"
|
|
172
|
+
BUG_REPORT_URL="https://bugs.rockylinux.org/"
|
|
173
|
+
SUPPORT_END="2029-05-31"
|
|
174
|
+
ROCKY_SUPPORT_PRODUCT="Rocky-Linux-8"
|
|
175
|
+
ROCKY_SUPPORT_PRODUCT_VERSION="8.10"
|
|
176
|
+
REDHAT_SUPPORT_PRODUCT="Rocky Linux"
|
|
177
|
+
REDHAT_SUPPORT_PRODUCT_VERSION="8.10"
|
|
178
|
+
"""
|
|
179
|
+
|
|
180
|
+
ROCKY_9_OS_RELEASE = """
|
|
181
|
+
NAME="Rocky Linux"
|
|
182
|
+
VERSION="9.6 (Blue Onyx)"
|
|
183
|
+
ID="rocky"
|
|
184
|
+
ID_LIKE="rhel centos fedora"
|
|
185
|
+
VERSION_ID="9.6"
|
|
186
|
+
PLATFORM_ID="platform:el9"
|
|
187
|
+
PRETTY_NAME="Rocky Linux 9.6 (Blue Onyx)"
|
|
188
|
+
ANSI_COLOR="0;32"
|
|
189
|
+
LOGO="fedora-logo-icon"
|
|
190
|
+
CPE_NAME="cpe:/o:rocky:rocky:9::baseos"
|
|
191
|
+
HOME_URL="https://rockylinux.org/"
|
|
192
|
+
VENDOR_NAME="RESF"
|
|
193
|
+
VENDOR_URL="https://resf.org/"
|
|
194
|
+
BUG_REPORT_URL="https://bugs.rockylinux.org/"
|
|
195
|
+
SUPPORT_END="2032-05-31"
|
|
196
|
+
ROCKY_SUPPORT_PRODUCT="Rocky-Linux-9"
|
|
197
|
+
ROCKY_SUPPORT_PRODUCT_VERSION="9.6"
|
|
198
|
+
REDHAT_SUPPORT_PRODUCT="Rocky Linux"
|
|
199
|
+
REDHAT_SUPPORT_PRODUCT_VERSION="9.6"
|
|
200
|
+
"""
|
|
201
|
+
|
|
116
202
|
architecturePayloads = [
|
|
117
203
|
['osx_x86-64', False, [], ('','',''), 'Darwin', 'x86-64'],
|
|
118
204
|
['osx_arm64', False, [], ('','',''), 'Darwin', 'arm64'],
|
|
119
205
|
['slc5_x86-64', False, [], ('redhat', '5.XX', 'Boron'), 'Linux', 'x86-64'],
|
|
120
206
|
['slc6_x86-64', False, [], ('centos', '6.X', 'Carbon'), 'Linux', 'x86-64'],
|
|
121
207
|
['slc7_x86-64', False, [], ('centos', '7.X', 'Ptor'), 'Linux', 'x86-64'],
|
|
208
|
+
['slc8_x86-64', True, ALMA_8_OS_RELEASE.split("\n"), ('AlmaLinux', '8.10', 'Cerulean Leopard'), 'Linux', 'x86_64'],
|
|
209
|
+
['slc8_x86-64', True, ROCKY_8_OS_RELEASE.split("\n"), ('Rocky Linux', '8.10', 'Green Obsidian'), 'Linux', 'x86_64'],
|
|
210
|
+
['slc9_x86-64', True, ALMA_9_OS_RELEASE.split("\n"), ('AlmaLinux', '9.6', 'Sage Margay'), 'Linux', 'x86_64'],
|
|
211
|
+
['slc9_x86-64', True, ROCKY_9_OS_RELEASE.split("\n"), ('Rocky Linux', '9.6', 'Blue Onyx'), 'Linux', 'x86_64'],
|
|
122
212
|
['ubuntu1804_x86-64', True, UBUNTU_1804_OS_RELEASE.split("\n"), ('Ubuntu', '18.04', 'bionic'), 'Linux', 'x86-64'],
|
|
123
213
|
['ubuntu1604_x86-64', True, UBUNTU_1604_OS_RELEASE.split("\n"), ('Ubuntu', '16.04', 'xenial'), 'Linux', 'x86-64'],
|
|
124
214
|
['ubuntu1510_x86-64', False, [], ('Ubuntu', '15.10', 'wily'), 'Linux', 'x86-64'],
|
|
@@ -139,3 +139,11 @@ exclude_lines =
|
|
|
139
139
|
raise NotImplementedError
|
|
140
140
|
# Don't complain if non-runnable code isn't run:
|
|
141
141
|
if __name__ == .__main__.:
|
|
142
|
+
|
|
143
|
+
[testenv:check-readme]
|
|
144
|
+
# Check the README.rst file for common issues.
|
|
145
|
+
# The pypa publishing job fails if this fails.
|
|
146
|
+
deps =
|
|
147
|
+
rstcheck
|
|
148
|
+
commands =
|
|
149
|
+
rstcheck {toxinidir}/README.rst
|
|
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
|