summaryrefslogtreecommitdiff
path: root/meta/classes
AgeCommit message (Collapse)AuthorFiles
2013-03-26systemd: check for systemctl first, and don't force systemd to be installed.Ross Burton1
With both sysvinit and systemd features enabled these postinsts may actually run on a target without systemd, so check that systemctl is present before using it. Signed-off-by: Ross Burton <ross.burton@intel.com>
2013-03-26update-rcd: drop depends to recommends, check for update-rcd in scriptsRoss Burton1
Signed-off-by: Ross Burton <ross.burton@intel.com>
2013-03-26update-rcd.bbclass: handle both sysvinit and systemd features being presentRoss Burton1
Run the helper if the sysvinit feature is present, or if the systemd feature is present but the systemd class hasn't been inherited. We want to run in the latter case as systemd has sysvinit compatibility, but we don't want to always run so that pure systemd images don't have redundant sysvinit files. Signed-off-by: Ross Burton <ross.burton@intel.com>
2013-03-26classes/rm_work: rename RM_WORK_WHITELIST to RM_WORK_EXCLUDEPaul Eggleton1
This really functions as a blacklist, not a whitelist, since we are listing recipes to exclude. To avoid any possibility of confusion, since this was a recent addition, rename the variable. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-26qemuimagetest: collect and print runqemu outputPaul Eggleton1
If runqemu (or qemu itself) fails we need to know why, so tee out to a log file and print it when we can't find the qemu process or determine its IP address. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-26package.bbclass: Correctly handle /usr/src/debug file ownershipRichard Purdie1
After the recent cached path operation improvements, we need to tell the cache about directory changes. /usr/src/debug was was cached as not created and this was leading to bugs in file ownership. This change updates the cache and avoids this issue. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-25package.bbclass: Ensure debug source file is generated correctlyRichard Purdie1
The command for generating debug sources appends to the file, therefore we need to ensure it does not exist before we run the command else we end up doing more work that we should have to. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-25package.bbclass: Handle subprocess errors correctlyRichard Purdie1
If an error occurs in subprocess.call() we currently don't catch it. In particular we have issues where debugedit is segfaulting unnoticed. This fixes up various code paths to catch the errors. [YOCTO #4089] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-23package/populate_sdk: Move functions from package_* to populate_sdk_*Richard Purdie6
This fixes build failures introduced with "classes/buildhistory: implement history collection for SDK" by moving the functions to files where only the specific image type which is enabled is inherited. The failures occured when multiple PACKAGE_CLASSES were enabled. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-23packagegroup-core-tools-debug: split out Eclipse packagesPaul Eggleton1
Split out the packages added for Eclipse remote debugging to a separate package group so that we can avoid pulling them in if not using Eclipse. Fixes [YOCTO #3251]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-23classes/buildhistory: trim trailing spaces in file listingsPaul Eggleton1
These are mildly annoying when viewing git diffs of the buildhistory repository, so let's just get rid of them. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-23classes/buildhistory: implement history collection for SDKsPaul Eggleton11
SDKs are constructed in a similar manner to images, and the contents can be influenced by a number of different factors, thus tracking the contents of produced SDKs when buildhistory is enabled can help detect the same kinds of issues as with images. This required adding POPULATE_SDK_POST_HOST_COMMAND and SDK_POSTPROCESS_COMMAND variables so that data collection functions can be injected at the appropriate points in the SDK construction process, as well as moving the list_installed_packages and rootfs_list_installed_depends functions from the rootfs_{rpm,ipk,deb} to the package_{rpm,ipk,deb} classes so they can also be called during do_populate_sdk as well as do_rootfs. Implements [YOCTO #3964]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-22fix march sanity check issueZhenhua Luo1
1. check if gcc_test is really generate before os.remove("gcc_test") to avoid following error: ERROR: Execution of event handler 'check_sanity_eventhandler' failed Traceback (most recent call last): File "check_sanity_eventhandler(e)", line 4, in check_sanity_eventhandler(e=<bb.event.ConfigParsed object at 0x3151450>) File "sanity.bbclass", line 107, in check_sanity(sanity_data=<bb.data_smart.DataSmart object at 0x11ba110>) File "sanity.bbclass", line 22, in check_gcc_march(sanity_data=<bb.data_smart.DataSmart object at 0x11ba110>) OSError: [Errno 2] No such file or directory: 'gcc_test' 2. set result to False when build failed with -march=native to ensure -march=native is appended to BUILD_CFLAGS when host gcc really supports this flag, otherwise following error appears when build native packages. | cap_text.c:1: error: bad value (native) for -march= switch | cap_text.c:1: error: bad value (native) for -mtune= switch Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-22package_{ipk, deb, rpm}: drop the TARGET_OS conditionalChristopher Larson3
The tclibc file for uclibc already empties IMAGE_LINGUAS, so there's no point to this conditional as far as I can tell, and it can cause issues for certain values of TARGET_OS. Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-22package_deb: don't install glibc-localedata-i18n separatelyChristopher Larson1
This was removed from package_rpm and package_ipk years ago, and shouldn't be needed, installing the packages from package_linguas should be sufficient. Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-22distrodata.bbclass: added some more git processingEmilia Ciobanu1
* Truncated all git MD5 sums to 7 digits * Added regex checking for git packages as well Signed-off-by: Emilia Ciobanu <emilia.maria.silvia.ciobanu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-18syslinux.bbclass: Add a default serial console option and real boot menu supportJason Wessel1
The previous syslinux menu code did not support using both a serial and vga console, but this has worked for years in syslinux so there is no reason not to take advantage of it. The previous menu looked like: ------------------------------------------------------- Linux Boot Menu The following targets are available on this image: boot: None install: None ------------------------------------------------------- This commit makes it look something more like a traditional grub menu on both the serial console and vga console as well as providing the option to continue on using either the serial or vga console with the correct kernel arguments. You can see the screen shots attached to the bugzilla. https://bugzilla.yoctoproject.org/show_bug.cgi?id=3944 [ YOCTO #3944 ] Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-18package: Add cachedpath optimisationRichard Purdie2
Currently, various standard library operations like os.walk(), os.path.isdir() and os.path.islink() each call stat or lstat which involves a syscall into the kernel. There is no caching since they could conceivably have changed on disk. The result is that for something like the do_package task of the kernel we're spending over two minutes making 868,000 individual stat calls for 23,000 files. This is suboptimal. This patch adds lib/oe/cachedpath.py which are a set of replacement functions for these operations which use cached stat data rather than hitting the kernel each time. It gives a nice performance improvement halving the build time of the kernel do_package. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-18image_types.bbclass: only create links if the target existsAndreas Oberritter1
When creating images containing many partitions, rootfs.$type may not be available. Signed-off-by: Andreas Oberritter <obi@opendreambox.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-18binconfig: Handle the case where ${B} != ${S}Richard Purdie1
This change allows ${B} != ${S} builds to work which use binconfig. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-18kernel bbclass: return to original directory in do_deployChase Maupin1
* During the base kernel_do_deploy function the directory is changed to DEPLOYDIR in order to do some cleanup and symlinking. However, the directory is not changed back to the original starting directory ${S} at the end. For append functions this means that the starting directory is not ${S} as expected but instead ${DEPLOYDIR}. For functions like the do_deploy_append in recipes-kernel/linux/linux-dtb.inc there is an assumption that you are still in the source directory and not the DEPLOYDIR. Without this change the .dtb files are not copied because the check for the existence of ${DTS_FILE} which is a relative path from the ${S} directory fails. This means that the .dtb files are not copied into the deploy directory and subsequently the deploy/images directory. In the log.do_deploy file you will see lines like: Warning: arch/arm/boot/dts/xxxxx.dts is not available! Signed-off-by: Chase Maupin <Chase.Maupin@ti.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-03-18rm_work.bbclass: inhibit rm_work per recipeChen Qi1
Use RM_WORK_WHITELIST to inhibit rm_work per recipe. In this way, one can use rm_work for the most of the recipes but still keep the work area for the recipe(s) one is working on. As an example, the following settings in local.conf will inhibit rm_work for icu-native, icu and busybox. INHERIT += "rm_work" RM_WORK_WHITELIST += "icu-native icu busybox" If we comment out the RM_WORK_WHITELIST line and do a rebuild, the working area of these recipes will be cleaned up. [YOCTO #3675] Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-03-18archiver: fix archive filtering behaviorKevin Strasser4
With the addition of sstate, ensure that archiving tasks are only added to the build if they produce output in the directory specified by the 'sstate-inputdirs' flag. Move calls to 'tar_filter' and 'not_tarball' out to archive-*-source.bbclass in order to filter out packages before their archiving tasks are added to the build. Additionally, negate the return value of copyleft_should_include in tar_filter, so that packages that do not pass are in turn filtered out. Signed-off-by: Kevin Strasser <kevin.strasser@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-03-18archive-*-source.bbclass: fix scripts_with_logs build errorKevin Strasser3
Log and script archives are only generated when explicitly enabled by setting the environment variable SOURCE_ARCHIVE_LOG_WITH_SCRIPTS to 'logs_with_scripts'. When left disabled, the path specified to be handled by sstate is never created, resulting in a build error. Only attempt to archive scripts and logs when explicitly enabled. Signed-off-by: Kevin Strasser <kevin.strasser@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-03-18image.bbclass: Drop legacy export of IMAGE_BASENAMERichard Purdie1
We used to export this in the days an external script handled the image generation. This is no longer the case and hence we no longer need this export. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-16populate_sdk_base: search for perl scripts after symlinks are relocatedLaurentiu Palcu1
grep will throw "No such file or directory" errors for all invalid symlinks. To overcome this, move the search after the symlinks have been changed to point to the new location. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-16package_rpm: Ensure PV manipulations are correctRichard Purdie1
The previous change to this function fixed one manipuation at the expense of the other, depending on ow expanded the versioned dependency string was when the AUTOINC substitution was made. This update ensures we cover both cases and ensures the classextended version works as as well as the normal case. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-15icecc: improve interaction with sstateMartin Jansa1
* exclude ICECC_PARALLEL_MAKE (like PARALLEL_MAKE is) * add ICECC_DISBLED to be able to disable whole icecc functionality while keeping icecc enabled. This is useful when you want multiple builders sharing same sstate-cache, but only some of them using icecc. * inheriting icecc changes all checksums because of do_*_prepends calls, but because icecc should not influence binary output of task we should get same checksums for tasks build with and without icecc * ICECC_DISABLED when set (to any non-empty value will disable icecc env modifications but while keeping same sstate checksum Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-03-15package.bbclass: add debug-without-src PACKAGE_DEBUG_SPLIT_STYLEMartin Jansa1
* same as original and default version, but does not package source files in PN-dbg Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-03-14package_rpm: Ensure package dependencies have correct version numbersRichard Purdie1
If a recipe has versioned dependencies on another package within the same recipe, there are potentially races where the version remapping may not happen correctly. This issue triggered with neard in multilib builds since it uses a "-" character in its PV which is illegal in an rpm version field. The remapping to "+" was not occuring. It only triggers in the multilib case since in this case, expansion of the datastore happens at slightly different points. The correct fix is to search for PV, not PKGV but substitute the PV value. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-12rootfs_xxx.bbclass: fix bitbake -S hashes mismatch errorRobert Yang3
The bitbake -S <image> has errors, e.g.: NOTE: Reparsing files to collect dependency data ERROR: Bitbake's cached basehash does not match the one we just generated (/buildarea/lyang1/poky/meta/recipes-core/images/core-image-minimal.bb.do_rootfs)! ERROR: The mismatched hashes were 8e44f2296f2d6cdf2ccb0236910ef59b and 46357d5e36713646b47b0fe2233e3c8c This is caused by the BUILDNAME which is defined in cooker.py: if not self.configuration.data.getVar("BUILDNAME"): self.configuration.data.setVar("BUILDNAME", time.strftime('%Y%m%d%H%M')) The time changes during the first parsing and reparsing, so there is the error, we already have: do_rootfs[vardepsexclude] += "BUILDNAME" but what we need is rootfs_xxx_do_rootfs[vardepsexclude] += "BUILDNAME" The do_rootfs doesn't depend on BUILDNAME directly, but indirectly, the depends tree is: do_rootfs -> rootfs_xxx_do_rootfs -> BUILDNAME So add BUILDNAME to rootfs_xxx_do_rootfs[vardepsexclude] would fix the problem. [YOCTO #3299] Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-03-09base.bbclass: don't backfill features that already existRoss Burton1
It's too easy to cause rebuilds because the DISTRO_FEATURES have changed in meaningless ways (such as re-ordering or duplicate items). Help stop this by checking if the feature to be back-filled is already present. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-09package_deb.bbclass: set DPKG_ARCH_arm to "armel"Constantin Musca1
- the system should be using "armel" by default, not "arm" [YOCTO #3741] Signed-off-by: Constantin Musca <constantinx.musca@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-07core-image.bbclass: support read-only rootfsChen Qi1
The hook function is appended to ROOTFS_POSTPROCESS_COMMAND properly to support the 'read-only-rootfs' image feature. [YOCTO #3406] Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-03-07image.bbclass: add a hook funtion to support readonly rootfsChen Qi1
read_only_rootfs_hook: this funtion is invoked only if 'read-only-rootfs' is in IMAGE_FEATURES. It tweaks some basic files and makes populate- volatile.sh script run at rootfs time. For now, it has real effect only if the init system is sysvinit. [YOCTO #3406] Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-03-07kernel-module-split: append space to RDEPENDSMartin Jansa1
* it was generating invalid RDEPENDS when KERNEL_MODULES_META_PACKAGE had RDEPENDS set already without trailing space Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-03-07ptest: Move ptest checks from recipes to ptest.bbclassBjörn Stenberg1
This patch cleans up ptest implementation in recipes by moving ptest specific code parts into dedicated *_ptest functions. Signed-off-by: Björn Stenberg <bjst@enea.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-03-07buildhistory.bbclass: add support for SRCREV loggingConstantin Musca1
- create "latest_srcrev" for each recipe with the following format: ${BB_FILENAME},${SRC_URI},${SRCREV},${FROM_AUTOREV} [YOCTO #3041] Signed-off-by: Constantin Musca <constantinx.musca@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-03-07sanity.bbclass:check if necessary to add march to BUILD_CFLAGSHongxu Jia1
1, There are a set of GCC built-in functions for atomic memory access. The definition given in the Intel documentation allows only for the use of the types int, long, long long as well as their unsigned counterparts. GCC will allow any integral scalar or pointer type that is 1, 2, 4, 8 or 16 bytes in length, suffix `_n' where n is the size of the data type.Such as: __sync_fetch_and_add_n __sync_fetch_and_sub_n __sync_fetch_and_or_n __sync_fetch_and_and_n __sync_fetch_and_xor_n __sync_fetch_and_nand_n The above builtins are intended to be compatible with those described in the Intel Itanium Processor-specific Application Binary Interface, section 7.4. 2, The glib-2.0-native and qemu-native invoke the above builtin function with suffix `_4', and glib-2.0-native uses __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 to test the existance. 3, Not all above builtin functions are supported by all target processors.Such as i386 does not support the functions with suffix `_4', but i486 or later support. 4, Prior to GCC 4.5, on the Intel's processor, the default arch is i386 unless GCC is built with the --with-arch switch. Since GCC 4.5 the default arch is implied by the target. 5, If your host GCC is older than 4.5 and it is built without the --with-arch switch, when you use the GCC to compile target, you should specify -march to tell GCC what the target's arch is, otherwise i386 is used as default. Above all, when use older GCC to compile glib-2.0-native or glib-2.0-native, and the GCC incorrectly uses i386 as default, the above builtin function with suffix `_4' is not referenced. We should have a check in sanity.bbclass to tell the user if necessary to add march to BUILD_CFLAGS in this situation. http://gcc.gnu.org/onlinedocs/gcc-4.7.2/gcc/_005f_005fsync-Builtins.html#_005f_005fsync-Builtins http://gcc.gnu.org/ml/gcc-help/2009-06/msg00037.html http://gcc.gnu.org/gcc-4.5/changes.html http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47460 http://llvm.org/bugs/show_bug.cgi?id=11174 http://download.intel.com/design/itanium/downloads/245370.pdf [YOCTO #3563] Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-03-05gtk-doc: Fix B verses S issuesRichard Purdie1
Fic the class to handle recipes which set B to somewhere other than S. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-05sstate.bbclass: Enclose sstate search parameter with quotesLeonardo Sandoval1
In case filenames have spaces, execution of the function sstater_install will hang, so the print parameter %s must be enclosed with quotes. Signed-off-by: Leonardo Sandoval <leonardo.sandoval@freescale.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-05insane.bbclass: Add ALLOW_EMPTY to list of package specific variablesRichard Purdie1
ALLOW_EMPTY should have a package specified so extend sanity checks to cover it. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-05packagegroup: Set ALLOW_EMPTY on a per package basisRichard Purdie1
ALLOW_EMPTY should be set on a per package basis, this updates the code to do this, avoiding warnings. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-05package.bbclass: Ensure all .so files get strippedRichard Purdie1
It was realised that .so files which were not marked as executable were not gettings stripped. This was wasting space in images. This patch ensures they do get processed by the code correctly. [YOCTO #3973] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-05package.bbclass: Fix do_package variable dependenciesRichard Purdie1
When the do_package function was split into different sections, the vardeps were not updated to match meaning some function changes weren't reflected in the sstate checksums. Fix this. [YOCTO #3980] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-05populate_sdk_base/image: Fix races for variable mappingsRichard Purdie2
When using the -c populate_sdk option, images are not generated quite as they should be under certain circumstances. For example the dropbear feature may not get replaced with openssh, leading to both being installed with an appropriate rootfs failure. This patch moves the remapping logic to later points in the code, ensuring there is no conflict. The result is slightly simpler too as an added bonus. [YOCTO #3749] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-05sstate: Add gtk-update-icon-cache-native to postinst recipes listRichard Purdie1
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-05gtk-icon-cache: use virtual/gtk-update-icon-cache-native instead of gtk+-nativeRoss Burton1
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-05sstate.bbclass: consider postinstall dependencies tooLaurentiu Palcu1
When checking the dependencies in setscene_depvalid(), make sure we also consider those dependencies needed when running the postinstalls on host. [YOCTO #3918] Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-05buildhistory: Allow the version backwards check to be disabledRichard Purdie1
When the PR service is not enabled, the versions can go backwards and there are cases we don't want to know about this. This patch adds a variable allowing these checks to be turned off whilst still using buildhistory. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>