diff mbox series

package/fail2ban: fix python3 2to3 dependency

Message ID 618874172809ae3de7cd82f6b27141c1ba13c806.1581943931.git.baruch@tkos.co.il
State Changes Requested
Headers show
Series package/fail2ban: fix python3 2to3 dependency | expand

Commit Message

Baruch Siach Feb. 17, 2020, 12:52 p.m. UTC
The 2to3 utility is needed in the patch phase. Use the correct
dependency for that.

Fixes:
http://autobuild.buildroot.net/results/dd8e225e2a49cfa6735bed11459007003a37c137/
http://autobuild.buildroot.net/results/e688c3652bd474ac682984e2e5947701942f0f57/

Cc: Angelo Compagnucci <angelo.compagnucci@gmail.com>
Cc: Pascal de Bruijn <p.debruijn@unilogic.nl>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
---
 package/fail2ban/fail2ban.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Thomas Petazzoni Feb. 18, 2020, 5:43 p.m. UTC | #1
On Mon, 17 Feb 2020 14:52:11 +0200
Baruch Siach <baruch@tkos.co.il> wrote:

> The 2to3 utility is needed in the patch phase. Use the correct
> dependency for that.
> 
> Fixes:
> http://autobuild.buildroot.net/results/dd8e225e2a49cfa6735bed11459007003a37c137/
> http://autobuild.buildroot.net/results/e688c3652bd474ac682984e2e5947701942f0f57/
> 
> Cc: Angelo Compagnucci <angelo.compagnucci@gmail.com>
> Cc: Pascal de Bruijn <p.debruijn@unilogic.nl>
> Signed-off-by: Baruch Siach <baruch@tkos.co.il>
> ---
>  package/fail2ban/fail2ban.mk | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/package/fail2ban/fail2ban.mk b/package/fail2ban/fail2ban.mk
> index 6f023b48a181..0f8e5ab6e694 100644
> --- a/package/fail2ban/fail2ban.mk
> +++ b/package/fail2ban/fail2ban.mk
> @@ -14,7 +14,7 @@ ifeq ($(BR2_PACKAGE_PYTHON3),y)
>  define FAIL2BAN_PYTHON_2TO3
>  	$(HOST_DIR)/bin/2to3 --write --nobackups --no-diffs $(@D)/bin/* $(@D)/fail2ban
>  endef
> -FAIL2BAN_DEPENDENCIES += host-python3
> +FAIL2BAN_PATCH_DEPENDENCIES += host-python3
>  FAIL2BAN_POST_PATCH_HOOKS += FAIL2BAN_PYTHON_2TO3

I don't think this solves the problem. Indeed, patch dependencies are
special. When you do:

FAIL2BAN_PATCH_DEPENDENCIES += host-python3

You're in fact adding a dependency of fail2ban-patch on
host-python3-patch, and not on host-python3.

See in pkg-generic.mk:

$$($(2)_TARGET_PATCH):  | $$(patsubst %,%-patch,$$($(2)_FINAL_PATCH_DEPENDENCIES))

See the nice patsubst here ? :-)

And this intentional, and really needed for some Linux extensions
(Xenomai ? RTAI ? don't remember which one of the two).

So for this fail2ban thing, I guess the easier is to move the 2to3
execution to a PRE_CONFIGURE_HOOKS, with a good comment above.

Best regards,

Thomas
Baruch Siach Feb. 21, 2020, 5:15 a.m. UTC | #2
Hi Thomas,

On Tue, Feb 18 2020, Thomas Petazzoni wrote:
> On Mon, 17 Feb 2020 14:52:11 +0200
> Baruch Siach <baruch@tkos.co.il> wrote:
>
>> The 2to3 utility is needed in the patch phase. Use the correct
>> dependency for that.
>>
>> Fixes:
>> http://autobuild.buildroot.net/results/dd8e225e2a49cfa6735bed11459007003a37c137/
>> http://autobuild.buildroot.net/results/e688c3652bd474ac682984e2e5947701942f0f57/
>>
>> Cc: Angelo Compagnucci <angelo.compagnucci@gmail.com>
>> Cc: Pascal de Bruijn <p.debruijn@unilogic.nl>
>> Signed-off-by: Baruch Siach <baruch@tkos.co.il>
>> ---
>>  package/fail2ban/fail2ban.mk | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/package/fail2ban/fail2ban.mk b/package/fail2ban/fail2ban.mk
>> index 6f023b48a181..0f8e5ab6e694 100644
>> --- a/package/fail2ban/fail2ban.mk
>> +++ b/package/fail2ban/fail2ban.mk
>> @@ -14,7 +14,7 @@ ifeq ($(BR2_PACKAGE_PYTHON3),y)
>>  define FAIL2BAN_PYTHON_2TO3
>>  	$(HOST_DIR)/bin/2to3 --write --nobackups --no-diffs $(@D)/bin/* $(@D)/fail2ban
>>  endef
>> -FAIL2BAN_DEPENDENCIES += host-python3
>> +FAIL2BAN_PATCH_DEPENDENCIES += host-python3
>>  FAIL2BAN_POST_PATCH_HOOKS += FAIL2BAN_PYTHON_2TO3
>
> I don't think this solves the problem. Indeed, patch dependencies are
> special. When you do:
>
> FAIL2BAN_PATCH_DEPENDENCIES += host-python3
>
> You're in fact adding a dependency of fail2ban-patch on
> host-python3-patch, and not on host-python3.
>
> See in pkg-generic.mk:
>
> $$($(2)_TARGET_PATCH):  | $$(patsubst %,%-patch,$$($(2)_FINAL_PATCH_DEPENDENCIES))
>
> See the nice patsubst here ? :-)
>
> And this intentional, and really needed for some Linux extensions
> (Xenomai ? RTAI ? don't remember which one of the two).
>
> So for this fail2ban thing, I guess the easier is to move the 2to3
> execution to a PRE_CONFIGURE_HOOKS, with a good comment above.

How would that fix the issue? Is host-python3 guaranteed to build before
fail2ban PRE_CONFIGURE_HOOKS run unlike POST_PATCH_HOOKS?

baruch

--
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch@tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -
Thomas Petazzoni Feb. 21, 2020, 11:46 a.m. UTC | #3
Hello Baruch,

On Fri, 21 Feb 2020 07:15:39 +0200
Baruch Siach <baruch@tkos.co.il> wrote:

> > So for this fail2ban thing, I guess the easier is to move the 2to3
> > execution to a PRE_CONFIGURE_HOOKS, with a good comment above.  
> 
> How would that fix the issue? Is host-python3 guaranteed to build before
> fail2ban PRE_CONFIGURE_HOOKS run unlike POST_PATCH_HOOKS?

Absolutely. The dependencies listed in <pkg>_DEPENDENCIES are
guaranteed to be built and installed before the configure step of <pkg>
starts.

See:

$$($(2)_TARGET_CONFIGURE):	| $$($(2)_FINAL_DEPENDENCIES)

in package/pkg-generic.mk.

Best regards,

Thomas
diff mbox series

Patch

diff --git a/package/fail2ban/fail2ban.mk b/package/fail2ban/fail2ban.mk
index 6f023b48a181..0f8e5ab6e694 100644
--- a/package/fail2ban/fail2ban.mk
+++ b/package/fail2ban/fail2ban.mk
@@ -14,7 +14,7 @@  ifeq ($(BR2_PACKAGE_PYTHON3),y)
 define FAIL2BAN_PYTHON_2TO3
 	$(HOST_DIR)/bin/2to3 --write --nobackups --no-diffs $(@D)/bin/* $(@D)/fail2ban
 endef
-FAIL2BAN_DEPENDENCIES += host-python3
+FAIL2BAN_PATCH_DEPENDENCIES += host-python3
 FAIL2BAN_POST_PATCH_HOOKS += FAIL2BAN_PYTHON_2TO3
 endif