mirror of
https://gitlab.com/libvirt/libvirt-python.git
synced 2024-10-26 16:25:10 +03:00
545cc70f2f
The distutils/setuptools 'install' command is deprecated in favour of 'pip', and with recent versiosn, using it will create a bad install that triggers a traceback on all future use of setuptools: Traceback (most recent call last): File "/builds/berrange/libvirt-python/setup.py", line 328, in <module> setup(name = 'libvirt-python', File "/usr/lib/python3.10/site-packages/setuptools/__init__.py", line 154, in setup _install_setup_requires(attrs) File "/usr/lib/python3.10/site-packages/setuptools/__init__.py", line 143, in _install_setup_requires dist = MinimalDistribution(attrs) File "/usr/lib/python3.10/site-packages/setuptools/__init__.py", line 135, in __init__ super().__init__(filtered) File "/usr/lib/python3.10/site-packages/setuptools/dist.py", line 456, in __init__ for ep in metadata.entry_points(group='distutils.setup_keywords'): File "/usr/lib64/python3.10/importlib/metadata/__init__.py", line 1009, in entry_points return SelectableGroups.load(eps).select(**params) File "/usr/lib64/python3.10/importlib/metadata/__init__.py", line 459, in load ordered = sorted(eps, key=by_group) File "/usr/lib64/python3.10/importlib/metadata/__init__.py", line 1006, in <genexpr> eps = itertools.chain.from_iterable( File "/usr/lib64/python3.10/importlib/metadata/_itertools.py", line 16, in unique_everseen k = key(element) File "/usr/lib64/python3.10/importlib/metadata/__init__.py", line 941, in _normalized_name return self._name_from_stem(stem) or super()._normalized_name File "/usr/lib64/python3.10/importlib/metadata/__init__.py", line 622, in _normalized_name return Prepared.normalize(self.name) File "/usr/lib64/python3.10/importlib/metadata/__init__.py", line 871, in normalize return re.sub(r"[-_.]+", "-", name).lower().replace('-', '_') File "/usr/lib64/python3.10/re.py", line 209, in sub return _compile(pattern, flags).sub(repl, string, count) This is certainly a bug in distutils/setuptools, but given the 'install' command is deprecated, instead of waiting for a fix, just switch to the recommend 'pip install .' command. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
64 lines
1.8 KiB
YAML
64 lines
1.8 KiB
YAML
|
|
stages:
|
|
- containers
|
|
- builds
|
|
- sanity_checks
|
|
|
|
.git_build_vars: &git_build_vars |
|
|
export MAKEFLAGS="-j$(getconf _NPROCESSORS_ONLN)"
|
|
export SCRATCH_DIR="$PWD/scratch"
|
|
export VROOT="$SCRATCH_DIR/vroot"
|
|
export LIBDIR="$VROOT/lib"
|
|
export LD_LIBRARY_PATH="$LIBDIR"
|
|
export PATH="$VROOT/bin:$PATH"
|
|
export PKG_CONFIG_PATH="$LIBDIR/pkgconfig"
|
|
export CFLAGS="-Werror"
|
|
|
|
.native_git_build_job:
|
|
extends: .gitlab_native_build_job
|
|
before_script:
|
|
- *git_build_vars
|
|
script:
|
|
- pushd "$PWD"
|
|
- mkdir -p "$SCRATCH_DIR"
|
|
- cd "$SCRATCH_DIR"
|
|
- git clone --depth 1 https://gitlab.com/libvirt/libvirt.git
|
|
- cd libvirt
|
|
- meson build -Ddriver_libvirtd=disabled "--prefix=$VROOT" "--libdir=$LIBDIR"
|
|
- ninja -C build install
|
|
- popd
|
|
- $PYTHON setup.py build
|
|
- $PYTHON -m pip install .
|
|
- $PYTHON setup.py test
|
|
- $PYTHON setup.py sdist
|
|
- if test -x /usr/bin/rpmbuild && test "$RPM" != "skip" ; then rpmbuild --nodeps -ta dist/libvirt-python*tar.gz ; fi
|
|
|
|
.native_build_job:
|
|
extends: .gitlab_native_build_job
|
|
before_script:
|
|
- export MAKEFLAGS="-j$(getconf _NPROCESSORS_ONLN)"
|
|
- export CFLAGS="-Werror"
|
|
script:
|
|
- $PYTHON setup.py build
|
|
- $PYTHON -m pip install .
|
|
- $PYTHON setup.py test
|
|
- $PYTHON setup.py sdist
|
|
- if test -x /usr/bin/rpmbuild && test "$RPM" != "skip" ; then rpmbuild --nodeps -ta dist/libvirt-python*tar.gz ; fi
|
|
|
|
include: '/ci/gitlab.yml'
|
|
|
|
api-coverage:
|
|
image: $CI_REGISTRY_IMAGE/ci-centos-stream-8:latest
|
|
stage: sanity_checks
|
|
needs:
|
|
- job: x86_64-centos-stream-8-git
|
|
artifacts: true
|
|
before_script:
|
|
- *git_build_vars
|
|
script:
|
|
- LIBVIRT_API_COVERAGE=1 $PYTHON setup.py test
|
|
rules:
|
|
- if: '$CI_PIPELINE_SOURCE == "push"'
|
|
allow_failure: true
|
|
- if: '$CI_PIPELINE_SOURCE == "schedule"'
|