Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 0/3] core: add kconfigsymbols to packages (branch yem/check-target-packages)
@ 2015-12-29 23:10 Yann E. MORIN
  2015-12-29 23:10 ` [Buildroot] [PATCH 1/3] package/c-libraries: need linux-headers Yann E. MORIN
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Yann E. MORIN @ 2015-12-29 23:10 UTC (permalink / raw)
  To: buildroot

Hello All!

Since we check that packages in _DEPENDENCIES are enabled at the Kconfig
level, it means all the target packages need to have a Kconfig symbol.

This is currently not the case for quite a few of them:
  - linux-headers
  - netbsd-queue
  - virtual packages
  - a few more...

This series fixes the most critical ones (the three identified in the
list above); others will be fixed in later patches when the autobulders
find them.


Regards,
Yann E. MORIN.


The following changes since commit 5203541aa62c1d77d1e85662961bd7ab313813bc:

  package/xtables-addons: require kernel modules from Kconfig (2015-12-29 23:53:04 +0100)

are available in the git repository at:

  git://git.busybox.net/~ymorin/git/buildroot yem/check-target-packages

for you to fetch changes up to 7048b92dbba0ba35f610d7863f0c599eca3e3399:

  core/pkg-virtual: do not check they are neabled (2015-12-30 00:07:09 +0100)

----------------------------------------------------------------
Yann E. MORIN (3):
      package/c-libraries: need linux-headers
      package/netbsd-queue: add Kconfig symbol like for all target packages
      core/pkg-virtual: do not check they are neabled

 package/glibc/Config.in                 | 4 ++--
 package/linux-headers/Config.in         | 2 ++
 package/musl/Config.in                  | 3 ++-
 package/netbsd-queue/Config.in          | 2 ++
 package/pkg-generic.mk                  | 5 ++++-
 package/pkg-virtual.mk                  | 2 ++
 package/uclibc/Config.in                | 2 +-
 toolchain/toolchain-buildroot/Config.in | 1 +
 8 files changed, 16 insertions(+), 5 deletions(-)
 create mode 100644 package/linux-headers/Config.in
 create mode 100644 package/netbsd-queue/Config.in

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH 1/3] package/c-libraries: need linux-headers
  2015-12-29 23:10 [Buildroot] [PATCH 0/3] core: add kconfigsymbols to packages (branch yem/check-target-packages) Yann E. MORIN
@ 2015-12-29 23:10 ` Yann E. MORIN
  2015-12-30  9:10   ` Thomas Petazzoni
  2015-12-29 23:10 ` [Buildroot] [PATCH 2/3] package/netbsd-queue: add Kconfig symbol like for all target packages Yann E. MORIN
  2015-12-29 23:10 ` [Buildroot] [PATCH 3/3] core/pkg-virtual: do not check they are neabled Yann E. MORIN
  2 siblings, 1 reply; 7+ messages in thread
From: Yann E. MORIN @ 2015-12-29 23:10 UTC (permalink / raw)
  To: buildroot

Now that we check that a target package in the _DEPENDENCIES of another
package has to be enabled in config, all target packages must have a
kconfig symbol.

Add a Kconfig symbol for linux-headers, and select it from the packages
that depends on it (C libraries).

Also remove the now-misleading comments "for legal-info" from the C
libraries.

Fixes:
    http://autobuild.buildroot.org/results/2a9/2a9e5d27b34357819b44f573a834da1ba5079030/
    ... and numerous similar failures ...

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

---
Note: all target packages must have a kconfig symbol. Let's take care
of the most problematic one for now; other patches will come later...

Conflicts:
	package/musl/Config.in
---
 package/glibc/Config.in                 | 4 ++--
 package/linux-headers/Config.in         | 2 ++
 package/musl/Config.in                  | 2 +-
 package/uclibc/Config.in                | 2 +-
 toolchain/toolchain-buildroot/Config.in | 1 +
 5 files changed, 7 insertions(+), 4 deletions(-)
 create mode 100644 package/linux-headers/Config.in

diff --git a/package/glibc/Config.in b/package/glibc/Config.in
index 72fd3df..aeb236c 100644
--- a/package/glibc/Config.in
+++ b/package/glibc/Config.in
@@ -1,9 +1,9 @@
 if BR2_TOOLCHAIN_BUILDROOT_EGLIBC
 
-# For legal-info
 config BR2_PACKAGE_EGLIBC
 	bool
 	default y
+	select BR2_PACKAGE_LINUX_HEADERS
 
 choice
 	prompt "eglibc version"
@@ -25,10 +25,10 @@ endif
 
 if BR2_TOOLCHAIN_BUILDROOT_GLIBC
 
-# For legal-info
 config BR2_PACKAGE_GLIBC
 	bool
 	default y
+	select BR2_PACKAGE_LINUX_HEADERS
 
 choice
 	prompt "glibc version"
diff --git a/package/linux-headers/Config.in b/package/linux-headers/Config.in
new file mode 100644
index 0000000..0ea9516
--- /dev/null
+++ b/package/linux-headers/Config.in
@@ -0,0 +1,2 @@
+config BR2_PACKAGE_LINUX_HEADERS
+	bool
diff --git a/package/musl/Config.in b/package/musl/Config.in
index 0aa3537..4f6cc51 100644
--- a/package/musl/Config.in
+++ b/package/musl/Config.in
@@ -1,5 +1,5 @@
-# For legal-info
 config BR2_PACKAGE_MUSL
 	bool
 	depends on BR2_TOOLCHAIN_USES_MUSL
 	default y
+	select BR2_PACKAGE_LINUX_HEADERS
diff --git a/package/uclibc/Config.in b/package/uclibc/Config.in
index bd95041..9ebec70 100644
--- a/package/uclibc/Config.in
+++ b/package/uclibc/Config.in
@@ -1,9 +1,9 @@
 if BR2_TOOLCHAIN_BUILDROOT_UCLIBC
 
-# For legal-info
 config BR2_PACKAGE_UCLIBC
 	bool
 	default y
+	select BR2_PACKAGE_LINUX_HEADERS
 
 comment "uClibc Options"
 
diff --git a/toolchain/toolchain-buildroot/Config.in b/toolchain/toolchain-buildroot/Config.in
index cee2578..cbeb030 100644
--- a/toolchain/toolchain-buildroot/Config.in
+++ b/toolchain/toolchain-buildroot/Config.in
@@ -110,6 +110,7 @@ config BR2_TOOLCHAIN_BUILDROOT_LIBC
 	default "glibc"  if BR2_TOOLCHAIN_BUILDROOT_GLIBC
 	default "musl"	 if BR2_TOOLCHAIN_BUILDROOT_MUSL
 
+source "package/linux-headers/Config.in"
 source "package/uclibc/Config.in"
 source "package/glibc/Config.in"
 source "package/binutils/Config.in.host"
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH 2/3] package/netbsd-queue: add Kconfig symbol like for all target packages
  2015-12-29 23:10 [Buildroot] [PATCH 0/3] core: add kconfigsymbols to packages (branch yem/check-target-packages) Yann E. MORIN
  2015-12-29 23:10 ` [Buildroot] [PATCH 1/3] package/c-libraries: need linux-headers Yann E. MORIN
@ 2015-12-29 23:10 ` Yann E. MORIN
  2015-12-30  9:10   ` Thomas Petazzoni
  2015-12-29 23:10 ` [Buildroot] [PATCH 3/3] core/pkg-virtual: do not check they are neabled Yann E. MORIN
  2 siblings, 1 reply; 7+ messages in thread
From: Yann E. MORIN @ 2015-12-29 23:10 UTC (permalink / raw)
  To: buildroot

Select that package from musl, too, since it is a dependency.

Fixes:
    http://autobuild.buildroot.org/results/15c/15c9a80fb2754ed1866b59d5e62d02691b57834e/
    ... and numerous similar issues ...

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Sergio Prado <sergio.prado@e-labworks.com>
Cc: Luca Ceresoli <luca@lucaceresoli.net>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Peter Korsgaard <jacmet@uclibc.org>

---
Conflicts:
	package/musl/Config.in
---
 package/musl/Config.in         | 1 +
 package/netbsd-queue/Config.in | 2 ++
 2 files changed, 3 insertions(+)
 create mode 100644 package/netbsd-queue/Config.in

diff --git a/package/musl/Config.in b/package/musl/Config.in
index 4f6cc51..f1a3150 100644
--- a/package/musl/Config.in
+++ b/package/musl/Config.in
@@ -3,3 +3,4 @@ config BR2_PACKAGE_MUSL
 	depends on BR2_TOOLCHAIN_USES_MUSL
 	default y
 	select BR2_PACKAGE_LINUX_HEADERS
+	select BR2_PACKAGE_NETBSD_QUEUE
diff --git a/package/netbsd-queue/Config.in b/package/netbsd-queue/Config.in
new file mode 100644
index 0000000..7837f4c
--- /dev/null
+++ b/package/netbsd-queue/Config.in
@@ -0,0 +1,2 @@
+config BR2_PACKAGE_NETBSD_QUEUE
+	bool
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH 3/3] core/pkg-virtual: do not check they are neabled
  2015-12-29 23:10 [Buildroot] [PATCH 0/3] core: add kconfigsymbols to packages (branch yem/check-target-packages) Yann E. MORIN
  2015-12-29 23:10 ` [Buildroot] [PATCH 1/3] package/c-libraries: need linux-headers Yann E. MORIN
  2015-12-29 23:10 ` [Buildroot] [PATCH 2/3] package/netbsd-queue: add Kconfig symbol like for all target packages Yann E. MORIN
@ 2015-12-29 23:10 ` Yann E. MORIN
  2015-12-30  9:12   ` Thomas Petazzoni
  2 siblings, 1 reply; 7+ messages in thread
From: Yann E. MORIN @ 2015-12-29 23:10 UTC (permalink / raw)
  To: buildroot

Virtual packages do not have a Kconfig symbol, so we must not check that
they are enabled.

Fixes:
    http://autobuild.buildroot.org/results/287/28713478cc6edf8e5d5c3e830fee86a42f0afa8d/
    ... and numerous similar failures ...

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/pkg-generic.mk | 5 ++++-
 package/pkg-virtual.mk | 2 ++
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
index 2daf337..08f9703 100644
--- a/package/pkg-generic.mk
+++ b/package/pkg-generic.mk
@@ -186,7 +186,10 @@ $(BUILD_DIR)/%/.stamp_configured:
 # building a package, even if not enabled in the configuration, we
 # want to accept it.
 ifeq ($(MAKECMDGOALS),)
-	@if test "$($(PKG)_TYPE)" = "target" -a -z "$($($(PKG)_KCONFIG_VAR))" ; then \
+	@if test "$($(PKG)_TYPE)" = "target" \
+		-a ! "$($(PKG)_IS_VIRTUAL)" = "YES" \
+		-a -z "$($($(PKG)_KCONFIG_VAR))" ; \
+	then \
 		echo "ERROR: $($(PKG)_NAME) is in the dependency chain of a package that has" ; \
 		echo "added it to its _DEPENDENCIES variable (directly or indirectly)" ; \
 		echo "without selecting it from Config.in." ; \
diff --git a/package/pkg-virtual.mk b/package/pkg-virtual.mk
index 9c68b51..244c1d0 100644
--- a/package/pkg-virtual.mk
+++ b/package/pkg-virtual.mk
@@ -41,6 +41,8 @@ $$(error No implementation selected for virtual package $(1). Configuration erro
 endif
 endif
 
+$(2)_IS_VIRTUAL = YES
+
 # A virtual package does not have any source associated
 $(2)_SOURCE =
 
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH 1/3] package/c-libraries: need linux-headers
  2015-12-29 23:10 ` [Buildroot] [PATCH 1/3] package/c-libraries: need linux-headers Yann E. MORIN
@ 2015-12-30  9:10   ` Thomas Petazzoni
  0 siblings, 0 replies; 7+ messages in thread
From: Thomas Petazzoni @ 2015-12-30  9:10 UTC (permalink / raw)
  To: buildroot

Dear Yann E. MORIN,

On Wed, 30 Dec 2015 00:10:38 +0100, Yann E. MORIN wrote:
> Now that we check that a target package in the _DEPENDENCIES of another
> package has to be enabled in config, all target packages must have a
> kconfig symbol.
> 
> Add a Kconfig symbol for linux-headers, and select it from the packages
> that depends on it (C libraries).
> 
> Also remove the now-misleading comments "for legal-info" from the C
> libraries.
> 
> Fixes:
>     http://autobuild.buildroot.org/results/2a9/2a9e5d27b34357819b44f573a834da1ba5079030/
>     ... and numerous similar failures ...
> 
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> 
> ---
> Note: all target packages must have a kconfig symbol. Let's take care
> of the most problematic one for now; other patches will come later...

I've applied, even though I'm not super happy with the fact that we
already had a (useless?) BR2_PACKAGE_HOST_LINUX_HEADERS option, and we
now have both a Config.in.host and a Config.in file for what is really
a target package...

Ideally, we would move all the options to the Config.in file, and
rename them.. but that would cause so much Config.in.legacy trouble :-/

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH 2/3] package/netbsd-queue: add Kconfig symbol like for all target packages
  2015-12-29 23:10 ` [Buildroot] [PATCH 2/3] package/netbsd-queue: add Kconfig symbol like for all target packages Yann E. MORIN
@ 2015-12-30  9:10   ` Thomas Petazzoni
  0 siblings, 0 replies; 7+ messages in thread
From: Thomas Petazzoni @ 2015-12-30  9:10 UTC (permalink / raw)
  To: buildroot

Dear Yann E. MORIN,

On Wed, 30 Dec 2015 00:10:39 +0100, Yann E. MORIN wrote:
> Select that package from musl, too, since it is a dependency.
> 
> Fixes:
>     http://autobuild.buildroot.org/results/15c/15c9a80fb2754ed1866b59d5e62d02691b57834e/
>     ... and numerous similar issues ...
> 
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> Cc: Sergio Prado <sergio.prado@e-labworks.com>
> Cc: Luca Ceresoli <luca@lucaceresoli.net>
> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> Cc: Peter Korsgaard <jacmet@uclibc.org>
> 
> ---
> Conflicts:
> 	package/musl/Config.in
> ---
>  package/musl/Config.in         | 1 +
>  package/netbsd-queue/Config.in | 2 ++
>  2 files changed, 3 insertions(+)
>  create mode 100644 package/netbsd-queue/Config.in

I've applied, but I realized afterwards that you forgot the external
toolchain case, so I did a follow-up commit to fix this case as well.

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH 3/3] core/pkg-virtual: do not check they are neabled
  2015-12-29 23:10 ` [Buildroot] [PATCH 3/3] core/pkg-virtual: do not check they are neabled Yann E. MORIN
@ 2015-12-30  9:12   ` Thomas Petazzoni
  0 siblings, 0 replies; 7+ messages in thread
From: Thomas Petazzoni @ 2015-12-30  9:12 UTC (permalink / raw)
  To: buildroot

Dear Yann E. MORIN,

On Wed, 30 Dec 2015 00:10:40 +0100, Yann E. MORIN wrote:

>  ifeq ($(MAKECMDGOALS),)
> -	@if test "$($(PKG)_TYPE)" = "target" -a -z "$($($(PKG)_KCONFIG_VAR))" ; then \
> +	@if test "$($(PKG)_TYPE)" = "target" \
> +		-a ! "$($(PKG)_IS_VIRTUAL)" = "YES" \

I changed this to:

		-a "$($(PKG)_IS_VIRTUAL)" != "YES" \

which I believe is a bit more logical.

> diff --git a/package/pkg-virtual.mk b/package/pkg-virtual.mk
> index 9c68b51..244c1d0 100644
> --- a/package/pkg-virtual.mk
> +++ b/package/pkg-virtual.mk
> @@ -41,6 +41,8 @@ $$(error No implementation selected for virtual package $(1). Configuration erro
>  endif
>  endif
>  
> +$(2)_IS_VIRTUAL = YES

I wasn't sure whether a new variable was needed. We could have used
$($(PKG)_VERSION) != "virtual", but that would have failed if one day
we have a normal package that really has a version named "virtual" for
some reason.

We can anyway change this later on if others have better suggestions.

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2015-12-30  9:12 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-12-29 23:10 [Buildroot] [PATCH 0/3] core: add kconfigsymbols to packages (branch yem/check-target-packages) Yann E. MORIN
2015-12-29 23:10 ` [Buildroot] [PATCH 1/3] package/c-libraries: need linux-headers Yann E. MORIN
2015-12-30  9:10   ` Thomas Petazzoni
2015-12-29 23:10 ` [Buildroot] [PATCH 2/3] package/netbsd-queue: add Kconfig symbol like for all target packages Yann E. MORIN
2015-12-30  9:10   ` Thomas Petazzoni
2015-12-29 23:10 ` [Buildroot] [PATCH 3/3] core/pkg-virtual: do not check they are neabled Yann E. MORIN
2015-12-30  9:12   ` Thomas Petazzoni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox