about summary refs log tree commit diff
path: root/pkgs/top-level/make-tarball.nix
diff options
context:
space:
mode:
authorK900 <me@0upti.me>2024-04-22 23:39:40 +0300
committerK900 <me@0upti.me>2024-04-22 23:39:40 +0300
commitee6b0bdaa0962b6f660489f8ae91bb8542238b6a (patch)
tree5976f4351e5b8300bfe49ab8541f8ae5716cac5a /pkgs/top-level/make-tarball.nix
parent4a0c2fa837936dbe87c8bb693559ffd32c8e5e85 (diff)
pkgs/top-level/make-tarball.nix: add back the number of packages sanity check
But in a way that's fast.
Diffstat (limited to 'pkgs/top-level/make-tarball.nix')
-rw-r--r--pkgs/top-level/make-tarball.nix13
1 files changed, 10 insertions, 3 deletions
diff --git a/pkgs/top-level/make-tarball.nix b/pkgs/top-level/make-tarball.nix
index 7352d3d90940b..ccc1d1d519cb2 100644
--- a/pkgs/top-level/make-tarball.nix
+++ b/pkgs/top-level/make-tarball.nix
@@ -34,13 +34,20 @@ pkgs.releaseTools.sourceTarball {
   checkPhase = ''
     echo "generating packages.json"
 
-    packages=$out/packages.json.br
-
     (
       echo -n '{"version":2,"packages":'
       NIX_STATE_DIR=$TMPDIR NIX_PATH= nix-env -f $src -qa --meta --json --show-trace --arg config 'import ${./packages-config.nix}'
       echo -n '}'
-    ) | sed "s|$src/||g" | jq -c | brotli -9 > $packages
+    ) | sed "s|$src/||g" | jq -c > packages.json
+
+    # Arbitrary number. The index has ~115k packages as of April 2024.
+    if [ $(jq -r '.packages | length' < packages.json) -lt 100000 ]; then
+      echo "ERROR: not enough packages in the search index, bailing out!"
+      exit 1
+    fi
+
+    packages=$out/packages.json.br
+    brotli -9 < packages.json > $packages
 
     mkdir -p $out/nix-support
     echo "file json-br $packages" >> $out/nix-support/hydra-build-products