saltstack/salt-bootstrap

ubuntu 20.04 and 22.04 git install fails

ITJamie opened this issue · 1 comments

Description of Issue/Question

note: the salt-formulas working group is working on fixing some issues with our test suites.
we have found that ubuntu 20.04 and 22.04 fails to install git master builds

example builds (contains detailed failure logs):

20.04: https://gitlab.com/saltstack-formulas/infrastructure/salt-image-builder/-/jobs/4634111003
22.04: https://gitlab.com/saltstack-formulas/infrastructure/salt-image-builder/-/jobs/4634110999

Setup

bootstrap command:

curl -L https://raw.githubusercontent.com/saltstack/salt-bootstrap/develop/bootstrap-salt.sh
sh -s -- -g https://github.com/myii/salt.git -XUdfPD -x python3 git master 

example failure:

Collecting pyzmq<=22.0.3,>=20.0.0
  Downloading pyzmq-20.0.0.tar.gz (1.2 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 69.2 MB/s eta 0:00:00
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'error'
  error: subprocess-exited-with-error
  
  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [55 lines of output]
      /usr/local/lib/python3.10/dist-packages/setuptools/__init__.py:84: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated.
      !!
      
              ********************************************************************************
              Requirements should be satisfied by a PEP 517 installer.
              If you are using pip, you can try `pip install --use-pep517`.
              ********************************************************************************
      
      !!
        dist.fetch_build_eggs(dist.setup_requires)
      
      
              It is possible a package already installed in your system
              contains an version that is invalid according to PEP 440.
              You can try `pip install --use-pep517` as a workaround for this problem,
              or rely on a new virtual environment.
      
              If the problem refers to a package that is not installed yet,
              please contact that package's maintainers or distributors.
      
      
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/tmp/pip-download-jgs9a477/pyzmq_7cf0a347b88b4eebb1b167ad18b99bd5/setup.py", line 1378, in <module>
          setup(**setup_args)
        File "/usr/local/lib/python3.10/dist-packages/setuptools/__init__.py", line 106, in setup
          _install_setup_requires(attrs)
        File "/usr/local/lib/python3.10/dist-packages/setuptools/__init__.py", line 79, in _install_setup_requires
          _fetch_build_eggs(dist)
        File "/usr/local/lib/python3.10/dist-packages/setuptools/__init__.py", line 84, in _fetch_build_eggs
          dist.fetch_build_eggs(dist.setup_requires)
        File "/usr/local/lib/python3.10/dist-packages/setuptools/dist.py", line 907, in fetch_build_eggs
          return _fetch_build_eggs(self, requires)
        File "/usr/local/lib/python3.10/dist-packages/setuptools/installer.py", line 38, in _fetch_build_eggs
          resolved_dists = pkg_resources.working_set.resolve(
        File "/usr/local/lib/python3.10/dist-packages/pkg_resources/__init__.py", line 826, in resolve
          if not req_extras.markers_pass(req, extras):
        File "/usr/local/lib/python3.10/dist-packages/pkg_resources/__init__.py", line 1028, in markers_pass
          return not req.marker or any(extra_evals)
        File "/usr/local/lib/python3.10/dist-packages/pkg_resources/__init__.py", line 1025, in <genexpr>
          req.marker.evaluate({'extra': extra})
        File "/usr/local/lib/python3.10/dist-packages/pkg_resources/_vendor/packaging/markers.py", line 252, in evaluate
          return _evaluate_markers(self._markers, current_environment)
        File "/usr/local/lib/python3.10/dist-packages/pkg_resources/_vendor/packaging/markers.py", line 158, in _evaluate_markers
          groups[-1].append(_eval_op(lhs_value, op, rhs_value))
        File "/usr/local/lib/python3.10/dist-packages/pkg_resources/_vendor/packaging/markers.py", line 116, in _eval_op
          return spec.contains(lhs, prereleases=True)
        File "/usr/local/lib/python3.10/dist-packages/pkg_resources/_vendor/packaging/specifiers.py", line 568, in contains
          normalized_item = _coerce_version(item)
        File "/usr/local/lib/python3.10/dist-packages/pkg_resources/_vendor/packaging/specifiers.py", line 36, in _coerce_version
          version = Version(version)
        File "/usr/local/lib/python3.10/dist-packages/pkg_resources/_vendor/packaging/version.py", line 198, in __init__
          raise InvalidVersion(f"Invalid version: '{version}'")
      pkg_resources.extern.packaging.version.InvalidVersion: Invalid version: 'cpython'
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
Failed to download salt dependencies
 *  INFO: Installing Downloaded Salt Dependencies
 * DEBUG: Running 'pip3.10 install --ignore-installed  /tmp/git/deps/*'
ERROR: Invalid requirement: '/tmp/git/deps/*'
Hint: It looks like a path. File '/tmp/git/deps/*' does not exist.
 * ERROR: Failed to run install_ubuntu_git()!!!
 * DEBUG: Cleaning up the Salt Temporary Git Repository
 * DEBUG: Removing the logging pipe /tmp/bootstrap-salt.logpipe
 * DEBUG: Removing the temporary apt error file /tmp/apt_error.2miuz9
 * DEBUG: Killing logging pipe tee's with pid(s): 4477

closing this out. it was caused by old fallback in the salt-fomulas build gitlab ci file
https://gitlab.com/saltstack-formulas/infrastructure/salt-image-builder/-/merge_requests/163 will fix it