Skip to content

Comments

fix: Nix eval error due to fetchGit only supporting revisions#909

Merged
hansl merged 1 commit intohansl/move-ic-agent-to-own-repofrom
basvandijk/fix-nix-eval-error
Aug 7, 2020
Merged

fix: Nix eval error due to fetchGit only supporting revisions#909
hansl merged 1 commit intohansl/move-ic-agent-to-own-repofrom
basvandijk/fix-nix-eval-error

Conversation

@basvandijk
Copy link
Contributor

@basvandijk basvandijk commented Aug 7, 2020

The following used to work:

nix-repl> builtins.fetchGit { url = "ssh://git@github.com/dfinity-lab/agent-rust"; ref = "v0.6.3"; }
{ outPath = "/nix/store/rrlmgrf9z0nm9jzbimbsl6rpj96ij9yn-source"; rev = "5b2fab20e1902f8709d1b09fcb6f5ee9feb0084e"; revCount = 42; shortRev = "5b2fab2"; }

However, due to a Nix upgrade on Hydra this doesn't seem to work anymore:

nix-repl> builtins.fetchGit { url = "ssh://git@github.com/dfinity-lab/agent-rust.git"; ref = "v0.6.3"; }
fetching Git repository 'ssh://git@github.com/dfinity-lab/agent-rust.git'fatal: couldn't find remote ref refs/heads/v0.6.3
error: --- Error ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- nix
program 'git' failed with exit code 128

I'm not sure this is intended behaviour but it could be that Nix wants to have a revision in order to guarantee that the source doesn't change:

nix-repl> builtins.fetchGit { url = "ssh://git@github.com/dfinity-lab/agent-rust"; rev = "5b2fab20e1902f8709d1b09fcb6f5ee9feb0084e"; ref = "0.6"; }
{ lastModified = 1596813025; lastModifiedDate = "20200807151025"; narHash = "sha256-LJY3PJeTFaR3nn0/SAxbAOhogkcQS3JkHUiyOY14lWA="; outPath = "/nix/store/rrlmgrf9z0nm9jzbimbsl6rpj96ij9yn-source"; rev = "5b2fab20e1902f8709d1b09fcb6f5ee9feb0084e"; revCount = 42; shortRev = "5b2fab2"; submodules = false; }

Note that if the revision is not reachable from master it's also required to specify a branch. Unfortunately this does currently raise a warning in cargo:

$ cargo build
warning: /Users/bas/d/sdk/hansl/move-ic-agent-to-own-repo/src/ic_identity_manager/Cargo.toml: dependency (ic-agent) specification is ambiguous. Only one of `branch`, `tag` or `rev` is allowed. This will be considered an error in future versions
warning: /Users/bas/d/sdk/hansl/move-ic-agent-to-own-repo/src/dfx/Cargo.toml: dependency (ic-agent) specification is ambiguous. Only one of `branch`, `tag` or `rev` is allowed. This will be considered an error in future versions

The following used to work:

```
nix-repl> builtins.fetchGit { url = "ssh://git@github.com/dfinity-lab/agent-rust"; ref = "v0.6.3"; }
{ outPath = "/nix/store/rrlmgrf9z0nm9jzbimbsl6rpj96ij9yn-source"; rev = "5b2fab20e1902f8709d1b09fcb6f5ee9feb0084e"; revCount = 42; shortRev = "5b2fab2"; }
```

However, due to a Nix upgrade on Hydra this doesn't seem to work
anymore:

```
nix-repl> builtins.fetchGit { url = "ssh://git@github.com/dfinity-lab/agent-rust.git"; ref = "v0.6.3"; }
fetching Git repository 'ssh://git@github.com/dfinity-lab/agent-rust.git'fatal: couldn't find remote ref refs/heads/v0.6.3
error: --- Error ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- nix
program 'git' failed with exit code 128
```

I'm not sure this is intended behaviour but it could be that Nix wants
to have a revision in order to guarantee that the source doesn't
change:

```
nix-repl> builtins.fetchGit { url = "ssh://git@github.com/dfinity-lab/agent-rust"; rev = "5b2fab20e1902f8709d1b09fcb6f5ee9feb0084e"; ref = "0.6"; }
{ lastModified = 1596813025; lastModifiedDate = "20200807151025"; narHash = "sha256-LJY3PJeTFaR3nn0/SAxbAOhogkcQS3JkHUiyOY14lWA="; outPath = "/nix/store/rrlmgrf9z0nm9jzbimbsl6rpj96ij9yn-source"; rev = "5b2fab20e1902f8709d1b09fcb6f5ee9feb0084e"; revCount = 42; shortRev = "5b2fab2"; submodules = false; }
```

Note that if the revision is not reachable from `master` it's also
required to specify a branch. Unfortunately this does currently raise
a warning in cargo:

```
$ cargo build
warning: /Users/bas/d/sdk/hansl/move-ic-agent-to-own-repo/src/ic_identity_manager/Cargo.toml: dependency (ic-agent) specification is ambiguous. Only one of `branch`, `tag` or `rev` is allowed. This will be considered an error in future versions
warning: /Users/bas/d/sdk/hansl/move-ic-agent-to-own-repo/src/dfx/Cargo.toml: dependency (ic-agent) specification is ambiguous. Only one of `branch`, `tag` or `rev` is allowed. This will be considered an error in future versions
```
@basvandijk basvandijk marked this pull request as ready for review August 7, 2020 20:13
@basvandijk basvandijk requested a review from hansl August 7, 2020 20:17
@hansl hansl merged commit f4db6d6 into hansl/move-ic-agent-to-own-repo Aug 7, 2020
@hansl hansl deleted the basvandijk/fix-nix-eval-error branch August 7, 2020 20:32
dfinity-bot added a commit that referenced this pull request Jun 10, 2021
## Changelog for advisory-db:
Branch: master
Commits: [rustsec/advisory-db@bd8a0f67...86ed5681](rustsec/advisory-db@bd8a0f6...86ed568)

* [`a7ffa73f`](rustsec/advisory-db@a7ffa73) Add security advisory for evm crate related to memory over-allocation ([RustSec/advisory-db⁠#909](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/909))
* [`26467a96`](rustsec/advisory-db@26467a9) Assigned RUSTSEC-2021-0066 to evm ([RustSec/advisory-db⁠#910](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/910))
* [`7e4cbf61`](rustsec/advisory-db@7e4cbf6) evm-core: fix crate name ([RustSec/advisory-db⁠#911](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/911))
* [`60b9a9e9`](rustsec/advisory-db@60b9a9e) Bump rustsec-admin to v0.4.3 ([RustSec/advisory-db⁠#919](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/919))
* [`c8a2c774`](rustsec/advisory-db@c8a2c77) Add RUSTSEC notice for CVE-2021-32629, a Cranelift miscompilation bug. ([RustSec/advisory-db⁠#918](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/918))
* [`1c038433`](rustsec/advisory-db@1c03843) fixes [RustSec/advisory-db⁠#915](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/915) - remove duplicate word ([RustSec/advisory-db⁠#916](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/916))
* [`256e923a`](rustsec/advisory-db@256e923) Assigned RUSTSEC-2021-0067 to cranelift-codegen ([RustSec/advisory-db⁠#921](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/921))
* [`23334c68`](rustsec/advisory-db@23334c6) Add advisory for iced-x86 soundness bug ([RustSec/advisory-db⁠#914](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/914))
* [`36bf272a`](rustsec/advisory-db@36bf272) iced-x86: fix lint ([RustSec/advisory-db⁠#922](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/922))
* [`a845d0a9`](rustsec/advisory-db@a845d0a) Assigned RUSTSEC-2021-0068 to iced-x86 ([RustSec/advisory-db⁠#923](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/923))
* [`86e2c664`](rustsec/advisory-db@86e2c66) Add lettre smtp vulnerability ([RustSec/advisory-db⁠#924](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/924))
* [`aa04921a`](rustsec/advisory-db@aa04921) Assigned RUSTSEC-2021-0069 to lettre ([RustSec/advisory-db⁠#925](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/925))
* [`3e51834f`](rustsec/advisory-db@3e51834) Make ranges in trust-dns-proto advisory non-overlapping ([RustSec/advisory-db⁠#929](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/929))
* [`40afced5`](rustsec/advisory-db@40afced) Remove range overlaps, fix some range specifications ([RustSec/advisory-db⁠#930](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/930))
* [`46e657b2`](rustsec/advisory-db@46e657b) Add advisory for nalgebra VecStorage/MatrixVec ([RustSec/advisory-db⁠#931](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/931))
* [`9984f61e`](rustsec/advisory-db@9984f61) Assigned RUSTSEC-2021-0070 to nalgebra ([RustSec/advisory-db⁠#932](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/932))
* [`958120be`](rustsec/advisory-db@958120b) Update RUSTSEC-2020-0043.md ([RustSec/advisory-db⁠#934](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/934))
* [`86ed5681`](rustsec/advisory-db@86ed568) Add GHSA mentions to `aliases` field. This is becoming more important with OSV enabling interop between databases ([RustSec/advisory-db⁠#937](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/937))
mergify bot pushed a commit that referenced this pull request Jun 10, 2021
## Changelog for advisory-db:
Branch: master
Commits: [rustsec/advisory-db@bd8a0f67...86ed5681](rustsec/advisory-db@bd8a0f6...86ed568)

* [`a7ffa73f`](rustsec/advisory-db@a7ffa73) Add security advisory for evm crate related to memory over-allocation ([RustSec/advisory-db⁠#909](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/909))
* [`26467a96`](rustsec/advisory-db@26467a9) Assigned RUSTSEC-2021-0066 to evm ([RustSec/advisory-db⁠#910](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/910))
* [`7e4cbf61`](rustsec/advisory-db@7e4cbf6) evm-core: fix crate name ([RustSec/advisory-db⁠#911](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/911))
* [`60b9a9e9`](rustsec/advisory-db@60b9a9e) Bump rustsec-admin to v0.4.3 ([RustSec/advisory-db⁠#919](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/919))
* [`c8a2c774`](rustsec/advisory-db@c8a2c77) Add RUSTSEC notice for CVE-2021-32629, a Cranelift miscompilation bug. ([RustSec/advisory-db⁠#918](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/918))
* [`1c038433`](rustsec/advisory-db@1c03843) fixes [RustSec/advisory-db⁠#915](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/915) - remove duplicate word ([RustSec/advisory-db⁠#916](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/916))
* [`256e923a`](rustsec/advisory-db@256e923) Assigned RUSTSEC-2021-0067 to cranelift-codegen ([RustSec/advisory-db⁠#921](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/921))
* [`23334c68`](rustsec/advisory-db@23334c6) Add advisory for iced-x86 soundness bug ([RustSec/advisory-db⁠#914](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/914))
* [`36bf272a`](rustsec/advisory-db@36bf272) iced-x86: fix lint ([RustSec/advisory-db⁠#922](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/922))
* [`a845d0a9`](rustsec/advisory-db@a845d0a) Assigned RUSTSEC-2021-0068 to iced-x86 ([RustSec/advisory-db⁠#923](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/923))
* [`86e2c664`](rustsec/advisory-db@86e2c66) Add lettre smtp vulnerability ([RustSec/advisory-db⁠#924](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/924))
* [`aa04921a`](rustsec/advisory-db@aa04921) Assigned RUSTSEC-2021-0069 to lettre ([RustSec/advisory-db⁠#925](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/925))
* [`3e51834f`](rustsec/advisory-db@3e51834) Make ranges in trust-dns-proto advisory non-overlapping ([RustSec/advisory-db⁠#929](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/929))
* [`40afced5`](rustsec/advisory-db@40afced) Remove range overlaps, fix some range specifications ([RustSec/advisory-db⁠#930](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/930))
* [`46e657b2`](rustsec/advisory-db@46e657b) Add advisory for nalgebra VecStorage/MatrixVec ([RustSec/advisory-db⁠#931](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/931))
* [`9984f61e`](rustsec/advisory-db@9984f61) Assigned RUSTSEC-2021-0070 to nalgebra ([RustSec/advisory-db⁠#932](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/932))
* [`958120be`](rustsec/advisory-db@958120b) Update RUSTSEC-2020-0043.md ([RustSec/advisory-db⁠#934](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/934))
* [`86ed5681`](rustsec/advisory-db@86ed568) Add GHSA mentions to `aliases` field. This is becoming more important with OSV enabling interop between databases ([RustSec/advisory-db⁠#937](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/937))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants