From patchwork Wed Feb 13 20:20:58 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [0/1] pseudo (1.4.5) -- this time for sure Date: Wed, 13 Feb 2013 20:20:58 -0000 From: Peter Seebach X-Patchwork-Id: 44617 Message-Id: To: openembedded-core The question of how many copies of the chroot path should be prepended to paths when calling link() is a challenging one, but after flirtations with 2 (pseudo 1.4.3) and 0 (pseudo 1.4.4) I think I've settled on a reasonable compromise at 1. The underlying logic bug was an under-considered attempt to avoid doing path expansions before calling a *at() function, which might help with relative paths, but doesn't work with a chroot directory. In fact, since we're fully expanding paths (including any fd-relative paths), there's not even areason to use the linkat() syscall to implement this. Retested, and verified against the following trivial test case: #include #include #include #include #include int main(void) { int rc; chdir("/home/seebs/pseudo/r"); chroot("/home/seebs/pseudo/r"); rc = link("/a", "/b"); printf("%d: %d [%s]\n", rc, errno, strerror(errno)); return 0; } I am informed that pseudo 1.4.5.tar.bz2 is in the Yocto project download area already. Sorry for the trouble! The following changes since commit bbcd8b344598850ea2c8d3ad375c519713581fde: Chen Qi (1): busybox: add config fragments are available in the git repository at: git://git.yoctoproject.org/poky-contrib seebs/pseudo145 http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=seebs/pseudo145 Peter Seebach (1): pseudo_1.4.5.bb: Finish fixing linkat() .../pseudo/{pseudo_1.4.4.bb => pseudo_1.4.5.bb} | 4 ++-- meta/recipes-devtools/pseudo/pseudo_git.bb | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) rename meta/recipes-devtools/pseudo/{pseudo_1.4.4.bb => pseudo_1.4.5.bb} (43%)