aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/pseudo
AgeCommit message (Collapse)Author
2016-08-10pseudo: Add nobody user and groupDavis, Michael
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. Signed-off-by: Michael Davis <michael.davis@essvote.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-04pseudo: update git recipe to include xattr perf fixJoshua Lock
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]. Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-04pseudo: backport patch to fix xattr performanceJoshua Lock
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] Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-07-08pseudo: Upgrade to 1.8.1Richard Purdie
* 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 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-07pseudo: drop recipe for old 1.6.7 versionJoshua Lock
Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-06-17pseudo: remove rpath from libpseudo.soEd Bartosh
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] Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-18pseudo: Work around issues with glibc 2.24Richard Purdie
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. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-13pseudo: obey our LDFLAGSChristopher Larson
Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-25pseudo: backport a patch to fix xattr removalJoshua Lock
xattr removal doesn't work in pseudo 1.7.5, backport a patch from pseudo master to fix this. [YOCTO #9324] Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-28pseudo: Increase number of retriesRichard Purdie
Increase number of retries to handle slow exiting servers. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-21pseudo: Fix build when security flags are enabledKhem Raj
filter out PIE options Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-02-10pseudo: uprev to 1.7.5Peter Seebach
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. Signed-off-by: Peter Seebach <peter.seebach@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-16meta: Drop now pointless manual -dbg packagingRichard Purdie
With the autodebug package generation logic, specifically setting FILES_${PN}-dbg isn't needed in most cases, we can remove them. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-23pseudo_1.7.4.bb: fix f*open()Peter Seebach
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.) Signed-off-by: Peter Seebach <peter.seebach@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-06pseudo_1.7.3.bb: New version of pseudoPeter Seebach
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. Signed-off-by: Peter Seebach <peter.seebach@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-07-31pseudo: fix upstream SRC_URI to enable upstream version checkAlexander Kanavin
Previous URI did not allow directory listings. Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-07-20pseudo: 1.6.5 -> 1.6.7Richard Purdie
Adds proper support for fifos, giving performance back to bitbake with the recent logging changes. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-07-08pseudo: Exclude SITEINFO_BITS from checksumsRichard Purdie
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] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-05pseudo 1.6.5: less pointlessly chattyPeter Seebach
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. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-28pseudo_1.6.x.bb/pseudo_git.bb: Pseudo 1.6.4Peter Seebach
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] Signed-off-by: Peter Seebach <peter.seebach@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2014-12-03pseudo: remove older version and patchesSaul Wold
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2014-11-25pseudo: provide fallback passwd and group filesPeter A. Bigot
Normally pseudo is built with --without-passwd-fallback, which requires that somebody provide target passwd and group files. Those come from base-passwd in OE, but base-passwd cannot be built without first invoking operations under pseudo that require getpw*/getgr*. Provide the absolute minimum stub files, matching in content what will eventually be on the target, that can be used in the cases where the target files are not yet available. The requirements for minimum stub are the usernames and groups identified in meta/files/fs-perms.txt. Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2014-11-25pseudo: default --without-passwd-fallbackPeter A. Bigot
No good reason exists to fall back to the build host /etc files when attempting to resolve user and group information. Recipe dependencies should be updated so the correct target files are available. Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2014-11-25pseudo: support multiple search directories in PSEUDO_PASSWDPeter A. Bigot
This makes it possible to use --without-passwd-fallback when building images where the preferred passwd files are not available until after installation has begun. Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2014-11-25pseudo: support --without-passwd-fallback configuration optionPeter A. Bigot
A bug in pseudo 1.6.2 results in lock failures if this option is present. Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2014-10-06pseudo*.bb: update to pseudo 1.6.2Peter Seebach
pseudo 1.6.2 fixes problems with 64-bit inodes and some underlying issues involving file renames that could occasionally cause very strange behaviors files being deleted, linked, or renamed, mostly observed as strange recovery if an inode got reused. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-19pseudo: uprev to 1.6.1Peter Seebach
Pseudo now automatically tries to shut down the server after running single commands under pseudo ("pseudo <cmd>"), which means it can print a useless "server already offline" message in some cases. The message has been changed to a debugging message only. The glibc symbol versions for memcpy were being applied to non-x86 targets, unintentionally, which broke builds for at least some targets. (But pseudo doesn't usually get built for targets so it didn't get noticed right away.) Signed-off-by: Peter Seebach <peter.seebach@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-16pseudo_1.6.0.bb: uprev to pseudo 1.6Peter Seebach
This uprevs pseudo to 1.6. This merges in all of the existing fixes, and also adds partial support for extended attributes, including storing arbitrary extended attributes in the database, and also interpreting the posix permissions ACLs as chmod requests. The extended attribute support means we need xattr.h, the simplest way to be sure of this is to build attr before pseudo, which doesn't take long. Signed-off-by: Peter Seebach <peter.seebach@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-28pseudo: Honor umask againPeter Seebach
The fchmodat-permissions patch was fine for the fchmod case, but had the unintended side effect of disregarding umask settings for open, mknod, mkdir, and their close relatives. Start tracking umask and masking the umask bits out where appropriate. Signed-off-by: Peter Seebach <peter.seebach@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-23pseudo: handle fchmodat better, mask out unwanted write bitsPeter Seebach
It turns out that pseudo's decision not to report errors from the host system's fchmodat() can break GNU tar in a very strange way, resulting in directories being mode 0700 instead of whatever they should have been. Additionally, it turns out that if you make directories in your rootfs mode 777, that results in the local copies being mode 777, which could allow a hypothetical attacker with access to the machine to add files to your rootfs image. We should mask out the 022 bits when making actual mode changes in the rootfs. This patch represents a backport to the 1.5.1 branch of three patches from the 1.6 branch, because it took a couple of tries to get this quite right. Signed-off-by: Peter Seebach <peter.seebach@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2014-03-31pseudo-1.5.1: keep install command directory modeyanjun.zhu
When install command sets the created directory mode, pseudo will change the mode of the directory to 0700 incorrectly. Backport patch to fix it. Signed-off-by: yanjun.zhu <yanjun.zhu@windriver.com> Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-12meta/recipes: Remove virtclass referencesRichard Purdie
The virtclass overrides will go away at some point (apart from the multilib one). Change them all to class-xxx instead since people enjoy copy and pasting them. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-02Replace one-line DESCRIPTION with SUMMARYPaul Eggleton
A lot of our recipes had short one-line DESCRIPTION values and no SUMMARY value set. In this case it's much better to just set SUMMARY since DESCRIPTION is defaulted from SUMMARY anyway and then the SUMMARY is at least useful. I also took the opportunity to fix up a lot of the new SUMMARY values, making them concisely explain the function of the recipe / package where possible. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2013-10-30recipes: Remove PR = r0 from all recipesRichard Purdie
Remove all PR = "r0" from all .bb files in oe-core. This was done with the command sed -e '/^PR.*=.*r0\"/d' recipes*/*/*.bb -i We've switching to the PR server, PR bumps are no longer needed and this saves people either accidentally bumping them or forgetting to remove the lines (r0 is the default anyway). Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-10-29pseudo: fix library path in FILES_${PN}Roy Li
libpseudo.so is always installed into ${prefix}/lib/, not ${libdir}, so fix these paths; and skip libdir WARN_QA checking to ignore the warning in 64bit and multilib enabled system Signed-off-by: Roy Li <rongqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-30pseudo: Fix race problemsRichard Purdie
There is a potential issue with the fastop code in pseudo since a process may exit and allow some other function to run before the server has processed the commands run by the process. Issues have been see with unpredictable file permissions. To avoid this, we ping the server before exitting which guarantees it has processed the current command queue. The patch was written by peter.seebach@windriver.com [YOCTO #5132] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-26pseudo: warn twice if the 32-bit toolchain appears brokenRoss Burton
Putting a warning at the top of do_compile is useful but not everyone reads the file from beginning to end, so use a trap to put the message at the bottom too. [ YOCTO #4919 ] Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-26pseudo: use bbnote/bbwarn instead of echoRoss Burton
In the future bbnote/bbwarn will be integrated into bitbake's logging, so use those functions instead of echo directly. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-20pseudo: force NO32LIB to true for nativesdkRandy MacLeod
The exported SDK only needs simulated root privileges for specific tasks, such as the user-mode NFS server or rootfs extraction, and oe-core does not support multilib builds in the generated SDK, so it is neither necessary nor possible to build a 32-bit libpseudo.so for a 64-bit SDK. [YOCTO #5135] Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06pseudo: fix memory leak and missed privilege dropPeter A. Bigot
qemu.bbclass adds PSEUDO_UNLOAD=1 in qemu_run_binary to avoid reference to pseudo functions that may not exist in the target environment. This patch detects the addition of that variable within the environment to which the call applies, even if not present in the parent environment. As a side effect it fixes a memory leak. [YOCTO #4843] Signed-off-by: Peter A. Bigot <pab@pabigot.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-30remove the unnecessary protocol parametersJackie Huang
It's not necessary to specify the protocol parameter when it's the default protocol for the fetcher, e.g. the default protocol for git fetcher it git, "protocol=git" isn't needed. Signed-off-by: Jackie Huang <jackie.huang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-07-30pseudo: Always try to build 32-bit libpseudo when NO32LIBS is set to 0Peter Seebach
This is for Yocto bug #4920. The NO32LIBS variable is intended to allow the user to force the creation of a 32-bit libpseudo, for use with things like prebuilt binary toolchains. Unfortunately, the tests for likely compilability (stubs-32.h) were still present, so you would get silent failures. And if you did cause it to try to build, the failures were not particularly clearly explained. So, we: 1. Emit at least a message during configuration saying we're only building 64-bit, if we are. 2. Warn the user for at least one common case where we know builds are likely to fail. 3. If NO32LIBS is 0, we try the compile for sure, and if it fails, we've emitted at least some sort of message up near the top of the compile output that tells you what might be wrong. Signed-off-by: Peter Seebach <peter.seebach@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-06-17pseudo: drop version 1.4.5 recipePaul Eggleton
We've been using 1.5.1 for a while now with success, so in line with the OE-Core policy of avoiding multiple versions of the same recipe let's drop this version. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-01Update pseudo to 1.5.1Peter Seebach
pseudo 1.5's enable-force-async works great, unless you use a host where, inexplicably, stat(2) reports inconsistent and changing values for a file's size or times for some time unless a file has been fsynced, in which case you might want a way to cause an fsync to work. Also noticed that some recent changes never made it into the docs, so I did a little cleanup there. And changed the way NDEBUG suppresses pseudo's debug messages, so arguments to them with possible side effects (like calls into functions in another translation unit) can be omitted, which should drastically reduce computational time if anyone ever uses NDEBUG. Signed-off-by: Peter Seebach <peter.seebach@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-02-19pseudo.inc: pseudo 1.5 uprev, support extra config flagsPeter Seebach
The pseudo 1.5 update is a moderately experimental set of changes which ought to improve performance. With these changes, pseudo uses an in-memory sqlite database which is lushed on exit, the protocol is changed to reduce waiting for server responses, and pseudo can suppress any and all fsync/fdatasync type operations. This last feature is optional, and not on by default, so we need to pass in an extra configure argument, but that argument wouldn't be known to an older configure, so... Enter PSEUDO_EXTRA_OPTS which is passed to configure, and which pseudo_1.5.bb sets by default to "--enable-force-async". (I haven't added it in pseudo_git.bb, but maybe it should be changed; I'm not quite as sure there.) The justification for these changes is that, for most of the real-world build cases I deal with, they produce a 25% or more reduction in the build time of a project. This increases when a system is heavily loaded. Signed-off-by: Peter Seebach <peter.seebach@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-13pseudo_1.4.5.bb: Finish fixing linkat()Peter Seebach
The 1.4.4 fix replaced possible double-prepending of chroot paths with possible non-prepending of chroot paths. After significant evaluation, have settled on a single prepending of the chroot path as a workable compromise. Signed-off-by: Peter Seebach <peter.seebach@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-13pseudo_git.bb: Bump to pseudo 1.4.4.Peter Seebach
The pseudo 1.4.2 linkat() implementation had a broken edge case in which you could end up with chroot paths being doubled when using plain link() calls instead of linkat() calls. Signed-off-by: Peter Seebach <peter.seebach@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-08pseudo.inc: Fix sqlite libdir again, pseudo 1.4.3Peter Seebach
This updates to pseudo 1.4.3. Changes: 1. A couple of minor tweaks to reduce difficulties using SDKs built on slightly more recent machines on older machines; specifically, avoiding getting @GLIBC_2.7 symbol references for sscanf(), fscanf(), and open2(). 2. Revision of the logic determining the library directory to use for sqlite's library files. The latter is a source of difficulty because it's come up a few times that we may want pseudo to use lib64 for libpseudo.so, but bitbake's usual setup would have libsqlite3.a in lib regardless of bit width. Cleaned up previous design a bit by providing a distinct setting for sqlite-lib, which defaults to the same library directory used for other things. Adjusted build to use this new setting. (This ends up being ${baselib}; on targets, that might not be lib, but for native builds it generally is, and for SDK builds it appears to do the right thing.) Testing: Successful build of meta-toolchain for both 64-bit and 32-bit SDKMACHINE, and builds with NO32LIBS = "0" also succeeded. Also builds for multilib targets. Signed-off-by: Peter Seebach <peter.seebach@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-11-02recipes-devtools: replace virtclass-native(sdk) with class-native(sdk)Robert Yang
The overrides virtclass-native and virtclass-nativesdk are deprecated, which should be replaced by class-native and class-nativesdk. [YOCTO #3297] Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-09-14pseudo_1.4.1.bb: update to pseudo 1.4.1, fixing 32-bit host problemsPeter Seebach
There were a number of cases where pseudo used plain old stat() to get dev/inode data for files; on 32-bit hosts, this could fail if the files were over 2GB, causing pseudo to prevent removing of large files. This is fixed in 1.4.1. Signed-off-by: Peter Seebach <peter.seebach@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>