* [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 an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.