aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--package/Config.in3
-rw-r--r--package/skeleton-common/Config.in4
-rw-r--r--package/skeleton-common/skeleton-common.mk2
-rw-r--r--package/skeleton-none/Config.in7
-rw-r--r--package/skeleton-none/skeleton-none.mk18
-rw-r--r--package/skeleton-systemd/Config.in7
-rw-r--r--package/skeleton-systemd/skeleton-systemd.mk18
-rw-r--r--package/skeleton-sysv/Config.in7
-rw-r--r--package/skeleton-sysv/skeleton-sysv.mk18
-rw-r--r--system/Config.in11
10 files changed, 85 insertions, 10 deletions
diff --git a/package/Config.in b/package/Config.in
index 7d22b47f5c..b5170b044c 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -4,6 +4,9 @@ menu "Target packages"
source "package/skeleton/Config.in"
source "package/skeleton-common/Config.in"
source "package/skeleton-custom/Config.in"
+ source "package/skeleton-none/Config.in"
+ source "package/skeleton-systemd/Config.in"
+ source "package/skeleton-sysv/Config.in"
menu "Audio and video applications"
source "package/alsa-utils/Config.in"
diff --git a/package/skeleton-common/Config.in b/package/skeleton-common/Config.in
index 5675e873cf..9abed4292a 100644
--- a/package/skeleton-common/Config.in
+++ b/package/skeleton-common/Config.in
@@ -1,6 +1,2 @@
config BR2_PACKAGE_SKELETON_COMMON
bool
- select BR2_PACKAGE_HAS_SKELETON
-
-config BR2_PACKAGE_PROVIDES_SKELETON
- default "skeleton-common" if BR2_PACKAGE_SKELETON_COMMON
diff --git a/package/skeleton-common/skeleton-common.mk b/package/skeleton-common/skeleton-common.mk
index bf75077a85..e9b87c3fd3 100644
--- a/package/skeleton-common/skeleton-common.mk
+++ b/package/skeleton-common/skeleton-common.mk
@@ -11,8 +11,6 @@
SKELETON_COMMON_ADD_TOOLCHAIN_DEPENDENCY = NO
SKELETON_COMMON_ADD_SKELETON_DEPENDENCY = NO
-SKELETON_COMMON_PROVIDES = skeleton
-
# The skeleton also handles the merged /usr case in the sysroot
SKELETON_COMMON_INSTALL_STAGING = YES
diff --git a/package/skeleton-none/Config.in b/package/skeleton-none/Config.in
new file mode 100644
index 0000000000..43fb3f277c
--- /dev/null
+++ b/package/skeleton-none/Config.in
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_SKELETON_NONE
+ bool
+ select BR2_PACKAGE_HAS_SKELETON
+ select BR2_PACKAGE_SKELETON_COMMON
+
+config BR2_PACKAGE_PROVIDES_SKELETON
+ default "skeleton-none" if BR2_PACKAGE_SKELETON_NONE
diff --git a/package/skeleton-none/skeleton-none.mk b/package/skeleton-none/skeleton-none.mk
new file mode 100644
index 0000000000..9e9579866a
--- /dev/null
+++ b/package/skeleton-none/skeleton-none.mk
@@ -0,0 +1,18 @@
+################################################################################
+#
+# skeleton-none
+#
+################################################################################
+
+# The skeleton can't depend on the toolchain, since all packages depends on the
+# skeleton and the toolchain is a target package, as is skeleton.
+# Hence, skeleton would depends on the toolchain and the toolchain would depend
+# on skeleton.
+SKELETON_NONE_ADD_TOOLCHAIN_DEPENDENCY = NO
+SKELETON_NONE_ADD_SKELETON_DEPENDENCY = NO
+
+SKELETON_NONE_DEPENDENCIES = skeleton-common
+
+SKELETON_NONE_PROVIDES = skeleton
+
+$(eval $(generic-package))
diff --git a/package/skeleton-systemd/Config.in b/package/skeleton-systemd/Config.in
new file mode 100644
index 0000000000..c507264598
--- /dev/null
+++ b/package/skeleton-systemd/Config.in
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_SKELETON_SYSTEMD
+ bool
+ select BR2_PACKAGE_HAS_SKELETON
+ select BR2_PACKAGE_SKELETON_COMMON
+
+config BR2_PACKAGE_PROVIDES_SKELETON
+ default "skeleton-systemd" if BR2_PACKAGE_SKELETON_SYSTEMD
diff --git a/package/skeleton-systemd/skeleton-systemd.mk b/package/skeleton-systemd/skeleton-systemd.mk
new file mode 100644
index 0000000000..cec6359007
--- /dev/null
+++ b/package/skeleton-systemd/skeleton-systemd.mk
@@ -0,0 +1,18 @@
+################################################################################
+#
+# skeleton-systemd
+#
+################################################################################
+
+# The skeleton can't depend on the toolchain, since all packages depends on the
+# skeleton and the toolchain is a target package, as is skeleton.
+# Hence, skeleton would depends on the toolchain and the toolchain would depend
+# on skeleton.
+SKELETON_SYSTEMD_ADD_TOOLCHAIN_DEPENDENCY = NO
+SKELETON_SYSTEMD_ADD_SKELETON_DEPENDENCY = NO
+
+SKELETON_SYSTEMD_DEPENDENCIES = skeleton-common
+
+SKELETON_SYSTEMD_PROVIDES = skeleton
+
+$(eval $(generic-package))
diff --git a/package/skeleton-sysv/Config.in b/package/skeleton-sysv/Config.in
new file mode 100644
index 0000000000..2f6dbd9673
--- /dev/null
+++ b/package/skeleton-sysv/Config.in
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_SKELETON_SYSV
+ bool
+ select BR2_PACKAGE_HAS_SKELETON
+ select BR2_PACKAGE_SKELETON_COMMON
+
+config BR2_PACKAGE_PROVIDES_SKELETON
+ default "skeleton-sysv" if BR2_PACKAGE_SKELETON_SYSV
diff --git a/package/skeleton-sysv/skeleton-sysv.mk b/package/skeleton-sysv/skeleton-sysv.mk
new file mode 100644
index 0000000000..b0c2b6bac1
--- /dev/null
+++ b/package/skeleton-sysv/skeleton-sysv.mk
@@ -0,0 +1,18 @@
+################################################################################
+#
+# skeleton-sysv
+#
+################################################################################
+
+# The skeleton can't depend on the toolchain, since all packages depends on the
+# skeleton and the toolchain is a target package, as is skeleton.
+# Hence, skeleton would depends on the toolchain and the toolchain would depend
+# on skeleton.
+SKELETON_SYSV_ADD_TOOLCHAIN_DEPENDENCY = NO
+SKELETON_SYSV_ADD_SKELETON_DEPENDENCY = NO
+
+SKELETON_SYSV_DEPENDENCIES = skeleton-common
+
+SKELETON_SYSV_PROVIDES = skeleton
+
+$(eval $(generic-package))
diff --git a/system/Config.in b/system/Config.in
index 8c3f903bdc..5716abd3cf 100644
--- a/system/Config.in
+++ b/system/Config.in
@@ -1,15 +1,18 @@
menu "System configuration"
# Note: usually, it is not possible to select a provider of a virtual
-# package. But here we have an exception: there are only two providers
-# and they only get selected each by separate entries in this choice.
-# So this is a safe situation.
+# package. But here we have an exception: there are only four providers
+# and they only get selected by separate entries in this choice and
+# under different, exclusive conditions. So this is a safe situation.
choice
prompt "Root FS skeleton"
config BR2_ROOTFS_SKELETON_DEFAULT
bool "default target skeleton"
- select BR2_PACKAGE_SKELETON_COMMON
+ select BR2_PACKAGE_SKELETON_SYSV if BR2_INIT_SYSV
+ select BR2_PACKAGE_SKELETON_SYSV if BR2_INIT_BUSYBOX
+ select BR2_PACKAGE_SKELETON_SYSTEMD if BR2_INIT_SYSTEMD
+ select BR2_PACKAGE_SKELETON_NONE if BR2_INIT_NONE
help
Use default target skeleton