Commit Graph

21 Commits

Author SHA1 Message Date
Roy.Li b74d54b67a bitbake: compile tar-replacement firstly
Compiling tar-replacement or not is decided by version of host tar,
if the host tar version is lower than 1.23, Compiling tar-replacement
is needed.

When doing popoluate tar-replacement sysroot to write the tar to
sysroot, but writing is not finished. other packages probably
use the being written tar to unzip file, which will lead to failure
and report the below error:
"bitbake_build/tmp/sysroots/x86_64-linux/usr/bin/tar: Text file busy"

Now we compile tar-replacement firstly to ensure that a being written
tar command will not be used.

(From OE-Core rev: 3c1c4719fc96f6f1fbb257413d6baf3d91fdf4e8)

Signed-off-by: Roy.Li <rongqing.li@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-29 16:01:39 -07:00
Christopher Larson 780ba46975 scripts/bitbake: unbreak the git version comparison
With the current code, we're calling awk to do a floating point comparison
between '1.7.0.4' and '1.7.5' (on an ubuntu 10.04 LTS machine). These clearly
aren't proper floating point numbers, and the comparison is incorrect. It's
returning true for 1.7.0.4 >= 1.7.5.

Instead of using a floating point comparison for this, call out to python and
let it do it.

(From OE-Core rev: f28f6267271edbbef16caec323e9ba76e2216723)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-31 11:38:23 +01:00
Richard Purdie 707cd32457 scripts/bitbake: Check the git-native version and build it if necessary
We require git version 1.7.5 or later for the git remote --mirror=xxx syntax.
If we have an older version of git, this patch ensure we build git-replacement-native.
We add an alternative PROVIDES in the same way as tar-native to allow this script
to trigger the build whilst still allowing git-native in ASSUME_PROVIDED.

(From OE-Core rev: 269f3b3cfacaf229d5e45177ee01b16561370ee3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-18 14:29:30 +01:00
Paul Eggleton 1482da4f3a scripts/bitbake: add/fix some comments
Add some comments explaining what this script does, fix one grammatical
error in a comment and make the tar-replacement-native comment give the
full reason why it is needed.

(From OE-Core rev: aa946e1d054d3a0b7097339e0fb74ee60bd94a78)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-31 17:59:10 +01:00
Paul Eggleton 43d819c890 scripts/bitbake: allow switching between build directories
The recent addition of the check to ensure the user was in their build
directory disabled the ability to switch between build directories
without re-running the build environment setup script. We can rely
upon checking for conf/bblayers.conf instead, so use this check.

This does allow BUILDDIR (which is normally set by the environment
script) to be unset; however if it is set then it is assumed to be the
correct build directory and will be used in the error message that is
shown when we can't find conf/bblayers.conf.

(From OE-Core rev: 769384decb095fb3c49eb13b8f7f69c978d0bcba)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-31 17:59:09 +01:00
Paul Eggleton 299f890f6d scripts/bitbake: try harder to check if pseudo exists
If pseudodone doesn't exist, we can get STAGING_BINDIR_NATIVE by calling
bitbake -e and use that as the path to check for pseudo before we give
up and try to build it explicitly first.

This is useful for people who share TMPDIR between multiple build
directories.

(From OE-Core rev: 07b0dddab901510208fab44bbc2566d3c3baae93)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-31 17:59:09 +01:00
Mark Hatle 9e9d3d4528 scripts/bitbake: Update to help rebuild pseudo-native
Attempt to detect when pseudo-native has been updated.  If it has been updated,
or if the user is attempting an operation with pseudo-native in the name, force
a build of pseudo-native, prior to running the main build.

Note: This causes a build, then clean in the case of
   bitbake -c cleansstate pseudo-native

(From OE-Core rev: f79184d4000708020f76d82330428b5e7a803642)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-28 10:10:56 +01:00
Paul Eggleton 50e4d4c312 scripts/bitbake: ensure user is in build directory
If the user is in any directory other than $BUILDDIR when the bitbake
wrapper script is run, then show an error an exit.

Fixes [YOCTO #2071].

(From OE-Core rev: b4df1c7c79b5c801658bcf890ba3a8eab3d83189)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-14 13:17:40 +00:00
Paul Eggleton 0656f57235 scripts/bitbake: pass through debug options to initial pseudo build
If you specify -D or -v options to the bitbake wrapper script, and the
initial pseudo build needs to be done, it's useful to pass these
options through to that command so that you can debug the initial
pseudo build as well.

(From OE-Core rev: dcf6f72c35f7c108e447d01c15df86807e26a88b)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-21 17:00:45 +00:00
Paul Eggleton 10a00416a8 scripts/bitbake: add a version >= 2.6 check
Unfortunately we now have code in BitBake which is parsed before the
current version check and is incompatible with Python < 2.6. Rather than
fixing this and being eternally vigilant for >= 2.6 feature usage, just
add a version check to the wrapper script.

(From OE-Core rev: 9b8a48efa3b80fea34efa51de44d10ff2b1e3193)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-15 14:36:22 +00:00
Scott Garman 9fc32c40af bitbake wrapper: exit if python v3 is detected
Make sure we're not using python v3.x. This check can't go into
sanity.bbclass because bitbake's source code doesn't even pass
parsing stage when used with python v3, so we catch it here so we
can offer a meaningful error message.

This fixes bug [YOCTO #1128]

(From OE-Core rev: 9dd2d6b7ee36af6229eb9e9c448eab3a6895a9c5)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-28 13:44:41 +01:00
Richard Purdie 7a086abc25 scripts/bitbake: Only build tar-replacement-native when the build system tar version < 1.24
(From OE-Core rev: d3e105451413617cf6415ae1600dc063f3d8d452)

Signed-off-by: Richard  Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-09 16:44:39 +01:00
Chris Larson dd3a1d3b41 Shift a few env bits into scripts/bitbake
This attempts to separate the bits we *require* to run bitbake with oe-core
via the wrapper script, and which are independent of the build environment
(PSEUDO_DISABLED, PSEUDO_BUILD, BBFETCH2) from those which are more particular
to poky-init-build-env's way of setting things up (e.g. adding MACHINE to
BB_ENV_EXTRAWHITE, relying on OEROOT, etc).  This should make it easier to use
scripts/bitbake with non-standard workflows.

(From OE-Core rev: 7f9d6efcaf019eb046c8aa00735f823e3dbc8712)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-03-23 15:43:52 +00:00
Chris Larson 99aaf155ef scripts/bitbake: add -g/--graphviz to NO_BUILD_OPTS
(From OE-Core rev: 568888e38ea5a66371b9fc679df89714807f3cc8)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-03-23 15:43:50 +00:00
Paul Eggleton 3046a96bf0 sanity: detect if bitbake wrapper is not being used or pseudo is broken
* Shows a warning during sanity checking if the scripts/bitbake wrapper is
  not being used
* Check to see if pseudo is working during sanity checking, and if it
  isn't an error occurs (if we are using the wrapper script and pseudo
  has been built; otherwise it is a warning).

Fixes [YOCTO #653]

(From OE-Core rev: 0b06b69992dd3df1dfff7bde694d7ad23d8d15a0)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-03-17 00:18:14 +00:00
Richard Purdie 577dd4b3e5 tar-replacement-native: Add a target to replace the default tar
tar < 1.24 has symlink issues where extracting a tar archive containing a symlink
to a directory where that symlink already exists will cause the symlink to be
dereferenced. If that target doesn't exist tar can fail with a permissions error.

Since we need to be able to do this for packages containing symlinks like
xorg-minimal-fonts and eglibc, we have to ensure a tar 1.25 is available early
in the build process.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-21 16:36:51 +00:00
Joshua Lock 7e206c6477 scripts/bitbake: remove bashisms
As the BitBake script is the initial entry point for the system we need to
ensure it can run in as many places as possible, including systems which
aren't yest optimally configured for running Poky.
Remove some bashisms from the script so that it can run under Dash.

Pointers from: https://wiki.ubuntu.com/DashAsBinSh
Errors before this patch: http://pastie.org/1502136

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2011-01-31 11:38:35 +00:00
Richard Purdie bce90ed586 scripts/bitbake: If pseudo isn't in staging for some reason, force a build of it directly
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-28 11:01:11 +00:00
Richard Purdie 7261f25a07 scripts/bitbake: We only need pseudo-native in the sysroot, we can ignore any other pieces of the dependency tree
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-28 10:44:15 +00:00
Lianhao Lu a47c6415bd scripts/bitbake: Skip building pseudo if necessary.
Fixed [BUGID# 625]. Skip building pseudo if necessary by parsing the
options to bitbake.

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
2011-01-05 14:24:00 +00:00
Richard Purdie f04e6a59b4 scripts/bitbake: Add wrapper script which ensures pseudo is built and available
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-17 16:14:06 +00:00