nix-bisect icon indicating copy to clipboard operation
nix-bisect copied to clipboard

nix-build-status broken

Open jtojnar opened this issue 1 year ago • 1 comments

I tried running nix-build-status fprintd but it just fails:

$ nix-build-status fprintd
Querying status of /nix/store/ccw73rz2pwqsncwq3gnkzn10fmxrjxaj-fprintd-1.94.2.drv.
warning: The interpretation of store paths arguments ending in `.drv` recently changed. If this command is now failing try again with '/nix/store/ccw73rz2pwqsncwq3gnkzn10fmxrjxaj-fprintd-1.94.2.drv^*'
Traceback (most recent call last):
  File "/nix/store/cw8kcbzxvgm6dnybqiz4hmj36rzd3jiv-python3.10-nix-bisect-git/bin/.nix-build-status-wrapped", line 9, in <module>
    sys.exit(_main())
  File "/nix/store/cw8kcbzxvgm6dnybqiz4hmj36rzd3jiv-python3.10-nix-bisect-git/lib/python3.10/site-packages/nix_bisect/build_status.py", line 184, in _main
    status = build_status(
  File "/nix/store/cw8kcbzxvgm6dnybqiz4hmj36rzd3jiv-python3.10-nix-bisect-git/lib/python3.10/site-packages/nix_bisect/build_status.py", line 54, in build_status
    if drv.can_build():
  File "/nix/store/cw8kcbzxvgm6dnybqiz4hmj36rzd3jiv-python3.10-nix-bisect-git/lib/python3.10/site-packages/nix_bisect/derivation.py", line 66, in can_build
    return nix.build_would_succeed(
  File "/nix/store/cw8kcbzxvgm6dnybqiz4hmj36rzd3jiv-python3.10-nix-bisect-git/lib/python3.10/site-packages/nix_bisect/nix.py", line 308, in build_would_succeed
    build(
  File "/nix/store/cw8kcbzxvgm6dnybqiz4hmj36rzd3jiv-python3.10-nix-bisect-git/lib/python3.10/site-packages/nix_bisect/nix.py", line 338, in build
    return _build_uncached(drvs, nix_options)
  File "/nix/store/cw8kcbzxvgm6dnybqiz4hmj36rzd3jiv-python3.10-nix-bisect-git/lib/python3.10/site-packages/nix_bisect/nix.py", line 228, in _build_uncached
    location_process.check_returncode()
  File "/nix/store/bc45k1n0pkrdkr3xa6w84w1xhkl1kkyp-python3-3.10.12/lib/python3.10/subprocess.py", line 457, in check_returncode
    raise CalledProcessError(self.returncode, self.args, self.stdout,
subprocess.CalledProcessError: Command '['nix-store', '--realize', '/nix/store/ccw73rz2pwqsncwq3gnkzn10fmxrjxaj-fprintd-1.94.2.drv']' returned non-zero exit status 1.

Apparently, this command no longer does anything without ^* suffix for derivations:

https://github.com/timokau/nix-bisect/blob/4425932faebfa9d72d5ad59460dd9332577be780/nix_bisect/nix.py#L162

When I run it externally, it succeeds without any content other than the warning:

$ nix build --no-link /nix/store/ccw73rz2pwqsncwq3gnkzn10fmxrjxaj-fprintd-1.94.2.drv
warning: The interpretation of store paths arguments ending in `.drv` recently changed. If this command is now failing try again with '/nix/store/ccw73rz2pwqsncwq3gnkzn10fmxrjxaj-fprintd-1.94.2.drv^*'

Possibly this is due to changes in Nix 2.15 https://nixos.org/manual/nix/stable/release-notes/rl-2.15#release-215-2023-04-11

jtojnar avatar Mar 26 '24 15:03 jtojnar

Thank you for the report! Unfortunately I currently do not have time to actively maintain this project. If someone PR's a fix, I would be willing to review it.

Long-term I am considering archiving this repository. If someone wants to maintain a fork, I would be happy about that.

timokau avatar Apr 02 '24 12:04 timokau

#27 fixes this issue

Flakebi avatar Apr 15 '24 16:04 Flakebi