use-case-hack should be a store-local setting #633

Open
opened 2025-01-20 22:38:13 +00:00 by jade · 1 comment
Owner

The bug in the following code snippet was fixed by cl/2794, but this genre of problem persists, and we need the case hack to be store local in the future.

lix/lix4 » nix build --impure --expr 'with import <nixpkgs> {}; runCommand "lol" {} "mkdir $out; > $out/foo; > $out/fOO"'
lix/lix4 »·nix store ls --use-case-hack --store ssh-ng://jade@localhost $(readlink ./result)
./fOO
./foo~nix~case~hack~1

This is caused by use-case-hack being a global setting and not respecting whether the current output target actually should be case hacked in the first place. Fixing this to be a setting on the store in question and no longer reading that setting directly in the NAR serializers/deserializers would be a valuable refactor in order to implement #628.

The bug in the following code snippet was fixed by cl/2794, but this genre of problem persists, and we need the case hack to be store local in the future. ``` lix/lix4 » nix build --impure --expr 'with import <nixpkgs> {}; runCommand "lol" {} "mkdir $out; > $out/foo; > $out/fOO"' lix/lix4 »·nix store ls --use-case-hack --store ssh-ng://jade@localhost $(readlink ./result) ./fOO ./foo~nix~case~hack~1 ``` This is caused by use-case-hack being a global setting and not respecting whether the current output target actually should be case hacked in the first place. Fixing this to be a setting on the store in question and no longer reading that setting directly in the NAR serializers/deserializers would be a valuable refactor in order to implement https://git.lix.systems/lix-project/lix/issues/628.
Member

This issue was mentioned on Gerrit on the following CLs:

  • commit message in cl/2794 ("libstore: move case hacking to the FS interaction code")
<!-- GERRIT_LINKBOT: {"cls": [{"backlink": "https://gerrit.lix.systems/c/lix/+/2794", "number": 2794, "kind": "commit message"}], "cl_meta": {"2794": {"change_title": "libstore: move case hacking to the FS interaction code"}}} --> This issue was mentioned on Gerrit on the following CLs: * commit message in [cl/2794](https://gerrit.lix.systems/c/lix/+/2794) ("libstore: move case hacking to the FS interaction code")
jade changed title from nix store ls uses use-case-hack; use-case-hack should be a store-local setting to use-case-hack should be a store-local setting 2025-03-18 17:57:12 +00:00
Sign in to join this conversation.
No milestone
No assignees
2 participants
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#633
No description provided.