summaryrefslogtreecommitdiff
path: root/meta/classes
AgeCommit message (Collapse)AuthorFiles
2013-08-22distro_features_check.bbclass: Allow checking of required/conflicting featuresOtavio Salvador1
This add support to list required/confliting distro features for a recipe; this avoids user mistake when building recipes/images which would not work depending on DISTRO_FEATURES option set. Adding: ,----[ Use example ] | inherit distro_features_check | | REQUIRED_DISTRO_FEATURES = "x11" | CONFLICT_DISTRO_FEATURES_mx6 = "wayland" `---- In the image recipe allow us to make clear to user that this image needs X11 and /cannot/ be build with Wayland support in i.MX6 platforms, for example. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-08-22package_ipk: Add support for PACKAGE_EXCLUDEMark Hatle1
This uses the new --add-exclude arguments in opkg-cl, to list the excluded packages. If an excluded package is needed for the install to resolve, an error will be generated. Recommended packages will not generate an error. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-08-22package_ipk: Add support for NO_RECOMMENDATIONSMark Hatle1
Uses the opkg --no-install-recommends option. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-08-22package_deb: Add support for NO_RECOMMENDATIONS and PACKAGE_EXCLUDEMark Hatle2
Add support for NO_RECOMMENDATIONS and PACKAGE_EXCLUDE. Also add a warning that ensures users know that BAD_RECOMMENDATIONS support is not implemented in the debian package/rootfs classes. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-08-22package_deb.bbclass: Use the WORKDIR not SYSROOT for temp filesMark Hatle1
Previous debian APT configuration was using the sysroot directory. This not only polluted the sysroot, but violates the expectation that the sysroot is not modified by the rootfs installation. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-08-22package_rpm.bbclass: NO_RECOMMENDATIONS supportMark Hatle1
Add NO_RECOMMENDATIONS support. A way to disable all recommended packages from being installed. This will help shrink the size of the resulting filesystem. Add documentation on NO_RECOMMENDATIONS and BAD_RECOMMENDATIONS. Note, using NO_RECOMMENDATIONS has side effects such that kernel-modules may not have been installed. A user will need to manually add to their image any kernel-modules required to be on the image for functionality. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-08-22package_rpm.bbclass: Add support for PACKAGE_EXCLUDE to RPM installsMark Hatle1
Using the new smart exclude mechanism an error will be generated in the excluded package is required for the image to be generated. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-08-22image.bbclass: Add basic support for PACKAGE_EXCLUDEMark Hatle1
Add the foundation for the PACKAGE_EXCLUDE support. As part of this work, it was noticed that the PACKAGE_INSTALL and PACKAGE_INSTALL_ATTEMPTONLY were still using he 'normal' version for dependencies. This should no longer be necessary as of the change in the way the complementary package groups (dev, dbg, ptest and others) are defined. By making this change the dependency tree is more correct than before, and gives the ability for manipulating PACKAGE_INSTALL and PACKAGE_INSTALL_ATTEMPTONLY, while adjusting the dependencies at the same time. Warning messages will be generated if the user is trying to exclude a package that was previously in the PACKAGE_INSTALL or PACKAGE_INSTALL_ATTEMPTONLY variables. (See additional commits for package manager specific support.) Add documentation on PACKAGE_EXCLUDE and related variables. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-08-20useradd.bbclass: add missing functions to preinstChen Qi1
The preinst scripts are calling bbnote, bbwarn and bbfatal functions, but these functions are not written to the preinst scripts. This patch writes these missing functions to the preinst scripts to avoid the 'not found' errors. Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-08-16classes/buildhistory: avoid mangling names in dot graphs for imagesPaul Eggleton1
We were mangling names here to avoid characters that are invalid for dot node names, but if you just quote all names that isn't necessary and we retain the original naming, allowing easy searching of the graph files. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-16classes/buildhistory: tag last 3 build revisionsPaul Eggleton1
This makes it easier to obtain the difference from the last three builds particularly where a single build might account for more than one commit in the buildhistory git repository (e.g. if package and image changes occurred). Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-16classes/buildhistory: show command line in commit messagePaul Eggleton1
Record the bitbake command line in the commit message as a further context indication. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-16classes/buildhistory: record size of installed package not compressed archiveMartin Jansa5
* usually it's more important to know how much space will each package take on target device then size of compressed package * example for libewebkit0 with 4 different architectures, interesting that om_gta02 .ipk is bigger but it's smaller when installed before: MACHINE DEFAULTTUNE SIZE (.ipk file) om_gta04 cortexa8t-neon 15996 KiB libewebkit0 qemux86_64 x86-64 16992 KiB libewebkit0 spitz xscale 16148 KiB libewebkit0 om_gta02 arm920t 16260 KiB libewebkit0 after: MACHINE DEFAULTTUNE SIZE (installed) om_gta04 cortexa8t-neon 60544 KiB libewebkit0 qemux86_64 x86-64 63720 KiB libewebkit0 spitz xscale 60588 KiB libewebkit0 om_gta02 arm920t 56268 KiB libewebkit0 Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-16classes/buildhistory: remove default of BUILDHISTORY_CHECKVERBACKWARDSPaul Eggleton1
Since this variable is no longer used, we don't need to set a default for it. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-16openssh: fix for read-only rootfsChen Qi1
If the rootfs is read-only and the ssh keys are not available at system start-up, the init script will generate ssh keys into /etc/ssh, thus causing a 'read-only file system' error. In order for Yocto based image to work correctly for read-only rootfs, we use the following logic for openssh. If the rootfs is read-only and there are pre-generated keys under /etc/ssh, we use the pre-generated keys. Note the pre-generated keys are mainly for debugging or development purpose. If the rootfs is read-only and there are no pre-generated keys under /etc/ssh, we use /var/run/ssh as the location for ssh keys. That is, at system boot-up, the generated ssh keys will put into /var/run/ssh. [YOCTO #4887] Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-08-16image.bbclass: create device table after package installationChen Qi1
Now that the makedevs supports using user/group names in the devcie table files, and it uses passwd and group files under the rootfs which is provided by the base-passwd package, we should let package installation finish first, so that makedevs can get a correct mapping from user/group names to uid/gid. The check for existence of ${IMAGE_ROOTFS}/dev is removed. This is because do_rootfs doesn't have 'nostamp' flag any more, so the do_rootfs task will not be rerun for every build. Checking for the existence of ${IMAGE_ROOTFS}/dev is not necessary any more. Besides, as base-files package also installs the /dev directory, this checking does not serve as a good criteria. [YOCTO #1159] Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-08-16cmake.bbclass: Don't use packages from the native build machineStefan Herbrechtsmeier1
Signed-off-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-08-13blacklist.bbclass: Avoid blacklist specific handle in base.bbclassOtavio Salvador2
base.bbclass had code which handled the PNBLACKLIST in case of multilib use. This is better to be done in the blacklist.bbclass so it has all logic in a single place. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-08-13kernel.bbclass: Correct post(inst|rm) package associationDarren Hart1
Fixes [YOCTO #4991] The kernel image is installed as part of the kernel-image package, but the symlink creation/removal via alternatives is being done in pkg_post(inst|rm)_kernel-base. Move the postinst alternatives logic into the kernel-image functions. Signed-off-by: Darren Hart <dvhart@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-08-13image.bbclass: Move runtime_mapping_rename to avoid conflict w/ multilibMark Hatle1
[YOCTO #4993] Move the runtime_mapping_rename into a prefunc for the do_rootfs function. Otherwise doing it in the python section could occur BEFORE the multilib classes renaming. If the package 'b' is a kernel module, then lib32-b and b should both point to the same package. The runtime_mapping code will do this automatically. Before if you ran: bitbake lib32-<image> It may do: start PACKAGE_INSTALL (a b c) remap (a b c) MULTILIB naming (lib32-a lib32-b lib32-c) What we want is: start PACKAGE_INSTALL (a b c) MULTILIB naming (lib32-a lib32-b lib32-c) remap (lib32-a b lib32-c) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-08-13classes/testimage: create a link for qemu boot logStefan Stanacar1
The full name for the log is confusing when there are multiple files. Also move the ssh log path stuff where it's needed. Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-08-09buildhistory: use bb.utils.mkdirhier instead of os.makedirsMartin Jansa1
* Multiple do_fetch[prefunc] can happen at the same time and if not os.path.exists(pkghistdir): os.makedirs(pkghistdir) isn't safe * Use bb.utils.mkdirhier which doesn't raise error when directory exists Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-08-09buildhistory: use package_qa_handle_error for version-going-backwardsMartin Jansa2
* this way it's easier for distro to select if such issue should be error, warning or ignored and also it gets recorded in qa.log Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-08-05base.bbclass: Fix PACKAGECONFIG usage commentOtavio Salvador1
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-08-05kernel.bbclass: fix typoJavier Viguera1
Signed-off-by: Javier Viguera <javier.viguera@digi.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-08-05libc-package.bbclass: Add armeb architecture to locale_arch_optionsFathi Boudra1
Fix gconv build failure on ARM big-endian architecture: ERROR: locale_arch_options not found for target_arch=armeb ERROR: Function failed: unknown arch:armeb for locale_arch_options Signed-off-by: Victor Kamensky <victor.kamensky@linaro.org> Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-08-05buildhistory: add a note when committing to buildhistoryRoss Burton1
If there's been a lot of changes the commit to buildhistory can take a significant amount of time, so print a note so there's some indication of progress. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-08-02classes/sanity: fix some grammatical errors in messagesPaul Eggleton1
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-08-02classes/sanity: check for suid root command evilityPaul Eggleton1
Some users have been found to have an unnamed third-party piece of software installed which sets chmod, chown and mknod as suid root as part of its installation process. This interferes with the operation of pseudo and can result in files really being owned by root within the build output, and therefore breaks the build, apart from being a security issue. Check for this and bail out if it is found. Reported-by: Nicolas Dechesne <nicolas.dechesne@linaro.org> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-07-30distrodata.bbclass: Include PRSPV variable in upstream version checkingEmilia Ciobanu1
The PRSPV variable is used for the packages that have different representation for a same upstream and local version (e.g 2.0 vs 20). In this case, the system is using PRSPV instead of PV when comparing the local and upstream versions. The packages that are using this modification are the following: * zip * unzip * docbook-sgml-dtd-3.1-native * docbook-sgml-dtd-4.1-native Signed-off-by: Emilia Ciobanu <emilia.maria.silvia.ciobanu@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-07-30distrodata.bbclass: Remove whitespacesEmilia Ciobanu1
Signed-off-by: Emilia Ciobanu <emilia.maria.silvia.ciobanu@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-07-30systemd: Remove init.d dir if systemd unit file is present and sysvinit not ↵Muhammad Shakeel1
a distro feature If systemd is supported DISTRO_FEATURE and sysvinit is not and also if systemd_unitdir contains anything then no need to keep init.d scripts for sysvinit compatibility. Signed-off-by: Muhammad Shakeel <muhammad_shakeel@mentor.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-07-29ccache: allow CCACHE_DIR to be overridenWenzong Fan1
Use weaker assignment for CCACHE_DIR to allow users to override it if desired. Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-07-27classes/rootfs_rpm: implement BAD_RECOMMENDATIONS for RPMPaul Eggleton3
Add support for the BAD_RECOMMENDATIONS variable that can be used to prevent specific packages from being installed via an RRECOMMENDS relationship when using the RPM backend. (Previously this functionality was only available when using ipk packaging.) In the process this moves the defaulting of BAD_RECOMMENDATIONS (as empty) to bitbake.conf since it is no longer specific to the ipk backend, as well as unifying some of the code that creates the configuration for smart for use on the host and target. Fixes [YOCTO #3916]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-07-27classes/image: ensure BAD_RECOMMENDATIONS supports pre-renamed package namesPaul Eggleton1
Use runtime remapping on BAD_RECOMMENDATIONS just as we do with variables such as IMAGE_INSTALL, so that we're specifying the name prior to any renaming e.g. that done by debian.bbclass. Note that this is a change in behaviour for renamed packages, however this is the correct thing to be doing; a search of existing layers suggests this shouldn't cause widespread incompatibilities. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-07-27gettext: disable nls when INHIBIT_DEFAULT_DEPS is setMartin Jansa1
* for example in gcc-runtime DEPENDS_GETTEXT from gettext.bbclass isn't used because gcc-runtime recipes also set INHIBIT_DEFAULT_DEPS, explicitly disable NLS when DEPENDS_GETTEXT is empty * this is causing undeterministic build if you compare i586-oe-linux/libstdc++-v3/config.log in WORKDIR when building gcc-runtime before and after building gettext-native you'll see that msgfmt isn't found in one of them and gcc-runtime-locale-{de,fr} packages aren't created, there is only one file in them: gcc-runtime-locale-de/usr/share/locale/de/LC_MESSAGES/libstdc++.mo Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-07-27sanity.bbclass: mention version when erroring on LCONF_VERSION mismatchRoss Burton1
If someone is using a Poky release but not the Poky distribution they'll get a bblayers.conf generated from meta-yocto's template with a LCONF_VERSION that doesn't necessarily match LAYER_CONF_VERSION (default in sanity.conf), as Poky overrides LAYER_CONF_VERSION to cater for the meta-yocto split. The resulting error message will tell them to compare bblayers.conf with bblayers.conf.sample, but they're identical. By explicitly refering to the required and actual versions this situation is hopefully clearer. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-07-26useradd.bbclass: fix traceback when inheriting useradd but not setting ↵Ionut Radu1
USERADD_PARAM or GROUPADD_PARAM Replaced bb.build.FuncFailed with bb.fatal [YOCTO #4486] Signed-off-by: Ionut Radu <ionutx.radu@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-07-25package.bbclass: avoid packing debug sources from other packagesAndreas Müller1
The error case was gcc-dbg packing files from libgcc-dbg reported in [1] [1] http://lists.openembedded.org/pipermail/openembedded-core/2013-July/080728.html Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-07-25cpan.bbclass: Fail unless Makefile.PL generates MakefileOlof Johansson1
Makefile.PLs can exit with success without generating a Makefile, e.g. in cases of missing configure time dependencies. This is considered a best practice by cpantesters.org. See: * http://wiki.cpantesters.org/wiki/CPANAuthorNotes * http://www.nntp.perl.org/group/perl.qa/2008/08/msg11236.html Signed-off-by: Olof Johansson <olof.johansson@axis.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-07-23systemd: Remove systemd_unitdir if systemd is not in distro featuresMuhammad Shakeel1
If systemd is not supported DISTRO_FEATURE than there is no need to package related service files. Signed-off-by: Muhammad Shakeel <muhammad_shakeel@mentor.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-07-23boot-directdisk: use awk instead of echo -ne for dash compatibilityJonathan Liu1
The echo command is a dash shell built-in and does not support the -n and -e options so use awk instead. This fixes the partition table being corrupted when writing the MBR disk signature into the image. [YOCTO #4859] Signed-off-by: Jonathan Liu <net147@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-07-22extrausers.bbclass: add a new bbclassChen Qi1
This class is dedicated to image level user/group configuration. It inherits useradd_base.bbclass. Users need to inherit this class in their layers or local.conf to make the setting of EXTRA_USERS_PARAMS effective. For detailed configuration format of EXTRA_USERS_PARAMS, please refer to local.conf.sample.extended. [YOCTO #4074] Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-07-22useradd.bbclass: add a new base class and code refactorChen Qi2
Add a new base class, useradd_base.bbclass, which is mainly a collection of basic functions for user/group settings. The useradd_base.bbclass is intended to be inherited by useradd.bbclass and the extrausers.bbclass to avoid code cuplication. [YOCTO #4074] Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-07-18populate_sdk_base.bbclass: use new perm option for findStefan Stanacar1
Old way find -perm +mode is no longer supported in newer versions of find (Fedora 19). Man page says: -perm +mode This is no longer supported (and has been deprecated since 2005). Use -perm /mode instead. [YOCTO #4853] Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-07-18classes/insane: allow libdir QA check to be skipped using INSANE_SKIPPaul Eggleton1
This path check isn't handled in the normal way where a QA check function is called for every file (there's some minor setup that we want to avoid doing for every file) so we need to check INSANE_SKIP explicitly. In the process, change the code structure a little bit so that we can report the package that contains the errant file. Fixes [YOCTO #4822]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-07-18classes/insane: fix regression in libdir QA regexPaul Eggleton1
There was a slight mistake in the recent change to the lib_re regex - it still needs to begin with a /. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-07-18terminal.bbclass: Fix BB_RUNFMT processingMark Hatle1
BB_RUNFMT can include task and taskfunc, as well as func and pid. Add the two missing items toe the runfmt processing. Also BB_RUNFMT can include arbitrary directory structure. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-07-18sanity.bbclass: Update gcc sanity checkMark Hatle1
The gcc sanity check should be checking for the atomic function directly instead of using the gcc macro. Older versions of gcc do not have the macro defined, but do support the atomic operations. (glib-2.0 checks for both the macro and the function, as long as one is available it will successfully compile.) Update the check to try both -mcpu=native and -mcpu=BUILD_ARCH. Tell the user which version worked properly. [YOCTO #4845] Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-07-15testimage.bbclass, lib/oeqa: add headers and commentsStefan Stanacar1
Adds some comments to testimage.bbclass and the files it calls, just to give an ideea of what it does. Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>