From 00aeb84a5e7c6d4293fb4cd30dd1e28d60c6aac5 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Mon, 6 Jun 2022 14:01:25 +0200 Subject: perl: clean prior to build Otherwise, when running configure/make on a previously built tree, makefiles generated by makemaker may detect that 'configuration has changed', followed by self-deletion, self-regeneration, requesting the user to re-run make and exit 1. And therefore do_compile goes kaboom. Signed-off-by: Alexander Kanavin Signed-off-by: Luca Ceresoli Signed-off-by: Richard Purdie --- ...correctly-list-modules-when-cleaning-them.patch | 24 +++++++++++++++++++ ...-Makefile-do-not-clean-config.h-xconfig.h.patch | 28 ++++++++++++++++++++++ meta/recipes-devtools/perl-cross/perlcross_1.4.bb | 2 ++ meta/recipes-devtools/perl/perl_5.36.0.bb | 1 + 4 files changed, 55 insertions(+) create mode 100644 meta/recipes-devtools/perl-cross/files/0001-Makefile-correctly-list-modules-when-cleaning-them.patch create mode 100644 meta/recipes-devtools/perl-cross/files/0001-Makefile-do-not-clean-config.h-xconfig.h.patch diff --git a/meta/recipes-devtools/perl-cross/files/0001-Makefile-correctly-list-modules-when-cleaning-them.patch b/meta/recipes-devtools/perl-cross/files/0001-Makefile-correctly-list-modules-when-cleaning-them.patch new file mode 100644 index 0000000000..80388fa9b0 --- /dev/null +++ b/meta/recipes-devtools/perl-cross/files/0001-Makefile-correctly-list-modules-when-cleaning-them.patch @@ -0,0 +1,24 @@ +From 7b8d819e012c24df228a313beb86e1942611c904 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Sat, 4 Jun 2022 13:00:12 +0200 +Subject: [PATCH] Makefile: correctly list modules when cleaning them + +Upstream-Status: Submitted [https://github.com/arsv/perl-cross/pull/133] +Signed-off-by: Alexander Kanavin +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 6b35fb0..9ef9324 100644 +--- a/Makefile ++++ b/Makefile +@@ -462,7 +462,7 @@ clean-subdirs: + + # assuming modules w/o Makefiles were never built and need no cleaning + clean-modules: config.h +- @for i in $(modules disabled); do \ ++ @for i in $(modules) $(disabled); do \ + test -f $$i/Makefile && \ + touch $$i/Makefile && \ + $(MAKE) -C $$i clean \ diff --git a/meta/recipes-devtools/perl-cross/files/0001-Makefile-do-not-clean-config.h-xconfig.h.patch b/meta/recipes-devtools/perl-cross/files/0001-Makefile-do-not-clean-config.h-xconfig.h.patch new file mode 100644 index 0000000000..cbb935c71b --- /dev/null +++ b/meta/recipes-devtools/perl-cross/files/0001-Makefile-do-not-clean-config.h-xconfig.h.patch @@ -0,0 +1,28 @@ +From ade4a70308d3b9d79cc3db841c0f60385780fe1a Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Sat, 4 Jun 2022 13:45:20 +0200 +Subject: [PATCH] Makefile: do not clean config.h/xconfig.h + +These are generated by ./configure and not by make. + +Upstream-Status: Submitted [https://github.com/arsv/perl-cross/pull/134] +Signed-off-by: Alexander Kanavin +--- + Makefile | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 9ef9324..3de2c2e 100644 +--- a/Makefile ++++ b/Makefile +@@ -473,7 +473,6 @@ clean-generated-files: + -rm -f uudmap.h opmini.c generate_uudmap$X bitcount.h $(CONFIGPM) + -rm -f git_version.h lib/re.pm lib/Config_git.pl + -rm -f perlmini.c perlmain.c +- -rm -f config.h xconfig.h + -rm -f pod/perlmodlib.pod + -rm -f ext.libs static.list + -rm -f $(patsubst %,%/ppport.h,$(mkppport_lst)) +-- +2.30.2 + diff --git a/meta/recipes-devtools/perl-cross/perlcross_1.4.bb b/meta/recipes-devtools/perl-cross/perlcross_1.4.bb index 1329306b0e..2704976e17 100644 --- a/meta/recipes-devtools/perl-cross/perlcross_1.4.bb +++ b/meta/recipes-devtools/perl-cross/perlcross_1.4.bb @@ -15,6 +15,8 @@ SRC_URI = "https://github.com/arsv/perl-cross/releases/download/${PV}/perl-cross file://0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch \ file://determinism.patch \ file://0001-Makefile-check-the-file-if-patched-or-not.patch \ + file://0001-Makefile-correctly-list-modules-when-cleaning-them.patch \ + file://0001-Makefile-do-not-clean-config.h-xconfig.h.patch \ " UPSTREAM_CHECK_URI = "https://github.com/arsv/perl-cross/releases/" diff --git a/meta/recipes-devtools/perl/perl_5.36.0.bb b/meta/recipes-devtools/perl/perl_5.36.0.bb index b27ac5c3da..05668bc966 100644 --- a/meta/recipes-devtools/perl/perl_5.36.0.bb +++ b/meta/recipes-devtools/perl/perl_5.36.0.bb @@ -113,6 +113,7 @@ print(datetime.fromtimestamp($SOURCE_DATE_EPOCH, timezone.utc).strftime('%a %b % ")" echo "#define PERL_BUILD_DATE \"$PERL_BUILD_DATE\"" >> config.h fi + oe_runmake clean } do_compile() { -- cgit 1.2.3-korg