summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/pseudo
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2016-07-05 13:18:31 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-07-08 10:50:18 +0100
commit9df3cdf42d8c1216682f497f0b166a43ef9f4184 (patch)
tree0d541abdea34c5e414898d5688a214bc63cfa5a7 /meta/recipes-devtools/pseudo
parenta14d30f7de192b9a2bffc65f567483abff962f22 (diff)
downloadpoky-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.patch36
-rw-r--r--meta/recipes-devtools/pseudo/files/moreretries.patch12
-rw-r--r--meta/recipes-devtools/pseudo/pseudo.inc13
-rw-r--r--meta/recipes-devtools/pseudo/pseudo/obey-ldflags.patch50
-rw-r--r--meta/recipes-devtools/pseudo/pseudo/pseudo-glibc-rtld-next-workaround.patch85
-rw-r--r--meta/recipes-devtools/pseudo/pseudo_1.7.5.bb23
-rw-r--r--meta/recipes-devtools/pseudo/pseudo_1.8.1.bb11
-rw-r--r--meta/recipes-devtools/pseudo/pseudo_git.bb10
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 @@
1From a24cf102967a4966bfabe36c3542fb65f35bf539 Mon Sep 17 00:00:00 2001
2From: Peter Seebach <peter.seebach@windriver.com>
3Date: Wed, 23 Mar 2016 11:55:25 -0500
4Subject: actually handle remove_xattr correctly
5
6The path is required but wasn't being extracted from the client's message,
7resulting in xattr removal never working. This does not fully address some
8deeper problems with the xattr implementation, but at least the common
9removal case works.
10
11Upstream-Status: Backport
12
13Index: 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
25Index: 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.
4Upstream-Status: Pending 4Upstream-Status: Pending
5RP 2016/2/28 5RP 2016/2/28
6 6
7Index: pseudo-1.7.5/pseudo_client.c 7Index: 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 () {
26NO32LIBS ??= "1" 26NO32LIBS ??= "1"
27NO32LIBS_class-nativesdk = "1" 27NO32LIBS_class-nativesdk = "1"
28 28
29PSEUDO_EXTRA_OPTS ?= "--enable-force-async --without-passwd-fallback"
30
29# Compile for the local machine arch... 31# Compile for the local machine arch...
30do_compile () { 32do_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.
118do_install_append_class-native () { 117do_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 @@
1From 0ace81a687355a3c55caa161b51972a82f5c413f Mon Sep 17 00:00:00 2001
2From: Christopher Larson <chris_larson@mentor.com>
3Date: Mon, 9 May 2016 17:00:57 -0700
4Subject: [PATCH] Obey external LDFLAGS the way we obey CFLAGS
5
6Upstream-Status: Backport
7
8Signed-off-by: Christopher Larson <chris_larson@mentor.com>
9---
10 Makefile.in | 8 ++++----
11 1 file changed, 4 insertions(+), 4 deletions(-)
12
13diff --git a/Makefile.in b/Makefile.in
14index 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--
492.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 @@
1We started seeing:
2
3No real function for mknod: /home/paul/poky_sdk/tmp/sysroots/x86_64-
4linux/usr/bin/../lib/pseudo/lib64/libpseudo.so: undefined symbol: mknod
5No real function for mknodat: /home/paul/poky_sdk/tmp/sysroots/x86_64-
6linux/usr/bin/../lib/pseudo/lib64/libpseudo.so: undefined symbol: mknodat
7
8In glibc 2.24 they've merged:
9
10https://sourceware.org/git/?p=glibc.git;a=commit;h=7d45c163d00c88d5875a112343c4ea3e61349e6b
11related to bugzilla entry:
12https://sourceware.org/bugzilla/show_bug.cgi?id=19509
13
14which means that the behaviour of RTLD_NEXT is slightly different.
15As far as I can tell, mknod has not been present in glibc for a while.
16To 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
33so I suspect mknod has not existed for a while, if ever and what we
34were finding, who knows. Everying in the system links against _xmknod
35which we have a separate wrapper for.
36
37Anyhow, ignoring that problem which hasn't caused a issue in the past,
38the RTLD_NEXT change causes messages to be printed to stdout which causes
39carnage if for example the packaging code is expecting a list of packages:
40
41WARNING: core-image-minimal-1.0-r0 do_rootfs: No not found in the base feeds (qemux86_64 core2-64 x86_64 noarch any all).
42WARNING: core-image-minimal-1.0-r0 do_rootfs: real not found in the base feeds (qemux86_64 core2-64 x86_64 noarch any all).
43WARNING: core-image-minimal-1.0-r0 do_rootfs: function not found in the base feeds (qemux86_64 core2-64 x86_64 noarch any all).
44WARNING: core-image-minimal-1.0-r0 do_rootfs: for not found in the base feeds (qemux86_64 core2-64 x86_64 noarch any all).
45WARNING: 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
48This 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
54The easiest thing to do is to ignore the problem and disable the diag
55message which masks the problem with no ill effects.
56
57As 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
64which he'll work on upstream and hopefully have fixed in a new version.
65
66Upstream-Status: Submitted [Peter is aware of the issue]
67
68RP 2016/5/18
69
70Index: 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 @@
1require pseudo.inc
2
3SRC_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
13SRC_URI[md5sum] = "c10209938f03128d0c193f041ff3596d"
14SRC_URI[sha256sum] = "fd89cadec984d3b8202aca465898b1bb4350e0d63ba9aa9ac899f6f50270e688"
15
16PSEUDO_EXTRA_OPTS ?= "--enable-force-async --without-passwd-fallback"
17
18do_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 @@
1require pseudo.inc
2
3SRC_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
10SRC_URI[md5sum] = "ee38e4fb62ff88ad067b1a5a3825bac7"
11SRC_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 @@
1require pseudo.inc 1require pseudo.inc
2 2
3SRCREV = "786c6d3813622d18e12d36c4aa722af6a417c8fa" 3SRCREV = "eb47d855a831b6dc0ad34890e84b8f6f483693df"
4PV = "1.7.5+git${SRCPV}" 4PV = "1.8.1+git${SRCPV}"
5 5
6DEFAULT_PREFERENCE = "-1" 6DEFAULT_PREFERENCE = "-1"
7 7
8SRC_URI = "git://git.yoctoproject.org/pseudo" 8SRC_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
10S = "${WORKDIR}/git" 14S = "${WORKDIR}/git"
11 15