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.
(From OE-Core rev: 061d8015d6f15825bf9c4245671313bec35cefbf)
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: 07f94fa1d661d38b775ce2d99b84e5610c369392)
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit requires 4a13766c7b223d as it removes the exclusion
of deb package types from license manifest creation.
(From OE-Core rev: 5328587ecaa14a54ad7bced6f7ead218471dbf86)
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Implement the functions required for buildhistory to be able to query
installed packages, get dependencies etc. for deb-based images.
(From OE-Core rev: 58fbb430040c9cce9f2c5f1515a4453dd49032cc)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
emite_package_data needs to have LICENSE, as pkgdata is as an
audit of licenses collected during do_populate_license.
(From OE-Core rev: 60f0b866b4b7c4aa337a2ff764455741a73665da)
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: 558b5043e1d5a36caff137093fd04abcf025af1c)
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: f0c36abba71c261f33c9906f122dd6cd9ed19221)
Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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 '/').
(From OE-Core rev: 20d4068045c76e9dc2aff0c152dd02d6a109c9dd)
Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: c4da803ef78322b758380eb0af0dcb73cae6553c)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* 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.
(From OE-Core rev: 70a276509f0f006fcc269296afc3dcc88d2825e1)
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* 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.
(From OE-Core rev: 2cb6a0d7aaa1ba712a899ee77a4c720da4e50214)
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: 63b619fd7a3d0ca55a965f0a5b99f6e9c8584ea4)
Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: 7f38cbef365c05d75563760f15b10284147c2de3)
Signed-off-by: Mei Lei <lei.mei@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: fd2581770b8e4c42aa88f244daca58e27e11dff9)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: c3266d138dc1cf18c0535bde5a9f48b1d3117bad)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: 14acb530a27a3b088d0bfd56db291f4e72ace8ab)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* 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].
(From OE-Core rev: 09f79dd245ab82bf105b6efeb1dfbf2d180d9fc8)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: 2c4b1675eb3c8c599e3b7f33e459aa608c2b93f2)
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: 644f2e525b910b9ff8d9aaa33f11eba3fefa7c85)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This reverts commit 508ff624fea705eb93cf2cc1e0c9c42cb817acf8. RP
accidentally pulled the wrong commit in, it was supposed to be a
*package*history bbclass change.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: 508ff624fea705eb93cf2cc1e0c9c42cb817acf8)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: c1bca5d95051362320008f16d8f5acd87faa34ac)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: 6e2b53f47da0e97271fb51b281d24da1e1d549cc)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: 8cdee4c9b8ffcba69134258eff72eede61acd12f)
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: be3fc8c07e84c654f55c5d09934dfbdc7ff7e2b6)
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: be95f54495bf9e03062f86b929c66cab6e385a03)
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Josef Ahmad <josef.ahmad@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: 1915293688d348a765aa0bcdf01168c9fecd9842)
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: 2da25c7c6649757350782a939bcc7553c5c86570)
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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
(From OE-Core rev: 2278f891a9bd204d82abbd6998cf0921908f1d14)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Complete the bb.data.getVar/setVar replacements with accesses
directly to the data store object.
(From OE-Core rev: 2864ff6a4b3c3f9b3bbb6d2597243cc5d3715939)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The method of resolving the patch should not effect the sstate-cache
signature.
(From OE-Core rev: b64cbe0b511de8d8943ce34cbb4901239d9f0cb0)
Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: 73a3d0d337e26c2be89c215efb8a2c3dd5d5994d)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Without these changes, gconf will use the hardcoded backend directory meaning
we can see errors when building if the binary was relocated.
(From OE-Core rev: aaa2a70f7f1b8a299f31626d61d7ea27f29fb9e2)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: 5680bf11f2e5877782d0101d5b8a5ed24d1ddbce)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: 5f1dc1991f97037692193572298eb7f7a5640760)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: fb01bd81197057e62106aac966f9ebc4c5054f97)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* 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
(From OE-Core rev: 0429558d538eddd4689efe67ee778d30147d959d)
Signed-off-by: Andreas Müller <schnitzeltony@gmx.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* 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
(From OE-Core rev: 27cf695f1cf259f8c79214e95a0c4bc2c0779b81)
Signed-off-by: Henning Heinold <heinold@inf.fu-berlin.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Without this change we can end up looking for <stamp>.${MACHINE}
instead of the expected expanded value.
(From OE-Core rev: 9f743b5033177216fe0e1d3e43ba831f356df08e)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: eba81d1c606ec29ffb793c1cb3cfed9562d552bc)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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]
(From OE-Core rev: 321a7dc9d934f31aae27828ff8c56d6c69ecc665)
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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]
(From OE-Core rev: 43adb8dcf4461b68a7ce0ba9d8acdb2012a70416)
Signed-off-by: Jiajun Xu <jiajun.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Occasionally we keep seeing "unable to open temp file" messages during
do_package_write_rpm tasks. This appears to happen when multiple
processes are writing rpm files and is likely due to using the
shared system temp directory. This patch changes the tmp path
to the package work directory meaning conflicts should become
a non-issue.
(From OE-Core rev: b2ef543284c8c8d0d3badb2e1bcadad1106982d2)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
x32 abi of x86_64 has 32bit userspace and the kernel is 64bit.
The qa checking code was reporting this as errors for x32 kernel
files and modules.
This commit extends the condition in the checking code to avoid
throwing the bitsize not matched error for x32 kernel files.
(From OE-Core rev: c9963542b17537f18548616c9ad4f1d92f42bffb)
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Without this, if rpmddeps came from a sstate package which was relocated
it might not find its magic file and if that happens, requires/provides
in packages could get corrupted. This leads to failures at rootfs time
during builds with messages like:
libdbus-1.so.3 is needed by libdbus-glib-1-2-0.92-r1.armv5te
since the provides would be missing in the dbus package.
(From OE-Core rev: abe2a948905a997314c61a8fcd35e2b42a3f4408)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* in some cases this could cause circual dependency (ie if we decide to
apr_svn.bb or something like that before subversion-native in dependency
tree), Saul said he had such case, but I wasn't able to reproduce it
here (here it builds subversion-native-1.7.0 fine).
(From OE-Core rev: 820bb7f4a0ced61ae62886bc7c5168151db919ea)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Before this patch, nautilus would fail with:
ERROR: Error executing a python function in /home/connor/angstrom/sources/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_2.32.2.bb:
NameError: global name 'dgetVar' is not defined
(From OE-Core rev: e7090743df6b38e9ce73743b5bbdd8ab6e9cada4)
Signed-off-by: Connor Abbott <cwabbott0@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently bad recommendations are added to the status file with status
"ok". After a single opkg command, whilst it will ignore the recommendation,
the status changes to "installed" even if the recommended package was not
installed. Whilst this is likely a glitch in opkg's logic, the correct
way to persist the information in the status file is to set the status
to "hold" as deinstall packages with that status remain. With this change
the bad recommendations persist accross multiple opkg runs and the system
behaves as expected.
[YOCTO #1758]
(From OE-Core rev: 215ff6b2e9676c8c7dd8acfd696151bcd0f1490f)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Disable script debugging, as the log files become huge and take a
long time to process during the log check step. This results in a
performance improvement.
(From OE-Core rev: a7e70227bac72c4f7d3419f94f6915da4c7e3f43)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[YOCTO #1755]
We change the want the RPM rootfs install works to install pre and post install
scripts. The new method uses a script helper that is invoked by RPM outside
of the normal chroot.
The wrapper is dynamically generated prior to the install starting. It will
check the return code of the script. If the script fails, it will store a copy
to be executed on the first system boot. This is similar to the previous
mechanism.
In addition, a line of debug was added to the scripts as written by package_rpm
to list which package and which script for later debugging, if necessary.
(From OE-Core rev: 3e7120d6a9fd5e46214673d0a6e1085a7314ff42)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We've had the check for dash as /bin/sh for a long time. Dash has been
around long enough now that most major issues have been identified and
fixed from build perspective.
This patch fixes a bashism in the openjade-native recipe. It also
adjusts libtool so that the header at the script is used and not the
value of $SHELL. This is because many Makefiles change $SHELL so dash
can get used to execute what is otherwise configured as a bash shell
script. Since we don't need to execute scripts this way on any system I'm
aware of us building upon, the simplest fix is just to remove $SHELL.
With these two changes the dash check can be removed and we can allow
builds with dash as /bin/sh
(From OE-Core rev: 07ded02ffd37b4fe60a6210dbf56490ea306f0b6)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Note: I know I need to add the description of the libtool change above
into the prefix.patch]
Without this rootfs generation fails as an RDEPENDS is added
but the package might not have bneen built.
(From OE-Core rev: bfe70c6446e6686f826f01040ba74c7d7d28bf42)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Exclude the addition of user/group code and RDEPENDS changes for
-nativesdk packages.
(From OE-Core rev: 2f057dd905ccb497890ce73ac4e4c256edcf0351)
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Previously we injected the user/group preinstall script into all
output packages. This fixes that so that only packages listed in
USERADD_PACKAGES get modified.
It also removes the USERADDPN variable, which is no longer needed.
(From OE-Core rev: 2f73466eb5018040a123ccb0e2af8c519525f958)
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch pulls in the gnome related classes from oe-core which
adds extra packaging rules and functionality whilst modularising things
so that one can get a subset of gnome functionality without adding a lot
of extra dependencies.
These aren't an exact copy of the classes from meta-openembedded, notable
differences are:
* gnome.bbclass - I dropped the BBCLASSEXTEND
* mime.bbclass:
- updated coding style
- use which to find update-mime-database program rather than hard coded
- fix typo in populate_packges_append such that it's actually called
CC: Koen Kooi <koen@dominion.thruhere.net>
CC: Richard Purdie <richard.purdie@linuxfoundation.org>
(From OE-Core rev: 6ead00eba265211eae5a2423c155403c8c6d54d0)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Our current assumption (based on the behaviour of opkg) when writing
recipes is that prerm and postrm do not get called during an upgrade.
When using rpm however, these are mapped to the rpm "preun" and "postun"
events which occur after postinst for upgrades, and when these contain
removal type operations (such as update-alternatives --remove) this
causes problems.
This patch wraps each preun and postun script for rpm in a check that
determines whether or not the script is being called during an upgrade,
and skips the entire script if it is, which mimics the behaviour of opkg
under the same conditions.
Fixes [YOCTO #1760]
(From OE-Core rev: 1d3f37dc9a43ba6d6beb7b4530c077f239032b99)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Allows us to import classes only for images and not to the global
namespace
(From OE-Core rev: 49dcb301ab39327554d86d23cf6f8d435d7a7351)
Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* without this patch, building dbus-nativesdk leads to a missing
dependency on 'base-passwd-nativesdk'
This was added by commit 46e6c3fa8034b12d178d605f3f5d7efe69671a13
* this patch handle the nativesdk case in the class useradd
* close bug 1702 http://bugzilla.pokylinux.org/show_bug.cgi?id=1702
* v2 from Scott Garman with Richard Purdie's tricks
(From OE-Core rev: 140a3507fb5c14cd9bcebe4304f491aa1c5c47a2)
Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There should just be a single IMAGE_INSTALL variable. If the package
backends need this split into different multilib components they should
be responsible for doing this, not the user.
This commit removes the MULTILIB_IMAGE_INSTALL variable.
[YOCTO #1564]
(From OE-Core rev: 7736862a74c92fe1afe42e170822be13117575c2)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fix bug where only packages named PN included base-passwd in
RDEPENDS.
This fixes [YOCTO #1727]
(From OE-Core rev: 2c55d51afd71d708a54afc8377e10c4f80f810e3)
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
all-arch packages should not contain any binaries that need processing,
so disable the shared library dependency processing and debug symbol
splitting/stripping to save some time during packaging.
(From OE-Core rev: 9534b3efe94fb9a9cd927f29c375bbdb74b84035)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
genext2fs only creates the minimum number of inodes, after this patch it will scale with the rootfs size
(From OE-Core rev: c31cb0bdc5a61d2d9f21a2cea34c3d8ac3b47cb9)
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
tmpfs/encryptfs/(and most likely, but not confirmed)ramfs TMPDIRs
cause diskstats to choke. No device entry ends up in /proc/diskstats
for these fs types, which ends up causing the failure.
The short term solution is to exclude these fs types from diskstat
collection. Longer term we will want to see if we can collect
meaningful diskio for each of these, and other, use cases, but for
this cleans up Bug 1700.
[YOCTO #1700]
(From OE-Core rev: 2b14046c12855b6f484ba5bd6bc0a8022de6873e)
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Corrected YOCTO bug location and format
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(From OE-Core rev: ddb825c87dd3e59d50841a993080a00d1459b1e7)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Yes, this one is against meta-yocto, I'll fix it to apply the same
change to OE-Core's local.conf.sample in the final version]
Unfortunately we can't access oe_terminal directly from patch.py
so we have to pass in the correct terminal function pointer.
[YOCTO #1587]
(From OE-Core rev: 9e0a21dda24f285a1c4878488e887485a749f3f2)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Preinst are run alphabetically which breaks when e.g. avahi-daemon needs /etc/passwd present.
(From OE-Core rev: d6793165feb26c51b5f19ad1e6d1a4099878e879)
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When analysing our build performance, its apparent that binutils-cross
takes an age to get built. This is due to its dependencies on
flex-native and bison-native which in turn depend on gettext-native.
gettext-native is problematic as it has a significant dependency chain
of its own and takes an age to build. What is worse is that we never
care about the native language support in -native and -cross packages
since we always force the C locale.
This patch therefore disables nls for all -native packages (its already
disabled for -cross) and adds a new gettext-minimal-native package which
contains the m4 macros to keep autoconf/automake happy.
This means we gain a significant build time speedup by the removal of
gettext-native from most dependency chains (only being part of gettext
for the target now).
For now the LICENCE field says GPLv3, the macros are actually under a
FSF MIT like licence so we need to update this part of the patch in due
course.
(From OE-Core rev: 01b2a16beb4a924077b74943ad4d6e7976563ff1)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Before this change:
a) Ownership and permissions of files copied from packages to
package-split could get lost during the copy process. This change
ensures they are preserved.
b) Ownership and permissions of directories could also get lost.
Most of the complexity in this patch is addressing this problem
ensuring newly created directories match the source ones being
copied.
c) There was no warning about directories being created but not
shipped by any package.
This patch fixes all of the above issues.
(From OE-Core rev: 6021e309e69d823e1467648aee12a32182945569)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Since the packaging process is run under pseudo, the default user
is now root so there is no longer any need to hardcode this. Also
take this opportunity to move the variable to package_ipk.bbclass
since this is the only user of it.
(From OE-Core rev: ea11f71432e2741d5f8c7cecec41c6155db34393)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* it's also defined here conf/distro/include/default-versions.inc, so maybe it could be dropped
* and similar variable is
recipes-devtools/python/python.inc:PYTHON_MAJMIN = "2.7"
(From OE-Core rev: 4bde680a97e954bb53df63090dcc2a0a9d488292)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The use of groupadd -f makes much more difficult to figure when a
group is not add. This was the case of the class not working for our
usage and this being caused by the lack of '/etc/group' file but
unnoticed as groupadd wasn't failing according.
(From OE-Core rev: 82933a1ff921fd0836f03e6f379fd8536cdc0a30)
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If an image sets NOHDD = "1" the HDD image won't be build.
(From OE-Core rev: 23c5a83e877efe6d86618898dd181bb75f44aa71)
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When external modules are built, files in $STAGING_KERNEL_DIR/scripts/basic will/can get
rebuilt.
This raises a potential race condition. Prevent this by adding a lock around the
do_make_scripts() function. Further, make sure that the kernel has been installed
to the sysroot, prior to executing this new task.
(From OE-Core rev: 8681b82e8b466929205edde7ba479f3ac1a6143e)
Signed-off-by: Anders Darander <anders@chargestorm.se>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently only the basename is printed when os.path.isfile() returns a failure
for the license file. If the file is present, but in the wrong directory, this
can be non-obvious to debug. Use the full path instead.
Make a minor grammatical correction in the error message while we're at it.
(From OE-Core rev: 80bd0c774fb691977b20e2d775212d849a33bf2b)
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The code used to reference unavailable variables and mistakenly define
the tasks so fully demonstrating this have not been in use for a
while.
During the code rewrite, it was extended to copy also the patches into
the source distribution directory but using the PF as prefix to avoid
name colision among other recipes.
As 'distsrcall' task was not properly defined and noone noticed it,
until now, it got renamed to 'distribute_sources_all' as it is a
better and more meanful name for the task.
(From OE-Core rev: 6b6e0667871fb5f43b68440954c3ad629dfc92e7)
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fix broken rootfs image link when ubifs is used.
Function runimagecmd is using image name "${IMAGE_NAME}.rootfs.${type}".
Let's use the same name in IMAGE_CMD_ubifs.
(From OE-Core rev: 766f6165471691f651584ebda004e1abb4ea9eb6)
Signed-off-by: Lauri Hintsala <lauri.hintsala@bluegiga.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is needed to better support things like the following (with a
multi-word BUILD_CC):
EXTRA_OECONF += '"ac_cv_prog_CC_FOR_BUILD=${BUILD_CC}"'
(From OE-Core rev: 38a394e7ffedccfabda085c97add8944718943c2)
Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If we pull SCM based code using gettext, Makefile.in.in in the
po directory can be missing. We therefore need to add this if
its not already present. We could use gettextize if it wasn't
so broken (for example requiring user input on stdin and installing
way more files that we ever care about such as the m4 files).
We also have a problem if a recipe sets a different AUX dir, for
now fix this by allowing recipes to specify when this is being done
using the AUTOTOOLS_AUXDIR variable. Ultimately we could likely
figure this out automatically.
(From OE-Core rev: acaefad1aa4b45813a004e0cd1d85bc013e435f4)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We can generate the locales in parallel. The easiest way to do this is
generate a Makefile and then run this with our usual parallel make
options.
[YOCTO #1554]
(From OE-Core rev: 6ce8d028f2a542eceb270aeb511929953a859d39)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Changes to baselib by specific machine configuration were resulting
in sstate cache invalidation, particularly in multilib configurations.
This patch ensures this doesn't happen and native sstate cache files
are reusable.
(From OE-Core rev: d0915fb0a2cc80ad45b3fd526d3b29a91d99572c)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
sstate was being a little too ethusiastic about removing stamp files and
was removing stamp files for other machines when it shouldn't have been.
This patch teaches sstate about machine specific stamp extensions and
allows it to only remove the current task's stampfiles.
Based on a patch from Phil Blundell <philb@gnu.org> with some tweaks
from me.
(From OE-Core rev: 5e9488495401399d39fcb5012b86c313b6caca73)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Running fetch/unpack/patch/compile/install etc. is pointless
since the only image task that does anything is the rootfs task.
Hence mark the useless tasks as noexec so we don't bother running them.
(From OE-Core rev: b3d1c440feb7fd7b3e3374ca528195ab9bd3a7ce)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
These enabled options to be specified in the form:
PACKAGECONFIG ?? = "<default options>"
PACKAGECONFIG[foo] = "--enable-foo,--disable-foo,foo_depends,foo_runtime_depends"
So that DEPENDS, RDEPENDS_${PN} and EXTRA_OECONF can be automatically
built from specific options. Those options can easily be customised
by the distro config or the user.
Based on some ideas from Chris Elston <celston@katalix.com> but with
an improved easier to use one line interface.
(From OE-Core rev: 7a58911f6951abd56db9ebb37f8d6284d91fa514)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>