system: support br2-external skeleton packages
authorBrandon Maier <brandon.maier@rockwellcollins.com>
Tue, 13 Oct 2020 22:36:01 +0000 (17:36 -0500)
committerYann E. MORIN <yann.morin.1998@free.fr>
Wed, 14 Oct 2020 20:30:56 +0000 (22:30 +0200)
Today, the BR2_ROOTFS_SKELETON_CUSTOM is the only way to build a custom
skeleton. But it's limiting as users must provide a pre-built skeleton
for each target. Supporting a br2-external package allows users to build
up a skeleton and customize it with their own KConfig options.

Signed-off-by: Brandon Maier <brandon.maier@rockwellcollins.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
support/scripts/br2-external
system/Config.in

index ededd2d900cdc00aedd5a276f1abc7eb78d3abdb..01804e122087d4699497ecc7d28e5f7cac4d9c9f 100755 (executable)
@@ -161,6 +161,7 @@ do_kconfig() {
         toolchains
         jpeg
         openssl
+        skeleton
     )
 
     for br2 in "${items[@]}"; do
@@ -224,6 +225,14 @@ do_kconfig() {
         else
             printf '# No openssl from: %s\n\n' "${br2_desc}"
         fi >>"${outputdir}/.br2-external.in.openssl"
+
+        if [ -f "${br2_ext}/provides/skeleton.in" ]; then
+            printf 'comment "skeleton from: %s"\n' "${br2_desc}"
+            printf 'source "%s/provides/skeleton.in"\n' "${br2_ext}"
+            printf '\n'
+        else
+            printf '# No skeleton from: %s\n\n' "${br2_desc}"
+        fi >>"${outputdir}/.br2-external.in.skeleton"
     done
 
     printf 'endmenu\n' >>"${outputdir}/.br2-external.in.menus"
index b8b7c165297ed179d3724aa91a18d5f1b42b90ee..a363e099e59b2a55ad54153f522daa6cd87b0ec5 100644 (file)
@@ -23,6 +23,9 @@ config BR2_ROOTFS_SKELETON_CUSTOM
        help
          Use custom target skeleton.
 
+# skeleton from br2-external trees, if any
+source "$BR2_BASE_DIR/.br2-external.in.skeleton"
+
 endchoice
 
 if BR2_ROOTFS_SKELETON_CUSTOM