Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

6.4.0: pytest is failing in testing/test_integration.py::test_provides_toml_exta unit #668

Closed
kloczek opened this issue Jan 17, 2022 · 25 comments
Labels

Comments

@kloczek
Copy link

kloczek commented Jan 17, 2022

I'm trying to package your module as an rpm package. So I'm using the typical PEP517 based build, install and test cycle used on building packages from non-root account.

  • python3 -sBm build -w --no-isolation
  • because I'm calling build with --no-isolation I'm using during all processes oly locally installed modules
  • install .whl file in </install/prefix>
  • run pytest with PYTHONPATH pointing to sitearch and sitelib inside </install/prefix>

Here is pytest output:

+ PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools_scm-6.4.0-2.fc35.x86_64//usr/lib/python3.8/site-packages
+ pytest -ra --ignore testing/test_hg_git.py
=========================================================================== test session starts ============================================================================
platform linux -- Python 3.8.12, pytest-6.2.5, py-1.11.0, pluggy-1.0.0
setuptools version 60.5.4.post20220117 from '/usr/lib/python3.8/site-packages/setuptools/__init__.py'
setuptools_scm version 6.4.0 from '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools_scm-6.4.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools_scm/__init__.py'
rootdir: /home/tkloczko/rpmbuild/BUILD/setuptools_scm-6.4.0, configfile: tox.ini, testpaths: testing
collected 236 items

testing/test_basic_api.py .................                                                                                                                          [  7%]
testing/test_config.py ...........                                                                                                                                   [ 11%]
testing/test_file_finder.py .s.s.s.s.s.s.s.s.s.s.s..ss.s.s.s.s.s                                                                                                     [ 27%]
testing/test_functions.py .........................                                                                                                                  [ 37%]
testing/test_git.py ...............x...........X.....                                                                                                                [ 51%]
testing/test_integration.py ...............F                                                                                                                         [ 58%]
testing/test_main.py ....                                                                                                                                            [ 60%]
testing/test_mercurial.py ssssssssssssssss                                                                                                                           [ 66%]
testing/test_regressions.py ....s                                                                                                                                    [ 69%]
testing/test_setuptools_support.py sssssssssssssssssssssssssssss                                                                                                     [ 81%]
testing/test_version.py .........................................x..                                                                                                 [100%]

================================================================================= FAILURES =================================================================================
_________________________________________________________________________ test_provides_toml_exta __________________________________________________________________________

    @pytest.mark.issue(611)
    def test_provides_toml_exta():
        try:
            from importlib.metadata import distribution
        except ImportError:
            from importlib_metadata import distribution

        dist = distribution("setuptools_scm")
>       assert "toml" in dist.metadata["Provides-Extra"]
E       AssertionError: assert 'toml' in 'test'

testing/test_integration.py:152: AssertionError
========================================================================= short test summary info ==========================================================================
SKIPPED [18] testing/test_file_finder.py:24: hg executable not found
SKIPPED [5] testing/test_mercurial.py:37: hg executable not found
SKIPPED [1] testing/test_mercurial.py:49: hg executable not found
SKIPPED [1] testing/test_mercurial.py:55: hg executable not found
SKIPPED [1] testing/test_mercurial.py:69: hg executable not found
SKIPPED [1] testing/test_mercurial.py:97: hg executable not found
SKIPPED [1] testing/test_mercurial.py:112: hg executable not found
SKIPPED [1] testing/test_mercurial.py:122: hg executable not found
SKIPPED [1] testing/test_mercurial.py:147: hg executable not found
SKIPPED [1] testing/test_mercurial.py:152: hg executable not found
SKIPPED [1] testing/test_mercurial.py:159: hg executable not found
SKIPPED [1] testing/test_mercurial.py:171: hg executable not found
SKIPPED [1] testing/test_mercurial.py:181: hg executable not found
SKIPPED [1] testing/test_regressions.py:84: this bug is only valid on windows
SKIPPED [29] testing/test_setuptools_support.py:75: testing on legacy setuptools disabled, pass --test-legacy to run them
XFAIL testing/test_git.py::test_git_worktree_support
  sometimes relative path results
XFAIL testing/test_version.py::test_calver_by_date_semver[SemVer dirty]
XPASS testing/test_git.py::test_non_dotted_version https://github.com/pypa/setuptools_scm/issues/449
FAILED testing/test_integration.py::test_provides_toml_exta - AssertionError: assert 'toml' in 'test'
===================================================== 1 failed, 168 passed, 64 skipped, 2 xfailed, 1 xpassed in 19.45s =====================================================
@RonnyPfannschmidt
Copy link
Contributor

its absolutely required to add the prefix as a site dir
for further debugging, please debug the tests and check the path of the distribution

i strongly suspect your setup is simply broken as usual

@kloczek
Copy link
Author

kloczek commented Jan 17, 2022

its absolutely required to add the prefix as a site dir for further debugging, please debug the tests and check the path of the distribution

Hmm .. to be honest I do not understand that phrase 🤔
May I ask to rephrase what you've just wrote?

i strongly suspect your setup is simply broken as usual

I'm building now packages with minimal set of modules in build env.

Package                    Version
-------------------------- -------------------
attrs                      21.4.0
build                      0.7.0
chardet                    4.0.0
cycler                     0.11.0
dbus-python                1.2.18
distlib                    0.3.4
distro                     1.6.0
extras                     1.0.0
filelock                   3.4.2
fixtures                   3.0.0
fonttools                  4.28.5
gpg                        1.16.0-unknown
iniconfig                  1.1.1
jupyter-packaging-test-foo 0.1
kiwisolver                 1.3.2
libcomps                   0.1.18
lit                        13.0.0
lxml                       4.7.1
matplotlib                 3.5.1
meson                      0.61.1
numpy                      1.22.0
olefile                    0.46
packaging                  21.3
pbr                        5.8.0
pep517                     0.12.0
Pillow                     9.0.0
pip                        21.3.1
platformdirs               2.4.1
pluggy                     1.0.0
py                         1.11.0
pycairo                    1.20.1
PyGObject                  3.42.0
pyparsing                  3.0.6
pytest                     6.2.5
python-dateutil            2.8.2
rpm                        4.17.0
setuptools                 60.5.4.post20220117
six                        1.16.0
testtools                  2.5.0
toml                       0.10.2
tomli                      2.0.0
virtualenv                 20.13.0
wheel                      0.37.1

@RonnyPfannschmidt
Copy link
Contributor

please provide more details of the distribution object aka which package/version as well as the metadata items

@layday
Copy link
Member

layday commented Jan 17, 2022

That test is fragile (or wrong). It checks if the first extra contains the sub-string "toml" in it. It should be:

assert "toml" in dist.metadata.get_all("Provides-Extra")

Although that doesn't explain why test appears before toml for you.

@layday
Copy link
Member

layday commented Jan 17, 2022

Okay, you are using an unpublished version of setuptools. For some reason 60.5.1 through 60.5.4 haven't been published on PyPI.

@layday
Copy link
Member

layday commented Jan 17, 2022

I can reproduce this with setuptools 60.5.4, test comes before toml.

@kloczek
Copy link
Author

kloczek commented Jan 17, 2022

I'm not 100% sure am I looking for right things

[tkloczko@ss-desktop SPECS]$ grep Provides-Extra /usr/lib*/python3.8/site-packages/*.dist-info/*
/usr/lib/python3.8/site-packages/attrs-21.4.0.dist-info/METADATA:Provides-Extra: dev
/usr/lib/python3.8/site-packages/attrs-21.4.0.dist-info/METADATA:Provides-Extra: docs
/usr/lib/python3.8/site-packages/attrs-21.4.0.dist-info/METADATA:Provides-Extra: tests
/usr/lib/python3.8/site-packages/attrs-21.4.0.dist-info/METADATA:Provides-Extra: tests_no_zope
/usr/lib/python3.8/site-packages/build-0.7.0.dist-info/METADATA:Provides-Extra: docs
/usr/lib/python3.8/site-packages/build-0.7.0.dist-info/METADATA:Provides-Extra: test
/usr/lib/python3.8/site-packages/build-0.7.0.dist-info/METADATA:Provides-Extra: typing
/usr/lib/python3.8/site-packages/build-0.7.0.dist-info/METADATA:Provides-Extra: virtualenv
/usr/lib/python3.8/site-packages/filelock-3.4.2.dist-info/METADATA:Provides-Extra: docs
/usr/lib/python3.8/site-packages/filelock-3.4.2.dist-info/METADATA:Provides-Extra: testing
/usr/lib/python3.8/site-packages/platformdirs-2.4.1.dist-info/METADATA:Provides-Extra: docs
/usr/lib/python3.8/site-packages/platformdirs-2.4.1.dist-info/METADATA:Provides-Extra: test
/usr/lib/python3.8/site-packages/pluggy-1.0.0.dist-info/METADATA:Provides-Extra: dev
/usr/lib/python3.8/site-packages/pluggy-1.0.0.dist-info/METADATA:Provides-Extra: testing
/usr/lib/python3.8/site-packages/pytest-6.2.5.dist-info/METADATA:Provides-Extra: testing
/usr/lib/python3.8/site-packages/setuptools-60.5.4.post20220117.dist-info/METADATA:Provides-Extra: certs
/usr/lib/python3.8/site-packages/setuptools-60.5.4.post20220117.dist-info/METADATA:Provides-Extra: docs
/usr/lib/python3.8/site-packages/setuptools-60.5.4.post20220117.dist-info/METADATA:Provides-Extra: ssl
/usr/lib/python3.8/site-packages/setuptools-60.5.4.post20220117.dist-info/METADATA:Provides-Extra: testing
/usr/lib/python3.8/site-packages/setuptools-60.5.4.post20220117.dist-info/METADATA:Provides-Extra: testing-integration
/usr/lib/python3.8/site-packages/virtualenv-20.13.0.dist-info/METADATA:Provides-Extra: docs
/usr/lib/python3.8/site-packages/virtualenv-20.13.0.dist-info/METADATA:Provides-Extra: testing
/usr/lib/python3.8/site-packages/wheel-0.37.1.dist-info/METADATA:Provides-Extra: test

So there is no here toml however in installed in <install/prefix> by setuptools_scm metadata I see:

[tkloczko@ss-desktop setuptools_scm-6.4.0.dist-info]$ grep Provides-Extra /home/tkloczko/rpmbuild/BUILDROOT/python-setuptools_scm-6.4.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools_scm-6.4.0.dist-info/METADATA
Provides-Extra: test
Provides-Extra: toml

@layday
Copy link
Member

layday commented Jan 17, 2022

Yes, the toml extra is from setuptools_scm. The test is meant to verify that setuptools_scm provides this extra.

@layday
Copy link
Member

layday commented Jan 17, 2022

setuptools is putting test before toml when invoked with PEP 517. It's only working in CI because setuptools_scm is being installed with setup.py develop which has a different output.

@kloczek
Copy link
Author

kloczek commented Jan 17, 2022

OK .. as I'm using setuptools > 60 does it mean that this could be cause?

@RonnyPfannschmidt
Copy link
Contributor

will bugfix tommorow

@kloczek
Copy link
Author

kloczek commented Jan 17, 2022

Good to know that my methodology reporting issues is improving 😉

@RonnyPfannschmidt

This comment has been minimized.

@kloczek

This comment has been minimized.

@kloczek

This comment has been minimized.

RonnyPfannschmidt added a commit to RonnyPfannschmidt/setuptools_scm that referenced this issue Jan 18, 2022
@kloczek
Copy link
Author

kloczek commented Jan 18, 2022

Looks like 6.4.1 pytest is failing now on new thing ..

+ PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools_scm-6.4.1-2.fc35.x86_64//usr/lib/python3.8/site-packages
+ pytest -ra --ignore testing/test_hg_git.py
INTERNALERROR> Traceback (most recent call last):
INTERNALERROR>   File "/usr/lib/python3.8/site-packages/_pytest/main.py", line 265, in wrap_session
INTERNALERROR>     config._do_configure()
INTERNALERROR>   File "/usr/lib/python3.8/site-packages/_pytest/config/__init__.py", line 982, in _do_configure
INTERNALERROR>     self.hook.pytest_configure.call_historic(kwargs=dict(config=self))
INTERNALERROR>   File "/usr/lib/python3.8/site-packages/pluggy/_hooks.py", line 277, in call_historic
INTERNALERROR>     res = self._hookexec(self.name, self.get_hookimpls(), kwargs, False)
INTERNALERROR>   File "/usr/lib/python3.8/site-packages/pluggy/_manager.py", line 80, in _hookexec
INTERNALERROR>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
INTERNALERROR>   File "/usr/lib/python3.8/site-packages/pluggy/_callers.py", line 60, in _multicall
INTERNALERROR>     return outcome.get_result()
INTERNALERROR>   File "/usr/lib/python3.8/site-packages/pluggy/_result.py", line 60, in get_result
INTERNALERROR>     raise ex[1].with_traceback(ex[2])
INTERNALERROR>   File "/usr/lib/python3.8/site-packages/pluggy/_callers.py", line 39, in _multicall
INTERNALERROR>     res = hook_impl.function(*args)
INTERNALERROR>   File "/usr/lib/python3.8/site-packages/pytest_asyncio/plugin.py", line 191, in pytest_configure
INTERNALERROR>     config.issue_config_time_warning(LEGACY_MODE, stacklevel=2)
INTERNALERROR>   File "/usr/lib/python3.8/site-packages/_pytest/config/__init__.py", line 1321, in issue_config_time_warning
INTERNALERROR>     warnings.warn(warning, stacklevel=stacklevel)
INTERNALERROR> DeprecationWarning: The 'asyncio_mode' default value will change to 'strict' in future, please explicitly use 'asyncio_mode=strict' or 'asyncio_mode=auto' in pytest configuration file.

@kloczek
Copy link
Author

kloczek commented Jan 18, 2022

Ups sorry .. I;ve executed that build in wrong env.

+ PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools_scm-6.4.1-2.fc35.x86_64//usr/lib/python3.8/site-packages
+ pytest -ra --ignore testing/test_hg_git.py
=========================================================================== test session starts ============================================================================
platform linux -- Python 3.8.12, pytest-6.2.5, py-1.11.0, pluggy-1.0.0
setuptools version 60.5.4.post20220117 from '/usr/lib/python3.8/site-packages/setuptools/__init__.py'
setuptools_scm version 6.4.1 from '/home/tkloczko/rpmbuild/BUILDROOT/python-setuptools_scm-6.4.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/setuptools_scm/__init__.py'
rootdir: /home/tkloczko/rpmbuild/BUILD/setuptools_scm-6.4.1, configfile: tox.ini, testpaths: testing
plugins: datadir-1.3.1, regressions-2.3.0, anyio-3.3.4, tornasync-0.6.0.post2, httpbin-1.0.1, trio-0.7.0, cov-3.0.0
collected 236 items

testing/test_basic_api.py .................                                                                                                                          [  7%]
testing/test_config.py ...........                                                                                                                                   [ 11%]
testing/test_file_finder.py .s.s.s.s.s.s.s.s.s.s.s..ss.s.s.s.s.s                                                                                                     [ 27%]
testing/test_functions.py .........................                                                                                                                  [ 37%]
testing/test_git.py ...............x...........X.....                                                                                                                [ 51%]
testing/test_integration.py ................                                                                                                                         [ 58%]
testing/test_main.py ....                                                                                                                                            [ 60%]
testing/test_mercurial.py ssssssssssssssss                                                                                                                           [ 66%]
testing/test_regressions.py ....s                                                                                                                                    [ 69%]
testing/test_setuptools_support.py sssssssssssssssssssssssssssss                                                                                                     [ 81%]
testing/test_version.py .........................................x..                                                                                                 [100%]

========================================================================= short test summary info ==========================================================================
SKIPPED [18] testing/test_file_finder.py:24: hg executable not found
SKIPPED [5] testing/test_mercurial.py:37: hg executable not found
SKIPPED [1] testing/test_mercurial.py:49: hg executable not found
SKIPPED [1] testing/test_mercurial.py:55: hg executable not found
SKIPPED [1] testing/test_mercurial.py:69: hg executable not found
SKIPPED [1] testing/test_mercurial.py:97: hg executable not found
SKIPPED [1] testing/test_mercurial.py:112: hg executable not found
SKIPPED [1] testing/test_mercurial.py:122: hg executable not found
SKIPPED [1] testing/test_mercurial.py:147: hg executable not found
SKIPPED [1] testing/test_mercurial.py:152: hg executable not found
SKIPPED [1] testing/test_mercurial.py:159: hg executable not found
SKIPPED [1] testing/test_mercurial.py:171: hg executable not found
SKIPPED [1] testing/test_mercurial.py:181: hg executable not found
SKIPPED [1] testing/test_regressions.py:84: this bug is only valid on windows
SKIPPED [29] testing/test_setuptools_support.py:75: testing on legacy setuptools disabled, pass --test-legacy to run them
XFAIL testing/test_git.py::test_git_worktree_support
  sometimes relative path results
XFAIL testing/test_version.py::test_calver_by_date_semver[SemVer dirty]
XPASS testing/test_git.py::test_non_dotted_version https://github.com/pypa/setuptools_scm/issues/449
========================================================== 169 passed, 64 skipped, 2 xfailed, 1 xpassed in 30.32s ==========================================================

Thank you for fixing the issue 🙇

@RonnyPfannschmidt
Copy link
Contributor

@kloczek happy it works again

also sorry for my earlier tone, i let my frustration get the better of me

@kloczek
Copy link
Author

kloczek commented Jan 19, 2022

No problem 😄
Please be aware that I'm working on packaging python modules, and I have almost 800 finished source rpm packages. As a result, I'm reporting quite often different issues not because I'm unskilled or trying to waste other people's time but because the scale of what I'm doing causes report a relatively high number of cases per day.
After almost 11 months since I started working on that area, I think I've improved the quality of what I'm reporting significantly. However, if it is still something I can do better, please let me know.
At he moment I'm cracking last less than ~30 python modules on python 3.8.12 to have 100% consistent/self contained set of modules. Soon will move to 3.9.x and than to 3.10.x probably will be new wave of some bad/"interesting" cases to report 😉

Thank you one more time 😄

@RonnyPfannschmidt
Copy link
Contributor

@kloczek 3 major helpers would be

  • adding debug prints before unclear errors (for example making a debug print of the distribution metadata serialized as string would have my missed mistake in the api usage more obvious)
  • including details on some "differential" testing (for example the issue in this case only showed when a version of setuptools, that accidentally did not make it to pypi would accidentally reorder things, making my initial bad call return the wrong value suddenly, so a indication of works with older setuptools breaks with newer setuptools would help to figure what makes the difference
  • having a way for upstream maintainers to painlessly replicate your setup (even just a docker container one can enter and run the examples would be a big change (however depending on your internal requirements that may not be possible)
    a difference between just a build log, and a build log one can repeat in seconds on a own system with own changes is massive

@kloczek
Copy link
Author

kloczek commented Jan 19, 2022

  • I was completly not aware that reported case was about module metadada (here I've learned sometbing new)
  • I promissie that next time on move to python 3.9 will have some regression data because as I have now base versions of the build logs which can be used on reporting like "in that case it works and that one it desn't". As I have now access to the automation allowing me to build exact package EVR in exact context of the other packages only now I able quickly repeat exact two builds results or make sume other custom one to make sure that I'm not reporting something which is or is not build env dependent.
  • I still cannot provide easy to download or setup docker based build env as still there some gaps in set of the packages which are filled with some Fedora binary packages. This will change probably in something like 3 months (at least). With +3.9k cleaned packages there are still some gaps 😢
  • Oranizing infra for automated processing build logs to be able easy point on some crucial changes in those resources is not easy thing, and in case of inrstructure which I'm using this part still is in WIP state (plain diff output usually is not enough). If you know anything about existimg publically tools which could be used on that area I'll be really appreciated for that kind of details.

Please don't take avove as excuse. I'm only explaining my current situation.

Thank you.

@RonnyPfannschmidt
Copy link
Contributor

i'm glad there is going to progress on this

i'm well aware that build setups/pipelines that hat to be stomped out of nothing can be riddled with hard to communicate types of tech debts that will incur tolls on external communication,

especially in those cases its important to find some ways/methods to provide ease of enviroment comprehension for the "outsiders"
at the same time, those can be incredibly hard to come up with sanely,

@kloczek
Copy link
Author

kloczek commented Jan 19, 2022

FYI .. I've already have been "awarded" few bans on github only because "I saw you recent tickets and you are reporting to much" or after reporting some pep517 related issues "We are not interested your custom/non-standard build procedures. Stop waste my time." 😄

@RonnyPfannschmidt
Copy link
Contributor

thats what one gets when info dumping volunteers with excessive amounts of non-actionable reports
i recommend taking some time to check out how the fedora maintainers do it
(because at least in my personal experience they often deliver minimal reproducers and/or proposed fixes)

@kloczek
Copy link
Author

kloczek commented Jan 19, 2022

Issue is that Fedora has few hundreds maintainers only on the area of the the python module so by definition rate per person of reported issue is few orders of magnitude lower even if total number of reported issues is higher 😄
At that same time this causes that probity of making complete observation on the scale whole python modules population is as well few order of magnitude .. lower. Only because so called "communication factor" which changes with factorial of number of people involved in that area. In my case that factor is always not higher than 4!=24 😄

halstead pushed a commit to openembedded/openembedded-core that referenced this issue Jan 25, 2022
v6.4.2
* fix #671 : NoReturn is not avaliable in painfully dead python 3.6

v6.4.1
* fix regression #669: restore get_version signature
* fix #668: harden the selftest for distribution extras

v6.4.0
* compatibility adjustments for setuptools >58
* only put minimal setuptools version into toml extra to warn people with old strict pins
* coorectly handle hg-git self-use
* better mercurial detection
* modernize packaging setup
* python 3.10 support
* better handling of setuptools install command deprecation
* consider pyproject.tomls when running as command
* use list in git describe command to avoid shell expansions while supporting both windows and posix
* add --strip-dev flag to python -m setuptools_scm to print the next guessed version cleanly
* ensure no-guess-dev will fail on bad tags instead of generating invalid versions
* ensure we use utc everywhere to avoid confusion

References:
pypa/setuptools_scm#668
pypa/setuptools_scm#669
pypa/setuptools_scm#671

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
splitice pushed a commit to HalleyAssist/poky that referenced this issue Jan 25, 2022
v6.4.2
* fix #671 : NoReturn is not avaliable in painfully dead python 3.6

v6.4.1
* fix regression #669: restore get_version signature
* fix #668: harden the selftest for distribution extras

v6.4.0
* compatibility adjustments for setuptools >58
* only put minimal setuptools version into toml extra to warn people with old strict pins
* coorectly handle hg-git self-use
* better mercurial detection
* modernize packaging setup
* python 3.10 support
* better handling of setuptools install command deprecation
* consider pyproject.tomls when running as command
* use list in git describe command to avoid shell expansions while supporting both windows and posix
* add --strip-dev flag to python -m setuptools_scm to print the next guessed version cleanly
* ensure no-guess-dev will fail on bad tags instead of generating invalid versions
* ensure we use utc everywhere to avoid confusion

References:
pypa/setuptools_scm#668
pypa/setuptools_scm#669
pypa/setuptools_scm#671

(From OE-Core rev: 4f313897178e37b23efe861f1cdebc52bea54769)

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
splitice pushed a commit to HalleyAssist/poky that referenced this issue Jan 25, 2022
v6.4.2
* fix #671 : NoReturn is not avaliable in painfully dead python 3.6

v6.4.1
* fix regression #669: restore get_version signature
* fix #668: harden the selftest for distribution extras

v6.4.0
* compatibility adjustments for setuptools >58
* only put minimal setuptools version into toml extra to warn people with old strict pins
* coorectly handle hg-git self-use
* better mercurial detection
* modernize packaging setup
* python 3.10 support
* better handling of setuptools install command deprecation
* consider pyproject.tomls when running as command
* use list in git describe command to avoid shell expansions while supporting both windows and posix
* add --strip-dev flag to python -m setuptools_scm to print the next guessed version cleanly
* ensure no-guess-dev will fail on bad tags instead of generating invalid versions
* ensure we use utc everywhere to avoid confusion

References:
pypa/setuptools_scm#668
pypa/setuptools_scm#669
pypa/setuptools_scm#671

(From OE-Core rev: 4f313897178e37b23efe861f1cdebc52bea54769)

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
halstead pushed a commit to openembedded/openembedded-core that referenced this issue Jan 26, 2022
v6.4.2
* fix #671 : NoReturn is not avaliable in painfully dead python 3.6

v6.4.1
* fix regression #669: restore get_version signature
* fix #668: harden the selftest for distribution extras

v6.4.0
* compatibility adjustments for setuptools >58
* only put minimal setuptools version into toml extra to warn people with old strict pins
* coorectly handle hg-git self-use
* better mercurial detection
* modernize packaging setup
* python 3.10 support
* better handling of setuptools install command deprecation
* consider pyproject.tomls when running as command
* use list in git describe command to avoid shell expansions while supporting both windows and posix
* add --strip-dev flag to python -m setuptools_scm to print the next guessed version cleanly
* ensure no-guess-dev will fail on bad tags instead of generating invalid versions
* ensure we use utc everywhere to avoid confusion

References:
pypa/setuptools_scm#668
pypa/setuptools_scm#669
pypa/setuptools_scm#671

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
splitice pushed a commit to HalleyAssist/poky that referenced this issue Jan 26, 2022
v6.4.2
* fix #671 : NoReturn is not avaliable in painfully dead python 3.6

v6.4.1
* fix regression #669: restore get_version signature
* fix #668: harden the selftest for distribution extras

v6.4.0
* compatibility adjustments for setuptools >58
* only put minimal setuptools version into toml extra to warn people with old strict pins
* coorectly handle hg-git self-use
* better mercurial detection
* modernize packaging setup
* python 3.10 support
* better handling of setuptools install command deprecation
* consider pyproject.tomls when running as command
* use list in git describe command to avoid shell expansions while supporting both windows and posix
* add --strip-dev flag to python -m setuptools_scm to print the next guessed version cleanly
* ensure no-guess-dev will fail on bad tags instead of generating invalid versions
* ensure we use utc everywhere to avoid confusion

References:
pypa/setuptools_scm#668
pypa/setuptools_scm#669
pypa/setuptools_scm#671

(From OE-Core rev: 3ac37c743470ab778bc47110660f3e1b37c534ba)

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants