Remove thin provisioning tools dependency from lvm2#121389
Remove thin provisioning tools dependency from lvm2#121389FRidh merged 1 commit intoNixOS:stagingfrom
Conversation
thin-provisioning-tools has a _huge_ closure size (hundreds of megabytes) and the only reference in the output of the lvm2 package is a _comment_ in the etc/lvm.conf The lvm2 package thus does not seem to depend on thin-provisoning-tools in any way. Reverts 9326a89 thin provisoning is broken with or without this change: NixOS#15516 A proper fix is here: NixOS#46541 References: $ nix why-depends nixpkgs#lvm2 nixpkgs#thin-provisioning-tools /nix/store/n7zwwxi0ihjks7qk9bq5lbkniligfcqc-lvm2-2.03.11 └───etc/lvm.conf: …_check_executable = "/nix/store/w5an38q6byfr1sihks66srbqdii9hnsd-thin-prov> → /nix/store/w5an38q6byfr1sihks66srbqdii9hnsd-thin-provisioning-tools-0.9.0 $ ag thin-provisioning-tools --search-binary etc/lvm.conf 1093: # (See package device-mapper-persistent-data or thin-provisioning-tools) 1095: # thin_check_executable = "/nix/store/w5an38q6byfr1sihks66srbqdii9hnsd-thin-provisioning-tools-0.9.0/bin/thin_check" 1100: # (See package device-mapper-persistent-data or thin-provisioning-tools) 1102: # thin_dump_executable = "/nix/store/w5an38q6byfr1sihks66srbqdii9hnsd-thin-provisioning-tools-0.9.0/bin/thin_dump" 1108: # (See package device-mapper-persistent-data or thin-provisioning-tools) 1110: # thin_repair_executable = "/nix/store/w5an38q6byfr1sihks66srbqdii9hnsd-thin-provisioning-tools-0.9.0/bin/thin_repair" 1155: # (See package device-mapper-persistent-data or thin-provisioning-tools) 1157: # cache_check_executable = "/nix/store/w5an38q6byfr1sihks66srbqdii9hnsd-thin-provisioning-tools-0.9.0/bin/cache_check" 1162: # (See package device-mapper-persistent-data or thin-provisioning-tools) 1164: # cache_dump_executable = "/nix/store/w5an38q6byfr1sihks66srbqdii9hnsd-thin-provisioning-tools-0.9.0/bin/cache_dump" 1170: # (See package device-mapper-persistent-data or thin-provisioning-tools) 1172: # cache_repair_executable = "/nix/store/w5an38q6byfr1sihks66srbqdii9hnsd-thin-provisioning-tools-0.9.0/bin/cache_repair"
|
Result of 736 packages marked as broken and skipped:
1 package failed to build:8401 packages skipped due to time constraints:
42 packages built successfully:
6 suggestions:
Note that build failures may predate this PR, and could be nondeterministic or hardware dependent. |
AFAIR that has basically hit master through #93024. This PR doesn't look like it'll break anything, but
is objectively wrong, because I run literally dozens of NixOS systems from lvm thin volumes. EDIT: https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/tasks/lvm.nix#L44 for reference. |
|
Thanks for the links @ajs124 . I suggest I adjust the commit message to reflect your remarks. |
|
@arianvp Sounds like a plan 👍 Someone (maybe me) should probably also go through the things you linked and see which ones of them are still relevant. I don't remember why I didn't close them back then. |
|
Would have been nice to have the adjusted commit message, because as is, it might mislead people. |
thin-provisioning-tools has a huge closure size (hundreds of
megabytes) and the only reference in the output of the lvm2 package is a
comment in the etc/lvm.conf
The lvm2 package thus does not seem to depend on thin-provisoning-tools
in any way.
Reverts 9326a89
thin provisoning is broken with or without this change:
#15516
People were already doing this revert locally it seems:
#14394
A proper fix is here:
#46541
References:
$ nix why-depends nixpkgs#lvm2 nixpkgs#thin-provisioning-tools
/nix/store/n7zwwxi0ihjks7qk9bq5lbkniligfcqc-lvm2-2.03.11
└───etc/lvm.conf: …_check_executable = "/nix/store/w5an38q6byfr1sihks66srbqdii9hnsd-thin-prov>
→ /nix/store/w5an38q6byfr1sihks66srbqdii9hnsd-thin-provisioning-tools-0.9.0
$ ag thin-provisioning-tools --search-binary
etc/lvm.conf
1093: # (See package device-mapper-persistent-data or thin-provisioning-tools)
1095: # thin_check_executable = "/nix/store/w5an38q6byfr1sihks66srbqdii9hnsd-thin-provisioning-tools-0.9.0/bin/thin_check"
1100: # (See package device-mapper-persistent-data or thin-provisioning-tools)
1102: # thin_dump_executable = "/nix/store/w5an38q6byfr1sihks66srbqdii9hnsd-thin-provisioning-tools-0.9.0/bin/thin_dump"
1108: # (See package device-mapper-persistent-data or thin-provisioning-tools)
1110: # thin_repair_executable = "/nix/store/w5an38q6byfr1sihks66srbqdii9hnsd-thin-provisioning-tools-0.9.0/bin/thin_repair"
1155: # (See package device-mapper-persistent-data or thin-provisioning-tools)
1157: # cache_check_executable = "/nix/store/w5an38q6byfr1sihks66srbqdii9hnsd-thin-provisioning-tools-0.9.0/bin/cache_check"
1162: # (See package device-mapper-persistent-data or thin-provisioning-tools)
1164: # cache_dump_executable = "/nix/store/w5an38q6byfr1sihks66srbqdii9hnsd-thin-provisioning-tools-0.9.0/bin/cache_dump"
1170: # (See package device-mapper-persistent-data or thin-provisioning-tools)
1172: # cache_repair_executable = "/nix/store/w5an38q6byfr1sihks66srbqdii9hnsd-thin-provisioning-tools-0.9.0/bin/cache_repair"
Motivation for this change
Things done
sandboxinnix.confon non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"./result/bin/)nix path-info -Sbefore and after)