builder: enhance work around missing profile.json

This commit is contained in:
Astro 2022-06-10 21:54:09 +02:00
parent 51d67c0a59
commit 81dfe7ffb9
2 changed files with 24 additions and 18 deletions

View File

@ -31,14 +31,15 @@ with pkgs;
let let
inherit (import ./files.nix { inherit (import ./files.nix {
inherit pkgs release target variant sha256 feedsSha256 packagesArch; inherit pkgs release target variant sha256 feedsSha256 packagesArch;
}) arch variantFiles profiles expandDeps allPackages; }) arch variantFiles profiles expandDeps corePackages packagesByFeed allPackages;
requiredPackages = ( requiredPackages = (
profiles.default_packages or [] profiles.default_packages or (
++ builtins.attrNames packagesByFeed.base
profiles.profiles.${profile}.device_packages or [] ++ builtins.attrNames corePackages
++ )
packages ++ profiles.profiles.${profile}.device_packages or []
++ packages
); );
allRequiredPackages = expandDeps allPackages requiredPackages; allRequiredPackages = expandDeps allPackages requiredPackages;
in in
@ -59,16 +60,20 @@ stdenv.mkDerivation {
grep -r usr/bin/env grep -r usr/bin/env
''; '';
configurePhase = '' configurePhase =
${lib.concatMapStrings (pname: let
installPackages = writeScript "install-openwrt-packages" (
lib.concatMapStrings (pname:
let let
package = allPackages.${pname}; package = allPackages.${pname};
in in
lib.optionalString lib.optionalString
(package.type == "real") (package.type == "real")
"[ -e packages/${package.filename} ] || ln -s ${package.file} packages/${package.filename}\n" "[ -e packages/${package.filename} ] || ln -s ${package.file} packages/${package.filename}\n"
) ) allRequiredPackages
allRequiredPackages} );
in ''
${installPackages}
echo "src imagebuilder file:packages" > repositories.conf echo "src imagebuilder file:packages" > repositories.conf
''; '';

View File

@ -198,6 +198,7 @@ let
in { in {
inherit allPackages; inherit allPackages;
inherit corePackages packagesByFeed;
inherit expandDeps; inherit expandDeps;
inherit variantFiles; inherit variantFiles;
inherit profiles arch; inherit profiles arch;