* [PATCH 1/2] pseudo: drop recipe for old 1.6.7 version @ 2016-07-01 19:30 Joshua Lock 2016-07-01 19:30 ` [PATCH 2/2] pseudo: upgrade to 1.8.0 Joshua Lock 0 siblings, 1 reply; 6+ messages in thread From: Joshua Lock @ 2016-07-01 19:30 UTC (permalink / raw) To: openembedded-core Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> --- meta/recipes-devtools/pseudo/pseudo_1.6.7.bb | 19 ------------------- 1 file changed, 19 deletions(-) delete mode 100644 meta/recipes-devtools/pseudo/pseudo_1.6.7.bb diff --git a/meta/recipes-devtools/pseudo/pseudo_1.6.7.bb b/meta/recipes-devtools/pseudo/pseudo_1.6.7.bb deleted file mode 100644 index b8c20ad..0000000 --- a/meta/recipes-devtools/pseudo/pseudo_1.6.7.bb +++ /dev/null @@ -1,19 +0,0 @@ -require pseudo.inc - -SRC_URI = " \ - http://downloads.yoctoproject.org/releases/pseudo/${BPN}-${PV}.tar.bz2 \ - file://fallback-passwd \ - file://fallback-group \ -" - -SRC_URI[md5sum] = "4cd39502f9bd0e734dee80e08b28a5f1" -SRC_URI[sha256sum] = "9f2caca5f1579a376a509cd81a81156fc208650add9f0af275da9e911f18f291" - -PSEUDO_EXTRA_OPTS ?= "--enable-force-async --without-passwd-fallback" - -do_install_append_class-native () { - install -d ${D}${sysconfdir} - # The fallback files should never be modified - install -m 444 ${WORKDIR}/fallback-passwd ${D}${sysconfdir}/passwd - install -m 444 ${WORKDIR}/fallback-group ${D}${sysconfdir}/group -} -- 2.7.4 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/2] pseudo: upgrade to 1.8.0 2016-07-01 19:30 [PATCH 1/2] pseudo: drop recipe for old 1.6.7 version Joshua Lock @ 2016-07-01 19:30 ` Joshua Lock 2016-07-04 11:36 ` Alexander Kanavin 0 siblings, 1 reply; 6+ messages in thread From: Joshua Lock @ 2016-07-01 19:30 UTC (permalink / raw) To: openembedded-core * drop patches where the changes exist upstream * fetch from git as no tarball is available for 1.8.0 Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> --- .../pseudo/files/handle-remove-xattr.patch | 36 --------- .../pseudo/pseudo/obey-ldflags.patch | 50 ------------- .../pseudo/pseudo-glibc-rtld-next-workaround.patch | 85 ---------------------- meta/recipes-devtools/pseudo/pseudo_1.7.5.bb | 23 ------ meta/recipes-devtools/pseudo/pseudo_1.8.0.bb | 14 ++++ 5 files changed, 14 insertions(+), 194 deletions(-) delete mode 100644 meta/recipes-devtools/pseudo/files/handle-remove-xattr.patch delete mode 100644 meta/recipes-devtools/pseudo/pseudo/obey-ldflags.patch delete mode 100644 meta/recipes-devtools/pseudo/pseudo/pseudo-glibc-rtld-next-workaround.patch delete mode 100644 meta/recipes-devtools/pseudo/pseudo_1.7.5.bb create mode 100644 meta/recipes-devtools/pseudo/pseudo_1.8.0.bb 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 8b7f30c..0000000 --- a/meta/recipes-devtools/pseudo/files/handle-remove-xattr.patch +++ /dev/null @@ -1,36 +0,0 @@ -From a24cf102967a4966bfabe36c3542fb65f35bf539 Mon Sep 17 00:00:00 2001 -From: Peter Seebach <peter.seebach@windriver.com> -Date: Wed, 23 Mar 2016 11:55:25 -0500 -Subject: actually handle remove_xattr correctly - -The path is required but wasn't being extracted from the client's message, -resulting in xattr removal never working. This does not fully address some -deeper problems with the xattr implementation, but at least the common -removal case works. - -Upstream-Status: Backport - -Index: pseudo-1.7.5/ChangeLog.txt -=================================================================== ---- pseudo-1.7.5.orig/ChangeLog.txt -+++ pseudo-1.7.5/ChangeLog.txt -@@ -1,3 +1,7 @@ -+2016-03-22: -+ * (seebs) extract path from message for remove_xattr so it -+ actually works. -+ - 2016-02-09: - * (seebs) 1.7.5 release - -Index: pseudo-1.7.5/pseudo.c -=================================================================== ---- pseudo-1.7.5.orig/pseudo.c -+++ pseudo-1.7.5/pseudo.c -@@ -543,6 +543,7 @@ pseudo_op(pseudo_msg_t *msg, const char - case OP_GET_XATTR: - case OP_LIST_XATTR: - case OP_REPLACE_XATTR: -+ case OP_REMOVE_XATTR: - case OP_SET_XATTR: - /* In a rename there are two paths, null separated in msg->path */ - initial_len = strlen(msg->path); 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 8881f6e..0000000 --- a/meta/recipes-devtools/pseudo/pseudo/obey-ldflags.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 0ace81a687355a3c55caa161b51972a82f5c413f Mon Sep 17 00:00:00 2001 -From: Christopher Larson <chris_larson@mentor.com> -Date: Mon, 9 May 2016 17:00:57 -0700 -Subject: [PATCH] Obey external LDFLAGS the way we obey CFLAGS - -Upstream-Status: Backport - -Signed-off-by: Christopher Larson <chris_larson@mentor.com> ---- - Makefile.in | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/Makefile.in b/Makefile.in -index 6511814..22ef625 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -109,26 +109,26 @@ pseudo: $(PSEUDO) - $(PSEUDO): $(BIN) pseudo.o $(SHOBJS) $(DBOBJS) pseudo_client.o pseudo_server.o pseudo_ipc.o - $(CC) $(CFLAGS) $(CFLAGS_PSEUDO) -o $(PSEUDO) \ - pseudo.o pseudo_server.o pseudo_client.o pseudo_ipc.o \ -- $(DBOBJS) $(SHOBJS) $(DB_LDFLAGS) $(CLIENT_LDFLAGS) -+ $(DBOBJS) $(SHOBJS) $(LDFLAGS) $(DB_LDFLAGS) $(CLIENT_LDFLAGS) - - pseudolog: $(PSEUDOLOG) - - $(PSEUDOLOG): $(BIN) pseudolog.o $(SHOBJS) $(DBOBJS) pseudo_client.o pseudo_ipc.o - $(CC) $(CFLAGS) $(CFLAGS_PSEUDO) -o $(PSEUDOLOG) pseudolog.o pseudo_client.o pseudo_ipc.o \ -- $(DBOBJS) $(SHOBJS) $(DB_LDFLAGS) $(CLIENT_LDFLAGS) -+ $(DBOBJS) $(SHOBJS) $(LDFLAGS) $(DB_LDFLAGS) $(CLIENT_LDFLAGS) - - pseudodb: $(PSEUDODB) - - $(PSEUDODB): $(BIN) pseudodb.o $(SHOBJS) $(DBOBJS) pseudo_ipc.o - $(CC) $(CFLAGS) $(CFLAGS_PSEUDO) -o $(PSEUDODB) pseudodb.o \ -- $(DBOBJS) $(SHOBJS) pseudo_ipc.o $(DB_LDFLAGS) $(CLIENT_LDFLAGS) -+ $(DBOBJS) $(SHOBJS) pseudo_ipc.o $(LDFLAGS) $(DB_LDFLAGS) $(CLIENT_LDFLAGS) - - libpseudo: $(LIBPSEUDO) - - $(LIBPSEUDO): $(LIB) $(WRAPOBJS) pseudo_client.o pseudo_ipc.o $(SHOBJS) - $(CC) $(CFLAGS) $(CFLAGS_PSEUDO) -shared -o $(LIBPSEUDO) \ - pseudo_client.o pseudo_ipc.o \ -- $(WRAPOBJS) $(SHOBJS) $(CLIENT_LDFLAGS) -+ $(WRAPOBJS) $(SHOBJS) $(LDFLAGS) $(CLIENT_LDFLAGS) - - # *everything* now relies on stuff that's generated in the - # wrapper process. --- -2.8.0 - 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 6710734..0000000 --- a/meta/recipes-devtools/pseudo/pseudo/pseudo-glibc-rtld-next-workaround.patch +++ /dev/null @@ -1,85 +0,0 @@ -We started seeing: - -No real function for mknod: /home/paul/poky_sdk/tmp/sysroots/x86_64- -linux/usr/bin/../lib/pseudo/lib64/libpseudo.so: undefined symbol: mknod -No real function for mknodat: /home/paul/poky_sdk/tmp/sysroots/x86_64- -linux/usr/bin/../lib/pseudo/lib64/libpseudo.so: undefined symbol: mknodat - -In glibc 2.24 they've merged: - -https://sourceware.org/git/?p=glibc.git;a=commit;h=7d45c163d00c88d5875a112343c4ea3e61349e6b -related to bugzilla entry: -https://sourceware.org/bugzilla/show_bug.cgi?id=19509 - -which means that the behaviour of RTLD_NEXT is slightly different. -As far as I can tell, mknod has not been present in glibc for a while. -To quote stat.h: - -/* To allow the `struct stat' structure and the file type `mode_t' - bits to vary without changing shared library major version number, - the `stat' family of functions and `mknod' are in fact inline - wrappers around calls to `xstat', `fxstat', `lxstat', and `xmknod', - which all take a leading version-number argument designating the - data structure and bits used. <bits/stat.h> defines _STAT_VER with - the version number corresponding to `struct stat' as defined in - that file; and _MKNOD_VER with the version number corresponding to - the S_IF* macros defined therein. It is arranged that when not - inlined these function are always statically linked; that way a - dynamically-linked executable always encodes the version number - corresponding to the data structures it uses, so the `x' functions - in the shared library can adapt without needing to recompile all - callers. */ - -so I suspect mknod has not existed for a while, if ever and what we -were finding, who knows. Everying in the system links against _xmknod -which we have a separate wrapper for. - -Anyhow, ignoring that problem which hasn't caused a issue in the past, -the RTLD_NEXT change causes messages to be printed to stdout which causes -carnage if for example the packaging code is expecting a list of packages: - -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). -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). -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). -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). -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). -[etc] - -This bug will affect: -* any distro using glibc 2.24 -* any system using a uninative tarball for glibc 2.24 -* any system which took a backport for the fix which was merged into - the 2.23 branch for a while before it was reverted (Fedora 23 had this) - -The easiest thing to do is to ignore the problem and disable the diag -message which masks the problem with no ill effects. - -As Peter notes, there are a few issues here: - -* the fact there is no mknod symbol -* the fact an error here isn't fatal -* the #ifdef/#else looks suspect -* handle RTLD_NEXT chaining properly (need more libs?) - -which he'll work on upstream and hopefully have fixed in a new version. - -Upstream-Status: Submitted [Peter is aware of the issue] - -RP 2016/5/18 - -Index: pseudo-1.7.5/pseudo_wrappers.c -=================================================================== ---- pseudo-1.7.5.orig/pseudo_wrappers.c -+++ pseudo-1.7.5/pseudo_wrappers.c -@@ -146,9 +146,9 @@ pseudo_init_one_wrapper(pseudo_function - return; - } - #else -- if (e != NULL) { -+ /*if (e != NULL) { - pseudo_diag("No real function for %s: %s\n", func->name, e); -- } -+ }*/ - #endif - } - } 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 d4f1e36..0000000 --- a/meta/recipes-devtools/pseudo/pseudo_1.7.5.bb +++ /dev/null @@ -1,23 +0,0 @@ -require pseudo.inc - -SRC_URI = "http://downloads.yoctoproject.org/releases/pseudo/${BPN}-${PV}.tar.bz2 \ - file://0001-configure-Prune-PIE-flags.patch \ - file://fallback-passwd \ - file://fallback-group \ - file://moreretries.patch \ - file://handle-remove-xattr.patch \ - file://obey-ldflags.patch \ - file://pseudo-glibc-rtld-next-workaround.patch \ - " - -SRC_URI[md5sum] = "c10209938f03128d0c193f041ff3596d" -SRC_URI[sha256sum] = "fd89cadec984d3b8202aca465898b1bb4350e0d63ba9aa9ac899f6f50270e688" - -PSEUDO_EXTRA_OPTS ?= "--enable-force-async --without-passwd-fallback" - -do_install_append_class-native () { - install -d ${D}${sysconfdir} - # The fallback files should never be modified - install -m 444 ${WORKDIR}/fallback-passwd ${D}${sysconfdir}/passwd - install -m 444 ${WORKDIR}/fallback-group ${D}${sysconfdir}/group -} diff --git a/meta/recipes-devtools/pseudo/pseudo_1.8.0.bb b/meta/recipes-devtools/pseudo/pseudo_1.8.0.bb new file mode 100644 index 0000000..08477ff --- /dev/null +++ b/meta/recipes-devtools/pseudo/pseudo_1.8.0.bb @@ -0,0 +1,14 @@ +require pseudo.inc + +SRCREV = "786c6d3813622d18e12d36c4aa722af6a417c8fa" +PV = "1.8.0+git${SRCPV}" + +SRC_URI = "git://git.yoctoproject.org/pseudo \ + file://0001-configure-Prune-PIE-flags.patch \ + file://fallback-passwd \ + file://fallback-group \ + file://moreretries.patch \ + " + +S = "${WORKDIR}/git" + -- 2.7.4 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 2/2] pseudo: upgrade to 1.8.0 2016-07-01 19:30 ` [PATCH 2/2] pseudo: upgrade to 1.8.0 Joshua Lock @ 2016-07-04 11:36 ` Alexander Kanavin 2016-07-04 12:10 ` Joshua G Lock 0 siblings, 1 reply; 6+ messages in thread From: Alexander Kanavin @ 2016-07-04 11:36 UTC (permalink / raw) To: openembedded-core, peter.seebach On 07/01/2016 10:30 PM, Joshua Lock wrote: > * drop patches where the changes exist upstream > * fetch from git as no tarball is available for 1.8.0 > diff --git a/meta/recipes-devtools/pseudo/pseudo_1.8.0.bb b/meta/recipes-devtools/pseudo/pseudo_1.8.0.bb > new file mode 100644 > index 0000000..08477ff > --- /dev/null > +++ b/meta/recipes-devtools/pseudo/pseudo_1.8.0.bb > @@ -0,0 +1,14 @@ > +require pseudo.inc > + > +SRCREV = "786c6d3813622d18e12d36c4aa722af6a417c8fa" > +PV = "1.8.0+git${SRCPV}" > + > +SRC_URI = "git://git.yoctoproject.org/pseudo \ This commit id refers to version 1.7.5, and version 1.8.0 is not tagged at all in the git repository. Can you fix that please? Alex ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 2/2] pseudo: upgrade to 1.8.0 2016-07-04 11:36 ` Alexander Kanavin @ 2016-07-04 12:10 ` Joshua G Lock 2016-07-04 12:14 ` Alexander Kanavin 0 siblings, 1 reply; 6+ messages in thread From: Joshua G Lock @ 2016-07-04 12:10 UTC (permalink / raw) To: Alexander Kanavin, openembedded-core, peter.seebach On Mon, 2016-07-04 at 14:36 +0300, Alexander Kanavin wrote: > On 07/01/2016 10:30 PM, Joshua Lock wrote: > > * drop patches where the changes exist upstream > > * fetch from git as no tarball is available for 1.8.0 > > > diff --git a/meta/recipes-devtools/pseudo/pseudo_1.8.0.bb > > b/meta/recipes-devtools/pseudo/pseudo_1.8.0.bb > > new file mode 100644 > > index 0000000..08477ff > > --- /dev/null > > +++ b/meta/recipes-devtools/pseudo/pseudo_1.8.0.bb > > @@ -0,0 +1,14 @@ > > +require pseudo.inc > > + > > +SRCREV = "786c6d3813622d18e12d36c4aa722af6a417c8fa" > > +PV = "1.8.0+git${SRCPV}" > > + > > +SRC_URI = "git://git.yoctoproject.org/pseudo \ > > This commit id refers to version 1.7.5, and version 1.8.0 is not > tagged > at all in the git repository. Can you fix that please? Thanks for catching this, I failed badly at merging some local changes. I will send a v2 with the correct SRCREV. I'll also see whether I can convince someone to tag the repo. Regards, Joshua ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 2/2] pseudo: upgrade to 1.8.0 2016-07-04 12:10 ` Joshua G Lock @ 2016-07-04 12:14 ` Alexander Kanavin 0 siblings, 0 replies; 6+ messages in thread From: Alexander Kanavin @ 2016-07-04 12:14 UTC (permalink / raw) To: Joshua G Lock, openembedded-core, peter.seebach On 07/04/2016 03:10 PM, Joshua G Lock wrote: > Thanks for catching this, I failed badly at merging some local changes. > > I will send a v2 with the correct SRCREV. I'll also see whether I can > convince someone to tag the repo. Please first make a tag, and then send a recipe update. I'd like to minimize the amount of recipes which take things from git using an arbitrary commit id that is not linked to an upstream release. Alex ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 0/2] Pseudo upgrade @ 2016-07-05 12:18 Joshua Lock 2016-07-05 12:18 ` [PATCH 2/2] pseudo: upgrade to 1.8.0 Joshua Lock 0 siblings, 1 reply; 6+ messages in thread From: Joshua Lock @ 2016-07-05 12:18 UTC (permalink / raw) To: openembedded-core This series upgrades pseudo to the latest master branch and includes an additional patch to fix some issues observed in pseudo_db.c We hope to resolve [YOCTO #9112] and [YOCTO #9317] with this series. Regards, Joshua The following changes since commit 53fcfe4348a2ca727844f2b0bd3fca2902cbdda0: lib/oeqa: add Galculator to SDK and runtime tests (2016-07-01 16:08:54 +0100) are available in the git repository at: git://git.openembedded.org/openembedded-core-contrib joshuagl/pseudo http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=joshuagl/pseudo Joshua Lock (2): pseudo: drop recipe for old 1.6.7 version pseudo: upgrade to 1.8.0 meta/recipes-devtools/pseudo/files/db-fixes.patch | 49 +++++++++++++ .../pseudo/files/handle-remove-xattr.patch | 36 --------- .../pseudo/files/moreretries.patch | 12 +-- .../pseudo/pseudo/obey-ldflags.patch | 50 ------------- .../pseudo/pseudo-glibc-rtld-next-workaround.patch | 85 ---------------------- meta/recipes-devtools/pseudo/pseudo_1.6.7.bb | 19 ----- meta/recipes-devtools/pseudo/pseudo_1.7.5.bb | 23 ------ meta/recipes-devtools/pseudo/pseudo_1.8.0.bb | 19 +++++ 8 files changed, 74 insertions(+), 219 deletions(-) create mode 100644 meta/recipes-devtools/pseudo/files/db-fixes.patch delete mode 100644 meta/recipes-devtools/pseudo/files/handle-remove-xattr.patch delete mode 100644 meta/recipes-devtools/pseudo/pseudo/obey-ldflags.patch delete mode 100644 meta/recipes-devtools/pseudo/pseudo/pseudo-glibc-rtld-next-workaround.patch delete mode 100644 meta/recipes-devtools/pseudo/pseudo_1.6.7.bb delete mode 100644 meta/recipes-devtools/pseudo/pseudo_1.7.5.bb create mode 100644 meta/recipes-devtools/pseudo/pseudo_1.8.0.bb -- 2.7.4 ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 2/2] pseudo: upgrade to 1.8.0 2016-07-05 12:18 [PATCH 0/2] Pseudo upgrade Joshua Lock @ 2016-07-05 12:18 ` Joshua Lock 0 siblings, 0 replies; 6+ messages in thread From: Joshua Lock @ 2016-07-05 12:18 UTC (permalink / raw) To: openembedded-core * drop patches where the changes exist upstream * fetch from git as no tarball is available for 1.8.0 * mark ports/unix/subports as executable, otherwise makewrappers fails with "OSError: [Errno 13] Permission denied" * add a patch to resolve some errors in pseudo_db.c Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> --- meta/recipes-devtools/pseudo/files/db-fixes.patch | 49 +++++++++++++ .../pseudo/files/handle-remove-xattr.patch | 36 --------- .../pseudo/files/moreretries.patch | 12 +-- .../pseudo/pseudo/obey-ldflags.patch | 50 ------------- .../pseudo/pseudo-glibc-rtld-next-workaround.patch | 85 ---------------------- meta/recipes-devtools/pseudo/pseudo_1.7.5.bb | 23 ------ meta/recipes-devtools/pseudo/pseudo_1.8.0.bb | 19 +++++ 7 files changed, 74 insertions(+), 200 deletions(-) create mode 100644 meta/recipes-devtools/pseudo/files/db-fixes.patch delete mode 100644 meta/recipes-devtools/pseudo/files/handle-remove-xattr.patch delete mode 100644 meta/recipes-devtools/pseudo/pseudo/obey-ldflags.patch delete mode 100644 meta/recipes-devtools/pseudo/pseudo/pseudo-glibc-rtld-next-workaround.patch delete mode 100644 meta/recipes-devtools/pseudo/pseudo_1.7.5.bb create mode 100644 meta/recipes-devtools/pseudo/pseudo_1.8.0.bb diff --git a/meta/recipes-devtools/pseudo/files/db-fixes.patch b/meta/recipes-devtools/pseudo/files/db-fixes.patch new file mode 100644 index 0000000..3401925 --- /dev/null +++ b/meta/recipes-devtools/pseudo/files/db-fixes.patch @@ -0,0 +1,49 @@ +Remove a stray comma in an SQL statement -- thanks to Ross for spotting this. + +We were seeing strange issues where the ownership of files installed under +pseudo was not root:root as expected. Richard tracked this down to the +pdb_check_xattrs() function and I noticed the scan sqlite3_stmt in there is +declared static. + +The sqlite3_finalize() call looked out of place and the docs state: +" It is a grievous error for the application to try to use a prepared statement +after it has been finalized." +but don't make it clear what state the sqlite3_stmt is in after the call to +sqlite3_finalize() -- as the bindings are cleared and the prepared statement +is reset I couldn't see a good reason to leave the finalise call in when other +areas of the code don't do so and suspected it may result in the statement not +being re-prepared on future invocations. + +With these lines removed we're no longer seeing ownership errors in OE-Core +builds. + +Thanks to Richard for tracking down the function causing the weirdness we +were seeing. + +Upstream-status: Pending +Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> + +Index: git/pseudo_db.c +=================================================================== +--- git.orig/pseudo_db.c ++++ git/pseudo_db.c +@@ -135,7 +135,7 @@ static struct sql_table { + "gid INTEGER, " + "access INTEGER, " + "program VARCHAR, " +- "type INTEGER, " ++ "type INTEGER" + , + NULL, + NULL }, +@@ -1595,10 +1595,6 @@ pdb_check_xattrs(pseudo_msg_t *msg) { + if (rc != SQLITE_DONE) { + dberr(file_db, "not done after the single row we expected?", rc); + } +- rc = sqlite3_finalize(scan); +- if (rc) { +- dberr(file_db, "couldn't finalize existing file"); +- } + sqlite3_reset(scan); + sqlite3_clear_bindings(scan); + 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 8b7f30c..0000000 --- a/meta/recipes-devtools/pseudo/files/handle-remove-xattr.patch +++ /dev/null @@ -1,36 +0,0 @@ -From a24cf102967a4966bfabe36c3542fb65f35bf539 Mon Sep 17 00:00:00 2001 -From: Peter Seebach <peter.seebach@windriver.com> -Date: Wed, 23 Mar 2016 11:55:25 -0500 -Subject: actually handle remove_xattr correctly - -The path is required but wasn't being extracted from the client's message, -resulting in xattr removal never working. This does not fully address some -deeper problems with the xattr implementation, but at least the common -removal case works. - -Upstream-Status: Backport - -Index: pseudo-1.7.5/ChangeLog.txt -=================================================================== ---- pseudo-1.7.5.orig/ChangeLog.txt -+++ pseudo-1.7.5/ChangeLog.txt -@@ -1,3 +1,7 @@ -+2016-03-22: -+ * (seebs) extract path from message for remove_xattr so it -+ actually works. -+ - 2016-02-09: - * (seebs) 1.7.5 release - -Index: pseudo-1.7.5/pseudo.c -=================================================================== ---- pseudo-1.7.5.orig/pseudo.c -+++ pseudo-1.7.5/pseudo.c -@@ -543,6 +543,7 @@ pseudo_op(pseudo_msg_t *msg, const char - case OP_GET_XATTR: - case OP_LIST_XATTR: - case OP_REPLACE_XATTR: -+ case OP_REMOVE_XATTR: - case OP_SET_XATTR: - /* In a rename there are two paths, null separated in msg->path */ - initial_len = strlen(msg->path); diff --git a/meta/recipes-devtools/pseudo/files/moreretries.patch b/meta/recipes-devtools/pseudo/files/moreretries.patch index c1e5552..adea266 100644 --- a/meta/recipes-devtools/pseudo/files/moreretries.patch +++ b/meta/recipes-devtools/pseudo/files/moreretries.patch @@ -4,15 +4,15 @@ server shutdowns. Upstream-Status: Pending RP 2016/2/28 -Index: pseudo-1.7.5/pseudo_client.c +Index: git/pseudo_client.c =================================================================== ---- pseudo-1.7.5.orig/pseudo_client.c -+++ pseudo-1.7.5/pseudo_client.c -@@ -1214,7 +1214,7 @@ pseudo_client_setup(void) { - return 1; +--- git.orig/pseudo_client.c ++++ git/pseudo_client.c +@@ -1282,7 +1282,7 @@ pseudo_client_setup(void) { + } } --#define PSEUDO_RETRIES 50 +-#define PSEUDO_RETRIES 20 +#define PSEUDO_RETRIES 250 static pseudo_msg_t * pseudo_client_request(pseudo_msg_t *msg, size_t len, const char *path) { 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 8881f6e..0000000 --- a/meta/recipes-devtools/pseudo/pseudo/obey-ldflags.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 0ace81a687355a3c55caa161b51972a82f5c413f Mon Sep 17 00:00:00 2001 -From: Christopher Larson <chris_larson@mentor.com> -Date: Mon, 9 May 2016 17:00:57 -0700 -Subject: [PATCH] Obey external LDFLAGS the way we obey CFLAGS - -Upstream-Status: Backport - -Signed-off-by: Christopher Larson <chris_larson@mentor.com> ---- - Makefile.in | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/Makefile.in b/Makefile.in -index 6511814..22ef625 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -109,26 +109,26 @@ pseudo: $(PSEUDO) - $(PSEUDO): $(BIN) pseudo.o $(SHOBJS) $(DBOBJS) pseudo_client.o pseudo_server.o pseudo_ipc.o - $(CC) $(CFLAGS) $(CFLAGS_PSEUDO) -o $(PSEUDO) \ - pseudo.o pseudo_server.o pseudo_client.o pseudo_ipc.o \ -- $(DBOBJS) $(SHOBJS) $(DB_LDFLAGS) $(CLIENT_LDFLAGS) -+ $(DBOBJS) $(SHOBJS) $(LDFLAGS) $(DB_LDFLAGS) $(CLIENT_LDFLAGS) - - pseudolog: $(PSEUDOLOG) - - $(PSEUDOLOG): $(BIN) pseudolog.o $(SHOBJS) $(DBOBJS) pseudo_client.o pseudo_ipc.o - $(CC) $(CFLAGS) $(CFLAGS_PSEUDO) -o $(PSEUDOLOG) pseudolog.o pseudo_client.o pseudo_ipc.o \ -- $(DBOBJS) $(SHOBJS) $(DB_LDFLAGS) $(CLIENT_LDFLAGS) -+ $(DBOBJS) $(SHOBJS) $(LDFLAGS) $(DB_LDFLAGS) $(CLIENT_LDFLAGS) - - pseudodb: $(PSEUDODB) - - $(PSEUDODB): $(BIN) pseudodb.o $(SHOBJS) $(DBOBJS) pseudo_ipc.o - $(CC) $(CFLAGS) $(CFLAGS_PSEUDO) -o $(PSEUDODB) pseudodb.o \ -- $(DBOBJS) $(SHOBJS) pseudo_ipc.o $(DB_LDFLAGS) $(CLIENT_LDFLAGS) -+ $(DBOBJS) $(SHOBJS) pseudo_ipc.o $(LDFLAGS) $(DB_LDFLAGS) $(CLIENT_LDFLAGS) - - libpseudo: $(LIBPSEUDO) - - $(LIBPSEUDO): $(LIB) $(WRAPOBJS) pseudo_client.o pseudo_ipc.o $(SHOBJS) - $(CC) $(CFLAGS) $(CFLAGS_PSEUDO) -shared -o $(LIBPSEUDO) \ - pseudo_client.o pseudo_ipc.o \ -- $(WRAPOBJS) $(SHOBJS) $(CLIENT_LDFLAGS) -+ $(WRAPOBJS) $(SHOBJS) $(LDFLAGS) $(CLIENT_LDFLAGS) - - # *everything* now relies on stuff that's generated in the - # wrapper process. --- -2.8.0 - 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 6710734..0000000 --- a/meta/recipes-devtools/pseudo/pseudo/pseudo-glibc-rtld-next-workaround.patch +++ /dev/null @@ -1,85 +0,0 @@ -We started seeing: - -No real function for mknod: /home/paul/poky_sdk/tmp/sysroots/x86_64- -linux/usr/bin/../lib/pseudo/lib64/libpseudo.so: undefined symbol: mknod -No real function for mknodat: /home/paul/poky_sdk/tmp/sysroots/x86_64- -linux/usr/bin/../lib/pseudo/lib64/libpseudo.so: undefined symbol: mknodat - -In glibc 2.24 they've merged: - -https://sourceware.org/git/?p=glibc.git;a=commit;h=7d45c163d00c88d5875a112343c4ea3e61349e6b -related to bugzilla entry: -https://sourceware.org/bugzilla/show_bug.cgi?id=19509 - -which means that the behaviour of RTLD_NEXT is slightly different. -As far as I can tell, mknod has not been present in glibc for a while. -To quote stat.h: - -/* To allow the `struct stat' structure and the file type `mode_t' - bits to vary without changing shared library major version number, - the `stat' family of functions and `mknod' are in fact inline - wrappers around calls to `xstat', `fxstat', `lxstat', and `xmknod', - which all take a leading version-number argument designating the - data structure and bits used. <bits/stat.h> defines _STAT_VER with - the version number corresponding to `struct stat' as defined in - that file; and _MKNOD_VER with the version number corresponding to - the S_IF* macros defined therein. It is arranged that when not - inlined these function are always statically linked; that way a - dynamically-linked executable always encodes the version number - corresponding to the data structures it uses, so the `x' functions - in the shared library can adapt without needing to recompile all - callers. */ - -so I suspect mknod has not existed for a while, if ever and what we -were finding, who knows. Everying in the system links against _xmknod -which we have a separate wrapper for. - -Anyhow, ignoring that problem which hasn't caused a issue in the past, -the RTLD_NEXT change causes messages to be printed to stdout which causes -carnage if for example the packaging code is expecting a list of packages: - -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). -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). -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). -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). -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). -[etc] - -This bug will affect: -* any distro using glibc 2.24 -* any system using a uninative tarball for glibc 2.24 -* any system which took a backport for the fix which was merged into - the 2.23 branch for a while before it was reverted (Fedora 23 had this) - -The easiest thing to do is to ignore the problem and disable the diag -message which masks the problem with no ill effects. - -As Peter notes, there are a few issues here: - -* the fact there is no mknod symbol -* the fact an error here isn't fatal -* the #ifdef/#else looks suspect -* handle RTLD_NEXT chaining properly (need more libs?) - -which he'll work on upstream and hopefully have fixed in a new version. - -Upstream-Status: Submitted [Peter is aware of the issue] - -RP 2016/5/18 - -Index: pseudo-1.7.5/pseudo_wrappers.c -=================================================================== ---- pseudo-1.7.5.orig/pseudo_wrappers.c -+++ pseudo-1.7.5/pseudo_wrappers.c -@@ -146,9 +146,9 @@ pseudo_init_one_wrapper(pseudo_function - return; - } - #else -- if (e != NULL) { -+ /*if (e != NULL) { - pseudo_diag("No real function for %s: %s\n", func->name, e); -- } -+ }*/ - #endif - } - } 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 d4f1e36..0000000 --- a/meta/recipes-devtools/pseudo/pseudo_1.7.5.bb +++ /dev/null @@ -1,23 +0,0 @@ -require pseudo.inc - -SRC_URI = "http://downloads.yoctoproject.org/releases/pseudo/${BPN}-${PV}.tar.bz2 \ - file://0001-configure-Prune-PIE-flags.patch \ - file://fallback-passwd \ - file://fallback-group \ - file://moreretries.patch \ - file://handle-remove-xattr.patch \ - file://obey-ldflags.patch \ - file://pseudo-glibc-rtld-next-workaround.patch \ - " - -SRC_URI[md5sum] = "c10209938f03128d0c193f041ff3596d" -SRC_URI[sha256sum] = "fd89cadec984d3b8202aca465898b1bb4350e0d63ba9aa9ac899f6f50270e688" - -PSEUDO_EXTRA_OPTS ?= "--enable-force-async --without-passwd-fallback" - -do_install_append_class-native () { - install -d ${D}${sysconfdir} - # The fallback files should never be modified - install -m 444 ${WORKDIR}/fallback-passwd ${D}${sysconfdir}/passwd - install -m 444 ${WORKDIR}/fallback-group ${D}${sysconfdir}/group -} diff --git a/meta/recipes-devtools/pseudo/pseudo_1.8.0.bb b/meta/recipes-devtools/pseudo/pseudo_1.8.0.bb new file mode 100644 index 0000000..9142e6f --- /dev/null +++ b/meta/recipes-devtools/pseudo/pseudo_1.8.0.bb @@ -0,0 +1,19 @@ +require pseudo.inc + +SRCREV = "99eefa567400e894ec1f623ea1628700f1642b5c" +PV = "1.8.0+git${SRCPV}" + +SRC_URI = "git://git.yoctoproject.org/pseudo \ + file://0001-configure-Prune-PIE-flags.patch \ + file://fallback-passwd \ + file://fallback-group \ + file://moreretries.patch \ + file://db-fixes.patch \ + " + +S = "${WORKDIR}/git" + +do_configure_append () { + chmod +x ${S}/ports/unix/subports +} + -- 2.7.4 ^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2016-07-05 12:18 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-07-01 19:30 [PATCH 1/2] pseudo: drop recipe for old 1.6.7 version Joshua Lock 2016-07-01 19:30 ` [PATCH 2/2] pseudo: upgrade to 1.8.0 Joshua Lock 2016-07-04 11:36 ` Alexander Kanavin 2016-07-04 12:10 ` Joshua G Lock 2016-07-04 12:14 ` Alexander Kanavin -- strict thread matches above, loose matches on Subject: below -- 2016-07-05 12:18 [PATCH 0/2] Pseudo upgrade Joshua Lock 2016-07-05 12:18 ` [PATCH 2/2] pseudo: upgrade to 1.8.0 Joshua Lock
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox