diff --git a/pkgs/top-level/nixpkgs-basic-release-checks.nix b/pkgs/top-level/nixpkgs-basic-release-checks.nix index 28f8cf332977..e2b81b20c5b0 100644 --- a/pkgs/top-level/nixpkgs-basic-release-checks.nix +++ b/pkgs/top-level/nixpkgs-basic-release-checks.nix @@ -19,6 +19,14 @@ pkgs.runCommand "nixpkgs-release-checks" { src = nixpkgs; buildInputs = [nix]; } exit 1 fi + # Make sure that no paths collide on case-preserving or case-insensitive filesysytems. + conflictingPaths=$(find $src | awk '{ print $1 " " tolower($1) }' | sort -k2 | uniq -D -f 1 | cut -d ' ' -f 1) + if [[ -n $conflictingPaths ]]; then + echo "Files in nixpkgs must not vary only by case" + echo "The offending paths: $conflictingPaths" + exit 1 + fi + src2=$TMPDIR/foo cp -rd $src $src2