diff options
author | Paul Gortmaker <paul.gortmaker@windriver.com> | 2014-06-13 14:54:45 -0400 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-06-17 08:59:04 +0100 |
commit | c7bfbabab7274f31be9e484bbe277cf9d011072c (patch) | |
tree | 7719b1fe7569e8be9e62911a4fc9593887b87311 /meta/recipes-extended/gawk | |
parent | f6ca3ce0ae7bbe32a2f044e7882310df20ce6af2 (diff) | |
download | poky-c7bfbabab7274f31be9e484bbe277cf9d011072c.tar.gz |
gawk: ensure cross compiling doesn't try to remove host files
Fixes [YOCTO #6440]
When cross compiling gawk, it is possible to see this fail:
make[4]: Entering directory '/mnt/home/paul/poky/build/tmp/work/corei7-64-poky-
linux/gawk/4.1.1-r0/build/extension'
for i in filefuncs.la fnmatch.la fork.la inplace.la ordchr.la readdir.la readfi
le.la revoutput.la revtwoway.la rwarray.la testext.la time.la ; do \
rm -f /usr/lib/gawk/$i ; \
done
rm: cannot remove '/usr/lib/gawk/filefuncs.la': Permission denied
rm: cannot remove '/usr/lib/gawk/fnmatch.la': Permission denied
rm: cannot remove '/usr/lib/gawk/fork.la': Permission denied
rm: cannot remove '/usr/lib/gawk/inplace.la': Permission denied
rm: cannot remove '/usr/lib/gawk/ordchr.la': Permission denied
rm: cannot remove '/usr/lib/gawk/readdir.la': Permission denied
rm: cannot remove '/usr/lib/gawk/readfile.la': Permission denied
rm: cannot remove '/usr/lib/gawk/revoutput.la': Permission denied
rm: cannot remove '/usr/lib/gawk/revtwoway.la': Permission denied
rm: cannot remove '/usr/lib/gawk/rwarray.la': Permission denied
rm: cannot remove '/usr/lib/gawk/testext.la': Permission denied
rm: cannot remove '/usr/lib/gawk/time.la': Permission denied
Makefile:1235: recipe for target 'install-data-hook' failed
The problem only manifests itself on hosts where the above files
are already present; for if they are absent then the rm -f does
not fail with -EPERM.
Before looking in mainline gawk for a fix, I fixed it myself.
Then in comparing with mainline gawk, I found their fix was
not 100% complete. So here we get a backport of the mainline
gawk commit, plus the delta as a commit that I've sent to the
gawk mailing list.
(From OE-Core rev: 8c7a883964e45e7b48b943731bd3b3da0cc289d9)
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-extended/gawk')
3 files changed, 144 insertions, 0 deletions
diff --git a/meta/recipes-extended/gawk/gawk-4.1.1/Use-DESTDIR-in-extension-Makefile.am-when-removing-..patch b/meta/recipes-extended/gawk/gawk-4.1.1/Use-DESTDIR-in-extension-Makefile.am-when-removing-..patch new file mode 100644 index 0000000000..b8b1fcaea7 --- /dev/null +++ b/meta/recipes-extended/gawk/gawk-4.1.1/Use-DESTDIR-in-extension-Makefile.am-when-removing-..patch | |||
@@ -0,0 +1,56 @@ | |||
1 | From 976f73ab03569bb836aa5c949be1c1cc973b2d2e Mon Sep 17 00:00:00 2001 | ||
2 | From: "Arnold D. Robbins" <arnold@skeeve.com> | ||
3 | Date: Fri, 11 Apr 2014 07:42:16 +0300 | ||
4 | Subject: [PATCH] Use $(DESTDIR) in extension/Makefile.am when removing .la | ||
5 | files. | ||
6 | |||
7 | commit 976f73ab03569bb836aa5c949be1c1cc973b2d2e upstream. | ||
8 | |||
9 | [PG: note there was no Author SOB or long log in original.] | ||
10 | Upstream-Status: Backport [ gawk-4.1.1-3-g976f73ab0356 ] | ||
11 | Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> | ||
12 | --- | ||
13 | |||
14 | diff --git a/extension/ChangeLog b/extension/ChangeLog | ||
15 | index afd64ff764b6..f3a1c7a81e7d 100644 | ||
16 | --- a/extension/ChangeLog | ||
17 | +++ b/extension/ChangeLog | ||
18 | @@ -1,3 +1,9 @@ | ||
19 | +2014-04-11 Arnold D. Robbins <arnold@skeeve.com> | ||
20 | + | ||
21 | + * Makefile.am (install-data-hook): Use $(DESTDIR) when removing | ||
22 | + the .la files. Thanks to Lars Wendler <polynomial-c@gentoo.org> | ||
23 | + for the report and fix. | ||
24 | + | ||
25 | 2014-04-08 Arnold D. Robbins <arnold@skeeve.com> | ||
26 | |||
27 | * 4.1.1: Release tar ball made. | ||
28 | diff --git a/extension/Makefile.am b/extension/Makefile.am | ||
29 | index 9c49bb81abb2..11826e2b315e 100644 | ||
30 | --- a/extension/Makefile.am | ||
31 | +++ b/extension/Makefile.am | ||
32 | @@ -100,7 +100,7 @@ testext_la_LIBADD = $(MY_LIBS) | ||
33 | |||
34 | install-data-hook: | ||
35 | for i in $(pkgextension_LTLIBRARIES) ; do \ | ||
36 | - $(RM) $(pkgextensiondir)/$$i ; \ | ||
37 | + $(RM) $(DESTDIR)$(pkgextensiondir)/$$i ; \ | ||
38 | done | ||
39 | |||
40 | # Keep the uninstall check working: | ||
41 | diff --git a/extension/Makefile.in b/extension/Makefile.in | ||
42 | index 040cdb8f4e23..d81b16960935 100644 | ||
43 | --- a/extension/Makefile.in | ||
44 | +++ b/extension/Makefile.in | ||
45 | @@ -1231,7 +1231,7 @@ uninstall-man: uninstall-man3 | ||
46 | |||
47 | install-data-hook: | ||
48 | for i in $(pkgextension_LTLIBRARIES) ; do \ | ||
49 | - $(RM) $(pkgextensiondir)/$$i ; \ | ||
50 | + $(RM) $(DESTDIR)$(pkgextensiondir)/$$i ; \ | ||
51 | done | ||
52 | |||
53 | # Keep the uninstall check working: | ||
54 | -- | ||
55 | 1.9.1 | ||
56 | |||
diff --git a/meta/recipes-extended/gawk/gawk-4.1.1/extension-Add-DESTDIR-prefix-to-remaining-pkgextensi.patch b/meta/recipes-extended/gawk/gawk-4.1.1/extension-Add-DESTDIR-prefix-to-remaining-pkgextensi.patch new file mode 100644 index 0000000000..b402587615 --- /dev/null +++ b/meta/recipes-extended/gawk/gawk-4.1.1/extension-Add-DESTDIR-prefix-to-remaining-pkgextensi.patch | |||
@@ -0,0 +1,86 @@ | |||
1 | From a9f3bd754e9e269099cf7a2c931c632fcc12bd8a Mon Sep 17 00:00:00 2001 | ||
2 | From: Paul Gortmaker <paul.gortmaker@windriver.com> | ||
3 | Date: Fri, 13 Jun 2014 13:42:12 -0400 | ||
4 | Subject: [PATCH] extension: Add $(DESTDIR) prefix to remaining pkgextensiondir | ||
5 | instances | ||
6 | |||
7 | Commit 976f73ab03569bb836aa5c949be1c1cc973b2d2e ["Use $(DESTDIR) in | ||
8 | extension/Makefile.am when removing .la files."] fixed an issue | ||
9 | that manifested itself as follows when cross compiling: | ||
10 | |||
11 | make[4]: Entering directory 'gawk/4.1.1-r0/build/extension' | ||
12 | for i in filefuncs.la fnmatch.la fork.la inplace.la ordchr.la readdir.la readfi | ||
13 | le.la revoutput.la revtwoway.la rwarray.la testext.la time.la ; do \ | ||
14 | rm -f /usr/lib/gawk/$i ; \ | ||
15 | done | ||
16 | rm: cannot remove '/usr/lib/gawk/filefuncs.la': Permission denied | ||
17 | rm: cannot remove '/usr/lib/gawk/fnmatch.la': Permission denied | ||
18 | rm: cannot remove '/usr/lib/gawk/fork.la': Permission denied | ||
19 | rm: cannot remove '/usr/lib/gawk/inplace.la': Permission denied | ||
20 | rm: cannot remove '/usr/lib/gawk/ordchr.la': Permission denied | ||
21 | rm: cannot remove '/usr/lib/gawk/readdir.la': Permission denied | ||
22 | rm: cannot remove '/usr/lib/gawk/readfile.la': Permission denied | ||
23 | rm: cannot remove '/usr/lib/gawk/revoutput.la': Permission denied | ||
24 | rm: cannot remove '/usr/lib/gawk/revtwoway.la': Permission denied | ||
25 | rm: cannot remove '/usr/lib/gawk/rwarray.la': Permission denied | ||
26 | rm: cannot remove '/usr/lib/gawk/testext.la': Permission denied | ||
27 | rm: cannot remove '/usr/lib/gawk/time.la': Permission denied | ||
28 | Makefile:1235: recipe for target 'install-data-hook' failed | ||
29 | |||
30 | The problem only manifests itself on hosts where the above files | ||
31 | are already present; for if they are absent then the rm -f does | ||
32 | not fail with -EPERM. The fix in 976f73ab0356 ensured that DESTDIR | ||
33 | was used for the prefix so that it didn't try to delete host files. | ||
34 | |||
35 | However there still remains less used instances of where it is used | ||
36 | w/o $(DESTDIR) that may still cause similar breakage in the future. | ||
37 | Here we apply the same change to them. | ||
38 | |||
39 | Upstream-Status: Submitted [http://lists.gnu.org/archive/html/bug-gawk/2014-06/index.html] | ||
40 | Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> | ||
41 | --- | ||
42 | |||
43 | diff --git a/extension/ChangeLog b/extension/ChangeLog | ||
44 | index f3a1c7a81e7d..b87ac372edc6 100644 | ||
45 | --- a/extension/ChangeLog | ||
46 | +++ b/extension/ChangeLog | ||
47 | @@ -1,3 +1,10 @@ | ||
48 | +2014-06-13 Paul Gortmaker <paul.gortmaker@windriver.com> | ||
49 | + * Makefile.am (uninstall-so): Came across below bug while cross | ||
50 | + compiling, and changed both install-data-hook and uninstall-so | ||
51 | + to use $(DESTDIR) on v4.1.1 before seeing most of the fix in | ||
52 | + gawk-4.1.1-3-g976f73ab0356; here we ensure uninstall-so also | ||
53 | + uses the $(DESTDIR) prefix on its use of pkgextensiondir. | ||
54 | + | ||
55 | 2014-04-11 Arnold D. Robbins <arnold@skeeve.com> | ||
56 | |||
57 | * Makefile.am (install-data-hook): Use $(DESTDIR) when removing | ||
58 | diff --git a/extension/Makefile.am b/extension/Makefile.am | ||
59 | index 11826e2b315e..b6beaee3fb47 100644 | ||
60 | --- a/extension/Makefile.am | ||
61 | +++ b/extension/Makefile.am | ||
62 | @@ -105,7 +105,7 @@ install-data-hook: | ||
63 | |||
64 | # Keep the uninstall check working: | ||
65 | uninstall-so: | ||
66 | - $(RM) $(pkgextensiondir)/*.so | ||
67 | + $(RM) $(DESTDIR)$(pkgextensiondir)/*.so | ||
68 | |||
69 | uninstall-recursive: uninstall-so | ||
70 | |||
71 | diff --git a/extension/Makefile.in b/extension/Makefile.in | ||
72 | index d81b16960935..294e4f887812 100644 | ||
73 | --- a/extension/Makefile.in | ||
74 | +++ b/extension/Makefile.in | ||
75 | @@ -1236,7 +1236,7 @@ install-data-hook: | ||
76 | |||
77 | # Keep the uninstall check working: | ||
78 | uninstall-so: | ||
79 | - $(RM) $(pkgextensiondir)/*.so | ||
80 | + $(RM) $(DESTDIR)$(pkgextensiondir)/*.so | ||
81 | |||
82 | uninstall-recursive: uninstall-so | ||
83 | |||
84 | -- | ||
85 | 1.9.1 | ||
86 | |||
diff --git a/meta/recipes-extended/gawk/gawk_4.1.1.bb b/meta/recipes-extended/gawk/gawk_4.1.1.bb index a81be3137a..1298ee2f4c 100644 --- a/meta/recipes-extended/gawk/gawk_4.1.1.bb +++ b/meta/recipes-extended/gawk/gawk_4.1.1.bb | |||
@@ -15,6 +15,8 @@ DEPENDS += "readline" | |||
15 | 15 | ||
16 | SRC_URI = "${GNU_MIRROR}/gawk/gawk-${PV}.tar.gz \ | 16 | SRC_URI = "${GNU_MIRROR}/gawk/gawk-${PV}.tar.gz \ |
17 | file://run-ptest \ | 17 | file://run-ptest \ |
18 | file://Use-DESTDIR-in-extension-Makefile.am-when-removing-..patch \ | ||
19 | file://extension-Add-DESTDIR-prefix-to-remaining-pkgextensi.patch \ | ||
18 | " | 20 | " |
19 | 21 | ||
20 | SRC_URI[md5sum] = "45f5b09aa87b4744c4c53bf274e96ed0" | 22 | SRC_URI[md5sum] = "45f5b09aa87b4744c4c53bf274e96ed0" |