All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 0/3] package: drop fallout of aclocal innclude directory revamp (branch yem/autoconf-archive)
@ 2020-02-09 15:12 Yann E. MORIN
  2020-02-09 15:12 ` [Buildroot] [PATCH 1/3] package/libsigrok: drop remnants of autoreconf Yann E. MORIN
                   ` (2 more replies)
  0 siblings, 3 replies; 15+ messages in thread
From: Yann E. MORIN @ 2020-02-09 15:12 UTC (permalink / raw)
  To: buildroot

Hello All!

This small series provides a bit of cleanup after the aclocal include
directory revamp, adressing one big problem for a single package that
uses autoconf archive.


Regards,
Yann E. MORIN.


The following changes since commit 81a4940d2527ff4c5ad16848ee0154610937c641

  package/libexif: add post-0.6.21 upstream security fixes (2020-02-09 12:33:05 +0100)


are available in the git repository at:

  git://git.buildroot.org/~ymorin/git/buildroot.git

for you to fetch changes up to d829177dd62464e09391482db381f7eb5416b6ac

  package/sdbusplus: drop broken autoreconf include directive (2020-02-09 16:10:19 +0100)


----------------------------------------------------------------
Yann E. MORIN (3):
      package/libsigrok: drop remnants of autoreconf
      package/automake: also include autoconf-archive in search paths
      package/sdbusplus: drop broken autoreconf include directive

 package/automake/automake.mk   | 8 +++++++-
 package/libsigrok/libsigrok.mk | 2 --
 package/sdbusplus/sdbusplus.mk | 1 -
 3 files changed, 7 insertions(+), 4 deletions(-)

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

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

* [Buildroot] [PATCH 1/3] package/libsigrok: drop remnants of autoreconf
  2020-02-09 15:12 [Buildroot] [PATCH 0/3] package: drop fallout of aclocal innclude directory revamp (branch yem/autoconf-archive) Yann E. MORIN
@ 2020-02-09 15:12 ` Yann E. MORIN
  2020-02-09 19:09   ` Heiko Thiery
  2020-02-13 22:26   ` Peter Korsgaard
  2020-02-09 15:12 ` [Buildroot] [PATCH 2/3] package/automake: also include autoconf-archive in search paths Yann E. MORIN
  2020-02-09 15:12 ` [Buildroot] [PATCH 3/3] package/sdbusplus: drop broken autoreconf include directive Yann E. MORIN
  2 siblings, 2 replies; 15+ messages in thread
From: Yann E. MORIN @ 2020-02-09 15:12 UTC (permalink / raw)
  To: buildroot

libsigrok has not needed autoreconf since b428801934 (package/libsigrok:
bump version to 0.4.0), 4 years ago now.

As such, we no longer need the autoreconf options, nor the dependency on
the autoconf archive.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Bartosz Golaszewski <brgl@bgdev.pl>
Cc: Bernd Kuhls <bernd.kuhls@t-online.de>
---
 package/libsigrok/libsigrok.mk | 2 --
 1 file changed, 2 deletions(-)

diff --git a/package/libsigrok/libsigrok.mk b/package/libsigrok/libsigrok.mk
index 7a128e8dfa..4c1f31ea6e 100644
--- a/package/libsigrok/libsigrok.mk
+++ b/package/libsigrok/libsigrok.mk
@@ -53,9 +53,7 @@ endif
 
 ifeq ($(BR2_PACKAGE_LIBSIGROKCXX),y)
 LIBSIGROK_CONF_OPTS += --enable-cxx
-LIBSIGROK_AUTORECONF_OPTS += -I $(HOST_DIR)/share/autoconf-archive
 LIBSIGROK_DEPENDENCIES += \
-	host-autoconf-archive \
 	glibmm \
 	host-doxygen \
 	$(if $(BR2_PACKAGE_PYTHON3),host-python3,host-python)
-- 
2.20.1

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

* [Buildroot] [PATCH 2/3] package/automake: also include autoconf-archive in search paths
  2020-02-09 15:12 [Buildroot] [PATCH 0/3] package: drop fallout of aclocal innclude directory revamp (branch yem/autoconf-archive) Yann E. MORIN
  2020-02-09 15:12 ` [Buildroot] [PATCH 1/3] package/libsigrok: drop remnants of autoreconf Yann E. MORIN
@ 2020-02-09 15:12 ` Yann E. MORIN
  2020-02-09 15:24   ` Yann E. MORIN
                     ` (2 more replies)
  2020-02-09 15:12 ` [Buildroot] [PATCH 3/3] package/sdbusplus: drop broken autoreconf include directive Yann E. MORIN
  2 siblings, 3 replies; 15+ messages in thread
From: Yann E. MORIN @ 2020-02-09 15:12 UTC (permalink / raw)
  To: buildroot

Since d255b67972 (autotools: do not overwrite first include path), the
ordering of include paths has changed: the system directories are
specified with explicit options passed to autoreconf, which means that
any directory specified in the package _AUTORECONF_OPTS are no longer
first:

  - in package/autoconf/autoconf.mk, we define AUTORECONF as:
    AUTOCONF = $(HOST_DIR)/bin/autoconf -I "$(ACLOCAL_DIR)" -I "$(ACLOCAL_HOST_DIR)"

  - in package/pkg-autotools.mk, we call AUTORECONF with:
    $($(PKG)_AUTORECONF_ENV) $(AUTORECONF) $($(PKG)_AUTORECONF_OPTS)

For a package that needs autoconf-archive, this means that it has to
provide a custom include directive, in its own _AUTORECONF_OPTS. This in
turn means that this directory becomes the first, and goes directly
opposite to what d255b67972 was supposed to accomplish.

However, the path to the autoconf archive macro directory is mnot
searched by default either, so a package has no way to add such an
aclocal include directive.

We can only add it in the global search directory, and we do so only for
those packages that have autoconf-archive in their dependencies.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Michael Walle <michael@walle.cc>
Cc: Heiko Thiery <heiko.thiery@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Peter Korsgaard <peter@korsgaard.com>
---
 package/automake/automake.mk | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/package/automake/automake.mk b/package/automake/automake.mk
index 89dcaa1293..238116cb94 100644
--- a/package/automake/automake.mk
+++ b/package/automake/automake.mk
@@ -33,5 +33,11 @@ $(eval $(host-autotools-package))
 AUTOMAKE = $(HOST_DIR)/bin/automake
 ACLOCAL_DIR = $(STAGING_DIR)/usr/share/aclocal
 ACLOCAL = $(HOST_DIR)/bin/aclocal
-ACLOCAL_PATH = $(ACLOCAL_DIR):$(ACLOCAL_HOST_DIR)
+ACLOCAL_PATH = $(subst $(space),:,$(strip \
+	$(ACLOCAL_DIR) \
+	$(ACLOCAL_HOST_DIR) \
+	$(if $(filter host-autoconf-archive,$($(PKG)_FINAL_ALL_DEPENDENCIES)),\
+		$(HOST_DIR)/share/autoconf-archive \
+	) \
+))
 export ACLOCAL_PATH
-- 
2.20.1

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

* [Buildroot] [PATCH 3/3] package/sdbusplus: drop broken autoreconf include directive
  2020-02-09 15:12 [Buildroot] [PATCH 0/3] package: drop fallout of aclocal innclude directory revamp (branch yem/autoconf-archive) Yann E. MORIN
  2020-02-09 15:12 ` [Buildroot] [PATCH 1/3] package/libsigrok: drop remnants of autoreconf Yann E. MORIN
  2020-02-09 15:12 ` [Buildroot] [PATCH 2/3] package/automake: also include autoconf-archive in search paths Yann E. MORIN
@ 2020-02-09 15:12 ` Yann E. MORIN
  2020-02-09 19:09   ` Heiko Thiery
  2 siblings, 1 reply; 15+ messages in thread
From: Yann E. MORIN @ 2020-02-09 15:12 UTC (permalink / raw)
  To: buildroot

Since d255b67972 (autotools: do not overwrite first include path),
specifying an include directive as autoreconf options will break the
build, as this would change the ordering of include directories (the
first one is treated specially by aclocal).

Now that the infra takes care of adding the autoconf archive macro
directory to the glocal search path, we can remove the offending
include directive from sdbusplus autoreconf options (dropping the
whole variable now that it is unused).

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Michael Walle <michael@walle.cc>
Cc: Heiko Thiery <heiko.thiery@gmail.com>
Cc: John Faith <jfaith@impinj.com>
---
 package/sdbusplus/sdbusplus.mk | 1 -
 1 file changed, 1 deletion(-)

diff --git a/package/sdbusplus/sdbusplus.mk b/package/sdbusplus/sdbusplus.mk
index 9d3d1e8cf4..2bb7a30cfd 100644
--- a/package/sdbusplus/sdbusplus.mk
+++ b/package/sdbusplus/sdbusplus.mk
@@ -17,7 +17,6 @@ HOST_SDBUSPLUS_DEPENDENCIES = \
 SDBUSPLUS_CONF_OPTS = --disable-sdbuspp
 HOST_SDBUSPLUS_CONF_OPTS = --disable-libsdbusplus
 SDBUSPLUS_AUTORECONF = YES
-SDBUSPLUS_AUTORECONF_OPTS = --include=$(HOST_DIR)/share/autoconf-archive
 SDBUSPLUS_INSTALL_STAGING = YES
 SDBUSPLUS_LICENSE = Apache-2.0
 SDBUSPLUS_LICENSE_FILES = LICENSE
-- 
2.20.1

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

* [Buildroot] [PATCH 2/3] package/automake: also include autoconf-archive in search paths
  2020-02-09 15:12 ` [Buildroot] [PATCH 2/3] package/automake: also include autoconf-archive in search paths Yann E. MORIN
@ 2020-02-09 15:24   ` Yann E. MORIN
  2020-02-10 13:06     ` Michael Walle
  2020-02-09 19:09   ` Heiko Thiery
  2020-02-10 13:27   ` Thomas Petazzoni
  2 siblings, 1 reply; 15+ messages in thread
From: Yann E. MORIN @ 2020-02-09 15:24 UTC (permalink / raw)
  To: buildroot

All,

On 2020-02-09 16:12 +0100, Yann E. MORIN spake thusly:
> Since d255b67972 (autotools: do not overwrite first include path), the
> ordering of include paths has changed: the system directories are
> specified with explicit options passed to autoreconf, which means that
> any directory specified in the package _AUTORECONF_OPTS are no longer
> first:
> 
>   - in package/autoconf/autoconf.mk, we define AUTORECONF as:
>     AUTOCONF = $(HOST_DIR)/bin/autoconf -I "$(ACLOCAL_DIR)" -I "$(ACLOCAL_HOST_DIR)"
> 
>   - in package/pkg-autotools.mk, we call AUTORECONF with:
>     $($(PKG)_AUTORECONF_ENV) $(AUTORECONF) $($(PKG)_AUTORECONF_OPTS)
> 
> For a package that needs autoconf-archive, this means that it has to
> provide a custom include directive, in its own _AUTORECONF_OPTS. This in
> turn means that this directory becomes the first, and goes directly
> opposite to what d255b67972 was supposed to accomplish.
> 
> However, the path to the autoconf archive macro directory is mnot
> searched by default either, so a package has no way to add such an
> aclocal include directive.
> 
> We can only add it in the global search directory, and we do so only for
> those packages that have autoconf-archive in their dependencies.
> 
> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
> Cc: Michael Walle <michael@walle.cc>
> Cc: Heiko Thiery <heiko.thiery@gmail.com>
> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> Cc: Arnout Vandecappelle <arnout@mind.be>
> Cc: Peter Korsgaard <peter@korsgaard.com>
> ---
>  package/automake/automake.mk | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/package/automake/automake.mk b/package/automake/automake.mk
> index 89dcaa1293..238116cb94 100644
> --- a/package/automake/automake.mk
> +++ b/package/automake/automake.mk
> @@ -33,5 +33,11 @@ $(eval $(host-autotools-package))
>  AUTOMAKE = $(HOST_DIR)/bin/automake
>  ACLOCAL_DIR = $(STAGING_DIR)/usr/share/aclocal
>  ACLOCAL = $(HOST_DIR)/bin/aclocal
> -ACLOCAL_PATH = $(ACLOCAL_DIR):$(ACLOCAL_HOST_DIR)
> +ACLOCAL_PATH = $(subst $(space),:,$(strip \
> +	$(ACLOCAL_DIR) \
> +	$(ACLOCAL_HOST_DIR) \
> +	$(if $(filter host-autoconf-archive,$($(PKG)_FINAL_ALL_DEPENDENCIES)),\
> +		$(HOST_DIR)/share/autoconf-archive \
> +	) \
> +))

This makes check-package whine because it is not indented. Sigh...
Indenting with a TAB fixes the check-package error, and is still a
working fix.

Regards,
Yann E. MORIN.

>  export ACLOCAL_PATH
> -- 
> 2.20.1
> 

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

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

* [Buildroot] [PATCH 1/3] package/libsigrok: drop remnants of autoreconf
  2020-02-09 15:12 ` [Buildroot] [PATCH 1/3] package/libsigrok: drop remnants of autoreconf Yann E. MORIN
@ 2020-02-09 19:09   ` Heiko Thiery
  2020-02-13 22:26   ` Peter Korsgaard
  1 sibling, 0 replies; 15+ messages in thread
From: Heiko Thiery @ 2020-02-09 19:09 UTC (permalink / raw)
  To: buildroot

Hi Yann,

Am So., 9. Feb. 2020 um 16:12 Uhr schrieb Yann E. MORIN
<yann.morin.1998@free.fr>:
>
> libsigrok has not needed autoreconf since b428801934 (package/libsigrok:
> bump version to 0.4.0), 4 years ago now.
>
> As such, we no longer need the autoreconf options, nor the dependency on
> the autoconf archive.
>
> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
> Cc: Bartosz Golaszewski <brgl@bgdev.pl>
> Cc: Bernd Kuhls <bernd.kuhls@t-online.de>

Tested-by: Heiko Thiery <heiko.thiery@gmail.com>


> ---
>  package/libsigrok/libsigrok.mk | 2 --
>  1 file changed, 2 deletions(-)
>
> diff --git a/package/libsigrok/libsigrok.mk b/package/libsigrok/libsigrok.mk
> index 7a128e8dfa..4c1f31ea6e 100644
> --- a/package/libsigrok/libsigrok.mk
> +++ b/package/libsigrok/libsigrok.mk
> @@ -53,9 +53,7 @@ endif
>
>  ifeq ($(BR2_PACKAGE_LIBSIGROKCXX),y)
>  LIBSIGROK_CONF_OPTS += --enable-cxx
> -LIBSIGROK_AUTORECONF_OPTS += -I $(HOST_DIR)/share/autoconf-archive
>  LIBSIGROK_DEPENDENCIES += \
> -       host-autoconf-archive \
>         glibmm \
>         host-doxygen \
>         $(if $(BR2_PACKAGE_PYTHON3),host-python3,host-python)
> --
> 2.20.1
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 2/3] package/automake: also include autoconf-archive in search paths
  2020-02-09 15:12 ` [Buildroot] [PATCH 2/3] package/automake: also include autoconf-archive in search paths Yann E. MORIN
  2020-02-09 15:24   ` Yann E. MORIN
@ 2020-02-09 19:09   ` Heiko Thiery
  2020-02-10 13:27   ` Thomas Petazzoni
  2 siblings, 0 replies; 15+ messages in thread
From: Heiko Thiery @ 2020-02-09 19:09 UTC (permalink / raw)
  To: buildroot

Hi Yann,

Am So., 9. Feb. 2020 um 16:12 Uhr schrieb Yann E. MORIN
<yann.morin.1998@free.fr>:
>
> Since d255b67972 (autotools: do not overwrite first include path), the
> ordering of include paths has changed: the system directories are
> specified with explicit options passed to autoreconf, which means that
> any directory specified in the package _AUTORECONF_OPTS are no longer
> first:
>
>   - in package/autoconf/autoconf.mk, we define AUTORECONF as:
>     AUTOCONF = $(HOST_DIR)/bin/autoconf -I "$(ACLOCAL_DIR)" -I "$(ACLOCAL_HOST_DIR)"
>
>   - in package/pkg-autotools.mk, we call AUTORECONF with:
>     $($(PKG)_AUTORECONF_ENV) $(AUTORECONF) $($(PKG)_AUTORECONF_OPTS)
>
> For a package that needs autoconf-archive, this means that it has to
> provide a custom include directive, in its own _AUTORECONF_OPTS. This in
> turn means that this directory becomes the first, and goes directly
> opposite to what d255b67972 was supposed to accomplish.
>
> However, the path to the autoconf archive macro directory is mnot
> searched by default either, so a package has no way to add such an
> aclocal include directive.
>
> We can only add it in the global search directory, and we do so only for
> those packages that have autoconf-archive in their dependencies.
>
> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
> Cc: Michael Walle <michael@walle.cc>
> Cc: Heiko Thiery <heiko.thiery@gmail.com>
> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> Cc: Arnout Vandecappelle <arnout@mind.be>
> Cc: Peter Korsgaard <peter@korsgaard.com>

Tested-by: Heiko Thiery <heiko.thiery@gmail.com>



> ---
>  package/automake/automake.mk | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/package/automake/automake.mk b/package/automake/automake.mk
> index 89dcaa1293..238116cb94 100644
> --- a/package/automake/automake.mk
> +++ b/package/automake/automake.mk
> @@ -33,5 +33,11 @@ $(eval $(host-autotools-package))
>  AUTOMAKE = $(HOST_DIR)/bin/automake
>  ACLOCAL_DIR = $(STAGING_DIR)/usr/share/aclocal
>  ACLOCAL = $(HOST_DIR)/bin/aclocal
> -ACLOCAL_PATH = $(ACLOCAL_DIR):$(ACLOCAL_HOST_DIR)
> +ACLOCAL_PATH = $(subst $(space),:,$(strip \
> +       $(ACLOCAL_DIR) \
> +       $(ACLOCAL_HOST_DIR) \
> +       $(if $(filter host-autoconf-archive,$($(PKG)_FINAL_ALL_DEPENDENCIES)),\
> +               $(HOST_DIR)/share/autoconf-archive \
> +       ) \
> +))
>  export ACLOCAL_PATH
> --
> 2.20.1
>

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

* [Buildroot] [PATCH 3/3] package/sdbusplus: drop broken autoreconf include directive
  2020-02-09 15:12 ` [Buildroot] [PATCH 3/3] package/sdbusplus: drop broken autoreconf include directive Yann E. MORIN
@ 2020-02-09 19:09   ` Heiko Thiery
  0 siblings, 0 replies; 15+ messages in thread
From: Heiko Thiery @ 2020-02-09 19:09 UTC (permalink / raw)
  To: buildroot

Hi Yann,


Am So., 9. Feb. 2020 um 16:12 Uhr schrieb Yann E. MORIN
<yann.morin.1998@free.fr>:
>
> Since d255b67972 (autotools: do not overwrite first include path),
> specifying an include directive as autoreconf options will break the
> build, as this would change the ordering of include directories (the
> first one is treated specially by aclocal).
>
> Now that the infra takes care of adding the autoconf archive macro
> directory to the glocal search path, we can remove the offending
> include directive from sdbusplus autoreconf options (dropping the
> whole variable now that it is unused).
>
> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
> Cc: Michael Walle <michael@walle.cc>
> Cc: Heiko Thiery <heiko.thiery@gmail.com>
> Cc: John Faith <jfaith@impinj.com>

Tested-by: Heiko Thiery <heiko.thiery@gmail.com>


> ---
>  package/sdbusplus/sdbusplus.mk | 1 -
>  1 file changed, 1 deletion(-)
>
> diff --git a/package/sdbusplus/sdbusplus.mk b/package/sdbusplus/sdbusplus.mk
> index 9d3d1e8cf4..2bb7a30cfd 100644
> --- a/package/sdbusplus/sdbusplus.mk
> +++ b/package/sdbusplus/sdbusplus.mk
> @@ -17,7 +17,6 @@ HOST_SDBUSPLUS_DEPENDENCIES = \
>  SDBUSPLUS_CONF_OPTS = --disable-sdbuspp
>  HOST_SDBUSPLUS_CONF_OPTS = --disable-libsdbusplus
>  SDBUSPLUS_AUTORECONF = YES
> -SDBUSPLUS_AUTORECONF_OPTS = --include=$(HOST_DIR)/share/autoconf-archive
>  SDBUSPLUS_INSTALL_STAGING = YES
>  SDBUSPLUS_LICENSE = Apache-2.0
>  SDBUSPLUS_LICENSE_FILES = LICENSE
> --
> 2.20.1
>

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

* [Buildroot] [PATCH 2/3] package/automake: also include autoconf-archive in search paths
  2020-02-09 15:24   ` Yann E. MORIN
@ 2020-02-10 13:06     ` Michael Walle
  2020-02-10 13:09       ` Michael Walle
  0 siblings, 1 reply; 15+ messages in thread
From: Michael Walle @ 2020-02-10 13:06 UTC (permalink / raw)
  To: buildroot

Hi Yann,

Am 2020-02-09 16:24, schrieb Yann E. MORIN:
> All,
> 
> On 2020-02-09 16:12 +0100, Yann E. MORIN spake thusly:
>> Since d255b67972 (autotools: do not overwrite first include path), the
>> ordering of include paths has changed: the system directories are
>> specified with explicit options passed to autoreconf, which means that
>> any directory specified in the package _AUTORECONF_OPTS are no longer
>> first:
>> 
>>   - in package/autoconf/autoconf.mk, we define AUTORECONF as:
>>     AUTOCONF = $(HOST_DIR)/bin/autoconf -I "$(ACLOCAL_DIR)" -I 
>> "$(ACLOCAL_HOST_DIR)"
>> 
>>   - in package/pkg-autotools.mk, we call AUTORECONF with:
>>     $($(PKG)_AUTORECONF_ENV) $(AUTORECONF) $($(PKG)_AUTORECONF_OPTS)
>> 
>> For a package that needs autoconf-archive, this means that it has to
>> provide a custom include directive, in its own _AUTORECONF_OPTS. This 
>> in
>> turn means that this directory becomes the first, and goes directly
>> opposite to what d255b67972 was supposed to accomplish.
>> 
>> However, the path to the autoconf archive macro directory is mnot
>> searched by default either, so a package has no way to add such an
>> aclocal include directive.
>> 
>> We can only add it in the global search directory, and we do so only 
>> for
>> those packages that have autoconf-archive in their dependencies.
>> 
>> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
>> Cc: Michael Walle <michael@walle.cc>
>> Cc: Heiko Thiery <heiko.thiery@gmail.com>
>> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
>> Cc: Arnout Vandecappelle <arnout@mind.be>
>> Cc: Peter Korsgaard <peter@korsgaard.com>
>> ---
>>  package/automake/automake.mk | 8 +++++++-
>>  1 file changed, 7 insertions(+), 1 deletion(-)
>> 
>> diff --git a/package/automake/automake.mk 
>> b/package/automake/automake.mk
>> index 89dcaa1293..238116cb94 100644
>> --- a/package/automake/automake.mk
>> +++ b/package/automake/automake.mk
>> @@ -33,5 +33,11 @@ $(eval $(host-autotools-package))
>>  AUTOMAKE = $(HOST_DIR)/bin/automake
>>  ACLOCAL_DIR = $(STAGING_DIR)/usr/share/aclocal
>>  ACLOCAL = $(HOST_DIR)/bin/aclocal
>> -ACLOCAL_PATH = $(ACLOCAL_DIR):$(ACLOCAL_HOST_DIR)
>> +ACLOCAL_PATH = $(subst $(space),:,$(strip \
>> +	$(ACLOCAL_DIR) \
>> +	$(ACLOCAL_HOST_DIR) \
>> +	$(if $(filter 
>> host-autoconf-archive,$($(PKG)_FINAL_ALL_DEPENDENCIES)),\
>> +		$(HOST_DIR)/share/autoconf-archive \
>> +	) \
>> +))
> 
> This makes check-package whine because it is not indented. Sigh...
> Indenting with a TAB fixes the check-package error, and is still a
> working fix.

This makes me wonder why these are installed into share/autoconf-archive
instead of $(ACLOCAL_HOST_DIR) in the first place. Eg. on my debian 
system
all the macros of autoconf-archive are installed to /usr/share/aclocal.

-michael

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

* [Buildroot] [PATCH 2/3] package/automake: also include autoconf-archive in search paths
  2020-02-10 13:06     ` Michael Walle
@ 2020-02-10 13:09       ` Michael Walle
  2020-02-10 13:14         ` Arnout Vandecappelle
  0 siblings, 1 reply; 15+ messages in thread
From: Michael Walle @ 2020-02-10 13:09 UTC (permalink / raw)
  To: buildroot

Am 2020-02-10 14:06, schrieb Michael Walle:
> Hi Yann,
> 
> Am 2020-02-09 16:24, schrieb Yann E. MORIN:
>> All,
>> 
>> On 2020-02-09 16:12 +0100, Yann E. MORIN spake thusly:
>>> Since d255b67972 (autotools: do not overwrite first include path), 
>>> the
>>> ordering of include paths has changed: the system directories are
>>> specified with explicit options passed to autoreconf, which means 
>>> that
>>> any directory specified in the package _AUTORECONF_OPTS are no longer
>>> first:
>>> 
>>>   - in package/autoconf/autoconf.mk, we define AUTORECONF as:
>>>     AUTOCONF = $(HOST_DIR)/bin/autoconf -I "$(ACLOCAL_DIR)" -I 
>>> "$(ACLOCAL_HOST_DIR)"
>>> 
>>>   - in package/pkg-autotools.mk, we call AUTORECONF with:
>>>     $($(PKG)_AUTORECONF_ENV) $(AUTORECONF) $($(PKG)_AUTORECONF_OPTS)
>>> 
>>> For a package that needs autoconf-archive, this means that it has to
>>> provide a custom include directive, in its own _AUTORECONF_OPTS. This 
>>> in
>>> turn means that this directory becomes the first, and goes directly
>>> opposite to what d255b67972 was supposed to accomplish.
>>> 
>>> However, the path to the autoconf archive macro directory is mnot
>>> searched by default either, so a package has no way to add such an
>>> aclocal include directive.
>>> 
>>> We can only add it in the global search directory, and we do so only 
>>> for
>>> those packages that have autoconf-archive in their dependencies.
>>> 
>>> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
>>> Cc: Michael Walle <michael@walle.cc>
>>> Cc: Heiko Thiery <heiko.thiery@gmail.com>
>>> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
>>> Cc: Arnout Vandecappelle <arnout@mind.be>
>>> Cc: Peter Korsgaard <peter@korsgaard.com>
>>> ---
>>>  package/automake/automake.mk | 8 +++++++-
>>>  1 file changed, 7 insertions(+), 1 deletion(-)
>>> 
>>> diff --git a/package/automake/automake.mk 
>>> b/package/automake/automake.mk
>>> index 89dcaa1293..238116cb94 100644
>>> --- a/package/automake/automake.mk
>>> +++ b/package/automake/automake.mk
>>> @@ -33,5 +33,11 @@ $(eval $(host-autotools-package))
>>>  AUTOMAKE = $(HOST_DIR)/bin/automake
>>>  ACLOCAL_DIR = $(STAGING_DIR)/usr/share/aclocal
>>>  ACLOCAL = $(HOST_DIR)/bin/aclocal
>>> -ACLOCAL_PATH = $(ACLOCAL_DIR):$(ACLOCAL_HOST_DIR)
>>> +ACLOCAL_PATH = $(subst $(space),:,$(strip \
>>> +	$(ACLOCAL_DIR) \
>>> +	$(ACLOCAL_HOST_DIR) \
>>> +	$(if $(filter 
>>> host-autoconf-archive,$($(PKG)_FINAL_ALL_DEPENDENCIES)),\
>>> +		$(HOST_DIR)/share/autoconf-archive \
>>> +	) \
>>> +))
>> 
>> This makes check-package whine because it is not indented. Sigh...
>> Indenting with a TAB fixes the check-package error, and is still a
>> working fix.
> 
> This makes me wonder why these are installed into 
> share/autoconf-archive
> instead of $(ACLOCAL_HOST_DIR) in the first place. Eg. on my debian 
> system
> all the macros of autoconf-archive are installed to /usr/share/aclocal.

Ok, to answer this myself:
  
https://git.buildroot.net/buildroot/commit/?id=2c490f00c8d8a7d34ed6da9130cef8a5e97cef56

Still, maybe this has changed over time and there is no such bug 
anymore?

-michael

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

* [Buildroot] [PATCH 2/3] package/automake: also include autoconf-archive in search paths
  2020-02-10 13:09       ` Michael Walle
@ 2020-02-10 13:14         ` Arnout Vandecappelle
  2020-02-10 13:50           ` Michael Walle
  0 siblings, 1 reply; 15+ messages in thread
From: Arnout Vandecappelle @ 2020-02-10 13:14 UTC (permalink / raw)
  To: buildroot



On 10/02/2020 14:09, Michael Walle wrote:
> Am 2020-02-10 14:06, schrieb Michael Walle:
>> Hi Yann,
>>
>> Am 2020-02-09 16:24, schrieb Yann E. MORIN:
>>> All,
>>>
>>> On 2020-02-09 16:12 +0100, Yann E. MORIN spake thusly:
>>>> Since d255b67972 (autotools: do not overwrite first include path), the
>>>> ordering of include paths has changed: the system directories are
>>>> specified with explicit options passed to autoreconf, which means that
>>>> any directory specified in the package _AUTORECONF_OPTS are no longer
>>>> first:
>>>>
>>>> ? - in package/autoconf/autoconf.mk, we define AUTORECONF as:
>>>> ??? AUTOCONF = $(HOST_DIR)/bin/autoconf -I "$(ACLOCAL_DIR)" -I
>>>> "$(ACLOCAL_HOST_DIR)"
>>>>
>>>> ? - in package/pkg-autotools.mk, we call AUTORECONF with:
>>>> ??? $($(PKG)_AUTORECONF_ENV) $(AUTORECONF) $($(PKG)_AUTORECONF_OPTS)
>>>>
>>>> For a package that needs autoconf-archive, this means that it has to
>>>> provide a custom include directive, in its own _AUTORECONF_OPTS. This in
>>>> turn means that this directory becomes the first, and goes directly
>>>> opposite to what d255b67972 was supposed to accomplish.
>>>>
>>>> However, the path to the autoconf archive macro directory is mnot
>>>> searched by default either, so a package has no way to add such an
>>>> aclocal include directive.
>>>>
>>>> We can only add it in the global search directory, and we do so only for
>>>> those packages that have autoconf-archive in their dependencies.
>>>>
>>>> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
>>>> Cc: Michael Walle <michael@walle.cc>
>>>> Cc: Heiko Thiery <heiko.thiery@gmail.com>
>>>> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
>>>> Cc: Arnout Vandecappelle <arnout@mind.be>
>>>> Cc: Peter Korsgaard <peter@korsgaard.com>
>>>> ---
>>>> ?package/automake/automake.mk | 8 +++++++-
>>>> ?1 file changed, 7 insertions(+), 1 deletion(-)
>>>>
>>>> diff --git a/package/automake/automake.mk b/package/automake/automake.mk
>>>> index 89dcaa1293..238116cb94 100644
>>>> --- a/package/automake/automake.mk
>>>> +++ b/package/automake/automake.mk
>>>> @@ -33,5 +33,11 @@ $(eval $(host-autotools-package))
>>>> ?AUTOMAKE = $(HOST_DIR)/bin/automake
>>>> ?ACLOCAL_DIR = $(STAGING_DIR)/usr/share/aclocal
>>>> ?ACLOCAL = $(HOST_DIR)/bin/aclocal
>>>> -ACLOCAL_PATH = $(ACLOCAL_DIR):$(ACLOCAL_HOST_DIR)
>>>> +ACLOCAL_PATH = $(subst $(space),:,$(strip \
>>>> +??? $(ACLOCAL_DIR) \
>>>> +??? $(ACLOCAL_HOST_DIR) \
>>>> +??? $(if $(filter host-autoconf-archive,$($(PKG)_FINAL_ALL_DEPENDENCIES)),\
>>>> +??????? $(HOST_DIR)/share/autoconf-archive \
>>>> +??? ) \
>>>> +))
>>>
>>> This makes check-package whine because it is not indented. Sigh...
>>> Indenting with a TAB fixes the check-package error, and is still a
>>> working fix.
>>
>> This makes me wonder why these are installed into share/autoconf-archive
>> instead of $(ACLOCAL_HOST_DIR) in the first place. Eg. on my debian system
>> all the macros of autoconf-archive are installed to /usr/share/aclocal.
> 
> Ok, to answer this myself:
> ?
> https://git.buildroot.net/buildroot/commit/?id=2c490f00c8d8a7d34ed6da9130cef8a5e97cef56
> 
> 
> Still, maybe this has changed over time and there is no such bug anymore?

 No, such issues in packages are unavoidable. autoconf-macros routinely breaks
"API", which is OK because it's assumed to be vendored into the package source code.

 I believe Debian never uses it when a package is built, so they don't have that
problem.


 Regards,
 Arnout

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

* [Buildroot] [PATCH 2/3] package/automake: also include autoconf-archive in search paths
  2020-02-09 15:12 ` [Buildroot] [PATCH 2/3] package/automake: also include autoconf-archive in search paths Yann E. MORIN
  2020-02-09 15:24   ` Yann E. MORIN
  2020-02-09 19:09   ` Heiko Thiery
@ 2020-02-10 13:27   ` Thomas Petazzoni
  2020-03-15 15:30     ` Thomas Petazzoni
  2 siblings, 1 reply; 15+ messages in thread
From: Thomas Petazzoni @ 2020-02-10 13:27 UTC (permalink / raw)
  To: buildroot

On Sun,  9 Feb 2020 16:12:41 +0100
"Yann E. MORIN" <yann.morin.1998@free.fr> wrote:

> diff --git a/package/automake/automake.mk b/package/automake/automake.mk
> index 89dcaa1293..238116cb94 100644
> --- a/package/automake/automake.mk
> +++ b/package/automake/automake.mk
> @@ -33,5 +33,11 @@ $(eval $(host-autotools-package))
>  AUTOMAKE = $(HOST_DIR)/bin/automake
>  ACLOCAL_DIR = $(STAGING_DIR)/usr/share/aclocal
>  ACLOCAL = $(HOST_DIR)/bin/aclocal
> -ACLOCAL_PATH = $(ACLOCAL_DIR):$(ACLOCAL_HOST_DIR)
> +ACLOCAL_PATH = $(subst $(space),:,$(strip \
> +	$(ACLOCAL_DIR) \
> +	$(ACLOCAL_HOST_DIR) \
> +	$(if $(filter host-autoconf-archive,$($(PKG)_FINAL_ALL_DEPENDENCIES)),\
> +		$(HOST_DIR)/share/autoconf-archive \
> +	) \
> +))

Meh :-/ Can we add something more explicit than that in the
infrastructure? Poking around in the package dependencies like this to
second guess which path should be added to ACLOCAL_PATH is not really
great :-/

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

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

* [Buildroot] [PATCH 2/3] package/automake: also include autoconf-archive in search paths
  2020-02-10 13:14         ` Arnout Vandecappelle
@ 2020-02-10 13:50           ` Michael Walle
  0 siblings, 0 replies; 15+ messages in thread
From: Michael Walle @ 2020-02-10 13:50 UTC (permalink / raw)
  To: buildroot

Am 2020-02-10 14:14, schrieb Arnout Vandecappelle:
> On 10/02/2020 14:09, Michael Walle wrote:
>> Am 2020-02-10 14:06, schrieb Michael Walle:
>>> Hi Yann,
>>> 
>>> Am 2020-02-09 16:24, schrieb Yann E. MORIN:
>>>> All,
>>>> 
>>>> On 2020-02-09 16:12 +0100, Yann E. MORIN spake thusly:
>>>>> Since d255b67972 (autotools: do not overwrite first include path), 
>>>>> the
>>>>> ordering of include paths has changed: the system directories are
>>>>> specified with explicit options passed to autoreconf, which means 
>>>>> that
>>>>> any directory specified in the package _AUTORECONF_OPTS are no 
>>>>> longer
>>>>> first:
>>>>> 
>>>>> ? - in package/autoconf/autoconf.mk, we define AUTORECONF as:
>>>>> ??? AUTOCONF = $(HOST_DIR)/bin/autoconf -I "$(ACLOCAL_DIR)" -I
>>>>> "$(ACLOCAL_HOST_DIR)"
>>>>> 
>>>>> ? - in package/pkg-autotools.mk, we call AUTORECONF with:
>>>>> ??? $($(PKG)_AUTORECONF_ENV) $(AUTORECONF) 
>>>>> $($(PKG)_AUTORECONF_OPTS)
>>>>> 
>>>>> For a package that needs autoconf-archive, this means that it has 
>>>>> to
>>>>> provide a custom include directive, in its own _AUTORECONF_OPTS. 
>>>>> This in
>>>>> turn means that this directory becomes the first, and goes directly
>>>>> opposite to what d255b67972 was supposed to accomplish.
>>>>> 
>>>>> However, the path to the autoconf archive macro directory is mnot
>>>>> searched by default either, so a package has no way to add such an
>>>>> aclocal include directive.
>>>>> 
>>>>> We can only add it in the global search directory, and we do so 
>>>>> only for
>>>>> those packages that have autoconf-archive in their dependencies.
>>>>> 
>>>>> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
>>>>> Cc: Michael Walle <michael@walle.cc>
>>>>> Cc: Heiko Thiery <heiko.thiery@gmail.com>
>>>>> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
>>>>> Cc: Arnout Vandecappelle <arnout@mind.be>
>>>>> Cc: Peter Korsgaard <peter@korsgaard.com>
>>>>> ---
>>>>> ?package/automake/automake.mk | 8 +++++++-
>>>>> ?1 file changed, 7 insertions(+), 1 deletion(-)
>>>>> 
>>>>> diff --git a/package/automake/automake.mk 
>>>>> b/package/automake/automake.mk
>>>>> index 89dcaa1293..238116cb94 100644
>>>>> --- a/package/automake/automake.mk
>>>>> +++ b/package/automake/automake.mk
>>>>> @@ -33,5 +33,11 @@ $(eval $(host-autotools-package))
>>>>> ?AUTOMAKE = $(HOST_DIR)/bin/automake
>>>>> ?ACLOCAL_DIR = $(STAGING_DIR)/usr/share/aclocal
>>>>> ?ACLOCAL = $(HOST_DIR)/bin/aclocal
>>>>> -ACLOCAL_PATH = $(ACLOCAL_DIR):$(ACLOCAL_HOST_DIR)
>>>>> +ACLOCAL_PATH = $(subst $(space),:,$(strip \
>>>>> +??? $(ACLOCAL_DIR) \
>>>>> +??? $(ACLOCAL_HOST_DIR) \
>>>>> +??? $(if $(filter 
>>>>> host-autoconf-archive,$($(PKG)_FINAL_ALL_DEPENDENCIES)),\
>>>>> +??????? $(HOST_DIR)/share/autoconf-archive \
>>>>> +??? ) \
>>>>> +))
>>>> 
>>>> This makes check-package whine because it is not indented. Sigh...
>>>> Indenting with a TAB fixes the check-package error, and is still a
>>>> working fix.
>>> 
>>> This makes me wonder why these are installed into 
>>> share/autoconf-archive
>>> instead of $(ACLOCAL_HOST_DIR) in the first place. Eg. on my debian 
>>> system
>>> all the macros of autoconf-archive are installed to 
>>> /usr/share/aclocal.
>> 
>> Ok, to answer this myself:
>> ?
>> https://git.buildroot.net/buildroot/commit/?id=2c490f00c8d8a7d34ed6da9130cef8a5e97cef56
>> 
>> 
>> Still, maybe this has changed over time and there is no such bug 
>> anymore?
> 
>  No, such issues in packages are unavoidable. autoconf-macros routinely 
> breaks
> "API", which is OK because it's assumed to be vendored into the
> package source code.
> 
>  I believe Debian never uses it when a package is built, so they don't 
> have that
> problem.

I see, so actually the package should be fixed, correct? OTOH, it might 
also be
useful to support the building of bare packages (eg ones without the 
autoconf
macros inside the package). Wouldn't it then make more sense to have 
some kind of
variable which additional macros a package needs? and according to that 
variable,
the ACLOCAL_PATH is extended? I guess autoconf-archive isn't the only 
package which
can provide additional macros.

-michael

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

* [Buildroot] [PATCH 1/3] package/libsigrok: drop remnants of autoreconf
  2020-02-09 15:12 ` [Buildroot] [PATCH 1/3] package/libsigrok: drop remnants of autoreconf Yann E. MORIN
  2020-02-09 19:09   ` Heiko Thiery
@ 2020-02-13 22:26   ` Peter Korsgaard
  1 sibling, 0 replies; 15+ messages in thread
From: Peter Korsgaard @ 2020-02-13 22:26 UTC (permalink / raw)
  To: buildroot

>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:

 > libsigrok has not needed autoreconf since b428801934 (package/libsigrok:
 > bump version to 0.4.0), 4 years ago now.

 > As such, we no longer need the autoreconf options, nor the dependency on
 > the autoconf archive.

 > Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
 > Cc: Bartosz Golaszewski <brgl@bgdev.pl>
 > Cc: Bernd Kuhls <bernd.kuhls@t-online.de>

Committed, thanks.

-- 
Bye, Peter Korsgaard

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

* [Buildroot] [PATCH 2/3] package/automake: also include autoconf-archive in search paths
  2020-02-10 13:27   ` Thomas Petazzoni
@ 2020-03-15 15:30     ` Thomas Petazzoni
  0 siblings, 0 replies; 15+ messages in thread
From: Thomas Petazzoni @ 2020-03-15 15:30 UTC (permalink / raw)
  To: buildroot

On Mon, 10 Feb 2020 14:27:21 +0100
Thomas Petazzoni <thomas.petazzoni@bootlin.com> wrote:

> On Sun,  9 Feb 2020 16:12:41 +0100
> "Yann E. MORIN" <yann.morin.1998@free.fr> wrote:
> 
> > diff --git a/package/automake/automake.mk b/package/automake/automake.mk
> > index 89dcaa1293..238116cb94 100644
> > --- a/package/automake/automake.mk
> > +++ b/package/automake/automake.mk
> > @@ -33,5 +33,11 @@ $(eval $(host-autotools-package))
> >  AUTOMAKE = $(HOST_DIR)/bin/automake
> >  ACLOCAL_DIR = $(STAGING_DIR)/usr/share/aclocal
> >  ACLOCAL = $(HOST_DIR)/bin/aclocal
> > -ACLOCAL_PATH = $(ACLOCAL_DIR):$(ACLOCAL_HOST_DIR)
> > +ACLOCAL_PATH = $(subst $(space),:,$(strip \
> > +	$(ACLOCAL_DIR) \
> > +	$(ACLOCAL_HOST_DIR) \
> > +	$(if $(filter host-autoconf-archive,$($(PKG)_FINAL_ALL_DEPENDENCIES)),\
> > +		$(HOST_DIR)/share/autoconf-archive \
> > +	) \
> > +))  
> 
> Meh :-/ Can we add something more explicit than that in the
> infrastructure? Poking around in the package dependencies like this to
> second guess which path should be added to ACLOCAL_PATH is not really
> great :-/

So I've marked PATCH 2/3 and 3/3 as Rejected. We fixed the sdbusplus
issue by re-adding the hook creating the m4 directory. I understand the
idea of having more "automatic", but this approach of looking at the
dependencies of the package felt really odd.

We can always revisit this of course.

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

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

end of thread, other threads:[~2020-03-15 15:30 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-09 15:12 [Buildroot] [PATCH 0/3] package: drop fallout of aclocal innclude directory revamp (branch yem/autoconf-archive) Yann E. MORIN
2020-02-09 15:12 ` [Buildroot] [PATCH 1/3] package/libsigrok: drop remnants of autoreconf Yann E. MORIN
2020-02-09 19:09   ` Heiko Thiery
2020-02-13 22:26   ` Peter Korsgaard
2020-02-09 15:12 ` [Buildroot] [PATCH 2/3] package/automake: also include autoconf-archive in search paths Yann E. MORIN
2020-02-09 15:24   ` Yann E. MORIN
2020-02-10 13:06     ` Michael Walle
2020-02-10 13:09       ` Michael Walle
2020-02-10 13:14         ` Arnout Vandecappelle
2020-02-10 13:50           ` Michael Walle
2020-02-09 19:09   ` Heiko Thiery
2020-02-10 13:27   ` Thomas Petazzoni
2020-03-15 15:30     ` Thomas Petazzoni
2020-02-09 15:12 ` [Buildroot] [PATCH 3/3] package/sdbusplus: drop broken autoreconf include directive Yann E. MORIN
2020-02-09 19:09   ` Heiko Thiery

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.