| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
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 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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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]
(From OE-Core rev: 67298d4fe6d96692a4e0578a44cc1a0bbf2cdc2b)
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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.
(From OE-Core rev: b2c6a032d6e5deb07e76ed75fcd0931fad6a748c)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.)
(From OE-Core rev: f3b5421a9c95b5516e5810285729affe80729135)
Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
(From OE-Core rev: b8f5d6b493ec759a97b92cf9b4c07ad8a8114de6)
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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).
(From OE-Core rev: 58ae94f1b06d0e6234413dbf9869bde85f154c85)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
| |
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.
(From OE-Core rev: a2bab241c64428d5109c3c5ac5de4463fbad70c5)
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
(From OE-Core rev: 150174d52adefdefe62e2ed0598665481591e4c2)
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
(From OE-Core rev: 79ddb0c33401da442dbaa8e0d73ebacf297d9185)
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
(From OE-Core rev: a79597994e3f680e34a1a45fb37d76977903ded5)
Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
| |
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.
(From OE-Core rev: c70443ef21713d805012ef839e3fac04de8eadd2)
Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
(From OE-Core rev: ae8811bb26fba2e71d7280f6d6c4f5cec6a2871b)
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
(From OE-Core rev: 056eddc4299d10ddafe0da3dc768bd80d0c1b96b)
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This update replaces the half-baked --arch logic with the use
of $CFLAGS to pick compiler flags, on the grounds that it makes
a lot more sense for the build system to pick flags than for
pseudo to try to guess what they should be; this should allow
pseudo to at least compile for targets, and possibly run on
them.
This doesn't solve the problem of guessing how to forcibly
build the 32-bit variant on hosts, because we really don't
have a general solution for that. There's no idiom for "given
this set of compiler flags and this architecture, what flags
would you use to request a 32-bit compile instead?" So we
basically ignore that for now. If someone comes along trying
to use the build system to build pseudo-native on a 64-bit
host that also supports 32-bit binaries and isn't x86, we
will revisit this.
(From OE-Core rev: 711fcb4f10e2cefd7ff6e1921d87d1cad840d0c8)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
| |
Yocto bug #2639. If a chroot path was long, expanding absolute
paths within the chroot path could overrun a buffer.
(From OE-Core rev: 282cbf7002112f6b58ca1ee070c0b1285b838db7)
Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
| |
Bump PR value due to the commit
c6c701f424aeb502d20ff02d02712e56f4e259a5.
(From OE-Core rev: b6ee2880fccf04923ede31256ea418451cbf2e46)
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There can be a conflict between the nativesdk libc and the host system's
libc. It is assumed the nativesdk version is of an equal or higher version.
This is a particular issue for pseudo if its loading a system binary
since the system's libc might be used of an older verison which would
then confuse libpseudo.so when loaded as a preload.
To avoid this, set LD_LIBRARY_PATH so the nativesdk libc is always
used.
Since we now use --without-rpath, we can remove the MAKEOPTS RPATH workaround.
[YOCTO #2299]
(From OE-Core rev: a481fe3b9883aa744be3253e2b4b27e6e46eb059)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
[Yocto #2251]
Add --without-rpath to avoid embedding rpaths into the pseudo
components.
(From OE-Core rev: ae978e9671fdbcb31e306308bfb816b4bd2b2496)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The various local patches have made it into upstream, so we update
the build files and jump to pseudo 1.3. This also includes a popen()
fix which fixes some edge cases that caused failures trying to check
git branches and the like.
[Yocto bug #2181]
(From OE-Core rev: 0b007519fcfb1bcf2be9cad40b0f6265f8798518)
Signed-off-by: Seebs <peter.seebach@windriver.com>
Updated the pseudo_git.bb to match.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixed the "not shipped" packaging warnings.
WARNING: For recipe pseudo-nativesdk, the following files/directories
were installed but not shipped in any package:
WARNING: /opt/poky/1.1+snapshot/sysroots/x86_64-pokysdk-linux/usr/var
WARNING:
/opt/poky/1.1+snapshot/sysroots/x86_64-pokysdk-linux/usr/var/pseudo
(From OE-Core rev: 91f6d5777e4fc9f261c361f41eda397a4903b334)
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds a new feature, PSEUDO_UNLOAD, which can be used to eliminate
overhead of LD_PRELOAD when no longer necessary.
Also the, clone(2), support on Linux has been updated to resolve some
potential defects in the previous implementation.
(From OE-Core rev: 77fe9dd8fa0393132ac6aba00d5659c6781fbbde)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When pseudo is disabled, certain programs that call realpath may not
work properly. This was discovered when using the Qt MOC tool when
certain qmake project features are used.
[YOCTO #1150]
(From OE-Core rev: d1d87429d751e0bff115ff60d1b5fc55b8fa6249)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Update both the core and pseudo_git packages to the latest 1.1.1 verison.
This fixes an issues where the call system() was not wrapped. This could
lead to issues where certain spawned commands broke out of a pseudo-chroot
and created files in the wrong place.
Also the update the 1.0 -> 1.1.1 adds additional capabilities such as
beginning support for MacOS X.
(From OE-Core rev: 9eaa9ed38a197be76317cd3e42f54d1808c3e971)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
| |
(From OE-Core rev: a246715e5cc6222844ff7aeb5008127ce5925db7)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
| |
in this case, those non poky distro can also use these recipe normally
(From OE-Core rev: 0a57bd226cdb8332707fa0f46fcf0b067f03701a)
Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
| |
Not using the git version has the advantage of removing several early bootstrap
dependencies such as git-native (which pulls in perl and openssl).
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Uprev pseudo to the latest version. This corrects a linking problem on
some newer host systems.
In addition, we add more detail to the local.conf.sample file to explain
the NO32LIBS and why someone would set it to 0.
Also fix a minor bug in pseudo that prevented it from building for the
target.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
|
|
|
|
|
|
|
|
| |
The message cache code in pseudo seems to be causing problems. So we have
finally decided to revert that optimization.
(The revert is in the upstream pseudo.)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
|
|
|
|
|
|
| |
The latest version of pseudo occasionally caches on an execvp. This should
resolve the issue.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
|
|
|
|
|
|
|
|
| |
Update pseudo to the latest version to resolve a number of optimization defects.
The problems were present on both 64-bit and 32-bit systems, but generally only
caused issues on 32-bit hosts.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
|
|
|
| |
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
|
|
|
|
| |
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
|
|
Having one monolithic packages directory makes it hard to find things
and is generally overwhelming. This commit splits it into several
logical sections roughly based on function, recipes.txt gives more
information about the classifications used.
The opportunity is also used to switch from "packages" to "recipes"
as used in OpenEmbedded as the term "packages" can be confusing to
people and has many different meanings.
Not all recipes have been classified yet, this is just a first pass
at separating things out. Some packages are moved to meta-extras as
they're no longer actively used or maintained.
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
|