Skip to content

Conversation

@kira-bruneau
Copy link
Contributor

@kira-bruneau kira-bruneau commented Dec 6, 2025

Upstream uses .gitattributes to inject information about the revision hash and the refname into src/debugpy/_version.py.

This fix explicitly replaces the contents of git_refnames to ensure the source is reproducible.

Previously, if the version fetched was the HEAD commit of the repo, we would have:

git_refnames = " (HEAD -> main, tag: v1.8.17)"

instead of

git_refnames = " (tag: v1.8.17)"

Here are some previous cases where this was a problem:

Things done

  • Built on platform:
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • Tested, as applicable:
  • Ran nixpkgs-review on this PR. See nixpkgs-review usage.
  • Tested basic functionality of all binary files, usually in ./result/bin/.
  • Nixpkgs Release Notes
    • Package update: when the change is major or breaking.
  • NixOS Release Notes
    • Module addition: when adding a new NixOS module.
    • Module update: when the change is significant.
  • Fits CONTRIBUTING.md, pkgs/README.md, maintainers/README.md and other READMEs.

Add a 👍 reaction to pull requests you find important.

@kira-bruneau kira-bruneau force-pushed the python3Packages.debugpy branch from 07a17bc to 7ef5f46 Compare December 6, 2025 05:10
@kira-bruneau kira-bruneau changed the title python3Packages.debugpy: make src reproducible python313Packages.debugpy: make src reproducible Dec 6, 2025
@nixpkgs-ci nixpkgs-ci bot added 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux. 6.topic: python Python is a high-level, general-purpose programming language. labels Dec 6, 2025
@nixpkgs-ci nixpkgs-ci bot added 10.rebuild-linux: 101-500 This PR causes between 101 and 500 packages to rebuild on Linux. 10.rebuild-darwin: 11-100 This PR causes between 11 and 100 packages to rebuild on Darwin. 11.by: package-maintainer This PR was created by a maintainer of all the package it changes. and removed 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux. labels Dec 6, 2025

patches = [
# Use nixpkgs version instead of versioneer
(replaceVars ./hardcode-version.patch {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No longer necessary since microsoft/debugpy#866

@nixpkgs-ci nixpkgs-ci bot added the 12.approvals: 1 This PR was reviewed and approved by one person. label Dec 6, 2025
@DieracDelta
Copy link
Member

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 468328
Commit: a2457971717b9db2aa7a9ea7063d3a3e670636d1


x86_64-linux

⏩ 4 packages marked as broken and skipped:
  • python312Packages.dvc-gdrive
  • python312Packages.dvc-gdrive.dist
  • python313Packages.dvc-gdrive
  • python313Packages.dvc-gdrive.dist
❌ 3 packages failed to build:
  • python313Packages.swh-scheduler
  • python313Packages.swh-scheduler.dist
  • swh
✅ 195 packages built:
  • dvc (python313Packages.dvc)
  • dvc-with-remotes
  • dvc-with-remotes.dist
  • dvc.dist (python313Packages.dvc.dist)
  • froide (python313Packages.froide)
  • froide-govplan
  • froide-govplan.dist
  • froide.dist (python313Packages.froide.dist)
  • glitchtip
  • home-assistant
  • home-assistant-component-tests.alexa
  • home-assistant-component-tests.august
  • home-assistant-component-tests.automation
  • home-assistant-component-tests.cast
  • home-assistant-component-tests.cloud
  • home-assistant-component-tests.debugpy
  • home-assistant-component-tests.default_config
  • home-assistant-component-tests.evohome
  • home-assistant-component-tests.google_assistant
  • home-assistant-component-tests.http
  • home-assistant-component-tests.loqed
  • home-assistant-component-tests.matter
  • home-assistant-component-tests.miele
  • home-assistant-component-tests.mobile_app
  • home-assistant-component-tests.netatmo
  • home-assistant-component-tests.onedrive
  • home-assistant-component-tests.overseerr
  • home-assistant-component-tests.owntracks
  • home-assistant-component-tests.plaato
  • home-assistant-component-tests.rachio
  • home-assistant-component-tests.recovery_mode
  • home-assistant-component-tests.script
  • home-assistant-component-tests.toon
  • home-assistant-component-tests.withings
  • home-assistant-component-tests.yale
  • home-assistant-component-tests.yolink
  • home-assistant-custom-components.frigate
  • home-assistant-custom-components.hass_web_proxy
  • home-assistant.dist
  • lasuite-docs
  • lasuite-docs.dist
  • lasuite-meet
  • lasuite-meet.dist
  • nixpkgs-manual
  • paperless-ngx
  • paperless-ngx.dist
  • pretalx
  • pretalx.dist
  • pretalx.static
  • pretix
  • pretix.dist
  • python-matter-server
  • python-matter-server.dist
  • python312Packages.celery
  • python312Packages.celery-batches
  • python312Packages.celery-batches.dist
  • python312Packages.celery-redbeat
  • python312Packages.celery-redbeat.dist
  • python312Packages.celery-singleton
  • python312Packages.celery-singleton.dist
  • python312Packages.celery.dist
  • python312Packages.debugpy
  • python312Packages.debugpy.dist
  • python312Packages.django-celery-beat
  • python312Packages.django-celery-beat.dist
  • python312Packages.django-celery-email
  • python312Packages.django-celery-email.dist
  • python312Packages.django-celery-results
  • python312Packages.django-celery-results.dist
  • python312Packages.django-filingcabinet
  • python312Packages.django-filingcabinet.dist
  • python312Packages.django-google-analytics-app
  • python312Packages.django-google-analytics-app.dist
  • python312Packages.django-health-check
  • python312Packages.django-health-check.dist
  • python312Packages.django-lasuite
  • python312Packages.django-lasuite.dist
  • python312Packages.django-raster
  • python312Packages.django-raster.dist
  • python312Packages.djmail
  • python312Packages.djmail.dist
  • python312Packages.dvc
  • python312Packages.dvc-hdfs
  • python312Packages.dvc-hdfs.dist
  • python312Packages.dvc-task
  • python312Packages.dvc-task.dist
  • python312Packages.dvc.dist
  • python312Packages.dvclive
  • python312Packages.dvclive.dist
  • python312Packages.evohome-async
  • python312Packages.evohome-async.dist
  • python312Packages.flower
  • python312Packages.flower.dist
  • python312Packages.froide
  • python312Packages.froide.dist
  • python312Packages.home-assistant-chip-clusters
  • python312Packages.home-assistant-chip-clusters.dist
  • python312Packages.home-assistant-chip-core
  • python312Packages.home-assistant-chip-core.dist
  • python312Packages.home-assistant-chip-wheels
  • python312Packages.mmcv
  • python312Packages.mmcv.dist
  • python312Packages.mmengine
  • python312Packages.mmengine.dist
  • python312Packages.opentelemetry-instrumentation-celery
  • python312Packages.opentelemetry-instrumentation-celery.dist
  • python312Packages.pulumi
  • python312Packages.pulumi-aws
  • python312Packages.pulumi-aws.dist
  • python312Packages.pulumi.dev
  • python312Packages.pulumi.dist
  • python312Packages.pytest-celery
  • python312Packages.pytest-celery.dist
  • python312Packages.python-matter-server
  • python312Packages.python-matter-server.dist
  • python312Packages.swh-scheduler
  • python312Packages.swh-scheduler.dist
  • python312Packages.tenant-schemas-celery
  • python312Packages.tenant-schemas-celery.dist
  • python313Packages.celery
  • python313Packages.celery-batches
  • python313Packages.celery-batches.dist
  • python313Packages.celery-redbeat
  • python313Packages.celery-redbeat.dist
  • python313Packages.celery-singleton
  • python313Packages.celery-singleton.dist
  • python313Packages.celery.dist
  • python313Packages.debugpy
  • python313Packages.debugpy.dist
  • python313Packages.django-celery-beat
  • python313Packages.django-celery-beat.dist
  • python313Packages.django-celery-email
  • python313Packages.django-celery-email.dist
  • python313Packages.django-celery-results
  • python313Packages.django-celery-results.dist
  • python313Packages.django-filingcabinet
  • python313Packages.django-filingcabinet.dist
  • python313Packages.django-google-analytics-app
  • python313Packages.django-google-analytics-app.dist
  • python313Packages.django-health-check
  • python313Packages.django-health-check.dist
  • python313Packages.django-lasuite
  • python313Packages.django-lasuite.dist
  • python313Packages.django-raster
  • python313Packages.django-raster.dist
  • python313Packages.djmail
  • python313Packages.djmail.dist
  • python313Packages.dvc-hdfs
  • python313Packages.dvc-hdfs.dist
  • python313Packages.dvc-task
  • python313Packages.dvc-task.dist
  • python313Packages.dvclive
  • python313Packages.dvclive.dist
  • python313Packages.evohome-async
  • python313Packages.evohome-async.dist
  • python313Packages.flower
  • python313Packages.flower.dist
  • python313Packages.home-assistant-chip-clusters
  • python313Packages.home-assistant-chip-clusters.dist
  • python313Packages.home-assistant-chip-core
  • python313Packages.home-assistant-chip-core.dist
  • python313Packages.home-assistant-chip-wheels
  • python313Packages.homeassistant-stubs
  • python313Packages.homeassistant-stubs.dist
  • python313Packages.mmcv
  • python313Packages.mmcv.dist
  • python313Packages.mmengine
  • python313Packages.mmengine.dist
  • python313Packages.opentelemetry-instrumentation-celery
  • python313Packages.opentelemetry-instrumentation-celery.dist
  • python313Packages.pulumi
  • python313Packages.pulumi-aws
  • python313Packages.pulumi-aws-native
  • python313Packages.pulumi-aws-native.dist
  • python313Packages.pulumi-aws.dist
  • python313Packages.pulumi-azure-native
  • python313Packages.pulumi-azure-native.dist
  • python313Packages.pulumi-command
  • python313Packages.pulumi-command.dist
  • python313Packages.pulumi-hcloud
  • python313Packages.pulumi-hcloud.dist
  • python313Packages.pulumi-random
  • python313Packages.pulumi-random.dist
  • python313Packages.pulumi.dev
  • python313Packages.pulumi.dist
  • python313Packages.pytest-celery
  • python313Packages.pytest-celery.dist
  • python313Packages.python-matter-server
  • python313Packages.python-matter-server.dist
  • python313Packages.tenant-schemas-celery
  • python313Packages.tenant-schemas-celery.dist
  • vscode-extensions.ms-python.python
  • weblate
  • weblate.dist
  • weblate.static

@Aleksanaa Aleksanaa added this pull request to the merge queue Dec 6, 2025
@Aleksanaa Aleksanaa removed this pull request from the merge queue due to a manual request Dec 6, 2025
@nixpkgs-ci nixpkgs-ci bot added 12.approvals: 2 This PR was reviewed and approved by two persons. and removed 12.approvals: 1 This PR was reviewed and approved by one person. labels Dec 6, 2025
@nixpkgs-ci nixpkgs-ci bot added 12.approvals: 3+ This PR was reviewed and approved by three or more persons. and removed 12.approvals: 2 This PR was reviewed and approved by two persons. labels Dec 6, 2025
sed -i 's/git_refnames = "[^"]*"/git_refnames = " (tag: ${src.tag})"/' "$out/src/debugpy/_version.py"
'';

hash = "sha256-eAiCtSJUqLASapxnYCyq1UCiGz6QmKQum7Vs3MoU1s8=";
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Have you tried that the hash didn't change?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, the original commit of this PR: 07a17bc didn't include the fix from #468283

@Aleksanaa Aleksanaa added this pull request to the merge queue Dec 6, 2025
Merged via the queue into NixOS:master with commit 82c3e33 Dec 6, 2025
39 of 41 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: python Python is a high-level, general-purpose programming language. 10.rebuild-darwin: 11-100 This PR causes between 11 and 100 packages to rebuild on Darwin. 10.rebuild-linux: 101-500 This PR causes between 101 and 500 packages to rebuild on Linux. 11.by: package-maintainer This PR was created by a maintainer of all the package it changes. 12.approvals: 3+ This PR was reviewed and approved by three or more persons.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants