summaryrefslogtreecommitdiff
path: root/meta/classes
AgeCommit message (Collapse)AuthorFiles
2012-01-05image-mklibs/package_ipk: Remove bashismsRichard Purdie2
We now support using dash but these bashisms triggered build failures for me when using it. This replaces the code with something which works on dash. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-05insane.bbclass: use bb.process.Popen instead of subprocess.check_outputScott Garman1
subprocess.check_output was only introduced in Python v2.7, so we cannot use it. This refactors the QA test to use bb.process.Popen instead. This fixes the error: AttributeError: 'module' object has no attribute 'check_output' It no longer checks the return status of prelink-rtld, as that case was simply adding noise. This QA test is intended to only warn about specific paths that binaries could be linking to, not handle the case where there is a missing library. Signed-off-by: Scott Garman <scott.a.garman@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-05multilib: Abstract class extension code into classextend.pyRichard Purdie2
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-05native.bbclass: Fix variable remapping coverageRichard Purdie1
When looking for RDEPENDS to process, bitbake iterates through PACKAGES *and* PN. Since native.bbclass sets PACKAGES to be empty, its pointless remapping the list of PACKAGES since this does nothing. There is a problem since *_${PN} are used by bitbake but not remapped by the native.bbclass class extension code. This changes the code to remap _${PN} in both expanded and unexpanded forms. As a result of this, various surprising dependencies are uncovered and the patch rectifies those. These are real bugs since they're injecting unneeded (unremapped) dependencies into the dependency chain. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-05insane.bbclass: add QA tests for unsafe references to exec_prefixScott Garman1
Files under exec_prefix (commonly /usr) may not be available during system recovery. exec_prefix may also be kept on a separate partition that is mounted late in the boot process. This QA test throws an warning if a binary in base_[bindir|sbindir|libdir] is dynamically linked to a file under exec_prefix. The intention is to turn this into an error in the near future. It also checks executable non-binaries (e.g, shell scripts) in the above base directories with a simple grep test to look for references to exec_prefix. This test only produces a warning, since false positives are likely. This fixes [YOCTO #1008] Signed-off-by: Scott Garman <scott.a.garman@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-05image_types: Fix rootfs size calcuationSaul Wold1
The ROOTFS_SIZE calculation was not correctly taking into account the IMAGE_ROOTFS_EXTRA_SPACE variable, it would only be applied if the size as determined by the ((du * overhead) + extra space) was greater than the IMAGE_ROOTFS_SIZE, so if the du * overhead was smaller Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-05classes/update-alternatives: fix typos and grammarPaul Eggleton1
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2012-01-04bitbake.conf: remove some redundant/unnecessary variable exportsPhil Blundell2
Specifically... SLOT: apparently redundant, deleted. STAGING_IDLDIR: likewise QMAKE_MKSPEC_PATH: no longer exported, moved to qmake_base.bbclass STAGING_SIPDIR: no longer exported, moved to sip.bbclass Signed-off-by: Phil Blundell <philb@gnu.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-04populate_sdk_ipk.bbclass: Ensure the correct environment is setup for ↵Richard Purdie1
postinstalls Without this, various postinstalls get run with incorrect environments leading to various failures when building the toolchains. This adds some duplication and some variables we'd be better off removing. It does unbreak the SDK ipk code for now though. This needs revisiting. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03buildhistory: improve git commit robustnessPaul Eggleton1
* Check if BUILDHISTORY_DIR exists before doing anything with it, in case no tasks that would have created it have executed * Ensure the git repo in BUILDHISTORY_DIR is initialised with "git init" before attempting to do anything with it * Check if any files have been added or changed before adding and committing, to avoid an error from "git commit" Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2012-01-03autotools.bbclass: fix cp error for empty dirNitin A Kamble1
the .../usr/share/aclocal is empty for build from scratch. so avoid cp error if the directory is empty. Fixes this error, which is thrown before pseudo is built: | cp: cannot stat `/builddisk/build/build0/tmp/sysroots/x86_64-linux/usr/share/aclocal/*': No such file or directory NOTE: package libtool-native-2.4.2-r0.0: task do_configure: Failed Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2012-01-03image_types: Ensure /init exists for cpio rootfs archivesDarren Hart1
In order for the kernel to accept an initramfs as a rootfs, it must have /init - even if it is an empty file. Touch /init to ensure it exists for cpio and cpio.gz image types. When used with initrd and rootfs=/dev/ram0, this allows the cpio and cpio.gz images to be used as the rootfs. Signed-off-by: Darren Hart <dvhart@linux.intel.com>
2012-01-02rpm: Fix rpm database files capacity issue.Mei Lei1
Tune the __db* size in DB_CONFIG. This will reduce the __db* size from 62MB to 26MB in qemu. [YOCTO #1769] Signed-off-by: Mei Lei <lei.mei@intel.com>
2012-01-02classes/image: implement generic locale package installationPaul Eggleton4
Let each package-specific rootfs implementation provide basic functions to query the existence of a package and install a list of packages and then have a generic install function so this logic is in one place. Note: unlike previous versions of this code in OE-Core this uses the IMAGE_LINGUAS variable and not IMAGE_LOCALES - note that IMAGE_LINGUAS was what was used in OE-Classic and it is already used in OE-Core in order to install locale-base-*. This will mean that if IMAGE_LINGUAS is left at the default you will now get more packages installed. If you don't want these language support packages then you should set IMAGE_LINGUAS explicitly. This restores locale installation to the same state as OE-Classic, only we now support all the packaging backends. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2012-01-02patch.bbclass: abstract out logic that determines patches to applyChristopher Larson1
This is needed by the copyleft_compliance class, so it can emit series files for the patches, which greatly increases their usefulness to a user trying to reconstruct the sources outside of OE. Signed-off-by: Christopher Larson <chris_larson@mentor.com>
2012-01-02buildhistory: avoid quoting issues with the layer list for build-idChristopher Larson1
--4ef4ab1d_66334873_12d0c Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Content-Disposition: inline The layer list is multiline, and includes quotes, so including it within quotes is problematic, particularly if the revision includes characters which are not valid outside of a quoted string in shell. To reproduce this failure: do a build with an scm layer not on a branch. Signed-off-by: Christopher Larson <chris_larson@mentor.com (mailto:chris_larson@mentor.com)>
2012-01-02base.bbclass: Allow buildstats to be optionally suppliedMark Hatle1
Buildstats should be allowed to be optionally enabled. It's recommended that it be enabled via the USER_CLASSES setting. Alternatively it could be enabled via the INHERIT_DISTRO or similar mechanism. Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2012-01-02Add mini X core tasksZhai Edwin1
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2012-01-02linux-yocto: use PATH to locate kconf_checkBruce Ashfield1
The changes made to prefer in-tree kernel tools forced the location of kconf_check prematurely. For maximum flexibility, locating it on the PATH is ideal, since the transition to in-tree tools will be completely transparent. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2012-01-02classes/rootfs_rpm: handle recommends in query functionsPaul Eggleton1
Implement list_package_recommends() for rpm, and filter out the "suggests" (RPM's equivalent of recommends) in list_package_depends(). Respectively, these changes fix buildhistory handling of recommends for RPM (so that they are included in the image graphs) and also prevents failures during do_rootfs with buildhistory enabled if a recommend is unsatisfied. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2011-12-23kernel.bbclass: fix pkg_postinst and pkg_postrmAndrea Adami1
* Symptom: kernel symlink in /boot is not created. * Rename in order to create the expected files: * /var/lib/opkg/info/kernel-3.1.4.postinst * /var/lib/opkg/info/kernel-3.1.4.postrm Signed-off-by: Andrea Adami <andrea.adami@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-23package_rpm.bbclass: Add RPMSPEC_PREAMBLEMark Hatle1
Add a way to add arbitrary text to the top of a spec file. This can be useful for adding specific tags to the produced binaries for tracking purposes. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-23package.bbclass: Adjust RPM call to use dynamic location for magic filesMark Hatle2
The magic file could be installed somewhere else if the system native prefix settings are changed. Adjust the packaging files to compensate for this. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-22image-types: add btrfs as a supported fstypeNitin A Kamble1
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2011-12-21license: Fix manifest conditionalBeth Flanagan1
The manifest conditionals COPY_LIC_MANIFEST and COPY_LIC_DIRS were returning true due to missing quotes in the bash test. This made images larger than expected. Signed-off-by: Beth Flanagan <elizabeth.flanagan@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-19icecc.bbclass: also use icecc for kernel modules compilationDmitry Eremin-Solenikov1
Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-16license.bbclass: remove bashismElizabeth Flanagan1
Removing a bashism that was dumping errors into rootfs log. Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-16update-rc.d.bbclass: override UPDATERCD for nativesdkBernhard Guillon1
Override UPDATERCD for nativesdk. Without, update-rc.d is installed to /usr/sbin/update-rc.d with meta-toolchain if nativesdk recipe inherits update-rc.d. An example recipe for this is dbus. Signed-off-by: Bernhard Guillon <Bernhard.Guillon@hale.at> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-16opkg: Update svn 625 -> 633 and fix preinst issuesRichard Purdie2
There is a major issue with opkg images at the moment as preinst functions are not being executed before their dependencies are installed and this is leading to corruption of images containing avahi/dbus in particular. There are various changes in upstream opkg in the last 8 revisions which make changes in this area but sadly these aren't enough to get things working for us. I've updated to the latest svn revision with this patch since it makes sense to pull in those changes first and then supplement them with the attached patches. There is a full description of the patches in the patch headers but in summary they: a) Ensure preinst functions execute with their dependencies installed. This is a pretty invasive change as it changes the package install ordering in general. b) Ensure opkg sets $D, not $PKG_ROOT which we don't use c) Change opkg to allow execution of postinstall functions which fail resulting in execution on the target device as rootfs_ipk.bbclass currently does manually. The remaining changes interface this with the rest of the OE build infrastructure, adding in the option to tell opkg to run the preinst and postinst functions, ensure the correct environment is present for the postinst scripts and removing the now unneeded rootfs_ipk class code which opkg now does itself. [YOCTO #1711] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-16nativesdk.bbclass: Remove historical FILES artifactRichard Purdie1
Adding everything in ${prefix} to FILES and FILES-dbg is a historical artifact left over from when this was sdk.bbclass back in 2009. The BBCLASSEXTEND changes, multilib changes and cleanups to this file over the intervening time mean this is simply no long needed. Its also outright dangerous since it can link the packages together in circular ways which don't make sense. The simplest thing to is to drop this since it no longer does anything useful. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-16bootimg: Use mcopy to construct the hddimgDarren Hart1
The initial directory support (-d) added to mkdosfs has proven to be incomplete and non-compliant with FAT. Rather than continue to maintain this feature and work around the various issues, we can use mcopy to construct the image. bootimg.bbclass already depends on mtools-native (although it may not have needed to previously). No new dependencies are introduced. The image created passes dosfsck cleanly. Remove the call to dosfsck. mcopy reported an error with the image we were creating: Total number of sectors (107574) not a multiple of sectors per track (32)! Add some logic to ensure the total sector count is an integral number of sectors per track, including forcing the logical sector size to 512 in the mkdosfs command. The du -bks arguments are contradictory, -b is equivalent to "--apparent-size --block-size=1" and -k is --block-size=1K. If reordered, -kbs will report the disk usage in bytes insteadk of 1k blocks. Eliminate the ambiguity by using: du --apparent-size -ks Signed-off-by: Darren Hart <dvhart@linux.intel.com> CC: Nitin A. Kamble <nitin.a.kamble@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-16bootimg: Use dosfsck to clean up the generated live imageDarren Hart1
The generated filesystem has some errors that dosfsck is able to repair: dosfsck 2.11, 12 Mar 2005, FAT32, LFN Checking file /ldlinux.sys (LDLINUX.SYS) Checking file /initrd (INITRD) Checking file /syslinux.cfg (SYSLINUX.CFG) Checking file /EFI (EFI) Checking file /vmlinuz (VMLINUZ) Checking file /rootfs.img (ROOTFS.IMG) /vmlinuz File size is 4144896 bytes, cluster chain length is > 4145152 bytes. Truncating file to 4144896 bytes. Checking file /EFI/.. (..) Checking file /EFI/BOOT (BOOT) Checking file /EFI/. (.) /EFI/.. Start (16022) does not point to .. (0) /EFI/. Start (0) does not point to parent (16022) Checking file /EFI/BOOT/.. (..) Checking file /EFI/BOOT/. (.) Checking file /EFI/BOOT/initrd (INITRD) Checking file /EFI/BOOT/grub.cfg (GRUB.CFG) Checking file /EFI/BOOT/bootia32.efi (BOOTIA32.EFI) Checking file /EFI/BOOT/vmlinuz (VMLINUZ) Checking file /EFI/BOOT/rootfs.img (ROOTFS.IMG) /EFI/BOOT/.. Start (16021) does not point to .. (16022) /EFI/BOOT/. Start (0) does not point to parent (16021) /EFI/BOOT/vmlinuz File size is 4144896 bytes, cluster chain length is > 4145152 bytes. Truncating file to 4144896 bytes. Performing changes. /build/poky/fri2/tmp/deploy/images/core-image-minimal-fri2-noemgd-20111216000605.hddimg: 12 files, 26635/26828 clusters Add a dosfsck command following the mkdosfs command to correct these. Signed-off-by: Darren Hart <dvhart@linux.intel.com> CC: Nitin A Kamble <nitin.a.kamble@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-16grub-efi: Use /EFI/BOOT now that mkdosfs -d works with directoriesDarren Hart1
[Yocto 1783] prevented us from using a proper /EFI/BOOT path in the live images due to a bug in the -d patch for mkdosfs in dosfstools. With this now fixed, we can place the efi payload where it belongs per spec and the images will autoboot to the grub menu on EFI platforms. Signed-off-by: Darren Hart <dvhart@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-15sstate: Add SSTATE_SCAN_FILESRichard Purdie1
We process all files in the native/cross cases for finding and fixing relocation issues. In the target case we've only processed .la and binconfig files. Since there are other files which are in need of this processing, this change allows recipes to specify files that may be outside the normal set. This means hardcoded paths that need to be fixmepathed to work correctly are handled and addresses some sstate relocation bugs that have been seen. Based on a patch from Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-15cross-recipes: Disable nls in gettext bbclassKhem Raj1
Right now for cross recipes e.g. gcc-cross and binutils-cross we specify --disable-nls .... --enable-nls on configure cmdline the --enable-nls coming from gettext bbclass. So we disable nls for all cross inheriting recipes in gettext bbclass and then we remove the extra --disable-nls in gcc-cross and binutils-cross This patch needs testing. Please help Signed-off-by: Khem Raj <raj.khem@gmail.com>
2011-12-13kernel.bbclass: Allow do_compile_kernelmodules to use PARALLEL_MAKERichard Purdie1
Without this we don't take advantage of any configured multiple CPU cores which seems a shame. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-12license: PR bump failureElizabeth Flanagan1
This addtask for do_populate_lic should be reverted back to before do_package as before do_compile causes failures when recipes are updated. [YOCTO #1819] Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
2011-12-12siteinfo: create a new siteinfo for x32-linuxH.J. Lu1
X32 has different sizes for many types: 1. off_t and ino_t are 8 byte, instead of 4 byte. 2. pthread_mutex_t is 32byte, instead of 24 byte. Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
2011-12-10license/copyleft: exception for ast parseElizabeth Flanagan2
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>
2011-12-10license.bbclass: remove deb exclusionElizabeth Flanagan1
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>
2011-12-10license.bbclass: remove bashism.Elizabeth Flanagan1
bashism in create_license_manifest removed. Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-10classes/rootfs_deb: implement query functions for buildhistoryPaul Eggleton1
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>
2011-12-08package.bbclass: Adding license collectionElizabeth Flanagan1
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>
2011-12-08[YOCTO #1776] license: manifest and license pathElizabeth Flanagan1
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>
2011-12-08Add copyleft compliance classChristopher Larson1
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>
2011-12-08license: split license parsing into oe.licenseChristopher Larson1
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>
2011-12-08bitbake.conf/image.bbclass: Ensure images use the correct passwd/group filesRichard Purdie1
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>
2011-12-08image_types.bbclass: disable cleanmarkers for jffs2 imagesAndrea Adami1
* 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>
2011-12-08image_types.bbclass: implement jffs2 summary images (sum.jffs2)Andrea Adami1
* 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>
2011-12-08rootfs_ipk: implement FEED_DEPLOYDIR_BASE_URI supportEric Bénard1
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>