release-lib.nix: make packagePlatforms respect badPlatforms
packagePlatforms previously ignored badPlatforms, probably because it is a fairly [recent] addition. While check-meta.nix doesn't implement it using subtractLists, it is basically equivalent to the following logic: platformSet - badPlatformSet (= effectivePlatformSet) which we implement using subtractLists (which has somewhat confusing currying-optimized argument order). This flaw was discovered when testing #177901 which heavily uses badPlatforms. [recent]: https://github.com/NixOS/nixpkgs/commit/b0482248fefbf3b6cdd9c92053cfb49778a3a3a8
This commit is contained in:
@@ -146,7 +146,8 @@ rec {
|
||||
packagePlatforms = mapAttrs (name: value:
|
||||
if isDerivation value then
|
||||
value.meta.hydraPlatforms
|
||||
or (value.meta.platforms or [ "x86_64-linux" ])
|
||||
or (lib.subtractLists (value.meta.badPlatforms or [])
|
||||
(value.meta.platforms or [ "x86_64-linux" ]))
|
||||
else if value.recurseForDerivations or false || value.recurseForRelease or false then
|
||||
packagePlatforms value
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user