summaryrefslogtreecommitdiff
path: root/meta/classes
Commit message (Collapse)AuthorAgeFilesLines
* license/copyleft: exception for ast parseElizabeth Flanagan2011-12-102-1/+6
| | | | | | | | | As the standard for LICENSE format is not well defined, we may well run into issues where LICENSE cannot be parsed via ast. In cases like this, we need to warn and continue. Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* license.bbclass: remove deb exclusionElizabeth Flanagan2011-12-101-26/+23
| | | | | | | | This commit requires 4a13766c7b223d as it removes the exclusion of deb package types from license manifest creation. Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* license.bbclass: remove bashism.Elizabeth Flanagan2011-12-101-1/+1
| | | | | | | bashism in create_license_manifest removed. Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/rootfs_deb: implement query functions for buildhistoryPaul Eggleton2011-12-101-0/+23
| | | | | | | | Implement the functions required for buildhistory to be able to query installed packages, get dependencies etc. for deb-based images. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Adding license collectionElizabeth Flanagan2011-12-081-0/+1
| | | | | | | emite_package_data needs to have LICENSE, as pkgdata is as an audit of licenses collected during do_populate_license. Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
* [YOCTO #1776] license: manifest and license pathElizabeth Flanagan2011-12-081-66/+153
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a fairly large commit, so I want to step through some of what this accomplishes: 1. Additional licenses I've added/modified/corrected some of the common licenses within OE-core in prep. for a major license audit. Most of these are in SPDX format. A few, there is no OSI equivalent. 2. Additional SPDX mappings I've added some additional SPDX mappings to account for removing some duplicate licenses. (ie GPL-2 and GPL-2.0 were the same) I've also remapped a few things to more accurately reflect what they should be pointing at. Note: Artistic/LGPL/GPL/MPL. Quite a few LICENSE fields list these licenses. They make no sense and need auditing. In a future commit I have some fixes to particularly egregious LICENSE fields, but a full audit should be done. I've listed to obvious candidates at: https://wiki.yoctoproject.org/wiki/License_Audit 3. License manifest We now have a license manifest generation that occurs in rootfs for everything BUT .deb. This requires the changes Paul Eggleton has done to rootfs_* particularly the list_installed_packages function. The manifest is accurate during a parallel bitbake now (Weee!) and is prime for my planned SPDX format manifest during the next period. 4. License manifest on image. We also want the ability to add licenses to the image. This functionality is also in base-files and will be stripped out in my next commit. The manifest is not added by default and is a two var setting in license.conf: If I want *just* the manifest on the image (small) then I set: COPY_LIC_MANIFEST = "1" This copies the manifest to: /usr/share/common-licenses/license.manifest If I want the actual PKG license text on the image (much larger) I need to set both both COPY_LIC_MANIFEST and COPY_LIC_DIRS in license.conf. This will create: /usr/share/common-licenses/(package name)/(licenses in LIC_SRC_URI) Word of warning. This can be larger than wanted depending on image and is probably ripe for linking licenses, but I ran out of time this week to get that done. 5. Custom License search path. We now have the ability to add licenses to the build without touching common-licenses. This is set via license.conf: LICENSE_PATH += "/path/to/custom/licenses" You want to make sure the license is unique. license.bbclass picks the first license it finds. Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
* Add copyleft compliance classChristopher Larson2011-12-081-0/+94
| | | | | | | | | | Deploys sources for recipes for compliance with copyleft-style licenses Defaults to using symlinks, as it's a quick operation, and one can easily follow the links when making use of the files (e.g. tar with the -h arg). By default, includes all GPL and LGPL, and excludes CLOSED and Proprietary. Signed-off-by: Christopher Larson <kergoth@gmail.com>
* license: split license parsing into oe.licenseChristopher Larson2011-12-081-39/+20
| | | | | | | | | In addition to moving this functionality to oe.license, makes the string preparation more picky before passing it off to the ast compilation. This ensures that LICENSE entries like 'GPL/BSD' are seen as invalid (due to the presence of the unsupported '/'). Signed-off-by: Christopher Larson <kergoth@gmail.com>
* bitbake.conf/image.bbclass: Ensure images use the correct passwd/group filesRichard Purdie2011-12-081-0/+2
| | | | | | | | | We need pseudo to use the rootfs passwd/group files belonging to the rootfs when building images. This patch ensures that we use the rootfs files instead of those in the sysroot which can lead to incorrect file ownership issues. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image_types.bbclass: disable cleanmarkers for jffs2 imagesAndrea Adami2011-12-081-2/+2
| | | | | | | | | | | | | * Add '-n' to suppress cleanmarker nodes since jffs2 * is usually used for NAND flash and the cleanmarkers are created in * the OOB area by flash_eraseall -j * * From man pages: -n, --no-cleanmarkers * Do not write cleanmarker nodes to the beginning of each erase block. * This option can be useful for creating JFFS2 images for use on NAND flash, * and for creating images which are to be used on a variety of hardware with differing eraseblock sizes. Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
* image_types.bbclass: implement jffs2 summary images (sum.jffs2)Andrea Adami2011-12-081-1/+4
| | | | | | | | | * Building the jffs2 filesystem to include summary information speeds up * the mount process considerably at the cost of increased size. * The rate of speedup is generally higher on NAND chips and on the chips * where the erase block size is large. Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
* rootfs_ipk: implement FEED_DEPLOYDIR_BASE_URI supportEric Bénard2011-12-081-1/+12
| | | | | | | | | this feature was present in OE-classic, is documented in OE-core but its implementation is actually missing. The present implementation is directly copied from OE-classic and tested on an arm926 machine. Signed-off-by: Eric Bénard <eric@eukrea.com>
* populate_sdk.bbclass: remap packages when generating sdk tarballMatthew McClintock2011-12-061-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes the issue below: | Generating solve db for /local/home/mattsm/git/poky/build_p4080ds_release/tmp/deploy/rpm/all... | total: 1 0.000000 MB 0.093784 secs | fingerprint: 9 0.000012 MB 0.000252 secs | install: 3 0.000000 MB 0.039092 secs | dbadd: 3 0.000000 MB 0.034837 secs | dbget: 12 0.000000 MB 0.000062 secs | dbput: 3 0.009532 MB 0.002731 secs | readhdr: 31 0.019160 MB 0.000084 secs | hdrload: 15 0.027924 MB 0.000116 secs | hdrget: 494 0.000000 MB 0.000691 secs | Processing task-core-standalone-sdk-target... | Processing glib-2.0... | Unable to find package glib-2.0 (glib-2.0)! | ERROR: Function 'do_populate_sdk' failed (see /local/home/mattsm/git/poky/build_p4080ds_release/tmp/work/ppce500mc-fsl-linux/fsl-toolchain-1.0-r6/temp/log.do_populate_sdk.16975 for further information) If you have: TOOLCHAIN_TARGET_TASK += "glib-2.0" The package name was not getting remapped correctly for the do_populate_sdk case. Signed-off-by: Matthew McClintock <msm@freescale.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* buildhistory bbclass: avoid absolute paths for files-in-image.txt to avoid ↵Koen Kooi2011-12-061-1/+1
| | | | | | | diff churn when relocating TMPDIR Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* distrodata.bbclass:Fix some recipes upstream version check issue.Mei Lei2011-12-061-1/+1
| | | | | | | | | Some recipes,like rt-tests,clutter-box2d,iproute2,didn't declare upstream protocal, but in distrodata.bbclass, we use rsync as the default protocal, this will lead an error when checking upstream version. Change default protocal from rsync to git in distrodata.bbclass. Signed-off-by: Mei Lei <lei.mei@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/buildhistory: do not save old packagehistory files by defaultPaul Eggleton2011-12-051-2/+7
| | | | | | | | | | Disable storing package history as version named files unless BUILDHISTORY_KEEP_VERSIONS is set to 1; otherwise the adds of these files that duplicate what is already in git anyway is just noise in the git log. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/buildhistory: merge in package history functionalityPaul Eggleton2011-12-051-1/+250
| | | | | | | | Include package history collection from packagehistory.bbclass (thus superseding it). The only change is to store package history under BUILDHISTORY_DIR/packages and rename one of the functions. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
* classes/buildhistory: add new output history collection classPaul Eggleton2011-12-053-6/+167
| | | | | | | | | | | | | | | | | | | Create a new build output history reporting class, using testlab.bbclass from meta-oe as a base. This records information from images produced by the build process in text files structured suitably for tracking within a git repository, thus enabling monitoring of changes over time. Build history collection can be enabled simply by adding the following to your local.conf: INHERIT += "buildhistory" The output after a build can then be found in BUILDHISTORY_DIR (defaults to TMPDIR/buildhistory). If you set up this directory as a git repository and set BUILDHISTORY_COMMIT to "1" in local.conf, the build history data will be committed on every build. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
* classes/packagehistory: fix and extendPaul Eggleton2011-12-051-40/+192
| | | | | | | | | | | | | | | | | | | * Replace use of BASEPKG_TARGET_SYS which is no longer available * Replace use of bb.data.getVar(...,d) with d.getVar(...) * Change the file structure - use single files within PN/package subdirs rather than having a subdir level for each part of the version. There is a set of files for each recipe and for each package in directories underneath. * Record more information - PACKAGES, DEPENDS, RDEPENDS, RRECOMMENDS, FILES, and the total size and a complete list of the packaged files. * Record the values in simple text format. The "latest" file, rather than a symlink has been changed to a copy of the latest file so that if it is tracked in a VCS repository (e.g. git) you can compare it easily to the previous version. Implements [YOCTO #1565]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
* bitbake.conf: add default PRINC 0 to be able to increment itMartin Jansa2011-12-051-1/+1
| | | | | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bootimage: Use ${S} explicitly for generated config filesDarren Hart2011-12-022-7/+5
| | | | | | | | | | | | | | | | The syslinux and grub-efi classes were generating config files in the current working directory. This caused a failure due to a race in the creation of the directories leading to cwd changing and the build failing to find the config files. While this has been addressed in bitbake, it is better to use an explicit path. While ${WORKDIR} may seem a more appropriate place, the recipe already uses ${S} for the "hdd" and "cd" construction, so we use ${S} here to keep things consolidated and consistent and address the issue with minimal change. Signed-off-by: Darren Hart <dvhart@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-yocto: fix extra CR in do_kernel_checkoutSaul Wold2011-12-021-2/+1
| | | | Signed-off-by: Saul Wold <sgw@linux.intel.com>
* linux-yocto: prefer in-tree tools to external onesBruce Ashfield2011-12-021-1/+11
| | | | Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* kernel-yocto: support allnoconfig base configurationBruce Ashfield2011-12-021-2/+13
| | | | | | | | | | | | | | | | | When creating a minimal config or creating a hard baseline for incremental changes, it is often desired to disable all kernel options and then begin building and enabling only what is required. To support this workflow, a new variable KCONFIG_MODE is introduced to contain a hint to the kernel configuration about how the kernel config should be produced. This variable is passed directly to lkc when it is invoked during configuration, so the contents of the variable must be a valid option for the kernel config build. Additionally, when a defconfig is detected, allnoconfig is enabled as the default operation, unless otherwise specified by KCONFIG_MODE. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* Revert "classes/buildhistory: add new output history collection class"Richard Purdie2011-12-013-412/+6
| | | | | | This reverts commit 508ff624fea705eb93cf2cc1e0c9c42cb817acf8. RP accidentally pulled the wrong commit in, it was supposed to be a *package*history bbclass change.
* classes/buildhistory: add new output history collection classPaul Eggleton2011-12-013-6/+412
| | | | | | | | | | | | | | | | | | | | Create a new build output history reporting class, using testlab.bbclass from meta-oe and packagehistory.bbclass as a base. This records information from packages and images output from the build process in text files structured suitably for tracking within a git repository, thus enabling monitoring of changes over time. Build history collection can be enabled simply by adding the following to your local.conf: INHERIT += "buildhistory" The output after a build can then be found in BUILDHISTORY_DIR (defaults to TMPDIR/buildhistory). If you set up this directory as a git repository and set BUILDHISTORY_COMMIT to "1" in local.conf, the build history data will be committed on every build. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
* classes/base: split out metadata revision code to separate functionPaul Eggleton2011-12-011-20/+24
| | | | | | | | Split out a new function get_layers_branch_rev() which returns a list of the metadata layers and their revisions. This enables reuse in other places, such as buildhistory.bbclass. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
* classes, conf: Exclude native and nativesdk recipes from libc specific overrideKhem Raj2011-12-012-0/+6
| | | | | | | | | | | | Based on suggestions from RP libc-uclibc and libc-glibc overrides are for denoting system C library in use on the target and not for the host therefore we make sure that the override only takes effect for target recipes only. Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libc-package.bbclass: Fix typo in setVar usageRichard Purdie2011-12-011-1/+1
| | | | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* autotools.bbclass: Report the missing configure pathDarren Hart2011-11-301-4/+5
| | | | | | | | | If the configure script isn't found, report the explicit path tried. This can help debug subtle errors where the ${S} sourcedir may not be exactly what is expected. Signed-off-by: Darren Hart <dvhart@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bootimg: Allow for EFI-only boot imagesDarren Hart2011-11-301-9/+40
| | | | | | | | | | | Condition building PCBIOS legacy images on MACHINE_FEATURES containing "pcbios" or not containing "efi". This ensures existing BSPs will continue to get the old PCBIOS legacy-only images. New BSPs can add "efi", "pcbios", or both. The images created likewise support one or the other or both. EFI-only ISO images are untested. Signed-off-by: Darren Hart <dvhart@linux.intel.com>
* bootimg: Add grub-efi supportDarren Hart2011-11-303-0/+155
| | | | | | | | | | | | | | | | | | | | | | | | | Create a new grub-efi.bbclass and integrate it into bootimg alongside the syslinux support. This new class uses the output from the grub-efi-native recipe. Thanks goes to Josef Ahmad <josef.ahmad@intel.com> for the original build_grub_cfg() routine. The EFI features are only added to the image if MACHINE_FEATURES contains "efi". The resulting images are therefor either legacy boot only (like they were originally) or legacy boot and EFI boot. A new "dummy.bbclass" was added to allow for the conditional include of grub-efi. This makes it so if efi support is not to be built in, we don't spend time building grub-efi-native just because the include adds the dependency. There is a bug in the mkdosfs tool from the dosfstools package which causes it to crash when the directory passed with the -d parameter contains sub-directories. An /EFI/BOOT directory is required for a proper EFI installation. Until it is fixed, we install to the top level directory for the hddimg. Signed-off-by: Darren Hart <dvhart@linux.intel.com> Signed-off-by: Josef Ahmad <josef.ahmad@intel.com>
* bootimg: Pull syslinux specific bits into syslinux.bbclassDarren Hart2011-11-302-63/+76
| | | | | | | | | Working towards a more generic bootimg.bbclass, pull out all syslinux specific bits and let syslinux.bbclass manage them directly. This introduces no functional changes to the images constructed and the behavior remains unchanged. Signed-off-by: Darren Hart <dvhart@linux.intel.com>
* bootimg: Refactor build_hddimg and build_iso routinesDarren Hart2011-11-301-42/+43
| | | | | | | | Separate the construction of the ISO image from that of the hddimg. This is part of the groundwork for creating a much more flexible live image builder. Signed-off-by: Darren Hart <dvhart@linux.intel.com>
* image_types.bbclass: add xz-native to deps for lzma ext2.lzma imagesMatthew McClintock2011-11-301-1/+1
| | | | | Signed-off-by: Matthew McClintock <msm@freescale.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toolchain-scripts.bbclass: Make it work when TCLIBC=uclibcKhem Raj2011-11-291-2/+6
| | | | | | | | | | This class currently only works with eglibc. Since it adds dependencies explicitly on eglibc when using uclibc this creates problems. So we make sure that it checks for TCLIBC to determine system C library in use Signed-off-by: Khem Raj <raj.khem@gmail.com>
* getVar/setVar cleanupsRichard Purdie2011-11-2618-111/+111
| | | | | | | Complete the bb.data.getVar/setVar replacements with accesses directly to the data store object. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* patch.bbclass: Add PATCHRESOLVE to excluded vars for generating sstate-cacheMatthew McClintock2011-11-241-1/+1
| | | | | | | The method of resolving the patch should not effect the sstate-cache signature. Signed-off-by: Matthew McClintock <msm@freescale.com>
* base.bbclass: Use bb.plain to print the build headerRichard Purdie2011-11-241-1/+1
| | | | | | | If we just use print, the bitbake logging functions don't see the message and it can get lost if bitbake is for example logging messages to disk. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gconf: Ensure the correct backend directory is usedRichard Purdie2011-11-231-0/+1
| | | | | | | Without these changes, gconf will use the hardcoded backend directory meaning we can see errors when building if the binary was relocated. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gconf: Ensure that GCONF_SCHEMA_INSTALL_SOURCE uses correct pathsRichard Purdie2011-11-231-0/+4
| | | | | | | | | | | The gconf .m4 files use the path encoded into the gconf-native tools by default to populate this variable. This doesn't work if we're relocating the gconf-native binaries. By setting this variable we ensure that the m4 files always pick up the correct path. This fixes errors seen on the yocto autobuilder. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* staging: Remove debug accidently left inRichard Purdie2011-11-221-1/+0
| | | | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* staging.bbclass: Add BB_SETSCENE_VERIFY_FUNCTION functionRichard Purdie2011-11-221-0/+15
| | | | | | | | Since we clean out do_populate_sysroot if do_configure runs, don't allow do_populate_sysroot_setscene functions if we're going to run do_configure. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Ensure paths to rpmmarcos and rpmpopt are setRichard Purdie2011-11-221-1/+1
| | | | | | | | | | If rpm-native was built in an alternative location, it may not relocate correctly unless the rpmpopt and macros paths are explicitly specified. This fixes errors seen on the Yocto autobuilder where pkgconfig "provides" entries could disappear leading to image dependency failures. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* mime.bbclass: Add --disable-update-mimedb to EXTRA_OECONFAndreas Müller2011-11-211-0/+2
| | | | | | | | | | | | | * ensure update-mime-database is not called during build time * this patch was included in meta-oe [1] about the same time when mime.bbclass was migrated from meta-oe -> oe-core so it seems it got lost. * tests: build from scratch / run on overo / additional check: no unpacked files for gnome-control-center [1] http://cgit.openembedded.org/meta-openembedded/commit/meta-oe/classes?id=6b765989a42ab314d1611f4dec78b07b562a9e7d Signed-off-by: Andreas Müller <schnitzeltony@gmx.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: fix path for relative links on elf files, when moved to ↵Henning Heinold2011-11-211-0/+2
| | | | | | | | | | | debugdir * relative links for elf files like ../foo.so ends up in the debugdir with ../.debug/foo.so, this causes infinite fileaccessloops fix it by adding an extra "../" to the link path Signed-off-by: Henning Heinold <heinold@inf.fu-berlin.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate.bbclass: Ensure we expand stamp-extra-infoRichard Purdie2011-11-211-1/+1
| | | | | | | Without this change we can end up looking for <stamp>.${MACHINE} instead of the expected expanded value. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* useradd: Ensure -native recipes don't depend on target recipesRichard Purdie2011-11-211-0/+3
| | | | | | | | | | Without this change, dbus-native can end up depending upon base-passwd for example. This change mirrors the existing nativesdk code. Based on a patch from Henning Heinold <heinold@inf.fu-berlin.de> but with some additions from me. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bootimg: Create a valid boot sector for the iso imageDamien Lespiau2011-11-181-0/+2
| | | | | | | | | | | It's possible to create an "hybrid" iso image that you can both burn to a CD-Rom and dd to a USB key. isohybrid will create a valid boot sector for the USB key case. [YOCTO #1763] Signed-off-by: Damien Lespiau <damien.lespiau@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sanitytest: remove rpm/zypper tests if PACKAGE_CLASSES does not set package_rpmJiajun Xu2011-11-181-1/+24
| | | | | | | | | | | If PACKAGE_CLASSES does not set package_rpm as the first item, the root filesystem will not be generated based on rpm. We need remove rpm/zypper tests against non-rpm filesystem. [YOCTO #1757] Signed-off-by: Jiajun Xu <jiajun.xu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>