(v3) [PATCH 0/1] pseudo 1.6.*4*
So, pseudo 1.6.3 had a silly configure bug which could prevent it from configuring under what turn out to be very common circumstances if you're not me doing internal development, and very rare circumstances in my normal pseudo development cycle, and I am not quite sure why it worked at all in my build tests. Basically, "configure ... --prefix=" needed to specify an *existing* directory, or the configure would fail. This is now fixed.
The other changes appear to have survived, and the one chown problem that Mark Hatle ran into turns out to have been a task running outside of pseudo, not a bug in pseudo itself.
Sorry for the mixup with the configure thing. The issue was a naive test:
if [ "$(cd "$opt_prefix"; pwd)" = "$(pwd)" ]; ...
and this fails if the cd doesn't work because pwd is then just the current directory.
The reason this test came into existence is that my usual local-dev habit involves
configure --prefix=~/pseudo/f
("f" being a historical name), and one time I typoed it and it appeared to configure and build, but "make install" failed strangely.
And my normal dev cycle does include nuking that directory, but I tend to first configure, *then* nuke that directory, and that works fine.
This Root Cause Analysis was brought to you by the letters D'OH!
The following changes since commit 0bcc01121e928d0be7a0550e500425852c63cf98:
arch-mips.inc: Add the MIPS ABIEXTENSION to toolchain name (2015-01-21 14:28:43 +0000)
are available in the git repository at:
git://git.yoctoproject.org/poky-contrib seebs/pseudo_164
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=seebs/pseudo_164
Peter Seebach (1):
pseudo_1.6.x.bb/pseudo_git.bb: Pseudo 1.6.4
...do_client.c-protect-pwd_lck-against-magic.patch | 56 ----------
..._util-modify-interface-to-pseudo_etc_file.patch | 70 ------------
...nt.c-support-multiple-directories-in-PSEU.patch | 116 --------------------
.../pseudo/{pseudo_1.6.2.bb => pseudo_1.6.4.bb} | 7 +-
meta/recipes-devtools/pseudo/pseudo_git.bb | 4 +-
5 files changed, 4 insertions(+), 249 deletions(-)
delete mode 100644 meta/recipes-devtools/pseudo/pseudo-1.6.2/0001-pseudo_client.c-protect-pwd_lck-against-magic.patch
delete mode 100644 meta/recipes-devtools/pseudo/pseudo-1.6.2/0002-pseudo_util-modify-interface-to-pseudo_etc_file.patch
delete mode 100644 meta/recipes-devtools/pseudo/pseudo-1.6.2/0003-pseudo_client.c-support-multiple-directories-in-PSEU.patch
rename meta/recipes-devtools/pseudo/{pseudo_1.6.2.bb => pseudo_1.6.4.bb} (57%)PATCH 1/1 pseudo_1.6.x.bb/pseudo_git.bb: Pseudo 1.6.4
pseudo 1.6.3 merges (with some changes) the changes from Peter A. Bigot to make --without-fallback-passwd work. It also adds a proposed fix for Yocto bug #7097, which has passed the obvious tests I could think of.
pseudo 1.6.4 fixes a silly configure bug introduced with 1.6.3.
[YOCTO: #7097]
---
...do_client.c-protect-pwd_lck-against-magic.patch | 56 ----------
..._util-modify-interface-to-pseudo_etc_file.patch | 70 ------------
...nt.c-support-multiple-directories-in-PSEU.patch | 116 --------------------
.../pseudo/{pseudo_1.6.2.bb => pseudo_1.6.4.bb} | 7 +-
meta/recipes-devtools/pseudo/pseudo_git.bb | 4 +-
5 files changed, 4 insertions(+), 249 deletions(-)
delete mode 100644 meta/recipes-devtools/pseudo/pseudo-1.6.2/0001-pseudo_client.c-protect-pwd_lck-against-magic.patch
delete mode 100644 meta/recipes-devtools/pseudo/pseudo-1.6.2/0002-pseudo_util-modify-interface-to-pseudo_etc_file.patch
delete mode 100644 meta/recipes-devtools/pseudo/pseudo-1.6.2/0003-pseudo_client.c-support-multiple-directories-in-PSEU.patch
rename meta/recipes-devtools/pseudo/{pseudo_1.6.2.bb => pseudo_1.6.4.bb} (57%)meta/recipes-devtools/pseudo/pseudo-1.6.2/0001-pseudo_client.c-protect-pwd_lck-against-magic.patch deleted +0 -56
@@ -1,56 +0,0 @@ -From e11468a47369596f57c5e99bd0a3dd58b2c6d5e0 Mon Sep 17 00:00:00 2001 -From: "Peter A. Bigot" <[email protected]> -Date: Sun, 12 Oct 2014 08:27:14 -0500 -Subject: [PATCH 1/3] pseudo_client.c: protect pwd_lck against magic - -While attempting to diagnose unexpected uid/gid assignment I added ---without-passwd-fallback to the pseudo build. This caused build -failures due to inability to lock /etc/passwd. - -Instrumentation revealed that attempts to create the lock file ended up -with pseudo_etc_file() creating the correct lock name, but the -subsequent open had an extra PSEUDO_PASSWD directory prefix causing -it to fail. - -Inspection of pseudo_client shows the only other use of PSEUDO_ETC_FILE -to be protected against magic. Applying the same shield to the -unprotected calls in pseudo_pwd_lck_{open,close} fixes the issue. - -Upstream-Status: Pending -Signed-off-by: Peter A. Bigot <[email protected]> ---- - pseudo_client.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/pseudo_client.c b/pseudo_client.c -index 8deaa1b..442dd19 100644 ---- a/pseudo_client.c -+++ b/pseudo_client.c -@@ -416,20 +416,24 @@ pseudo_pwd_lck_open(void) { - } - } - pseudo_pwd_lck_close(); -+ pseudo_antimagic(); - pseudo_pwd_lck_fd = PSEUDO_ETC_FILE(".pwd.lock", - pseudo_pwd_lck_name, O_RDWR | O_CREAT); -+ pseudo_magic(); - return pseudo_pwd_lck_fd; - } - - int - pseudo_pwd_lck_close(void) { - if (pseudo_pwd_lck_fd != -1) { -+ pseudo_antimagic(); - close(pseudo_pwd_lck_fd); - if (pseudo_pwd_lck_name) { - unlink(pseudo_pwd_lck_name); - free(pseudo_pwd_lck_name); - pseudo_pwd_lck_name = 0; - } -+ pseudo_magic(); - pseudo_pwd_lck_fd = -1; - return 0; - } else { --- -1.8.5.5 -
meta/recipes-devtools/pseudo/pseudo-1.6.2/0002-pseudo_util-modify-interface-to-pseudo_etc_file.patch deleted +0 -70
70 lines not on this page · raw message
meta/recipes-devtools/pseudo/pseudo-1.6.2/0003-pseudo_client.c-support-multiple-directories-in-PSEU.patch deleted +0 -116
116 lines not on this page · raw message
meta/recipes-devtools/pseudo/pseudo_1.6.4.bb renamed from meta/recipes-devtools/pseudo/pseudo_1.6.2.bb +2 -5
@@ -2,15 +2,12 @@ require pseudo.inc SRC_URI = " \ http://www.yoctoproject.org/downloads/${BPN}/${BPN}-${PV}.tar.bz2 \ - file://0001-pseudo_client.c-protect-pwd_lck-against-magic.patch \ - file://0002-pseudo_util-modify-interface-to-pseudo_etc_file.patch \ - file://0003-pseudo_client.c-support-multiple-directories-in-PSEU.patch \ file://fallback-passwd \ file://fallback-group \ " -SRC_URI[md5sum] = "4d7b4f9d1b4aafa680ce94a5a9a52f1f" -SRC_URI[sha256sum] = "c72be92689511ced7c419149c6aaa1b1a9e4dfc6409d1f16ab72cc35bc1e376a" +SRC_URI[md5sum] = "2fb800c90d643bfce55e1ce5ca67f3b3" +SRC_URI[sha256sum] = "25a7528f9191f74cceccc08a90c00086f2b3a9f6b900ea419a4f092de9a06775" PSEUDO_EXTRA_OPTS ?= "--enable-force-async --without-passwd-fallback"
meta/recipes-devtools/pseudo/pseudo_git.bb +2 -2
@@ -1,7 +1,7 @@ require pseudo.inc -SRCREV = "0dc29e7c67f25d0978a7da5cd8965514912c5b36" -PV = "1.6.2+git${SRCPV}" +SRCREV = "41389d4279d6a5f694615906217f481605b183b7" +PV = "1.6.4+git${SRCPV}" DEFAULT_PREFERENCE = "-1"
Signature · 1 line
1.7.1
Re: [PATCH 1/1] pseudo_1.6.x.bb/pseudo_git.bb: Pseudo 1.6.4
Quoted 3 lines · Peter Seebach
pseudo 1.6.4 fixes a silly configure bug introduced with 1.6.3.
Thanks for the quick fix Peter :)
Ross