Patchwork [0/1] pseudo (1.4.5) -- this time for sure

login
register
mail settings
Submitter Peter Seebach
Date Feb. 13, 2013, 8:20 p.m.
Message ID <cover.1360786008.git.peter.seebach@windriver.com>
Download mbox
Permalink /patch/44617/
State New
Headers show

Pull-request

git://git.yoctoproject.org/poky-contrib seebs/pseudo145

Comments

Peter Seebach - Feb. 13, 2013, 8:20 p.m.
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 <unistd.h>
        #include <stdio.h>
        #include <fcntl.h>
        #include <string.h>
        #include <errno.h>

        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%)