From 81dfe7ffb90b46192833d485755e7c6219cdbe43 Mon Sep 17 00:00:00 2001 From: Astro Date: Fri, 10 Jun 2022 21:54:09 +0200 Subject: [PATCH] builder: enhance work around missing profile.json --- builder.nix | 41 +++++++++++++++++++++++------------------ files.nix | 1 + 2 files changed, 24 insertions(+), 18 deletions(-) diff --git a/builder.nix b/builder.nix index 9c2ba56..1045b2c 100644 --- a/builder.nix +++ b/builder.nix @@ -31,14 +31,15 @@ with pkgs; let inherit (import ./files.nix { inherit pkgs release target variant sha256 feedsSha256 packagesArch; - }) arch variantFiles profiles expandDeps allPackages; + }) arch variantFiles profiles expandDeps corePackages packagesByFeed allPackages; requiredPackages = ( - profiles.default_packages or [] - ++ - profiles.profiles.${profile}.device_packages or [] - ++ - packages + profiles.default_packages or ( + builtins.attrNames packagesByFeed.base + ++ builtins.attrNames corePackages + ) + ++ profiles.profiles.${profile}.device_packages or [] + ++ packages ); allRequiredPackages = expandDeps allPackages requiredPackages; in @@ -59,19 +60,23 @@ stdenv.mkDerivation { grep -r usr/bin/env ''; - configurePhase = '' - ${lib.concatMapStrings (pname: - let - package = allPackages.${pname}; - in - lib.optionalString - (package.type == "real") - "[ -e packages/${package.filename} ] || ln -s ${package.file} packages/${package.filename}\n" - ) - allRequiredPackages} + configurePhase = + let + installPackages = writeScript "install-openwrt-packages" ( + lib.concatMapStrings (pname: + let + package = allPackages.${pname}; + in + lib.optionalString + (package.type == "real") + "[ -e packages/${package.filename} ] || ln -s ${package.file} packages/${package.filename}\n" + ) allRequiredPackages + ); + in '' + ${installPackages} - echo "src imagebuilder file:packages" > repositories.conf - ''; + echo "src imagebuilder file:packages" > repositories.conf + ''; nativeBuildInputs = [ diff --git a/files.nix b/files.nix index 092b3c6..4a47ed8 100644 --- a/files.nix +++ b/files.nix @@ -198,6 +198,7 @@ let in { inherit allPackages; + inherit corePackages packagesByFeed; inherit expandDeps; inherit variantFiles; inherit profiles arch;