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
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 =
[

View File

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