<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/poky.git/meta/recipes-devtools/pseudo, branch warrior-21.0.3</title>
<subtitle>Mirror of git.yoctoproject.org/poky</subtitle>
<id>https://git.enea.com/cgit/linux/poky.git/atom?h=warrior-21.0.3</id>
<link rel='self' href='https://git.enea.com/cgit/linux/poky.git/atom?h=warrior-21.0.3'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/'/>
<updated>2019-11-18T14:42:13+00:00</updated>
<entry>
<title>pseudo: Add statx support to fix fedora30 issues</title>
<updated>2019-11-18T14:42:13+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2019-11-06T13:20:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=bf363493fec990eaf7577769f1862d439404bd10'/>
<id>urn:sha1:bf363493fec990eaf7577769f1862d439404bd10</id>
<content type='text'>
Modern distros (e.g. fedora30) are starting to use the new statx() syscall through
the newly exposed glibc wrapper function in software like coreutils (e.g. the ls
command). Add support to intercept this to pseudo.

(From OE-Core rev: 1c09e45f966d553f1fea3795ef9122dd9957be67)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
[Fixup for warrior context]
Signed-off-by: Armin Kuster &lt;akuster808@gmail.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>pseudo: Drop static linking to sqlite3</title>
<updated>2019-11-18T14:42:13+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2019-11-08T14:36:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=9ee90898161f079e012c40753f415d1debed5bb6'/>
<id>urn:sha1:9ee90898161f079e012c40753f415d1debed5bb6</id>
<content type='text'>
Back in 2010[1] we made pseudo statically link against sqlite3. Since then
the world has changed, pseudo now has separate processes for the database
in the server and the client and they have separate linking commands.

Also, whilst there were concerns about needing specific versions of sqlite3,
in the OE environment, this is always the case.

[1] http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=ad0ac0ecd38fc77daf42485489fccc10a5e1e3e7

The static sqlite3-native is causing us problems, in particular:

tmp/work/x86_64-linux/pseudo-native/1.9.0+gitAUTOINC+060058bb29-r0/recipe-sysroot-native/usr/lib/libsqlite3.a(sqlite3.o):(.data.rel+0xb0): undefined reference to `fcntl64'

which occurs if sqlite3-native was built on a machine with glibc 2.28 or later
and pseudo-native is being built on glibc before that. With dyanmical linking,
libc is backwards compatible and works but with static linking it does not.

There appears to be no easy way to avoid this other than adding a copy of
sqlite3 into the pseudo recipe. Given the static linking doesn't seem to
be required any longer due to the separate processes, drop that to fix
those issues.

(From OE-Core rev: c8c13ceafa3b12d2676b86182cb422681d465004)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
Signed-off-by: Armin Kuster &lt;akuster808@gmail.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>pseudo: Fix openat() with a symlink pointing to a directory</title>
<updated>2019-11-18T14:42:13+00:00</updated>
<author>
<name>Jason Wessel</name>
<email>jason.wessel@windriver.com</email>
</author>
<published>2019-08-05T16:32:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=d487ce8829de6502a0db2ba1bdcc86208e601fed'/>
<id>urn:sha1:d487ce8829de6502a0db2ba1bdcc86208e601fed</id>
<content type='text'>
While working with ostree disk generation in conjunction with wic, I
found a problem with pseudo where it tried to resolve a symlink when
it shouldn't, based on openat() flags. A C program has been
constructed to test pseudo to show that it is working properly with
the correct behavior around openat().

 #include &lt;stdio.h&gt;
 #include &lt;stdlib.h&gt;
 #include &lt;sys/types.h&gt;
 #include &lt;sys/stat.h&gt;
 #include &lt;dirent.h&gt;
 #include &lt;unistd.h&gt;
 #include &lt;fcntl.h&gt;

int main()
{
    /*
     * Tested with: gcc -Wall -o app app.c ; echo "no pseudo" ;
     * ./app ; echo "pseudo"; pseudo ./app
     */
    system("rm -rf tdir tlink");
    system("mkdir tdir");
    system("ln -s tdir tlink");
    DIR *dir = opendir(".");
    int dfd = dirfd(dir);

    int target_dfd = openat (dfd, "tlink", O_RDONLY | O_NONBLOCK |
                             O_DIRECTORY | O_CLOEXEC | O_NOFOLLOW);
    if (target_dfd == -1) {
        printf("Test 1 good\n");
    } else {
        printf("Test 1 failed\n");
        close(target_dfd);
    }
    target_dfd = openat (dfd, "tlink", O_RDONLY | O_NONBLOCK |
                         O_DIRECTORY | O_CLOEXEC);
    if (target_dfd == -1) {
        printf("Test 2 failed\n");
    } else {
        printf("Test 2 good\n");
        close(target_dfd);
    }
    /* Test 3 make sure the owner of the link is root  */
    struct stat sbuf;
    if (!lstat("tlink", &amp;sbuf) &amp;&amp; sbuf.st_uid == 0) {
        printf("Test 3 good\n");
    } else {
        printf("Test 3 failed\n");
    }
    /* Test 4 tests open with the "rb" flag, owner should not change */
    int ofd = openat(dfd,"./tlink", O_RDONLY|O_CLOEXEC);
    if (ofd &gt;= 0) {
        if (fstat(ofd, &amp;sbuf) != 0)
            printf("ERROR in fstat test 4\n");
        else if (sbuf.st_uid == 0)
            printf("Test 4 good\n");
        close(ofd);
    } else {
        printf("Test 4 failed with openat()\n");
    }
    /* Test pseudo db to see the fstat() above did not delete the DB entry */
    if (!lstat("tlink", &amp;sbuf) &amp;&amp; sbuf.st_uid == 0)
        printf("Test 5 good\n");
    else
        printf("Test 5 failed... tlink is owned by %i and not 0\n", sbuf.st_uid);
    return 0;
}

int main()
{
    /* Tested with: gcc -Wall -o app app.c ; echo "no pseudo" ; ./app ; echo "pseudo"; pseudo ./app */
    system("rm -rf tdir tlink");
    system("mkdir tdir");
    system("ln -s tdir tlink");
    DIR *dir = opendir(".");
    int dfd = dirfd(dir);

    int target_dfd = openat (dfd, "tlink", O_RDONLY | O_NONBLOCK | O_DIRECTORY | O_CLOEXEC | O_NOFOLLOW);
    if (target_dfd == -1) {
        printf("This is right\n");
    } else {
        printf("This is broken\n");
    }
    return 0;
}

Many thanks to Peter Seebach for fixing the problem in the pseudo code
to use the same logic which was already there for the
AT_SYMLINK_NOFOLLOW.

Also updated is the license MD5 checksum since the master branch of
pseudo has had the SPDX data updated.

(From OE-Core rev: d1788e865d9bcd70b36d0f239647aeffb0ea8b85)

Signed-off-by: Jason Wessel &lt;jason.wessel@windriver.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
Signed-off-by: Armin Kuster &lt;akuster808@gmail.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>pseudo: Update to gain key bugfixes</title>
<updated>2019-04-11T20:12:48+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2019-04-10T23:07:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=cef43d10bdadb3d492293177d8e6edf9cf313d29'/>
<id>urn:sha1:cef43d10bdadb3d492293177d8e6edf9cf313d29</id>
<content type='text'>
Newer distros are using new versions of glibc and coreutils which use the new glibc
renameat2 function. We need to intercept this for correct functioning of pseudo. This
is essential to ensure new distros continue to work with the project.

Also, this version has a fix for path/inode cross corruption problems which
may explain our mysterious locale permissions issues.

Many thanks to Otavio and Peter Seebach for the help in figuring this out and
fixing it.

(From OE-Core rev: 0fb257121b68f38b40c078150db8f7d0979b7ea5)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>pseudo: fix link of sqlite3 using pkg-config</title>
<updated>2018-11-20T10:32:16+00:00</updated>
<author>
<name>Jens Rehsack</name>
<email>sno@netbsd.org</email>
</author>
<published>2018-11-18T18:36:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=1d8a8e36b99827e01aaa834f39be6db17a05a4bf'/>
<id>urn:sha1:1d8a8e36b99827e01aaa834f39be6db17a05a4bf</id>
<content type='text'>
If sqlite3 is built with FTS5 it uses log() from libm, it sqlite3 is built
with READLINE it uses tgetent from a curses lib and readline from libreadline,
if it is built using deflate from libz ... , but all that linkage is lost
if we manually statically link so explicitely extract extra static linking
options from pkg-config and force them into pseudo as well.

This commit obsoletes (so include the implicit revert)
    e39fec613d pseudo: fix link with new sqlite3

(From OE-Core rev: 042af406583acc091ef82c3d1dcedd41315046de)

Signed-off-by: Jens Rehsack &lt;sno@netbsd.org&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>pseudo: fix link with new sqlite3</title>
<updated>2018-11-14T11:14:39+00:00</updated>
<author>
<name>Ross Burton</name>
<email>ross.burton@intel.com</email>
</author>
<published>2018-11-06T12:24:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=e39fec613d52324a4ae415a0c544612a8da4af3b'/>
<id>urn:sha1:e39fec613d52324a4ae415a0c544612a8da4af3b</id>
<content type='text'>
If sqlite3 is built with FTS5 it uses log() from libm, but that linkage is lost
if we manually statically link so explicitly link to libm.

(From OE-Core rev: b24a67217d82f225e76fbc2dfb70dd8e1a6ea215)

Signed-off-by: Ross Burton &lt;ross.burton@intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>pseudo: update to latest HEAD</title>
<updated>2018-09-22T01:45:47+00:00</updated>
<author>
<name>Ross Burton</name>
<email>ross.burton@intel.com</email>
</author>
<published>2018-09-20T21:18:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=2e554563c37237649305803b2f1f835fee2ba6da'/>
<id>urn:sha1:2e554563c37237649305803b2f1f835fee2ba6da</id>
<content type='text'>
This incorporates two fixes for large inodes, which hopefully solves some of the
rare mysterious behaviour.

(From OE-Core rev: 6921e7f91eb646a2b7b865eccd91552825a4ab78)

Signed-off-by: Ross Burton &lt;ross.burton@intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>pseudo: use latest SRCREV</title>
<updated>2018-04-23T16:26:04+00:00</updated>
<author>
<name>Martin Jansa</name>
<email>martin.jansa@gmail.com</email>
</author>
<published>2018-04-20T08:25:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=a2a7ce7b68c290b02d886dc53ab3f0570e61c5e7'/>
<id>urn:sha1:a2a7ce7b68c290b02d886dc53ab3f0570e61c5e7</id>
<content type='text'>
* the pseudo.log is significantly shorter with this revision

fddbe85 Fix symlink following errors
3a48dc4 Fix one more stray slash
691a230 Less chatty debugging
0c053e5 Change copyright default.

(From OE-Core rev: 935542f96c0706a6c5f9b0a77fce175733995f49)

Signed-off-by: Martin Jansa &lt;Martin.Jansa@gmail.com&gt;
Signed-off-by: Ross Burton &lt;ross.burton@intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>pseudo: Upgrade to latest master</title>
<updated>2018-04-03T22:53:19+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2018-03-30T13:18:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=5b68f72e590546958a742f64f3501f1abaa22267'/>
<id>urn:sha1:5b68f72e590546958a742f64f3501f1abaa22267</id>
<content type='text'>
This change includes several bug fixes and improvements, including better path
handling (the existance of . and .. for files), handling of the sticky bit, and
syscall renameat2 handling and interception through syscall() which was breaking
coreutils mv operations on fedora27.

[YOCTO #12594]
[YOCTO #12379]
[YOCTO #11643]

(From OE-Core rev: ddbcb88849d5c07a4cbbdc90fa1ab4d369476f8a)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>pseudo: explicitly enable xattr support</title>
<updated>2018-03-28T11:09:51+00:00</updated>
<author>
<name>Andreas Kaufmann</name>
<email>andreas.kaufmann.79@gmail.com</email>
</author>
<published>2018-03-22T16:06:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=044ad48c53ded84a636f4e7e3c9903fff22b7b83'/>
<id>urn:sha1:044ad48c53ded84a636f4e7e3c9903fff22b7b83</id>
<content type='text'>
Pseudo is using a custom configure script that detects if it shall build with
extended file attribute support or not. The check is done by simply calling
'getfattr' provided by attr-native which is not part of the dependency list.
Due to the recent changes (recipe specific sysroot &amp; cleanup of $PATH) this
call fails now when the recipe is being build for the first time (at least
when being build for nativesdk case). Explicitly setting up a dependency to
attr-native just to satisfy configure would be wrong also since the real
dependency is to attr/nativesdk-attr which are already part of the dependency
list (see DEPENDS). Therefore bypass the test in the configure by explicitly
enabling xattr using a configure option available in any case.

(From OE-Core rev: a7381eb16ba2183ed990a009bb8e82b4702f3d98)

Signed-off-by: Andreas Kaufmann &lt;andreas.kaufmann.79@gmail.com&gt;
Signed-off-by: Ross Burton &lt;ross.burton@intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
</feed>
