Skip to content

treewide: replace rev with tag#396749

Merged
drupol merged 1 commit intoNixOS:masterfrom
drupol:push-qwkstrplwnvw
Apr 7, 2025
Merged

treewide: replace rev with tag#396749
drupol merged 1 commit intoNixOS:masterfrom
drupol:push-qwkstrplwnvw

Conversation

@drupol
Copy link
Contributor

@drupol drupol commented Apr 7, 2025

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

@github-actions github-actions bot added 6.topic: python Python is a high-level, general-purpose programming language. 6.topic: GNOME GNOME desktop environment and its underlying platform 6.topic: ocaml OCaml is a general-purpose, high-level, multi-paradigm programming language. 6.topic: pantheon The Pantheon desktop environment 6.topic: zig Zig is an imperative, general-purpose, statically typed, compiled system programming language. 6.topic: php PHP is a general-purpose scripting language geared towards web development. 6.topic: deepin 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. labels Apr 7, 2025
@grimmauld-bot
Copy link

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 396749


aarch64-linux

✅ 3 packages built:
  • tests.haskell.cabalSdist.assumptionLocalHasDirectReference
  • tests.haskell.cabalSdist.localHasNoDirectReference
  • tests.testers.runCommand.bork

@drupol drupol force-pushed the push-qwkstrplwnvw branch from 2316558 to 3a79f99 Compare April 7, 2025 08:37
@github-actions github-actions bot added 6.topic: emacs Text editor 6.topic: vscode A free and versatile code editor that supports almost every major programming language. 6.topic: jupyter Interactive computing tooling: kernels, notebook, jupyterlab labels Apr 7, 2025
@LordGrimmauld
Copy link
Contributor

[posting here from matrix to log this more permanently]
Not zero rebuild, but the three things that changed still build fine, and the vast majority didn't change at all.
While zero rebuild would be nice, a couple rebuilds are affordable imo, if nothing breaks.

@drupol drupol force-pushed the push-qwkstrplwnvw branch from 3a79f99 to 9d3762c Compare April 7, 2025 08:47
@github-actions github-actions bot added the 6.topic: games Gaming on NixOS label Apr 7, 2025
@drupol drupol force-pushed the push-qwkstrplwnvw branch from 9d3762c to 2797574 Compare April 7, 2025 08:53
@github-actions github-actions bot added 6.topic: qt/kde Object-oriented framework for GUI creation 6.topic: printing Drivers, CUPS & Co. 6.topic: rust General-purpose programming language emphasizing performance, type safety, and concurrency. 6.topic: erlang General-purpose, concurrent, functional high-level programming language 6.topic: xfce The Xfce Desktop Environment 6.topic: cinnamon Desktop environment 6.topic: crystal Programming language - https://crystal-lang.org/ 6.topic: java Including JDK, tooling, other languages, other VMs 6.topic: LXQt The Lightweight Qt Desktop Environment 6.topic: mate The MATE Desktop Environment 6.topic: flutter Open-source UI software development kit for cross-platform applications 6.topic: tcl Dynamic, multi-paradigm programming language labels Apr 7, 2025
@grimmauld-bot
Copy link

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 396749


aarch64-linux

⏩ 1 package marked as broken and skipped:
  • archiver
❌ 16 packages failed to build:
  • apptainer
  • apptainer-overriden-nixos
  • libnvidia-container
  • lua51Packages.fzf-lua
  • luaPackages.fzf-lua (lua52Packages.fzf-lua)
  • lua53Packages.fzf-lua
  • lua54Packages.fzf-lua
  • luajitPackages.fzf-lua
  • nvidia-container-toolkit
  • nvidia-container-toolkit.tools
  • nvidia-docker
  • singularity
  • singularity-overriden-nixos
  • udocker
  • udocker.dist
  • vimPlugins.fzf-lua
✅ 216 packages built:
  • activitywatch
  • ain
  • ani-cli
  • ani-skip
  • ansible-navigator
  • ansible-navigator.dist
  • apx
  • apx-gui
  • argocd
  • argocd-autopilot
  • arsenal
  • arsenal.dist
  • aw-server-rust
  • awsls
  • awsrm
  • awsweeper
  • azure-cli-extensions.rdbms-connect
  • azure-cli-extensions.rdbms-connect.dist
  • buildozer (buildifier, unused_deps)
  • bitrise
  • brev-cli
  • brig
  • buildah
  • buildah.man
  • buildkit
  • catcli
  • catcli.dist
  • cayley
  • chart-testing
  • circleci-cli
  • civo
  • clerk
  • cloudlens
  • cmctl
  • cntb
  • cod
  • containerlab
  • crd2pulumi
  • cri-o
  • cri-o.man
  • crun
  • dapr-cli
  • datadog-agent
  • datadog-process-agent
  • dex-oidc
  • docker-machine-kvm2
  • docker-slim
  • double-entry-generator
  • dra-cla
  • eksctl
  • erg
  • exoscale-cli
  • felix-fm
  • figurine
  • fioctl
  • fishPlugins.fzf-fish
  • fontpreview
  • fzf
  • fzf-git-sh
  • fzf-zsh
  • fzf.man
  • gambit-chess
  • gh-f
  • gh-notify
  • git-credential-gopass
  • git-smash
  • git-toolbelt
  • gnmic
  • go-passbolt-cli
  • goat-cli
  • goatcounter
  • goimports-reviser
  • gomarkdoc
  • gopass
  • gopass-hibp
  • gopass-jsonapi
  • gopass-summon-provider
  • gosec
  • gpython
  • grafana-dash-n-grab
  • granted
  • gtree
  • hci
  • hercules-ci-agent
  • holos
  • hyperledger-fabric
  • immich
  • infrastructure-agent
  • input-leap
  • input-remapper
  • input-remapper.dist
  • integresql
  • jellyfin
  • jellyfin-media-player
  • jellyfin-web
  • jj-fzf
  • jq-zsh-plugin
  • jx
  • k8sgpt
  • k9s
  • kakounePlugins.fzf-kak
  • kbst
  • kfilt
  • kns
  • krunvm
  • kube-score
  • kubectl-ktop
  • kubedog
  • kubeshark
  • license-cli
  • lightwalletd
  • lunarvim
  • mdr
  • minikube
  • minio-warp
  • mmv-go
  • mov-cli
  • mov-cli.dist
  • mtail
  • mycli
  • mycli.dist
  • navi
  • navidrome
  • nerdctl
  • netassert
  • nixpkgs-manual
  • nuv
  • opensoundmeter
  • out-of-tree
  • paretosecurity
  • patch2pr
  • pathvector
  • payme
  • pgcenter
  • pipet
  • piv-agent
  • podman
  • podman.man
  • prometheus-frr-exporter
  • prometheus-mongodb-exporter
  • prometheus-mysqld-exporter
  • prometheus-nvidia-gpu-exporter
  • prometheus-sql-exporter
  • promscale
  • protolint
  • protonmail-bridge
  • protonmail-bridge-gui
  • pulsarctl
  • pulumi-esc
  • pulumictl
  • python312Packages.iterfzf
  • python312Packages.iterfzf.dist
  • python312Packages.pyfzf
  • python312Packages.pyfzf.dist
  • spyder (python312Packages.spyder)
  • spyder.dist (python312Packages.spyder.dist)
  • python312Packages.typer-shell
  • python312Packages.typer-shell.dist
  • python313Packages.iterfzf
  • python313Packages.iterfzf.dist
  • python313Packages.pyfzf
  • python313Packages.pyfzf.dist
  • python313Packages.spyder
  • python313Packages.spyder.dist
  • python313Packages.typer-shell
  • python313Packages.typer-shell.dist
  • qbec
  • rare-regex
  • relic
  • renderizer
  • ripgrep-all
  • rqlite
  • runme
  • screego
  • shiori
  • skaffold
  • spacevim
  • spicedb
  • spicedb-zed
  • sqls
  • sway-launcher-desktop
  • symbolicator
  • sysz
  • telegraf
  • telepresence2
  • tendermint
  • termsvg
  • terraform-lsp
  • tests.haskell.cabalSdist.assumptionLocalHasDirectReference
  • tests.haskell.cabalSdist.localHasNoDirectReference
  • tests.testers.runCommand.bork
  • tf2pulumi
  • tmuxPlugins.extrakto
  • tmuxPlugins.fuzzback
  • tmuxPlugins.pass
  • tmuxPlugins.session-wizard
  • tmuxPlugins.t-smart-tmux-session-manager
  • tmuxPlugins.tmux-fzf
  • tmuxPlugins.tmux-sessionx
  • trdl-client
  • ugit
  • unipicker
  • unpoller
  • vault
  • vimPlugins.fzfWrapper
  • wal-g
  • wikiman
  • xmloscopy
  • xq-xml
  • yazi
  • ytarchive
  • ytfzf
  • zarf
  • zoxide
  • zs
  • zsh-forgit

@drupol drupol force-pushed the push-qwkstrplwnvw branch 2 times, most recently from 67ff343 to 64bd63a Compare April 7, 2025 12:34
@grimmauld-bot
Copy link

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 396749


aarch64-linux

⏩ 1 package marked as broken and skipped:
  • archiver
✅ 222 packages built:
  • activitywatch
  • ain
  • ani-cli
  • ani-skip
  • ansible-navigator
  • ansible-navigator.dist
  • apx
  • apx-gui
  • argocd
  • argocd-autopilot
  • arsenal
  • arsenal.dist
  • aw-server-rust
  • awsls
  • awsrm
  • awsweeper
  • azure-cli-extensions.rdbms-connect
  • azure-cli-extensions.rdbms-connect.dist
  • buildozer (buildifier, unused_deps)
  • bitrise
  • brev-cli
  • brig
  • buildah
  • buildah.man
  • buildkit
  • catcli
  • catcli.dist
  • cayley
  • chart-testing
  • circleci-cli
  • civo
  • clerk
  • cloudlens
  • cmctl
  • cntb
  • cod
  • containerlab
  • crd2pulumi
  • cri-o
  • cri-o.man
  • crun
  • dapr-cli
  • datadog-agent
  • datadog-process-agent
  • dex-oidc
  • docker-machine-kvm2
  • docker-slim
  • double-entry-generator
  • dra-cla
  • eksctl
  • erg
  • exoscale-cli
  • felix-fm
  • figurine
  • fioctl
  • fishPlugins.fzf-fish
  • fontpreview
  • fzf
  • fzf-git-sh
  • fzf-zsh
  • fzf.man
  • gambit-chess
  • gh-f
  • gh-notify
  • git-credential-gopass
  • git-smash
  • git-toolbelt
  • gnmic
  • go-passbolt-cli
  • goat-cli
  • goatcounter
  • goimports-reviser
  • gomarkdoc
  • gopass
  • gopass-hibp
  • gopass-jsonapi
  • gopass-summon-provider
  • gosec
  • gpython
  • grafana-dash-n-grab
  • granted
  • gtree
  • hci
  • hercules-ci-agent
  • holos
  • hyperledger-fabric
  • immich
  • infrastructure-agent
  • input-leap
  • input-remapper
  • input-remapper.dist
  • integresql
  • jellyfin
  • jellyfin-media-player
  • jellyfin-web
  • jj-fzf
  • jq-zsh-plugin
  • jx
  • k8sgpt
  • k9s
  • kakounePlugins.fzf-kak
  • kbst
  • kfilt
  • kns
  • krunvm
  • kube-score
  • kubectl-ktop
  • kubedog
  • kubeshark
  • license-cli
  • lightwalletd
  • lua51Packages.fzf-lua
  • luaPackages.fzf-lua (lua52Packages.fzf-lua)
  • lua53Packages.fzf-lua
  • lua54Packages.fzf-lua
  • luajitPackages.fzf-lua
  • lunarvim
  • mdr
  • minikube
  • minio-warp
  • mmv-go
  • mov-cli
  • mov-cli.dist
  • mtail
  • mycli
  • mycli.dist
  • navi
  • navidrome
  • nerdctl
  • netassert
  • nixpkgs-manual
  • nuv
  • opensoundmeter
  • out-of-tree
  • paretosecurity
  • patch2pr
  • pathvector
  • payme
  • pgcenter
  • pipet
  • piv-agent
  • podman
  • podman.man
  • prometheus-frr-exporter
  • prometheus-mongodb-exporter
  • prometheus-mysqld-exporter
  • prometheus-nvidia-gpu-exporter
  • prometheus-sql-exporter
  • promscale
  • protolint
  • protonmail-bridge
  • protonmail-bridge-gui
  • pulsarctl
  • pulumi-esc
  • pulumictl
  • python312Packages.iterfzf
  • python312Packages.iterfzf.dist
  • python312Packages.pyfzf
  • python312Packages.pyfzf.dist
  • spyder (python312Packages.spyder)
  • spyder.dist (python312Packages.spyder.dist)
  • python312Packages.typer-shell
  • python312Packages.typer-shell.dist
  • python313Packages.iterfzf
  • python313Packages.iterfzf.dist
  • python313Packages.pyfzf
  • python313Packages.pyfzf.dist
  • python313Packages.spyder
  • python313Packages.spyder.dist
  • python313Packages.typer-shell
  • python313Packages.typer-shell.dist
  • qbec
  • rare-regex
  • relic
  • renderizer
  • ripgrep-all
  • rqlite
  • runme
  • screego
  • shiori
  • skaffold
  • spacevim
  • spicedb
  • spicedb-zed
  • sqls
  • sway-launcher-desktop
  • symbolicator
  • sysz
  • telegraf
  • telepresence2
  • tendermint
  • termsvg
  • terraform-lsp
  • tests.haskell.cabalSdist.assumptionLocalHasDirectReference
  • tests.haskell.cabalSdist.localHasNoDirectReference
  • tests.testers.runCommand.bork
  • tf2pulumi
  • tmuxPlugins.extrakto
  • tmuxPlugins.fuzzback
  • tmuxPlugins.pass
  • tmuxPlugins.session-wizard
  • tmuxPlugins.t-smart-tmux-session-manager
  • tmuxPlugins.tmux-fzf
  • tmuxPlugins.tmux-sessionx
  • trdl-client
  • ugit
  • unipicker
  • unpoller
  • vault
  • vimPlugins.fzf-lua
  • vimPlugins.fzfWrapper
  • wal-g
  • wikiman
  • xmloscopy
  • xq-xml
  • yazi
  • ytarchive
  • ytfzf
  • zarf
  • zoxide
  • zs
  • zsh-forgit

@LordGrimmauld
Copy link
Contributor

image
reviewing this at the current state is quite bothersome because github doesnlike to display such big diffs. It might make sense to split the commit into multiple, each doing ~1000 files?

@GaetanLepage
Copy link
Contributor

You can also append .patch at the end of the commit URL: https://github.com/NixOS/nixpkgs/commit/64bd63ab68ec9c4ae3325375ebfef3f5d1da780e.patch

Not very convenient, but at least you can see it all.

@drupol drupol force-pushed the push-qwkstrplwnvw branch 3 times, most recently from 60c791f to 9fb99da Compare April 7, 2025 14:25
@drupol drupol force-pushed the push-qwkstrplwnvw branch from 9fb99da to 65a3336 Compare April 7, 2025 14:57
@LordGrimmauld
Copy link
Contributor

Helpful command to review (finds changes that are not -rev => +tag):
curl -s https://patch-diff.githubusercontent.com/raw/NixOS/nixpkgs/pull/396749.patch | grep -Ev '^\+\s*tag' | grep -v '^+++' | grep -vE '^diff' | grep -vE '^index' | grep -vE '@@' | grep -vE '^---' | grep -vE '^-\s*rev' | grep -vE '^\s+'

This is not a catch-all, but helps make sure nothing fishy is going on.

Copy link
Contributor

@LordGrimmauld LordGrimmauld left a comment

Choose a reason for hiding this comment

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

Current magic grep output:

From 65a333600d5c88a98d674f637d092807cfc12253 Mon Sep 17 00:00:00 2001
From: Pol Dellaiera <[email protected]>
Date: Mon, 7 Apr 2025 08:23:42 +0200
Subject: [PATCH] treewide: replace `rev` with `tag`


+  rev = version;
-      # rev = version;
+      # tag = version;
-      -e 's/^REVISION ?=.*/REVISION = ${src.rev}/' \
+      -e 's/^REVISION ?=.*/REVISION = ${src.tag}/' \
-      -e 's/^GIT_COMMIT ?=.*/GIT_COMMIT = ${src.rev}/' \
+      -e 's/^GIT_COMMIT ?=.*/GIT_COMMIT = ${src.tag}/' \
-    # rev = "v${version}";
+    # tag = "v${version}";

These look fine, so my assumption is this PR isn't hiding something malicious (at least from a glance) and pretty sure this is correct too.

@drupol drupol merged commit 17b84e0 into NixOS:master Apr 7, 2025
24 of 27 checks passed
@drupol drupol deleted the push-qwkstrplwnvw branch April 7, 2025 15:25
@drupol
Copy link
Contributor Author

drupol commented Apr 7, 2025

I testify that indeed, I'm not doing anything malicious.

@winterqt
Copy link
Member

winterqt commented Apr 7, 2025

@drupol Thanks for this! I have a few questions, though:

  1. How did you generate these changes? It would be useful if you provided the commands/scripts you used to do it, so that anyone can verify the changes based on the parent.
  2. What heuristic did you use to ensure that rev = "<commit hash>" instances weren't changed? It looks like you did a pretty good job (I can't find any wrong changes), but it would be appreciated if you could clarify. My current guess is you just s/rev = ("v${version}"|version)/tag = ....

Also: I don't think it was the best idea to self-merge this massive change after mere hours (where these sorts of questions could be asked), without any other committer reviewing it, nor even a heads up on Matrix. Please try to do better next time. :(

@FliegendeWurst
Copy link
Member

Did you verify all of these tags exist, and that they give the same hash?
(The first part is easy using the GH API, the second part is rather network-heavy.)

@drupol
Copy link
Contributor Author

drupol commented Apr 8, 2025

Thank you for the feedback — here’s some background and clarification regarding this PR.

It took me around two days to complete this work.

It all began with #396740, which was initially a simple search-and-replace task. While working on that, I realised it would be more meaningful and semantically correct to replace instances of rev = ... with tag = ... where applicable.

I started by identifying which fetchers support the tag attribute. To my surprise, not all do. The ones I found to support it include fetchFromGitHub, fetchFromGitLab, fetchFromGitea, and fetchgit.

While examining nixpkgs, I identified several patterns, such as:

<fetcher> {
  rev = ...;
}
<fetcher> {
  line1;
  rev = ...;
}

…and so on.
As you can imagine, writing a single regular expression to cover all possible permutations (rev being the 1st, 2nd, 3rd, etc. attribute) was far too complex. So, I decided to use multiple regular expressions tailored to the position of the rev line within the fetcher block.

I used VSCode exclusively for this. A representative search regex I used was something like:

fetchFromGitHub \{[\n\s](.*?)[\n\s](.*?)[\n\s](.*?)(rev = "v\$\{version\}";)

This would catch examples like:

fetchFromGitHub {
  owner = "foo";
  repo = "bar";
  rev = "foobar"; # ← this is the relevant line
}

The process was iterative:

  1. I adjusted the regex by adding/removing [\n\s](.*?) blocks to locate patterns where the rev line appeared in different positions.
  2. I applied similar logic across the other fetchers that support tag.

As you can imagine, this required a fair amount of scripting and testing. Once I was satisfied with the results, I pushed the PR.

Regarding the merge: you're absolutely right, and I’ll be more mindful next time. I did ask for feedback in two different Matrix channels and received some responses, but I admit that merging it after only a few hours wasn't ideal.

That said, I was resolving conflicts every 30 minutes due to the size and scope of the change, and feared it would become unmanageable if I delayed further.

I also wish I had a good way to identify which packages required a rebuild, but I didn’t find a straightforward method for this. It would be great to have some documentation on how to do that efficiently.

As a follow-up, I started cleaning up the doc/ directory as well — you can find the WIP draft PR here: #396914.

Thanks again for the feedback — it’s much appreciated.

@winterqt
Copy link
Member

winterqt commented Apr 8, 2025

Did you verify all of these tags exist, and that they give the same hash? (The first part is easy using the GH API, the second part is rather network-heavy.)

Echoing this. If you cannot assert that you checked that the hashes didn’t change, I would suggest a revert at this point. We’re a month away from 25.05, I don’t think it’s worth the risk.

@K900
Copy link
Contributor

K900 commented Apr 8, 2025

After some discussion on Matrix, we've confirmed the affected FODs have not been verified, and decided to revert the change and reland once we're confident we're not breaking anything.

@winterqt
Copy link
Member

winterqt commented Apr 8, 2025

@infinisil @philiptaron @wolfgangwalther Do any of y'all know why the eval failure caused by this PR wasn't caught by the eval action? I can reproduce it locally on master by commenting out

, if you want to test without dealing with this massive commit.

@winterqt
Copy link
Member

winterqt commented Apr 8, 2025

Did some preliminary debugging on the eval issue, and refine is included in the attrpaths superset... so I'm not really sure what's going on here. I have limited testing ability at the moment since the workflow seems to be entirely broken on macOS (I'll fix it eventually, probably a sandbox issue from what I can deduce), but this is very bizarre.

If I'm unable to fix it myself within the next few days, I'll open an issue to track this properly.

@LordGrimmauld
Copy link
Contributor

I know the dev of refine (skelli, involved in bottles too), and when i asked them back when they first started they wanted to explicitly only support linux Gnome - can you even run a full gnome on darwin? If not, that probably makes no sense to try and support. And if you need to know details about how they manage tagging, i can reach out too.

@winterqt
Copy link
Member

winterqt commented Apr 8, 2025

I know the dev of refine (skelli, involved in bottles too), and when i asked them back when they first started they wanted to explicitly only support linux Gnome - can you even run a full gnome on darwin? If not, that probably makes no sense to try and support. And if you need to know details about how they manage tagging, i can reach out too.

I just mean the eval check, so unrelated. :)

@Yarny0 Yarny0 mentioned this pull request Apr 9, 2025
16 tasks
@donovanglover donovanglover mentioned this pull request Apr 10, 2025
13 tasks
@pbsds
Copy link
Member

pbsds commented Apr 23, 2025

I just saw this, but for future reference the script in #368177 can be adapted to perform this operation and verify each change with nix-build ... --check

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: cinnamon Desktop environment 6.topic: docker tools Open-source software for deploying and running of containerized applications 6.topic: emacs Text editor 6.topic: golang Go is a high-level general purpose programming language that is statically typed and compiled. 6.topic: jupyter Interactive computing tooling: kernels, notebook, jupyterlab 6.topic: k3s Kubernates distribution (https://k3s.io/) 6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 6.topic: nodejs Node.js is a free, open-source, cross-platform JavaScript runtime environment 6.topic: rust General-purpose programming language emphasizing performance, type safety, and concurrency. 6.topic: vim Advanced text editor 6.topic: vscode A free and versatile code editor that supports almost every major programming language. 8.has: documentation This PR adds or changes documentation 10.rebuild-darwin: 101-500 This PR causes between 101 and 500 packages to rebuild on Darwin. 10.rebuild-linux: 101-500 This PR causes between 101 and 500 packages to rebuild on Linux.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants