diff options
| author | Alexander Kanavin <alex.kanavin@gmail.com> | 2022-06-06 14:01:25 +0200 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2022-06-07 21:21:55 +0100 |
| commit | 6b9af87f3eb86faf80fe14f993ca90fc7464bfcb (patch) | |
| tree | 323e3686d1ff95e852260078996a94fd74ee4c11 | |
| parent | 12fe7e244ee972c1fe8865d4c85bd9b869eb9a6b (diff) | |
| download | poky-6b9af87f3eb86faf80fe14f993ca90fc7464bfcb.tar.gz | |
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.
(From OE-Core rev: 00aeb84a5e7c6d4293fb4cd30dd1e28d60c6aac5)
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
4 files changed, 55 insertions, 0 deletions
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 @@ | |||
| 1 | From 7b8d819e012c24df228a313beb86e1942611c904 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Alexander Kanavin <alex@linutronix.de> | ||
| 3 | Date: Sat, 4 Jun 2022 13:00:12 +0200 | ||
| 4 | Subject: [PATCH] Makefile: correctly list modules when cleaning them | ||
| 5 | |||
| 6 | Upstream-Status: Submitted [https://github.com/arsv/perl-cross/pull/133] | ||
| 7 | Signed-off-by: Alexander Kanavin <alex@linutronix.de> | ||
| 8 | --- | ||
| 9 | Makefile | 2 +- | ||
| 10 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 11 | |||
| 12 | diff --git a/Makefile b/Makefile | ||
| 13 | index 6b35fb0..9ef9324 100644 | ||
| 14 | --- a/Makefile | ||
| 15 | +++ b/Makefile | ||
| 16 | @@ -462,7 +462,7 @@ clean-subdirs: | ||
| 17 | |||
| 18 | # assuming modules w/o Makefiles were never built and need no cleaning | ||
| 19 | clean-modules: config.h | ||
| 20 | - @for i in $(modules disabled); do \ | ||
| 21 | + @for i in $(modules) $(disabled); do \ | ||
| 22 | test -f $$i/Makefile && \ | ||
| 23 | touch $$i/Makefile && \ | ||
| 24 | $(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 @@ | |||
| 1 | From ade4a70308d3b9d79cc3db841c0f60385780fe1a Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Alexander Kanavin <alex@linutronix.de> | ||
| 3 | Date: Sat, 4 Jun 2022 13:45:20 +0200 | ||
| 4 | Subject: [PATCH] Makefile: do not clean config.h/xconfig.h | ||
| 5 | |||
| 6 | These are generated by ./configure and not by make. | ||
| 7 | |||
| 8 | Upstream-Status: Submitted [https://github.com/arsv/perl-cross/pull/134] | ||
| 9 | Signed-off-by: Alexander Kanavin <alex@linutronix.de> | ||
| 10 | --- | ||
| 11 | Makefile | 1 - | ||
| 12 | 1 file changed, 1 deletion(-) | ||
| 13 | |||
| 14 | diff --git a/Makefile b/Makefile | ||
| 15 | index 9ef9324..3de2c2e 100644 | ||
| 16 | --- a/Makefile | ||
| 17 | +++ b/Makefile | ||
| 18 | @@ -473,7 +473,6 @@ clean-generated-files: | ||
| 19 | -rm -f uudmap.h opmini.c generate_uudmap$X bitcount.h $(CONFIGPM) | ||
| 20 | -rm -f git_version.h lib/re.pm lib/Config_git.pl | ||
| 21 | -rm -f perlmini.c perlmain.c | ||
| 22 | - -rm -f config.h xconfig.h | ||
| 23 | -rm -f pod/perlmodlib.pod | ||
| 24 | -rm -f ext.libs static.list | ||
| 25 | -rm -f $(patsubst %,%/ppport.h,$(mkppport_lst)) | ||
| 26 | -- | ||
| 27 | 2.30.2 | ||
| 28 | |||
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 | |||
| 15 | file://0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch \ | 15 | file://0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch \ |
| 16 | file://determinism.patch \ | 16 | file://determinism.patch \ |
| 17 | file://0001-Makefile-check-the-file-if-patched-or-not.patch \ | 17 | file://0001-Makefile-check-the-file-if-patched-or-not.patch \ |
| 18 | file://0001-Makefile-correctly-list-modules-when-cleaning-them.patch \ | ||
| 19 | file://0001-Makefile-do-not-clean-config.h-xconfig.h.patch \ | ||
| 18 | " | 20 | " |
| 19 | UPSTREAM_CHECK_URI = "https://github.com/arsv/perl-cross/releases/" | 21 | UPSTREAM_CHECK_URI = "https://github.com/arsv/perl-cross/releases/" |
| 20 | 22 | ||
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 % | |||
| 113 | ")" | 113 | ")" |
| 114 | echo "#define PERL_BUILD_DATE \"$PERL_BUILD_DATE\"" >> config.h | 114 | echo "#define PERL_BUILD_DATE \"$PERL_BUILD_DATE\"" >> config.h |
| 115 | fi | 115 | fi |
| 116 | oe_runmake clean | ||
| 116 | } | 117 | } |
| 117 | 118 | ||
| 118 | do_compile() { | 119 | do_compile() { |
