iovisor / bcc

BCC - Tools for BPF-based Linux IO analysis, networking, monitoring, and more
Apache License 2.0
20.36k stars 3.86k forks source link

Wrong Tag for 0.29.0 #4826

Closed Wh1isper closed 10 months ago

Wh1isper commented 10 months ago

The latest version 0.29.0 has a git tag of 0.29.0 instead of v0.29.0, making the version extraction warming. It causes the build failure for python binding. (The version specified is not a valid version according to PEP 440.)

Code at: https://github.com/iovisor/bcc/blob/master/cmake/version.cmake#L9

Warming message:

CMake Warning at cmake/version.cmake:32 (message):
  Could not extract major/minor/patch from revision .29.0+7cdf90e9
Call Stack (most recent call first):
  CMakeLists.txt:102 (include)

Build failure message:

/home/wh1isper/miniconda3/envs/runtime/lib/python3.10/site-packages/setuptools/dist.py:510: SetuptoolsDeprecationWarning: Invalid version: '.29.0+7cdf90e9'.
!!

        ********************************************************************************
        The version specified is not a valid version according to PEP 440.
        This may not work as expected with newer versions of
        setuptools, pip, and PyPI.

        This deprecation is overdue, please update your project and remove deprecated
        calls to avoid build errors in the future.

        See https://peps.python.org/pep-0440/ for details.
        ********************************************************************************

!!
  self._validate_version(self.metadata.version)
running sdist
running egg_info
/home/wh1isper/miniconda3/envs/runtime/lib/python3.10/site-packages/setuptools/command/egg_info.py:131: SetuptoolsDeprecationWarning: Invalid version: '.29.0+7cdf90e9'.
!!

        ********************************************************************************
        Version '.29.0+7cdf90e9' is not valid according to PEP 440.

        Please make sure to specify a valid version for your package.
        Also note that future releases of setuptools may halt the build process
        if an invalid version is given.

        This deprecation is overdue, please update your project and remove deprecated
        calls to avoid build errors in the future.

        See https://peps.python.org/pep-0440/ for details.
        ********************************************************************************

!!
  return _normalization.best_effort_version(tagged)
Traceback (most recent call last):
  File "/home/wh1isper/build/bcc/build/src/python/bcc-python3/setup.py", line 11, in <module>
    setup(name='bcc',
  File "/home/wh1isper/miniconda3/envs/runtime/lib/python3.10/site-packages/setuptools/__init__.py", line 107, in setup
    return distutils.core.setup(**attrs)
  File "/home/wh1isper/miniconda3/envs/runtime/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 185, in setup
    return run_commands(dist)
  File "/home/wh1isper/miniconda3/envs/runtime/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
    dist.run_commands()
  File "/home/wh1isper/miniconda3/envs/runtime/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
    self.run_command(cmd)
  File "/home/wh1isper/miniconda3/envs/runtime/lib/python3.10/site-packages/setuptools/dist.py", line 1234, in run_command
    super().run_command(command)
  File "/home/wh1isper/miniconda3/envs/runtime/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
    cmd_obj.run()
  File "/home/wh1isper/miniconda3/envs/runtime/lib/python3.10/site-packages/setuptools/command/sdist.py", line 46, in run
    self.run_command('egg_info')
  File "/home/wh1isper/miniconda3/envs/runtime/lib/python3.10/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
    self.distribution.run_command(command)
  File "/home/wh1isper/miniconda3/envs/runtime/lib/python3.10/site-packages/setuptools/dist.py", line 1234, in run_command
    super().run_command(command)
  File "/home/wh1isper/miniconda3/envs/runtime/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 987, in run_command
    cmd_obj.ensure_finalized()
  File "/home/wh1isper/miniconda3/envs/runtime/lib/python3.10/site-packages/setuptools/_distutils/cmd.py", line 111, in ensure_finalized
    self.finalize_options()
  File "/home/wh1isper/miniconda3/envs/runtime/lib/python3.10/site-packages/setuptools/command/egg_info.py", line 218, in finalize_options
    parsed_version = packaging.version.Version(self.egg_version)
  File "/home/wh1isper/miniconda3/envs/runtime/lib/python3.10/site-packages/setuptools/_vendor/packaging/version.py", line 198, in __init__
    raise InvalidVersion(f"Invalid version: '{version}'")
setuptools.extern.packaging.version.InvalidVersion: Invalid version: '.29.0-7cdf90e9'
make[2]: *** [src/python/CMakeFiles/bcc_py_python3.dir/build.make:84:src/python/bcc-python3/dist/bcc-.29.0+7cdf90e9.tar.gz]

Workaround: change cmake/version.cmake Line 9:

FROM:

  string(SUBSTRING "${GIT_TAG_LAST}+${GIT_SHA1_SHORT}" 1 -1 REVISION)

TO:

  string(SUBSTRING "${GIT_TAG_LAST}+${GIT_SHA1_SHORT}" 0 -1 REVISION)
yonghong-song commented 10 months ago

Oops. Sorry, make a mistake late night coding. Thanks for immediate reporting! Will create a tag v0.29.0 today to fix the issue.

yonghong-song commented 10 months ago

Done with v0.29.0 release.