summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/pseudo
Commit message (Collapse)AuthorAgeFilesLines
* pseudo: Fix attr errors due to incorrect library resolution issuesRichard Purdie2020-07-022-0/+55
| | | | | | | | | | | | | | | | | | | | | | | | | On a tumbleweed system, "install X Y" was showing the error: pseudo: ENOSYS for 'fsetxattr'. which was being caused by dlsym() for that function returning NULL. This appears to be due to it finding an unresolved symbol in libacl for this symbol in libattr. It hasn't been resolved so its NULL. dlerror() returns nothing since this is a valid symbol entry, its just not the one we want. We can add the glibc version string for the symbol we actually want so we get that version rather than the libattr/libacl one. The calls in libattr are just wrappers around the libc version so our attaching to the libc versions should intercept any accesses via these too. [YOCTO #13952] (From OE-Core rev: 60ae9e6d31dcfc06961fedf7622a204162d3f464) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 82655cb26ad01de9587ef41eaef155c61c361f67) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: Fix enum typedefJacob Kroon2020-05-222-0/+32
| | | | | | | | | | | | | 'pseudo_access_t' is a type, so use typedef. Fixes building pseudo with gcc 10 where -fno-common is the default. (From OE-Core rev: 2093769199ecc3d1e474bea5ec6e8b193f6f8ea3) Signed-off-by: Jacob Kroon <jacob.kroon@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: add macro guard for seccompKai Kang2020-05-071-1/+14
| | | | | | | | | | | | | | | | | | It fails to compile pseudo-native on centos 7: | ports/linux/pseudo_wrappers.c: In function ‘prctl’: | ports/linux/pseudo_wrappers.c:129:14: error: ‘SECCOMP_SET_MODE_FILTER’ undeclared (first use in this function) | if (cmd == SECCOMP_SET_MODE_FILTER) { | ^ Add macro guard for the definition to avoid the failure. (From OE-Core rev: 9fff03afb8e67b360042e80fda8213a67472b9ec) Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: During DB fix, remove files that do not existRicardo Ribalda Delgado2020-04-062-0/+50
| | | | | | | | | | | | If a file does not exist, either because it has been removed outside bitbake, or because only some of the files have been moved to a different location, delete it from the pseudo-db is the user decides to fix the database. (From OE-Core rev: 79f7212ae71a4eb9e7abfe2c333b035ccc10e5c5) Signed-off-by: Ricardo Ribalda Delgado <ricardo@ribalda.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: Force seccomp to return success when in fact doing nothingRichard Purdie2020-04-062-0/+125
| | | | | | | | | | | | | | Pseudo changes the syscall access patterns which makes it incompatible with seccomp. Therefore intercept the seccomp syscall and alter it, pretending that seccomp was setup when in fact we do nothing. If we error as unsupported, utilities like file will exit with errors so we can't just disable it. This works around issues on platforms where seccomp is enabled in file (e.g. archlinux). (From OE-Core rev: bc895522eb940539a0e3cb6192c4a64f13ca8d6a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: Ensure we use our own libsqliteRichard Purdie2020-03-311-0/+2
| | | | | | | | | | | | | | | | | | | pseudo-native is special in that bitbake ends up executing it from the sysroot-components directory before we have any workdirs for the bitbake fakeroot worker. Since we switched to dynamically linking sqlite, it means sqlite from the host system may be found, we really want the version in sysroot-components. Trying to run tasks to create some special environment for pseudo is hard and error prone. The simplest fix is to add an RPATH to the binary so that it can correctly find the sqlite we want. Unfortunately passing $ORIGIN into make doesn't work so well with shell quoting so we have to fix that during do_install. [YOCTO #13814] (From OE-Core rev: 3937ca9e2dfabb1ce9bce1d536b60b1e2a43739b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: adjust for attr 2.4.48Alexander Kanavin2020-01-162-0/+49
| | | | | | | (From OE-Core rev: 5273df4e142b230636f1b90d0e48986c178472d6) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: Make realpath() remove trailing slashesRobert Yang2019-12-302-0/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Linux system's realpath() remove trailing slashes, but pseudo's doesn't, need make them identical. E.g., the following code (rel.c) prints '/tmp' with system's realpath, but pseudo's realpath prints '/tmp/': #include <stdio.h> #include <limits.h> #include <stdlib.h> int main() { char out[PATH_MAX]; printf("%s\n", realpath("/tmp/", out)); return 0; } $ bitbake base-passwd -cdevshell # For pseudo env $ gcc rel.c $ ./a.out /tmp/ (but should be /tmp) This patch fixes the problem. (From OE-Core rev: 319bbf66e03377adf2db7efa93ef578e3460eb38) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: Drop static linking to sqlite3Richard Purdie2019-11-101-15/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: a0c238d40a9cc1f87da0607fddaaef0c31d93720) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: Add statx support to fix fedora30 issuesRichard Purdie2019-11-072-0/+107
| | | | | | | | | | 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: 11694eb59bea347085d6e389df0b46826219c0d3) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: use python 3 during buildsAlexander Kanavin2019-09-012-0/+35
| | | | | | | (From OE-Core rev: 7c2acbd4dff976e8def1e16c6631f9ab74503cae) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* world-broken.inc: RemoveAdrian Bunk2019-08-281-0/+2
| | | | | | | | | | | | | Move still required entries as COMPATIBLE_HOST_libc-musl = 'null' to individual recipes. This also gives users a proper error message when trying to build a known non-building package. (From OE-Core rev: 8bbb17d2dcafa9b4e26941a55932f4be2782e1d1) Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: Fix openat() with a symlink pointing to a directoryJason Wessel2019-08-072-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <sys/stat.h> #include <dirent.h> #include <unistd.h> #include <fcntl.h> 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", &sbuf) && 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 >= 0) { if (fstat(ofd, &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", &sbuf) && 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: a98ea4be5ce19ff380ca500ba1ef3da490ec4556) Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: Update to gain key bugfixesRichard Purdie2019-04-111-1/+1
| | | | | | | | | | | | | | | | 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 <richard.purdie@linuxfoundation.org>
* pseudo: fix link of sqlite3 using pkg-configJens Rehsack2018-11-203-37/+16
| | | | | | | | | | | | | | | | 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 <sno@netbsd.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: fix link with new sqlite3Ross Burton2018-11-142-0/+34
| | | | | | | | | | 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 <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: update to latest HEADRoss Burton2018-09-211-1/+1
| | | | | | | | | | 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 <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: use latest SRCREVMartin Jansa2018-04-231-1/+1
| | | | | | | | | | | | | | | * 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 <Martin.Jansa@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: Upgrade to latest masterRichard Purdie2018-04-031-1/+1
| | | | | | | | | | | | | | | 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 <richard.purdie@linuxfoundation.org>
* pseudo: explicitly enable xattr supportAndreas Kaufmann2018-03-281-1/+1
| | | | | | | | | | | | | | | | | | | 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 & 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 <andreas.kaufmann.79@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: update to latest masterAlexander Kanavin2018-03-048-554/+34
| | | | | | | | | | | | | | | | | | | | | | Dropped patches: 0001-Use-epoll-API-on-Linux.patch replaced by http://git.yoctoproject.org/cgit/cgit.cgi/pseudo/commit/?id=0a3e435085046f535074f498a3de75a7704fb14c (also add --enable-epoll to configure options) b6b68db896f9963558334aff7fca61adde4ec10f.patch merged upstream efe0be279901006f939cd357ccee47b651c786da.patch merged upstream fastopreply.patch replaced by http://git.yoctoproject.org/cgit/cgit.cgi/pseudo/commit/?id=449c234d3030328fb997b309511bb54598848a05 toomanyfiles.patch rebased (From OE-Core rev: 7c3df6782bbd5b623dcb6ee8a9bc914926640cdd) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: Add fastop reply fixRichard Purdie2017-09-253-6/+80
| | | | | | | | | | | | | | This changes the pseudo FASTOP functionality so that a reply to the operation is required. This means we then cannot lose data if a connection is closed. This in turn stops corruption if we run out of file handles and have to close connections. This tweaks the connection closure patch to update the comment there which is now outdated. (From OE-Core rev: eb49d50b4c342069087886f2aac546805647c066) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: use epoll API on LinuxAlexander Kanavin2017-09-252-0/+293
| | | | | | | | | | | | The idea came up here: https://bugzilla.yoctoproject.org/show_bug.cgi?id=11309 and here: http://lists.openembedded.org/pipermail/openembedded-core/2017-August/141491.html (From OE-Core rev: 7fb4661b4e4c839b60975c3b8b0b163e1f84ab2e) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: Handle too many files deadlockRichard Purdie2017-06-222-0/+63
| | | | | | | | | | | | | | If we have large amounts of parallelism, pseudo can end up with too many open connections and will no longer accept further connections, hanging. This patch works around that by closing some clients, allowing turnover of connections and unblocking the system. The downside is a small but theoretical window of data loss. This is likely better than locking up entirely though. Discussions with Peter are onging about how we could better fix this. (From OE-Core rev: f3589f154dad1c92e599737623d392508810ae7e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: Backport two upstream fixesRichard Purdie2017-04-143-0/+149
| | | | | | | | | Backport fixes from pseudo master for an acl issue and more importantly, a segfault issue with bash which can be triggered by the recent useradd changes. (From OE-Core rev: 949214761998a93fc6b8b009f1cdad0db3bfa5db) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* base-passwd/useradd: Various improvements to useradd with RSSRichard Purdie2017-04-141-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently there are multiple issues with useradd: * If base-passwd rebuilds, it wipes out recipe specific user/group additions to sysroots and causes errors * If recipe A adds a user and recipe B depends on A, it can't see any of the users/groups A adds. This patch changes base-passwd so it always works as a postinst script within the sysroot and copies in the master files, then runs any postinst-useradd-* scripts afterwards to add additional user/groups. The postinst-useradd-* scripts are tweaked so that if /etc/passwd doesn't exist they just exit, knowning they'll be executed later. We also add a dummy entry to the dummy passwd file from pseudo so we can avoid this too. There is a problem where if recipe A adds a user and recipe B depends on A but doesn't care about users, it may not have a dependency on the useradd/groupadd tools which would therefore not be available in B's sysroot. We therefore also tweak postinst-useradd-* scripts so that if the tools aren't present we simply don't add users. If you need the users, you add a dependency on the tools in the recipe and they'll be added. We add postinst-* to SSTATE_SCAN_FILES since almost any postinst script of this kind is going to need relocation help. We also ensure that the postinst-useradd script is written into the sstate object as the current script was only being added in a recipe local way. Thanks to Peter Kjellerstedt <pkj@axis.com> and Patrick Ohly for some pieces of this patch. [Yocto #11124] (From OE-Core rev: 1b5afaf437f7a1107d4edca8eeb668b9618a5488) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: update to 1.8.2Joshua Lock2017-02-159-392/+13
| | | | | | | | | | | Update to the newly minted 1.8.2, dropping several patches we'd backported since the last release. (From OE-Core rev: 6437f14c9177fd7ec7a9b6bca873362b0c94abfb) Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: include fix for xattr corruptionPatrick Ohly2016-11-303-1/+39
| | | | | | | | | | | pseudo_1.8.1.bb gets the backported patch and pseudo_git.bb gets updated to include the commit. (From OE-Core rev: 4e98f3a6e6f61d9d9037ac828b9c4869f7e11458) Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: backport a patch to fix renameat()Joshua Lock2016-10-072-0/+65
| | | | | | | | | | | | renameat calls under pseudo were losing extended attributes. Backport the fix for this from pseudo upstream. [YOCTO '10349] (From OE-Core rev: 16f6b020ebea49f012f2e65997a8d464f94d6605) Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: quiet diagnostics during startup for pseudo -dRobert Yang2016-10-013-0/+109
| | | | | | | | | | | | When the client spawns a pseudo server, it starts out sending diagnostics to stderr. This can be spammy in some cases with races during startup; everything resolves, but we get scary-looking diagnostics. So shove those into a log file. (From OE-Core rev: efd0b0f604f9f498b9c20bc9a25708c493aa4f4a) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: Fix problem where pseudo could kill a container initMark Hatle2016-09-243-1/+50
| | | | | | | | | | | | | | | | | | In a heavily loaded container, the child process might not started before the parent process had terminated. The child process attempts to signal the parent with SIGUSR1. If the parent had terminated, the parent becomes PID 1, which is generally init. When it signaled pid 1, it caused the docker mini-init to terminate. This doesn't happen in a traditional system, as systemd/sysvinit is protected to only root users can signal it. [YOCTO #10324] (From OE-Core rev: f6f13b049e8683d2a2af3e120ba979b58f9a7d9a) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: Add nobody user and groupDavis, Michael2016-08-102-0/+2
| | | | | | | | | | | | Nodejs expects the user and group nobody to exist on global install commands. The target build works as base-passwd contained it, however the fallback passwd did not. This broke the SDK if nodejs was included. (From OE-Core rev: 40b89061c1efe8c150c1ac0886616d1b6facc2a0) Signed-off-by: Michael Davis <michael.davis@essvote.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: update git recipe to include xattr perf fixJoshua Lock2016-08-041-1/+1
| | | | | | | | | | | | Update the SRCREV to 2 commits beyond the 1.8.1 tag (to the current HEAD) in order to include a fix for the xattr performance regression [YOCTO #9929]. (From OE-Core rev: 94eb2552cdcbe99ba684780c9a6fbbbe7328c906) Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: backport patch to fix xattr performanceJoshua Lock2016-08-042-0/+118
| | | | | | | | | | | | | | | | | | In the 1.8 series of pseudo extended attribute handling was reworked to be a property of inodes, not paths, and as a product fixed extended attribute semantics on hardlinks. Unfortunately this rework introduced a slow path around file deletion. Add a patch for use by the pseudo 1.8.1 recipe which backports a fix for this regression from the master branch of pseudo. [YOCTO #9929] (From OE-Core rev: 75627af164f027de0036b91854e9b926de786bcd) Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: Upgrade to 1.8.1Richard Purdie2016-07-088-206/+34
| | | | | | | | | | | * Drop patches where the changes exist upstream * Fetch from git as no tarball is available for 1.8.1 * Move common code to pseudo.inc * Update patchset in git recipe (From OE-Core rev: 0c36984d4c501d12fa91cf7371511641585cc256) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: drop recipe for old 1.6.7 versionJoshua Lock2016-07-081-19/+0
| | | | | | | (From OE-Core rev: 66cda3c6a281fd06e787ddbeb03f4796aae0feb8) Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: remove rpath from libpseudo.soEd Bartosh2016-06-171-0/+1
| | | | | | | | | | | | | | | | | Setting rpath causes clash of host and sdk libc and makes pseudo to crash with relocation error: libpthread.so.0: symbol __libc_vfork, version GLIBC_PRIVATE not defined in file libc.so.6 with link time reference Removing rpath fixes this as it makes pseudo to use only host pthread and libc. [YOCTO #9761] (From OE-Core rev: be5c943e82a21d3ef2dfaaa5b41b6a2814f2fb19) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: Work around issues with glibc 2.24Richard Purdie2016-05-182-0/+86
| | | | | | | | | | | There are issues with a change made to RTLD_NEXT behaviour in glibc 2.24 and that change was also backported to older glibc versions in some distros like Fedora 23. This adds a workaround whilst the pseudo maintainer fixes various issues properly. (From OE-Core rev: 21c38a091c4a1917f62a942c4751b0fd11dce340) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: obey our LDFLAGSChristopher Larson2016-05-142-8/+58
| | | | | | | (From OE-Core rev: fc04eae73cb99d3783b09d062120a9b7dc95210a) Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: backport a patch to fix xattr removalJoshua Lock2016-03-262-0/+37
| | | | | | | | | | | | xattr removal doesn't work in pseudo 1.7.5, backport a patch from pseudo master to fix this. [YOCTO #9324] (From OE-Core rev: e4f6156ffdc840e99b546369493aaf37c4856b3b) Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: Increase number of retriesRichard Purdie2016-02-282-0/+20
| | | | | | | | Increase number of retries to handle slow exiting servers. (From OE-Core rev: 2d70c2afce9d121db98296bce275be956bf13137) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: Fix build when security flags are enabledKhem Raj2016-02-212-0/+45
| | | | | | | | | filter out PIE options (From OE-Core rev: 138fdeacb822705f9d3d363753f93ff653e7928b) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: uprev to 1.7.5Peter Seebach2016-02-102-4/+4
| | | | | | | | | | | | This uprev adds various improvements with regards to the server spawn logic, and also sorts xattrs to work around a bug in one of the mkfs utilities. (From OE-Core rev: 4bd658f7dae76ae8790fd1dfdd89fa58a456a0a4) Signed-off-by: Peter Seebach <peter.seebach@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: Drop now pointless manual -dbg packagingRichard Purdie2015-12-161-1/+0
| | | | | | | | | With the autodebug package generation logic, specifically setting FILES_${PN}-dbg isn't needed in most cases, we can remove them. (From OE-Core rev: 3ab59d49dd7c18e194b58d1248b4b87709b5a738) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo_1.7.4.bb: fix f*open()Peter Seebach2015-09-242-4/+4
| | | | | | | | | | | | The 0600 modes were coming from fopen/freopen/etc., because those don't specify a filesystem mode (just an access mode like "r" or "w"). Use 0666 & ~umask. (And then the PSEUDO_FS_MODE macro masks in the 0600 bits we want to be sure are present.) (From OE-Core rev: fb6623e7b9f97dcd6749e441185e4183b9953171) Signed-off-by: Peter Seebach <peter.seebach@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo_1.7.3.bb: New version of pseudoPeter Seebach2015-09-062-2/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pseudo 1.7 adds an experimental feature (which I think needs more testing before it becomes the default) allowing the pseudo client to store modes and uid/gid values in extended attributes rather than using the sqlite database. On most Linux-like systems, this works only if the underlying file is a plain file or a directory. Also added is a profiling feature to allow some amount of reporting on the wall-clock time the client spends in wrappers, processing operations, or in IPC. This feature is not intendeded to be precisely accurate, but gives a good overview of where time is going. Based on the results from the profiling feature, the client now suppresses OP_OPEN and OP_EXEC messages if the server is not logging messages, and no longer uses constant dynamic allocation and free cycles for canonicalized paths. There's a few other likely-looking optimizations being considered, but this seemed like a good cutoff for now. 1.7.1 fixes two bugs, one affecting mostly XFS systems with 64-bit inode values, and one affecting code that called realpath(x, NULL), such as the RPM backend. 1.7.2 fixes an indirect side-effect of the chmod fixes to deal with umask 0700, which had no effect with opkg 0.2.4 but appears to cause failures with 0.3.0. 1.7.3 prevents mkdirat() (and mkfifoat()) from setting errno on success, because glibc's localedef inexplicably errors out if errno was set, even if the operation's actual return code (which it tests) indicated success. (From OE-Core rev: 8402958cd2cb87b8283c8ee4e2d08e1a6717d67a) Signed-off-by: Peter Seebach <peter.seebach@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: fix upstream SRC_URI to enable upstream version checkAlexander Kanavin2015-08-011-1/+1
| | | | | | | | | | Previous URI did not allow directory listings. (From OE-Core rev: c0f5e92be2da10898a73470f92284802d00908e4) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: 1.6.5 -> 1.6.7Richard Purdie2015-07-211-2/+2
| | | | | | | | | Adds proper support for fifos, giving performance back to bitbake with the recent logging changes. (From OE-Core rev: 0295947a2ccc66037f9c20f06b4b69a781a046bd) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: Exclude SITEINFO_BITS from checksumsRichard Purdie2015-07-091-0/+2
| | | | | | | | | | | | | We really want the same sstate checksums for pseudo-native on 32 and 64 bit platforms but the use of SITEINFO_BITS prevents this. Since other things would change if the bit size changes, we can safely exclude this variable and rely on others (e.g. BUILD_ARCH included in WORKDIR) to handle this. [YOCTO #5970] (From OE-Core rev: 4caf6187bb52d4f6f92ea0959e90339b82ac92b8) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo 1.6.5: less pointlessly chattyPeter Seebach2015-05-052-4/+4
| | | | | | | | | | | | | | | There was a stupid logic error controlling the diagnostic for a "possible" mismatch involving trailing slashes and whether or not a node was believed to be a directory. Specifically, a diagnostic got printed any time a lookup for a directory *didn't* have a trailing slash, as well as in the (actually intended) case where a non-directory lookup *did*. No other changes, but that one is probably significant. (From OE-Core rev: f1d086bb7204ad37160e814eaf2504dc867cabff) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>