[Nix#9319] Case-hacked files are observable from the language #103

Open
opened 2024-03-16 06:44:55 +00:00 by lix-bot · 0 comments
Member

Upstream-Issue: NixOS/nix#9319

Describe the bug

Whether the current store (or configuration (#9318)) enables the case hack should not affect the language.
Nix tries to support case sensitivity as much as possible, including allowing case sensitive paths to be represented in the store. This does not need to be detectable and arguably should not be detectable.

Steps To Reproduce

One a store (or machine (#9318)) that has the case hack, run nix repl

> :lf nixpkgs
> builtins.readDir (legacyPackages.aarch64-linux.ncurses + "/share/terminfo")  
{ "1" = "directory"; "2" = "directory"; "3" = "directory"; "4" = "directory"; "5" = "directory"; "6" = "directory"; "7" = "directory"; "8" = "directory"; "9" = "directory"; A = "directory"; E = "directory"; L = "directory"; M = "directory"; N = "directory"; P = "directory"; Q = "directory"; X = "directory";
  "a~nix~case~hack~1" = "directory"; b = "directory"; c = "directory"; d = "directory"; "e~nix~case~hack~1" = "directory"; f = "directory"; g = "directory"; h = "directory"; i = "directory"; j = "directory"; k = "directory"; "l~nix~case~hack~1" = "directory"; "m~nix~case~hack~1" = "directory";
  "n~nix~case~hack~1" = "directory"; o = "directory"; "p~nix~case~hack~1" = "directory"; "q~nix~case~hack~1" = "directory"; r = "directory"; s = "directory"; t = "directory"; u = "directory"; v = "directory"; w = "directory"; "x~nix~case~hack~1" = "directory"; z = "directory"; }

Expected behavior

The language uses a file system accessor that unapplies the case hack on trees that implement case sensitivity using the case hack.

nix-env --version output

Additional context

Priorities

Add 👍 to issues you find important.

Upstream-Issue: https://git.lix.systems/NixOS/nix/issues/9319 **Describe the bug** Whether the current store (or configuration (#9318)) enables the case hack should not affect the language. Nix tries to support case sensitivity as much as possible, including allowing case sensitive paths to be represented in the store. This does not need to be detectable and arguably should not be detectable. **Steps To Reproduce** One a store (or machine (#9318)) that has the case hack, run `nix repl` ``` > :lf nixpkgs > builtins.readDir (legacyPackages.aarch64-linux.ncurses + "/share/terminfo") { "1" = "directory"; "2" = "directory"; "3" = "directory"; "4" = "directory"; "5" = "directory"; "6" = "directory"; "7" = "directory"; "8" = "directory"; "9" = "directory"; A = "directory"; E = "directory"; L = "directory"; M = "directory"; N = "directory"; P = "directory"; Q = "directory"; X = "directory"; "a~nix~case~hack~1" = "directory"; b = "directory"; c = "directory"; d = "directory"; "e~nix~case~hack~1" = "directory"; f = "directory"; g = "directory"; h = "directory"; i = "directory"; j = "directory"; k = "directory"; "l~nix~case~hack~1" = "directory"; "m~nix~case~hack~1" = "directory"; "n~nix~case~hack~1" = "directory"; o = "directory"; "p~nix~case~hack~1" = "directory"; "q~nix~case~hack~1" = "directory"; r = "directory"; s = "directory"; t = "directory"; u = "directory"; v = "directory"; w = "directory"; "x~nix~case~hack~1" = "directory"; z = "directory"; } ``` **Expected behavior** The language uses a file system accessor that unapplies the case hack on trees that implement case sensitivity using the case hack. **`nix-env --version` output** **Additional context** **Priorities** Add :+1: to [issues you find important](https://github.com/NixOS/nix/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc).
lix-bot added the
bug
imported
labels 2024-03-16 06:44:55 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lix-project/lix#103
No description provided.