diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-07-05 13:18:31 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-07-08 10:50:18 +0100 |
commit | 9df3cdf42d8c1216682f497f0b166a43ef9f4184 (patch) | |
tree | 0d541abdea34c5e414898d5688a214bc63cfa5a7 /meta/recipes-devtools/pseudo | |
parent | a14d30f7de192b9a2bffc65f567483abff962f22 (diff) | |
download | poky-9df3cdf42d8c1216682f497f0b166a43ef9f4184.tar.gz |
pseudo: Upgrade to 1.8.1
* Drop patches where the changes exist upstream
* Fetch from git as no tarball is available for 1.8.1
* Move common code to pseudo.inc
* Update patchset in git recipe
(From OE-Core rev: 0c36984d4c501d12fa91cf7371511641585cc256)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/pseudo')
-rw-r--r-- | meta/recipes-devtools/pseudo/files/handle-remove-xattr.patch | 36 | ||||
-rw-r--r-- | meta/recipes-devtools/pseudo/files/moreretries.patch | 12 | ||||
-rw-r--r-- | meta/recipes-devtools/pseudo/pseudo.inc | 13 | ||||
-rw-r--r-- | meta/recipes-devtools/pseudo/pseudo/obey-ldflags.patch | 50 | ||||
-rw-r--r-- | meta/recipes-devtools/pseudo/pseudo/pseudo-glibc-rtld-next-workaround.patch | 85 | ||||
-rw-r--r-- | meta/recipes-devtools/pseudo/pseudo_1.7.5.bb | 23 | ||||
-rw-r--r-- | meta/recipes-devtools/pseudo/pseudo_1.8.1.bb | 11 | ||||
-rw-r--r-- | meta/recipes-devtools/pseudo/pseudo_git.bb | 10 |
8 files changed, 34 insertions, 206 deletions
diff --git a/meta/recipes-devtools/pseudo/files/handle-remove-xattr.patch b/meta/recipes-devtools/pseudo/files/handle-remove-xattr.patch deleted file mode 100644 index 8b7f30c664..0000000000 --- a/meta/recipes-devtools/pseudo/files/handle-remove-xattr.patch +++ /dev/null | |||
@@ -1,36 +0,0 @@ | |||
1 | From a24cf102967a4966bfabe36c3542fb65f35bf539 Mon Sep 17 00:00:00 2001 | ||
2 | From: Peter Seebach <peter.seebach@windriver.com> | ||
3 | Date: Wed, 23 Mar 2016 11:55:25 -0500 | ||
4 | Subject: actually handle remove_xattr correctly | ||
5 | |||
6 | The path is required but wasn't being extracted from the client's message, | ||
7 | resulting in xattr removal never working. This does not fully address some | ||
8 | deeper problems with the xattr implementation, but at least the common | ||
9 | removal case works. | ||
10 | |||
11 | Upstream-Status: Backport | ||
12 | |||
13 | Index: pseudo-1.7.5/ChangeLog.txt | ||
14 | =================================================================== | ||
15 | --- pseudo-1.7.5.orig/ChangeLog.txt | ||
16 | +++ pseudo-1.7.5/ChangeLog.txt | ||
17 | @@ -1,3 +1,7 @@ | ||
18 | +2016-03-22: | ||
19 | + * (seebs) extract path from message for remove_xattr so it | ||
20 | + actually works. | ||
21 | + | ||
22 | 2016-02-09: | ||
23 | * (seebs) 1.7.5 release | ||
24 | |||
25 | Index: pseudo-1.7.5/pseudo.c | ||
26 | =================================================================== | ||
27 | --- pseudo-1.7.5.orig/pseudo.c | ||
28 | +++ pseudo-1.7.5/pseudo.c | ||
29 | @@ -543,6 +543,7 @@ pseudo_op(pseudo_msg_t *msg, const char | ||
30 | case OP_GET_XATTR: | ||
31 | case OP_LIST_XATTR: | ||
32 | case OP_REPLACE_XATTR: | ||
33 | + case OP_REMOVE_XATTR: | ||
34 | case OP_SET_XATTR: | ||
35 | /* In a rename there are two paths, null separated in msg->path */ | ||
36 | initial_len = strlen(msg->path); | ||
diff --git a/meta/recipes-devtools/pseudo/files/moreretries.patch b/meta/recipes-devtools/pseudo/files/moreretries.patch index c1e5552365..adea2665b0 100644 --- a/meta/recipes-devtools/pseudo/files/moreretries.patch +++ b/meta/recipes-devtools/pseudo/files/moreretries.patch | |||
@@ -4,15 +4,15 @@ server shutdowns. | |||
4 | Upstream-Status: Pending | 4 | Upstream-Status: Pending |
5 | RP 2016/2/28 | 5 | RP 2016/2/28 |
6 | 6 | ||
7 | Index: pseudo-1.7.5/pseudo_client.c | 7 | Index: git/pseudo_client.c |
8 | =================================================================== | 8 | =================================================================== |
9 | --- pseudo-1.7.5.orig/pseudo_client.c | 9 | --- git.orig/pseudo_client.c |
10 | +++ pseudo-1.7.5/pseudo_client.c | 10 | +++ git/pseudo_client.c |
11 | @@ -1214,7 +1214,7 @@ pseudo_client_setup(void) { | 11 | @@ -1282,7 +1282,7 @@ pseudo_client_setup(void) { |
12 | return 1; | 12 | } |
13 | } | 13 | } |
14 | 14 | ||
15 | -#define PSEUDO_RETRIES 50 | 15 | -#define PSEUDO_RETRIES 20 |
16 | +#define PSEUDO_RETRIES 250 | 16 | +#define PSEUDO_RETRIES 250 |
17 | static pseudo_msg_t * | 17 | static pseudo_msg_t * |
18 | pseudo_client_request(pseudo_msg_t *msg, size_t len, const char *path) { | 18 | pseudo_client_request(pseudo_msg_t *msg, size_t len, const char *path) { |
diff --git a/meta/recipes-devtools/pseudo/pseudo.inc b/meta/recipes-devtools/pseudo/pseudo.inc index 16c57c9caa..18ce9f9259 100644 --- a/meta/recipes-devtools/pseudo/pseudo.inc +++ b/meta/recipes-devtools/pseudo/pseudo.inc | |||
@@ -26,6 +26,8 @@ do_configure () { | |||
26 | NO32LIBS ??= "1" | 26 | NO32LIBS ??= "1" |
27 | NO32LIBS_class-nativesdk = "1" | 27 | NO32LIBS_class-nativesdk = "1" |
28 | 28 | ||
29 | PSEUDO_EXTRA_OPTS ?= "--enable-force-async --without-passwd-fallback" | ||
30 | |||
29 | # Compile for the local machine arch... | 31 | # Compile for the local machine arch... |
30 | do_compile () { | 32 | do_compile () { |
31 | if [ "${SITEINFO_BITS}" = "64" ]; then | 33 | if [ "${SITEINFO_BITS}" = "64" ]; then |
@@ -112,10 +114,15 @@ do_install () { | |||
112 | oe_runmake 'DESTDIR=${D}' ${MAKEOPTS} 'LIB=lib/pseudo/lib$(MARK64)' install | 114 | oe_runmake 'DESTDIR=${D}' ${MAKEOPTS} 'LIB=lib/pseudo/lib$(MARK64)' install |
113 | } | 115 | } |
114 | 116 | ||
115 | # Two below are the same | ||
116 | # If necessary install for the alternative machine arch. This is only | ||
117 | # necessary in a native build. | ||
118 | do_install_append_class-native () { | 117 | do_install_append_class-native () { |
118 | install -d ${D}${sysconfdir} | ||
119 | # The fallback files should never be modified | ||
120 | install -m 444 ${WORKDIR}/fallback-passwd ${D}${sysconfdir}/passwd | ||
121 | install -m 444 ${WORKDIR}/fallback-group ${D}${sysconfdir}/group | ||
122 | |||
123 | # Two native/nativesdk entries below are the same | ||
124 | # If necessary install for the alternative machine arch. This is only | ||
125 | # necessary in a native build. | ||
119 | maybe_make32 | 126 | maybe_make32 |
120 | if $make32; then | 127 | if $make32; then |
121 | mkdir -p ${D}${prefix}/lib/pseudo/lib | 128 | mkdir -p ${D}${prefix}/lib/pseudo/lib |
diff --git a/meta/recipes-devtools/pseudo/pseudo/obey-ldflags.patch b/meta/recipes-devtools/pseudo/pseudo/obey-ldflags.patch deleted file mode 100644 index 8881f6ee86..0000000000 --- a/meta/recipes-devtools/pseudo/pseudo/obey-ldflags.patch +++ /dev/null | |||
@@ -1,50 +0,0 @@ | |||
1 | From 0ace81a687355a3c55caa161b51972a82f5c413f Mon Sep 17 00:00:00 2001 | ||
2 | From: Christopher Larson <chris_larson@mentor.com> | ||
3 | Date: Mon, 9 May 2016 17:00:57 -0700 | ||
4 | Subject: [PATCH] Obey external LDFLAGS the way we obey CFLAGS | ||
5 | |||
6 | Upstream-Status: Backport | ||
7 | |||
8 | Signed-off-by: Christopher Larson <chris_larson@mentor.com> | ||
9 | --- | ||
10 | Makefile.in | 8 ++++---- | ||
11 | 1 file changed, 4 insertions(+), 4 deletions(-) | ||
12 | |||
13 | diff --git a/Makefile.in b/Makefile.in | ||
14 | index 6511814..22ef625 100644 | ||
15 | --- a/Makefile.in | ||
16 | +++ b/Makefile.in | ||
17 | @@ -109,26 +109,26 @@ pseudo: $(PSEUDO) | ||
18 | $(PSEUDO): $(BIN) pseudo.o $(SHOBJS) $(DBOBJS) pseudo_client.o pseudo_server.o pseudo_ipc.o | ||
19 | $(CC) $(CFLAGS) $(CFLAGS_PSEUDO) -o $(PSEUDO) \ | ||
20 | pseudo.o pseudo_server.o pseudo_client.o pseudo_ipc.o \ | ||
21 | - $(DBOBJS) $(SHOBJS) $(DB_LDFLAGS) $(CLIENT_LDFLAGS) | ||
22 | + $(DBOBJS) $(SHOBJS) $(LDFLAGS) $(DB_LDFLAGS) $(CLIENT_LDFLAGS) | ||
23 | |||
24 | pseudolog: $(PSEUDOLOG) | ||
25 | |||
26 | $(PSEUDOLOG): $(BIN) pseudolog.o $(SHOBJS) $(DBOBJS) pseudo_client.o pseudo_ipc.o | ||
27 | $(CC) $(CFLAGS) $(CFLAGS_PSEUDO) -o $(PSEUDOLOG) pseudolog.o pseudo_client.o pseudo_ipc.o \ | ||
28 | - $(DBOBJS) $(SHOBJS) $(DB_LDFLAGS) $(CLIENT_LDFLAGS) | ||
29 | + $(DBOBJS) $(SHOBJS) $(LDFLAGS) $(DB_LDFLAGS) $(CLIENT_LDFLAGS) | ||
30 | |||
31 | pseudodb: $(PSEUDODB) | ||
32 | |||
33 | $(PSEUDODB): $(BIN) pseudodb.o $(SHOBJS) $(DBOBJS) pseudo_ipc.o | ||
34 | $(CC) $(CFLAGS) $(CFLAGS_PSEUDO) -o $(PSEUDODB) pseudodb.o \ | ||
35 | - $(DBOBJS) $(SHOBJS) pseudo_ipc.o $(DB_LDFLAGS) $(CLIENT_LDFLAGS) | ||
36 | + $(DBOBJS) $(SHOBJS) pseudo_ipc.o $(LDFLAGS) $(DB_LDFLAGS) $(CLIENT_LDFLAGS) | ||
37 | |||
38 | libpseudo: $(LIBPSEUDO) | ||
39 | |||
40 | $(LIBPSEUDO): $(LIB) $(WRAPOBJS) pseudo_client.o pseudo_ipc.o $(SHOBJS) | ||
41 | $(CC) $(CFLAGS) $(CFLAGS_PSEUDO) -shared -o $(LIBPSEUDO) \ | ||
42 | pseudo_client.o pseudo_ipc.o \ | ||
43 | - $(WRAPOBJS) $(SHOBJS) $(CLIENT_LDFLAGS) | ||
44 | + $(WRAPOBJS) $(SHOBJS) $(LDFLAGS) $(CLIENT_LDFLAGS) | ||
45 | |||
46 | # *everything* now relies on stuff that's generated in the | ||
47 | # wrapper process. | ||
48 | -- | ||
49 | 2.8.0 | ||
50 | |||
diff --git a/meta/recipes-devtools/pseudo/pseudo/pseudo-glibc-rtld-next-workaround.patch b/meta/recipes-devtools/pseudo/pseudo/pseudo-glibc-rtld-next-workaround.patch deleted file mode 100644 index 6710734f9c..0000000000 --- a/meta/recipes-devtools/pseudo/pseudo/pseudo-glibc-rtld-next-workaround.patch +++ /dev/null | |||
@@ -1,85 +0,0 @@ | |||
1 | We started seeing: | ||
2 | |||
3 | No real function for mknod: /home/paul/poky_sdk/tmp/sysroots/x86_64- | ||
4 | linux/usr/bin/../lib/pseudo/lib64/libpseudo.so: undefined symbol: mknod | ||
5 | No real function for mknodat: /home/paul/poky_sdk/tmp/sysroots/x86_64- | ||
6 | linux/usr/bin/../lib/pseudo/lib64/libpseudo.so: undefined symbol: mknodat | ||
7 | |||
8 | In glibc 2.24 they've merged: | ||
9 | |||
10 | https://sourceware.org/git/?p=glibc.git;a=commit;h=7d45c163d00c88d5875a112343c4ea3e61349e6b | ||
11 | related to bugzilla entry: | ||
12 | https://sourceware.org/bugzilla/show_bug.cgi?id=19509 | ||
13 | |||
14 | which means that the behaviour of RTLD_NEXT is slightly different. | ||
15 | As far as I can tell, mknod has not been present in glibc for a while. | ||
16 | To quote stat.h: | ||
17 | |||
18 | /* To allow the `struct stat' structure and the file type `mode_t' | ||
19 | bits to vary without changing shared library major version number, | ||
20 | the `stat' family of functions and `mknod' are in fact inline | ||
21 | wrappers around calls to `xstat', `fxstat', `lxstat', and `xmknod', | ||
22 | which all take a leading version-number argument designating the | ||
23 | data structure and bits used. <bits/stat.h> defines _STAT_VER with | ||
24 | the version number corresponding to `struct stat' as defined in | ||
25 | that file; and _MKNOD_VER with the version number corresponding to | ||
26 | the S_IF* macros defined therein. It is arranged that when not | ||
27 | inlined these function are always statically linked; that way a | ||
28 | dynamically-linked executable always encodes the version number | ||
29 | corresponding to the data structures it uses, so the `x' functions | ||
30 | in the shared library can adapt without needing to recompile all | ||
31 | callers. */ | ||
32 | |||
33 | so I suspect mknod has not existed for a while, if ever and what we | ||
34 | were finding, who knows. Everying in the system links against _xmknod | ||
35 | which we have a separate wrapper for. | ||
36 | |||
37 | Anyhow, ignoring that problem which hasn't caused a issue in the past, | ||
38 | the RTLD_NEXT change causes messages to be printed to stdout which causes | ||
39 | carnage if for example the packaging code is expecting a list of packages: | ||
40 | |||
41 | WARNING: core-image-minimal-1.0-r0 do_rootfs: No not found in the base feeds (qemux86_64 core2-64 x86_64 noarch any all). | ||
42 | WARNING: core-image-minimal-1.0-r0 do_rootfs: real not found in the base feeds (qemux86_64 core2-64 x86_64 noarch any all). | ||
43 | WARNING: core-image-minimal-1.0-r0 do_rootfs: function not found in the base feeds (qemux86_64 core2-64 x86_64 noarch any all). | ||
44 | WARNING: core-image-minimal-1.0-r0 do_rootfs: for not found in the base feeds (qemux86_64 core2-64 x86_64 noarch any all). | ||
45 | WARNING: core-image-minimal-1.0-r0 do_rootfs: mknod: not found in the base feeds (qemux86_64 core2-64 x86_64 noarch any all). | ||
46 | [etc] | ||
47 | |||
48 | This bug will affect: | ||
49 | * any distro using glibc 2.24 | ||
50 | * any system using a uninative tarball for glibc 2.24 | ||
51 | * any system which took a backport for the fix which was merged into | ||
52 | the 2.23 branch for a while before it was reverted (Fedora 23 had this) | ||
53 | |||
54 | The easiest thing to do is to ignore the problem and disable the diag | ||
55 | message which masks the problem with no ill effects. | ||
56 | |||
57 | As Peter notes, there are a few issues here: | ||
58 | |||
59 | * the fact there is no mknod symbol | ||
60 | * the fact an error here isn't fatal | ||
61 | * the #ifdef/#else looks suspect | ||
62 | * handle RTLD_NEXT chaining properly (need more libs?) | ||
63 | |||
64 | which he'll work on upstream and hopefully have fixed in a new version. | ||
65 | |||
66 | Upstream-Status: Submitted [Peter is aware of the issue] | ||
67 | |||
68 | RP 2016/5/18 | ||
69 | |||
70 | Index: pseudo-1.7.5/pseudo_wrappers.c | ||
71 | =================================================================== | ||
72 | --- pseudo-1.7.5.orig/pseudo_wrappers.c | ||
73 | +++ pseudo-1.7.5/pseudo_wrappers.c | ||
74 | @@ -146,9 +146,9 @@ pseudo_init_one_wrapper(pseudo_function | ||
75 | return; | ||
76 | } | ||
77 | #else | ||
78 | - if (e != NULL) { | ||
79 | + /*if (e != NULL) { | ||
80 | pseudo_diag("No real function for %s: %s\n", func->name, e); | ||
81 | - } | ||
82 | + }*/ | ||
83 | #endif | ||
84 | } | ||
85 | } | ||
diff --git a/meta/recipes-devtools/pseudo/pseudo_1.7.5.bb b/meta/recipes-devtools/pseudo/pseudo_1.7.5.bb deleted file mode 100644 index d4f1e361e0..0000000000 --- a/meta/recipes-devtools/pseudo/pseudo_1.7.5.bb +++ /dev/null | |||
@@ -1,23 +0,0 @@ | |||
1 | require pseudo.inc | ||
2 | |||
3 | SRC_URI = "http://downloads.yoctoproject.org/releases/pseudo/${BPN}-${PV}.tar.bz2 \ | ||
4 | file://0001-configure-Prune-PIE-flags.patch \ | ||
5 | file://fallback-passwd \ | ||
6 | file://fallback-group \ | ||
7 | file://moreretries.patch \ | ||
8 | file://handle-remove-xattr.patch \ | ||
9 | file://obey-ldflags.patch \ | ||
10 | file://pseudo-glibc-rtld-next-workaround.patch \ | ||
11 | " | ||
12 | |||
13 | SRC_URI[md5sum] = "c10209938f03128d0c193f041ff3596d" | ||
14 | SRC_URI[sha256sum] = "fd89cadec984d3b8202aca465898b1bb4350e0d63ba9aa9ac899f6f50270e688" | ||
15 | |||
16 | PSEUDO_EXTRA_OPTS ?= "--enable-force-async --without-passwd-fallback" | ||
17 | |||
18 | do_install_append_class-native () { | ||
19 | install -d ${D}${sysconfdir} | ||
20 | # The fallback files should never be modified | ||
21 | install -m 444 ${WORKDIR}/fallback-passwd ${D}${sysconfdir}/passwd | ||
22 | install -m 444 ${WORKDIR}/fallback-group ${D}${sysconfdir}/group | ||
23 | } | ||
diff --git a/meta/recipes-devtools/pseudo/pseudo_1.8.1.bb b/meta/recipes-devtools/pseudo/pseudo_1.8.1.bb new file mode 100644 index 0000000000..3381df0301 --- /dev/null +++ b/meta/recipes-devtools/pseudo/pseudo_1.8.1.bb | |||
@@ -0,0 +1,11 @@ | |||
1 | require pseudo.inc | ||
2 | |||
3 | SRC_URI = "http://downloads.yoctoproject.org/releases/pseudo/${BPN}-${PV}.tar.bz2 \ | ||
4 | file://0001-configure-Prune-PIE-flags.patch \ | ||
5 | file://fallback-passwd \ | ||
6 | file://fallback-group \ | ||
7 | file://moreretries.patch \ | ||
8 | " | ||
9 | |||
10 | SRC_URI[md5sum] = "ee38e4fb62ff88ad067b1a5a3825bac7" | ||
11 | SRC_URI[sha256sum] = "dac4ad2d21228053151121320f629d41dd5c0c87695ac4e7aea286c414192ab5" | ||
diff --git a/meta/recipes-devtools/pseudo/pseudo_git.bb b/meta/recipes-devtools/pseudo/pseudo_git.bb index abff1cfd3c..9febf608e7 100644 --- a/meta/recipes-devtools/pseudo/pseudo_git.bb +++ b/meta/recipes-devtools/pseudo/pseudo_git.bb | |||
@@ -1,11 +1,15 @@ | |||
1 | require pseudo.inc | 1 | require pseudo.inc |
2 | 2 | ||
3 | SRCREV = "786c6d3813622d18e12d36c4aa722af6a417c8fa" | 3 | SRCREV = "eb47d855a831b6dc0ad34890e84b8f6f483693df" |
4 | PV = "1.7.5+git${SRCPV}" | 4 | PV = "1.8.1+git${SRCPV}" |
5 | 5 | ||
6 | DEFAULT_PREFERENCE = "-1" | 6 | DEFAULT_PREFERENCE = "-1" |
7 | 7 | ||
8 | SRC_URI = "git://git.yoctoproject.org/pseudo" | 8 | SRC_URI = "git://git.yoctoproject.org/pseudo \ |
9 | file://0001-configure-Prune-PIE-flags.patch \ | ||
10 | file://fallback-passwd \ | ||
11 | file://fallback-group \ | ||
12 | file://moreretries.patch" | ||
9 | 13 | ||
10 | S = "${WORKDIR}/git" | 14 | S = "${WORKDIR}/git" |
11 | 15 | ||