summaryrefslogtreecommitdiff
path: root/meta/lib
AgeCommit message (Collapse)AuthorFiles
2012-12-14lib/oe/patch: Use force option when creating symlinks to patchesRichard Purdie1
Under the scenario where you have an existing source tree and you then change one of the patches, maybe to be architecture or machine specific, then rebuild, the build will fail since the symlink already exists but should now point at a different file. The easiest fix is to tell the system to remove and recreate the link which is done with the force option. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-12-06buildhistory_analysis: fix broken list length checksPaul Eggleton1
Fix erroneous use of .count instead of len(), which unfortunately is not reported by Python as an error in a numeric comparison. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-12-06qa.py: Toolchain path should not be hardcoded to execute objdumpMuhammad Shakeel1
Currently objdump command is invoked from the STAGING_BINDIR_TOOLCHAIN directory. In case of external toolchain if this directory doesn't exist then objdump fails to execute. Instead of hardcoding the path it should search PATH to find it. Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Muhammad Shakeel <muhammad_shakeel@mentor.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-12-05meta/lib/oe/sstatesig: fix locating stamp filesPaul Eggleton1
Fixes "bitbake-diffsigs -t" for changes to the stamp directory layout, and this time uses the actual value of STAMP to get the location of sigdata files in the stamp directory rather than trying to do it manually, which should be a little more robust. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-12-04qa.py: Modify the env for the child process onlyMuhammad Shakeel1
Modified environment is only required for new subprocess to execute objdump command and not for the current process. We should only modify the copy of env to pass it on to the child. Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Muhammad Shakeel <muhammad_shakeel@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-11-06lib/oe/classextend: Ensure we don't extend expressions more than onceRichard Purdie1
We could end up with MLPREFIX being prepended to variables like PACKAGE_DYNAMIC. This patch avoids the problem and unbreaks builds. [YOCTO #3389] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-27distro_identifier: replace slash with hyphenMihai Lindner1
Use "-" instead of "/" in "n/a" strings ("Distributor ID" and/or "Release"), provided by `lsb_release`. This leads to directories and subdirectories created in ./sstate-cache/ e.g. Distro-n/a/ where "Distro-n" is dir and "a" is subdir. Signed-off-by: Mihai Lindner <mihaix.lindner@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-26multilib - crosssdk: Stop building multilib for crosssdk packagesMark Hatle1
Crosssdk packages are not actually multilib packages, so treat them the same as other nativesdk packages in the multilib, base, and classextend components. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-10-26multilib: Add support for cross-canadian multilib packagesMark Hatle1
Add support for the generation of cross-canadian packages. Each cross-canadian package has: PN = "pkg-cross-canadian-${TRANSLATED_TARGET_ARCH}" in order for that to be evaluated properly with multilibs enabled, it was necessary to detect both the presence of the cross-canadian packages and then update the vars using the OVERRIDE for the multilib. Additional checks were made to ensure that any dependency that sais "cross-canadian" did not get prefixed with the MLPREFIX. Also, make sure that even when building multilib cross-canadian packages, we only use the single SDK PACKAGE_ARCH, we don't want or need variants. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-10-24terminal: Add support for running custom terminals.Morten Minde Neergaard1
Example config: OE_TERMINAL = "custom" OE_TERMINAL_CUSTOMCMD = "mysuperterm" Signed-off-by: Morten Minde Neergaard <mneergaa@cisco.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-10-22multilib/clsextend: Improve handling of regexps in PACKAGES_DYNAMICRichard Purdie1
Now that PACKAGES_DYNAMIC is more standardised, starting with ^ anchors, the variable manipulations performed by clsextend for multilib don't work. This patch at least improves it to hack around the problem and enable mulitlib builds to work again. If this code doesn't do the right thing, the recipe is free to override the variable with the correct multilib case. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-22lib/oe/packagedata: Use the PKGMLTRIPLETS variableRichard Purdie1
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-18lib/oe/qa: Trap exceptions when running objdumpPhil Blundell1
This avoids propagating a failure if we encounter an ELF file that objdump can't parse for any reason. Some versions and/or configurations of objdump will refuse to read files for "the wrong" architecture. Signed-off-by: Phil Blundell <pb@pbcl.net> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-18insane: Rationalise phdrs-based QA checksPhil Blundell1
Various different QA checks are based on essentially the same data from the ELF program headers. Calling objdump to extract it repeatedly is inefficient, particularly if the shell is involved. Instead, let's cache the output from objdump inside the qa.elf object and allow it to be reused by multiple tests. Also, using objdump instead of scanelf to check for bad RPATHs (in the same way that the useless-rpaths check was doing already) allows the dependency on pax-utils-native to be dropped. Signed-off-by: Phil Blundell <philb@gnu.org> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-10-03distrodata: Update distrocheck functionsSaul Wold1
Fix the distro check functions for the change of nativesdk being a suffix to a prefix. Also added crosssdk as another case for converting to PN for matching in the distro_tracking Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-03buildhistory_analysis: update to use explode_dep_versions2()Paul Eggleton1
Handle where multiple version specifications are present for the same dependency. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-26packagedata/multilib: Fix search patch for multilib buildsRichard Purdie1
The current multilib search path code for packagedata is flawed since it doesn't correctly handle changes in the TARGET_VENDOR/TARGET_OS that multilib may make. This patch enhances the code to correctly build the search paths so multilib packagedata is found correctly. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24terminal: Send LogExecTTY event to spawn screenJason Wessel1
Bitbake has the ability to request to run a command and if it is not possible fall back to emitting a log message. This can be used to start a screen client automatically on the controling tty if the UI has an interactive tty. Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24terminal: pass data store all the way through to terminal classJason Wessel1
Passing the data store will be needed for firing a custom event for the screen class. Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10lib/oe/sstatesig.py: add signature data query functionPaul Eggleton1
Add a function that can be used from BitBake code which will find signature data (sigdata/siginfo) files based on specified criteria, and hook it into BitBake as bb.siggen.find_siginfo. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-31nativesdk: Switch to using nativesdk as a prefix, not a suffixRichard Purdie1
As discussed on the mailing lists, using a suffix to package names is hard and has lead to many recipes having to do PKGSUFFIX games. Its looking extremely hard to scale nativesdk much further without hacking many recipes. By comparison, using a prefix like multilib does works much better and doesn't involve "hacking" as many recipes. This change converts nativesdk to use a prefix using the existing multilib infrastructure. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-31nativesdk: Convert to use classextend.pyRichard Purdie1
This patch converts the nativesdk class itself from operating as a suffix to a prefix (see the proceeding patch for the related changes outside this class). The big benefit here is that we can reuse the generic class extension code. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-25terminal.py: use unique ids for screen sessionsJason Wessel1
When running multiple sets of builds on the same system, it is hard to distinguish which build belongs to which screen session and you can end up resuming the wrong session. The simple solution is to just append the process id to the screen session invocation to make each unique. Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-08-17utils.py: Modify and rename distro_features_backfill python functionAndrei Gherzan1
This function was written to be used with DISTRO_FEATURES. This behavior is usefull with MACHINE_FEATURES as well. Signed-off-by: Andrei Gherzan <andrei@gherzan.ro> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-08-06buildhistory: reduce the numeric delta to 10%Ross Burton1
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-06buildhistory: correctly handle reductions of numeric fieldsRoss Burton1
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-06buildhistory_analysis: ignore removal of self-dependenciesPaul Eggleton1
The recent removal of self-dependencies for dbg/dev packages produced a fair amount of noise, so filter it out since we know this is a reasonable change. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-06buildhistory_analysis: tidy up duplicate split_version functionPaul Eggleton1
This function is now provided by bb.utils and since we have now bumped the minimum bitbake version, we can switch to that one instead. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-06classes/buildhistory: record PKG/PKGE/PKGV/PKGRPaul Eggleton1
Save PKG (the actual output package name, which is often different due to debian renaming), and PKGE/PKGV/PKGR (which may be manipulated in certain special cases e.g. gitpkgv.bbclass in meta-oe, the external-sourcery-toolchain recipe, etc.) Note that these are only written when they are different from the normal package name in the case of PKG, or PE/PV/PR for the other variables. Also, use PKGE/PKGV/PKGR instead of PE/PV/PR when comparing package versions since these actually represent the version that the package manager sees. Implements [YOCTO #2787]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-06classes/buildhistory: save preinst/postinst/prerm/postrmPaul Eggleton1
Write the value of these package script variables into the packageinfo so that any changes to them can be tracked (in separate files since they are multi-line). Inspired by an earlier patch from Andreas Müller <schnitzeltony@googlemail.com> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-31lib/oe/lsb.py: Map unknown distributions to 'Unknown'Richard Purdie1
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-27lib/oe/lsb: Add basic LSB functionsRichard Purdie1
This code was written by Christopher Larson <chris_larson@mentor.com> and allows generation of the LSB release data based upon the lsb_release command. It also includes a helper function to generate a string representing a given distribution. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-07-26meta/lib: remove test.pyPaul Eggleton1
This looks like it was added by accident in OE-Core revision 7903433898b4683a1c09cc9a6a379421bc9bbd58. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-07-19Remove a number of unneeded import os/bb callsRichard Purdie8
The bb and os modules are always imported so having these extra import calls are a waste of space/execution time. They also set a bad example for people copy and pasting code so clean them up. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-18terminal.py: Fix Xfce on ubuntu/debian; some cleanupJeffrey C Honig1
* Xfce class was setting and passing wrong variable for ubuntu/debian. * Xfce class was using -e instead of -x for passing command. The former creates a shell escape nightmare * Clean up local and instance/class variables with same name but different usage. * Remove side-effect and directly return formatted command for clarity. Signed-off-by: Jeffrey C Honig <jeffrey.honig@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-07-17lib/oe/sstatesig.py: Exclude git-native from sstate checksumKhem Raj1
gcc exposed this issue where cross gcc recipes were not having same task checksums as libgcc or gcc-runtime the target recipes which use same shared workdir and it was triggering the unpack fetch and patch tasks to reexecute and hence the trouble Now that we have more than 1 package to consider lets combine the check Thanks RP for help and this is on the line of patch 793ce6cd9aa632e0f13789c8293770a86085d28d Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-09packagedata.py: Fix get_subpkgedata_fn for multilibMatthew McClintock1
This happens when tryng to add libgcc-dev to as a multilib package (e.g. IMAGE_INSTALL_append = " lib32-libgcc-dev") | Processing task-core-boot... | Processing fman-ucode... | Processing dosfstools... | Processing lib32-libgcc-dev... | Unable to find package lib32-libgcc-dev (libgcc-dev)! NOTE: package fsl-image-full-1.0-r1.1.3.6: task do_rootfs: Failed RPM (or bitbake?) is looking in the tmp/pkgdata, however some of these file paths are mungned for the multilib scenario: $ find tmp/pkgdata/ | grep libgcc-dev$ tmp/pkgdata/ppce5500-fsl-linux/runtime/lib32-libgcc-dev tmp/pkgdata/ppc64e5500-fsl-linux/runtime/libgcc-dev This patch fixes where we look for these files so they can be found and properly installed for the multilib root file system Signed-off-by: Matthew McClintock <msm@freescale.com>
2012-07-05lib/oe/sstatesig.py: Exclude subversion-native from sstate checksumsRichard Purdie1
If we don't do this, target and cross recipes end up with different sstate checksums for shared work directory tasks which is bad in the case of gcc. It leads to multiple fetch/unpack tasks against the shared directory which ends up with build failures/races. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30buildhistory_analysis: fix error when version specifier missingPaul Eggleton1
Passing None to split_versions() will raise an exception, so check that the version is specified before passing it in. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30meta: replace os.system with subprocess.callRobert Yang1
Replace os.system with subprocess.call since the older function would fail (more or less) silently if the executed program cannot be found More info: http://docs.python.org/library/subprocess.html#subprocess-replacements [YOCTO #2454] Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25oe/process.py: remove it since it is unused and duplicatedRobert Yang1
The meta/lib/oe/process.py is only used by oe_run and oe_popen in meta/classes/utils.bbclass, and they will be removed, we have a better one: bitbake/lib/bb/process.py, which can replace of it. [YOCTO #2489] Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
2012-05-17oe.types: give the regex type more sane semanticsChristopher Larson1
Currently, if a variable is unset or has an empty value, the regex type will return a match object which always matches. Not all variable types will necessarily have the same behavior for handling defaults. I believe that returning a match object which matches nothing when a variable is unset is superior to returning one which matches anything, and the user can always explicitly request anything via '.*', if that's what they want. This constructs a null pattern object which will never match, and uses it when encountering an unset or empty variable (currently, these two things are one and the same, as maketype is handling the default. we may well want to shift that logic into the individual types, giving them more control over default behavior, but currently the behavior is at least relatively consistent -- no difference between unset and empty variables). Signed-off-by: Christopher Larson <chris_larson@mentor.com>
2012-04-04license.py: fix behaviour of copyleft_complianceEric Bénard1
actually if a package has a license in its LICENSE variable which is not in the whitelist nor in the blacklist and even if an other license in this variable is in the whitelist, the package gets excluded and is not taken in account in the copyleft_compliance. This patch solves this by excluding a recipe _only_ if the LICENSE variable includes a pattern from the blacklist and including a recipe only if it includes a variable from the whitelist _and_ none from the blacklist. Example in busybox which has LICENSE="GPLv2 & BSD-4-Clause", with the actual behaviour (where he blacklist contains only CLOSED Proprietary) we get : DEBUG: copyleft: busybox-1.19.4 is excluded: recipe has excluded licenses: BSD-4-Clause which is not sane because busybox is covered by a copyleft license which is GPLv2 and should match the default whitelist which is GPL* LGPL*. Signed-off-by: Eric Bénard <eric@eukrea.com>
2012-03-21buildhistory_analysis: avoid printing PE/PV/PR more than oncePaul Eggleton1
Don't print PE/PV/PR changes as related field changes of related field changes (i.e. only print them once at the top level). Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21buildhistory_analysis: report if all items removed from a listPaul Eggleton1
If all items have been removed from a list then state that explicitly. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21buildhistory_analysis: skip FILELIST changes for dbg packagesPaul Eggleton1
Don't report when files are added or removed from dbg packages unless it results in the package being empty. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21buildhistory_analysis: hide version number increases in dependenciesPaul Eggleton1
If an item in RDEPENDS or RRECOMMENDS only increases in its version number then don't report it as a change, since we don't care about it. This significantly reduces the noise after upgrades. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21buildhistory_analysis: use bb.utils.explode_dep_versionsPaul Eggleton1
Previously this had its own implementation of splitting a list of packages with optional version e.g. "libncurses-dev (>= 5.9)"; switch to using the already existing bitbake function which does this as it is much better tested. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-19buildhistory_analysis: fix duplicate PE/PV/PR in related fieldsPaul Eggleton1
Since PE, PV and PR appear in both the recipe history and package history files these were showing up twice when they were added as related fields to monitored changes. Only add them when the path is exactly the same. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2012-03-13path.py: add make_relative_symlink methodScott Garman1
This method allows you to convert an absolute symlink into a relative one. Signed-off-by: Scott Garman <scott.a.garman@intel.com>