Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: openembedded-core@lists.openembedded.org
Subject: [PATCH 7/7] python3-vcs-versioning: upgrade 2.2.4 -> 2.3.1
Date: Fri, 21 Aug 2026 10:09:59 +0100	[thread overview]
Message-ID: <20260821090959.3859632-7-richard.purdie@linuxfoundation.org> (raw)
In-Reply-To: <20260821090959.3859632-1-richard.purdie@linuxfoundation.org>

- Fix a `FileNotFoundError` crash in the git file finder when a submodule is tracked in the index but its
  working tree directory does not exist - such gitlinks are now skipped like not checked out submodules.

- Add a ``vcs_versioning.dynamic_metadata`` provider for the dynamic-metadata system.

- Make the `tag.strict` and `scm.git.describe_command` diagnostics actionable and non-conflicting.

  The `tag.strict` future-default notice is now reported by the git backend rather than at configuration
  time, and only when the future default would actually select a different tag for the repository -- the
  message names both the current and the future version string. Projects the change cannot affect are silent,
  and setting an explicit `describe_command` no longer triggers it at all, so the two warnings can no longer contradict each other.

  The `describe_command` notice is likewise limited to the case where it and an explicit `tag.strict`
  really disagree, and no longer claims that `tag.prefix` has no effect -- prefix stripping applies regardless
  of how the tag was selected.

  Both are logged at warning level instead of raised as warnings, so `SETUPTOOLS_SCM_DEBUG=ERROR` silences them.

- Honour `export-ignore` on directories and submodules again in the git file finder.

  The switch from `git archive` to `git ls-files --recurse-submodules` lost two parts of the archive semantics:
  `--recurse-submodules` listed every submodule regardless of `export-ignore`, and the `:(exclude,attr:export-ignore)`
  pathspec only matches files, so an `export-ignore` on a directory no longer excluded the files below it. Projects
  that kept vendored submodules in an `export-ignore`d directory suddenly shipped them in their sdists.

  The finder now lists a repository without recursion, checks `export-ignore` for directories via `git check-attr`
  (which is what `git archive` effectively does when it skips a tree), and only then descends into the submodules
  that survived. Submodule contents are still listed - with their own `.gitattributes` applied - so `export-ignore`
  in the parent repository now controls exactly which submodules get packaged. Submodules that are not checked out
  are skipped instead of failing the listing.

- Honour `tag.strict` on Mercurial changesets that carry tags of their own, and report the coming strict default
  for Mercurial repositories.

  `tag.strict` was only applied when looking for the latest tag, so a checked-out changeset tagged `event-2024`
  still produced version `2024` even with `tag.strict = true`, while git rejected the same tag. Strict matching
  now applies to the tags on the changeset too: a changeset carrying only event-style tags is treated as untagged
  and versioning continues from the last real version tag, matching `git describe --match`. When several tags
  sit on one changeset, the version-shaped one is now selected instead of whichever Mercurial happened to list first.

  The `tag.strict` divergence diagnostic added in #1429 now covers Mercurial as well, naming the current and
  future version whenever the coming default would change them. Both backends share the message, and the
  git-only helpers moved to `_backends/_scm_workdir.py`.

  Note that the Mercurial backend required a dot in version tags before setuptools-scm 9, so for Mercurial
  projects the coming strict default restores the historical behavior.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 ...-vcs-versioning_2.2.4.bb => python3-vcs-versioning_2.3.1.bb} | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
 rename meta/recipes-devtools/python/{python3-vcs-versioning_2.2.4.bb => python3-vcs-versioning_2.3.1.bb} (91%)

diff --git a/meta/recipes-devtools/python/python3-vcs-versioning_2.2.4.bb b/meta/recipes-devtools/python/python3-vcs-versioning_2.3.1.bb
similarity index 91%
rename from meta/recipes-devtools/python/python3-vcs-versioning_2.2.4.bb
rename to meta/recipes-devtools/python/python3-vcs-versioning_2.3.1.bb
index c8665d90c9c..1800475dff4 100644
--- a/meta/recipes-devtools/python/python3-vcs-versioning_2.2.4.bb
+++ b/meta/recipes-devtools/python/python3-vcs-versioning_2.3.1.bb
@@ -5,7 +5,7 @@ library that can be used independently of setuptools."
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=c9b06ad2ebd7e2e82d34b3caf353e7d5"
 
-SRC_URI[sha256sum] = "ed718fdee42170e128a8add6f23f53aa64dc7d9ab2de87d3083a691df881a809"
+SRC_URI[sha256sum] = "806635bd0ea653c96af98a70624be758d408a989f2cd0b390e63474d99f96b63"
 
 SRC_URI += "\
     file://run-ptest \


      parent reply	other threads:[~2026-08-21  9:10 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-21  9:09 [PATCH 1/7] libcap-ng: upgrade 0.9.3 -> 0.9.5 Richard Purdie
2026-08-21  9:09 ` [PATCH 2/7] mesa: upgrade 26.2.0 -> 26.2.1 Richard Purdie
2026-08-21  9:09 ` [PATCH 3/7] puzzles: upgrade to latest revision Richard Purdie
2026-08-21  9:09 ` [PATCH 4/7] stress-ng: upgrade 0.21.04 -> 0.22.00 Richard Purdie
2026-08-21  9:09 ` [PATCH 5/7] python3-lxml: upgrade 6.1.1 -> 6.1.2 Richard Purdie
2026-08-21  9:09 ` [PATCH 6/7] webkitgtk: upgrade 2.52.5 -> 2.52.6 Richard Purdie
2026-08-21  9:09 ` Richard Purdie [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260821090959.3859632-7-richard.purdie@linuxfoundation.org \
    --to=richard.purdie@linuxfoundation.org \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox