Commit Graph

71 Commits

Author SHA1 Message Date
Joshua Lock 1341c1744b pseudo: backport a patch to fix xattr removal
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>
2016-03-26 07:34:58 +00:00
Richard Purdie 1c060d738a pseudo: Increase number of retries
Increase number of retries to handle slow exiting servers.

(From OE-Core rev: 2d70c2afce9d121db98296bce275be956bf13137)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-28 12:01:07 +00:00
Khem Raj 66a833a21c pseudo: Fix build when security flags are enabled
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>
2016-02-21 09:32:43 +00:00
Peter Seebach 7cd835177a pseudo: uprev to 1.7.5
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>
2016-02-10 17:37:41 +00:00
Richard Purdie e0890b662e meta: Drop now pointless manual -dbg packaging
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>
2015-12-16 11:56:30 +00:00
Peter Seebach 42dc9024d8 pseudo_1.7.4.bb: fix f*open()
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>
2015-09-24 17:54:23 +01:00
Peter Seebach c1df471fea pseudo_1.7.3.bb: New version of pseudo
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>
2015-09-06 15:26:27 +01:00
Alexander Kanavin 91c95326ac pseudo: fix upstream SRC_URI to enable upstream version check
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>
2015-08-01 07:34:07 +01:00
Richard Purdie c5f16811f2 pseudo: 1.6.5 -> 1.6.7
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>
2015-07-21 23:37:21 +01:00
Richard Purdie 3e4edfdfae pseudo: Exclude SITEINFO_BITS from checksums
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>
2015-07-09 18:00:17 +01:00
Peter Seebach 08d78e01fa pseudo 1.6.5: less pointlessly chatty
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>
2015-05-05 22:15:17 +01:00
Peter Seebach 2323efc799 pseudo_1.6.x.bb/pseudo_git.bb: Pseudo 1.6.4
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>
2015-01-29 15:36:47 +00:00
Saul Wold bc9adc175b pseudo: remove older version and patches
(From OE-Core rev: 73f418ce10a801f0befc06ffe54864563aea986c)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-03 12:23:58 +00:00
Peter A. Bigot e96ac60915 pseudo: provide fallback passwd and group files
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.

(From OE-Core rev: 91443426246fbe13083c19801b7c74365e041271)

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-25 13:03:30 +00:00
Peter A. Bigot 4ad0821c84 pseudo: default --without-passwd-fallback
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.

(From OE-Core rev: 899fe3d1d05054a10e4d427810c20ad1e34f916a)

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-25 13:03:30 +00:00
Peter A. Bigot 835f5c8410 pseudo: support multiple search directories in PSEUDO_PASSWD
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.

(From OE-Core rev: 15b3b796d6e06fb7a7867d132b234d783e733531)

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-25 13:03:29 +00:00
Peter A. Bigot d2b8576bfa pseudo: support --without-passwd-fallback configuration option
A bug in pseudo 1.6.2 results in lock failures if this option is
present.

(From OE-Core rev: eb5b99e4fbfdf31497a4606fc55cab268ec8d654)

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-25 13:03:29 +00:00
Peter Seebach be2cf13961 pseudo*.bb: update to pseudo 1.6.2
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>
2014-10-06 15:15:51 +01:00
Peter Seebach bcadbb66ec pseudo: uprev to 1.6.1
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>
2014-07-19 00:18:21 +01:00
Peter Seebach be0fea17ee pseudo_1.6.0.bb: uprev to pseudo 1.6
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>
2014-07-16 10:20:49 +01:00
Peter Seebach 3bf24188b6 pseudo: Honor umask again
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.

(From OE-Core rev: ce23c1cc33a015fbd184df6c16658353334ab611)

Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-28 08:19:31 +01:00
Peter Seebach c8645caf56 pseudo: handle fchmodat better, mask out unwanted write bits
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.

(From OE-Core rev: 45371858129bbad8f4cfb874e237374a5ba8db4c)

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-27 16:11:53 +01:00
yanjun.zhu 79dc4f0158 pseudo-1.5.1: keep install command directory mode
When install command sets the created directory mode, pseudo will change
the mode of the directory to 0700 incorrectly. Backport patch to fix it.

(From OE-Core rev: af595b09d570cbd320e4e138651144ac96bfbb83)

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-03-31 22:53:45 +01:00
Richard Purdie 4db39d233c meta/recipes: Remove virtclass references
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.

(From OE-Core rev: d1c073d2813bd913617990cd047507353ea0c09e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-13 11:41:21 +00:00
Paul Eggleton cec8b230cf Replace one-line DESCRIPTION with SUMMARY
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.

(From OE-Core rev: b8feee3cf21f70ba4ec3b822d2f596d4fc02a292)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-02 12:50:18 +00:00
Richard Purdie 5e42796675 recipes: Remove PR = r0 from all recipes
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>
2013-10-30 14:52:04 +00:00
Roy Li fcd931ce57 pseudo: fix library path in FILES_${PN}
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

(From OE-Core rev: 47c7850c025994685aa1811057f4f9a5f0f2a3ae)

Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-10-29 10:41:38 +00:00
Richard Purdie a1d9b6df86 pseudo: Fix race problems
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]

(From OE-Core rev: a8a1f12c51ffdca011db194894fd7d14c119fb09)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-30 22:56:19 +01:00
Ross Burton e5fcc7e1ca pseudo: warn twice if the 32-bit toolchain appears broken
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 ]

(From OE-Core rev: 51950fcbe4b98bdbb8b3dde88a8729e540d9609f)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-26 17:00:05 +01:00
Ross Burton 601e1a740b pseudo: use bbnote/bbwarn instead of echo
In the future bbnote/bbwarn will be integrated into bitbake's logging, so use
those functions instead of echo directly.

(From OE-Core rev: 4933d7ae45d88090191c8ea07fd109ed34925e2d)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-26 17:00:05 +01:00
Randy MacLeod 139b44be7a pseudo: force NO32LIB to true for nativesdk
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]

(From OE-Core rev: 908b179b798704db74c886ec4c70c0942b09cb00)

Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:19:42 +01:00
Peter A. Bigot eb34e8d8ce pseudo: fix memory leak and missed privilege drop
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]

(From OE-Core rev: 9ea32ef507c914f906b3dcc0bb29813a4e0dacba)

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 23:03:20 +01:00
Jackie Huang 88c5e10d62 remove the unnecessary protocol parameters
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>
2013-08-30 16:23:46 +01:00
Peter Seebach b099c7b36e pseudo: Always try to build 32-bit libpseudo when NO32LIBS is set to 0
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.

(From OE-Core rev: 22548b3243dfa2dc9861b0f15530632b37812a8c)

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-07-31 06:59:56 +01:00
Paul Eggleton c91deb497c pseudo: drop version 1.4.5 recipe
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.

(From OE-Core rev: c26fd671466f42d76cbd99e275dc91fc322062c4)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-06-18 17:33:15 +01:00
Peter Seebach 4a00757017 Update pseudo to 1.5.1
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>
2013-03-01 13:03:28 +00:00
Peter Seebach ec4c1ee435 pseudo.inc: pseudo 1.5 uprev, support extra config flags
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>
2013-02-19 08:47:35 -08:00
Peter Seebach 3ec4df5754 pseudo_1.4.5.bb: Finish fixing linkat()
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>
2013-02-13 21:31:37 +00:00
Peter Seebach 600dff4f2c pseudo_git.bb: Bump to pseudo 1.4.4.
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>
2013-02-13 16:52:30 +00:00
Peter Seebach 7ee057911f pseudo.inc: Fix sqlite libdir again, pseudo 1.4.3
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>
2013-02-08 14:50:36 +00:00
Robert Yang aea2d8c02c recipes-devtools: replace virtclass-native(sdk) with class-native(sdk)
The overrides virtclass-native and virtclass-nativesdk are deprecated,
which should be replaced by class-native and class-nativesdk.

[YOCTO #3297]

(From OE-Core rev: bb67ddeb2eed3e25c626a279ef53a7e8c7bfe6f2)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-11-02 16:18:29 +00:00
Peter Seebach 4bb2ce4f30 pseudo_1.4.1.bb: update to pseudo 1.4.1, fixing 32-bit host problems
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>
2012-09-14 09:50:29 +01:00
Mark Hatle 926092bf39 pseudo: Fix pseudo-native rebuild when triggered by dep change
When NO32LIBS = 0, building 32-bit version of pseudo-native and
building on a 64-bit host -- if the build was triggered by a
dependency change on something pseudo uses, the build could fail
due to left over files from the previous build.  Fix this by
ensuring we run make distclean (and ignoring any failure codes) to
ensure we start over.

(From OE-Core rev: 30ae7320265efe039730cd2faf7bd86a264412ed)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-19 10:45:59 +01:00
Peter Seebach 3d164f74fd pseudo.inc/pseudo_1.4.bb: update pseudo to 1.4
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>
2012-07-29 10:16:16 +01:00
Peter Seebach fe5feba665 pseudo: Update to 1.3.1 (fixing chroot crash)
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>
2012-07-09 16:58:58 +01:00
Lianhao Lu bd4b249015 pseudo: PR bump.
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>
2012-04-23 23:10:18 +01:00
Richard Purdie 604fc2adce pseudo: Drop nativesdk wrapper and link against old memcpy symbol
The -nativesdk pseudo wrapper setting LD_LIBRARY_PATH turned out to be a
bad idea since it can mix up different libc and lib-dl verisons which
may or may not work depending on the phase of the moon.

As an alternative to solving the original problem, this patch drops the
symbol version requirement on memcpy which allows pseudo to work with
libc's back to 2.7 which should be sufficient for our supported targets
using nativesdk.

[YOCTO #2299]
[YOCTO #2351]

(From OE-Core rev: c6c701f424aeb502d20ff02d02712e56f4e259a5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-22 16:00:19 +01:00
Richard Purdie ea3db01838 pseudo: Fix bashisms
(From OE-Core rev: 90e22bbb316088fa951d51e75de4e5424bd51ed6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-22 16:00:11 +01:00
Richard Purdie f562e2a393 pseudo: Ensure the correct libraries are used at runtime
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>
2012-04-15 17:31:59 +01:00
Paul Eggleton 7cf26b2d3d pseudo: default NO32LIBS to 1
If this value is not set to 1, then systems with some 32-bit libraries
but no 32-bit version of libgcc installed will have pseudo-native fail
at do_compile. It should only really be set to 0 by those who know what
they are doing.

(From OE-Core rev: 489a36d3d6b67d706f5918638e1fbc05ccd59e21)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-13 13:49:35 +01:00