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.
(From OE-Core rev: 35f538b117e3387354d2dab1f22c3de28ab1322b)
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[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)
(From OE-Core rev: 836662c9a9c175521dbcd29cdfc0a7c144d8770f)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The full name for the log is confusing when there are multiple files.
Also move the ssh log path stuff where it's needed.
(From OE-Core rev: 1dbef61a0776ec6c9ac9209442bb4c346e706d7d)
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* 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
(From OE-Core rev: 9aac194d7db79129dcbed29cfb89c57dccf33729)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* 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
(From OE-Core rev: 44624853de8c88abdcae2ccd0902b390ff546d4c)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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
(From OE-Core rev: a714cdf431635c4a344d3a135a71061e5629eed8)
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>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: ccd911ba8887f5c9a72d5178617c2a3ee73264ff)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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>
(From OE-Core rev: 08d61529f3c7a48ec82e1f8c9c28c7b2e5238934)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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
(From OE-Core rev: 1d709d61da99f0e8a897f40a9d2a14bfaa1ee77e)
Signed-off-by: Emilia Ciobanu <emilia.maria.silvia.ciobanu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: 823c90ad344ca2205f3055e2dcae08c6616f29b7)
Signed-off-by: Muhammad Shakeel <muhammad_shakeel@mentor.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Use weaker assignment for CCACHE_DIR to allow users to override it
if desired.
(From OE-Core rev: 61e864e2d020c820cf90807b48babee3b24f9446)
Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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].
(From OE-Core rev: 4e85129a7d47baf3e32b815cbc277bff84e085a0)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: aea9d379ea217c78b64a81853ec3744188158008)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* 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
(From OE-Core rev: 8f0b07fc53c94426efa3557424328b52a61e7305)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: da58843fd07dec43700a4c54ac469d1fda71aa50)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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
(From OE-Core rev: fd2c0af422d67da870a5a11720d06a871e660215)
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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
(From OE-Core rev: 0a2dffefc6fbca37ce9604117cebc2f7d4abc1c6)
Signed-off-by: Olof Johansson <olof.johansson@axis.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If systemd is not supported DISTRO_FEATURE than there is no need to
package related service files.
(From OE-Core rev: ac5d20f4adac69ea1702694fb50849c9e465b443)
Signed-off-by: Muhammad Shakeel <muhammad_shakeel@mentor.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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]
(From OE-Core rev: 1928f46e8e9f281e3e64f916048cc9314e125150)
Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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]
(From OE-Core rev: 4b6deb521183b728d9a1c651d4805fe635e6cb50)
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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]
(From OE-Core rev: 2a57bb7e9a7e154578aa7cb9aeebdf398a54ec00)
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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]
(From OE-Core rev: 21b079e01873e2fb4d8674541e8c5818ba73554e)
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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].
(From OE-Core rev: 3bdbec1bdecc52828cbbf8108786ff076c981845)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There was a slight mistake in the recent change to the lib_re regex -
it still needs to begin with a /.
(From OE-Core rev: 194e47e6d8d9b9ee98e0203f0ebb574084277c46)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: 95f6e9a3d8fa24acc3bab392719e2d92be25d806)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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]
(From OE-Core rev: c126729b29822d3602c9c4fd9016cc79b6057fc5)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Adds some comments to testimage.bbclass and the files it calls,
just to give an ideea of what it does.
(From OE-Core rev: 8bbb7116cf02466dfc59a17dc7bb51287aeea55b)
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Make a copy of the rootfs and test that.
We can now drop the snapshot option.
(From OE-Core rev: ba58f1fe8fb7a0e3ff9320dfc108235d484da6a1)
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add tests for free space and syslog.
Changed in v2:
- limit df's output to /
- syslog: fix restart in case of systemd
(From OE-Core rev: 1b39d57e7b5c9b69d565cf4d188ebc2f14e66ae6)
Signed-off-by: Alexandru Palalau <alexandru.palalau@intel.com>
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
On a loaded host (such as an AB setup where multiple builds run)
the 200 seconds timeout might not be enough to reach the login prompt.
Also make it configurable so we can set it from local.conf/auto.conf
(From OE-Core rev: e828571683333e6f18ed56a84e114b5e54975bc7)
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For git packages the Package Reporting System should always report the
latest HEAD.
For svn packages the new version reporting has the following format:
version+svn[r|-]revision
(From OE-Core rev: 43c28375f97161e618fa54349c65be2058c33c53)
Signed-off-by: Emilia Ciobanu <emilia.maria.silvia.ciobanu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If the spec file already exist, and has not been stored into pseudo's files.db,
it maybe cause rpmbuild src.rpm fail, so remove it before doing rpmbuild src.rpm.
(From OE-Core rev: 760af902a98b350a2f1f3203fa0096965924a83d)
Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This introduces a DISK_SIGNATURE variable that allows controlling the
32-bit MBR disk signature. By default it is set to an automatically
generated disk signature but it may by overridden in the image recipe
by setting DISK_SIGNATURE to a 8 digit hex string.
This DISK_SIGNATURE variable can also be used in the image recipe to
specify the root by UUID using:
SYSLINUX_ROOT = "root=PARTUUID=${DISK_SIGNATURE}-02"
Specifying the root by UUID allows the kernel to locate the root
filesystem even if the device name changes (e.g. /dev/hda2, /dev/hdb2 or
/dev/sdb2 instead of /dev/sda2) due to differences in hardware
configuration.
(From OE-Core rev: 4382a419b4c90312d22aa55ff535b45bcf704716)
Signed-off-by: Jonathan Liu <net147@gmail.com>
Acked-by: Darren hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The recipe's DESCRIPTION is wrapped automatically by textwrap, make it
support newline ("\n") to let the user can wrap it manually, e.g.:
DESCRIPTION = "Foo1\nFoo2"
In the past, it would be:
Foo1\nFoo2
Now:
Foo1
Foo2
[YOCTO #4348]
(From OE-Core rev: 568e303ef4447a9ddb7fb6370166d012a4375dab)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The recipe's DESCRIPTION is wrapped automatically by textwrap, make it
support newline ("\n") to let the user can wrap it manually, e.g.:
DESCRIPTION = "Foo1\nFoo2"
In the past, it would be:
Foo1\nFoo2
Now:
Foo1
Foo2
[YOCTO #4348]
(From OE-Core rev: dff04de2de8bb159fd6912e29794eadd75d5d92a)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The recipe's DESCRIPTION is wrapped automatically by textwrap, make it
support newline ("\n") to let the user can wrap it manually, e.g.:
DESCRIPTION = "Foo1\nFoo2"
In the past, it would be:
Foo1\nFoo2
Now:
Foo1
Foo2
[YOCTO #4348]
(From OE-Core rev: 503b6370080fcbcd99305eac846c6dfbdd07c5df)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Previously these directories were the same location, but with
seperatebuilddir.inc they are not and putting the file into ${B} means it goes
to the wrong place for autoreconf.
(From OE-Core rev: 6f06c6b220c05b6aca9d2d21f528d4e1b5e417d0)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Only grep for 'OECORE_NATIVE_SYSROOT=' otherwise things like
toolchain_create_sdk_env_script_append() {
echo 'export MY_DIR_FOO=$OECORE_NATIVE_SYSROOT/my/dir/foo' >> $script
}
trigger the following error while executing the install script:
find: `$OECORE_NATIVE_SYSROOT/my/dir/foo': No such file or directory
(From OE-Core rev: d084c31720f9c13a71c5981f4eda21e18ba2350f)
Signed-off-by: Bernhard Guillon <Bernhard.Guillon@hale.at>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Only the printf bash builtin knows about %q format option for escaping
spaces. The coreutils version doesn't. Unfortunately, neither dash nor
sh have a printf builtin. So, escape the spaces using sed.
[YOCTO #4811]
(From OE-Core rev: 6ac06a65ce52d4c123da53f115c84cb0a98bc18f)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
It shouldn't be desired that systemd enable services when using
class native. Blanking out the SYSTEMD_PACKAGES when native seems
like the most straightforward way to fix this problem.
(From OE-Core rev: e0ce07010d2e818dc43ffdff6f3cdd94f18d7af5)
Signed-off-by: Randy Witt <rewitt@declaratino.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Replacement class for imagetest-qemu.bbclass. It launches a qemu instance and
runs test modules defined in TEST_SUITES.
(From OE-Core rev: e0e32b978e5af128d7ff4ee2686777b49f919e27)
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Radu Moisan <radu.moisan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
BB_NO_NETWORK disables any fetching, however if we're using an external
sstate cache, we may want to be able to fetch those objects even if we are
not fetching the upstream sources. Denote this situation by setting
SSTATE_MIRROR_ALLOW_NETWORK in local.conf. When it is found, for sstate
cache fetches, mask off BB_NO_NETWORK for the local function.
(From OE-Core rev: ed585cad2e1fdc323c05fa82055a071bcf98d1bc)
Signed-off-by: Joe MacDonald <joe.macdonald@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
/usr/share/info/dir should be generated at install time in a postinst.
Added QA warning to check at build time for this file. The warning
is disabled by default.
[YOCTO #3969]
(From OE-Core rev: be93fa1d8fd601d95147980938217142c7d98c62)
Signed-off-by: Mihai Prica <mihai.prica@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ensure these do not pick up e.g. /lib/systemd/system/uuidd.socket, but
ensure we pickup e.g. /usr/lib/libnss3.so.1d (example from Debian). This
also fixes the broken exec_re regex (lib*.).
(From OE-Core rev: 391a361190d7da19ad3381121649a41a28516cb5)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When external commands such as debugedit fail, it can be useful to see
their output, so use oe.utils.getstatusoutput() instead of
subprocess.call() to capture this and print it on failure.
(From OE-Core rev: 34179cc78b730ecb8ff3f4feb4beee2d17498ce3)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The class is inheriting qmake2.bbclass which exports OE_QMAKE_QT_CONFIG
pointing to the qt4 qconfig.pri when it should be pointing to the
qt4-embedded qconfig.pri.
(From OE-Core rev: ed78661e147780ceb1bc1e952b68740984d85971)
Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Some terminals may not pass the environment into the child process. This
is true when using "tmux split-window." If tmux is already running, it
will start the command with the tmux session environment, ignoring the
environment where the command was issued.
This could possibly be worked around when launching tmux by injecting
variables into the user's session environment or adding the variables to
the "update-environment" tmux setting. However, both methods would
permanently alter the user's session, which is undesirable.
By using a wrapper script, we have full control over the final
environment. Replace the env dictionary with an empty data smart that
will contain the exported variables and a wrapper function that execs
the original command.
(From OE-Core rev: 3bb96671e987ce8110ce98b9f6d9efc093f8d20e)
Signed-off-by: Tyler Hall <tylerwhall@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This check was actually removed a very long time ago in
6656381714, before we even changed the QA
checks to use names instead of numbers - the name was probably added
ERROR_QA mistakenly because it hadn't also been removed from the comment
listing the QA checks or the function that determined which ones were
errors.
(From OE-Core rev: ff65497cd9a96d5ab49b16ba1f7e30a216ff4a42)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Qt/qt-embedded build fails on mips64 with 64 bits userspace. Set
COMPATIBLE_HOST in qt4e.bbclass and qt4x11.bbclass to disable build
qt/qt-embedded and packages which inherit these two classes on mips64
with 64 bits userspace.
(From OE-Core rev: 17890ebd637da0b3bf78804002d8b4f0ace078d2)
Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
PN/PE/PV/PR should never change between do_package and the following do_package_write_*
tasks. If any do change you would see build failure due to the wrong WORKDIR being
used for example.
This patch ensures that if something is going wrong we see the error earlier and
with some better warning about what the real problem is.
[YOCTO #4102 partial]
This is a rewritten version of a patch from Martin Jansa <martin.jansa@gmail.com>
(From OE-Core rev: f5252fea11e13dbcec1c277cf1bf0d7e61b60690)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There is the possibility that if we don't iterate through the multiprocessing
pool objects we might not catch return codes and this could lead to hung/zombie
processes either temproarily or on a wider scale. Adding this certainly doesn't
hurt anything and is better practise so we might as well do it.
Its not 100% clear if this fixes some issues or not.
(From OE-Core rev: 89c8493d4d85044cd72af2756569d15e87cd5947)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
See GNU Savannah bug 30612 -- make 3.82 is known to be broken.
A number of vendors are providing a modified version, so checking
for just the version string is not enough. We also need to check
if the patch for the issue has been applied. We use a modified
version of the reproduced to check for the issue.
(From OE-Core rev: dede532a980b0fabf0beae4519b89ec74a1c2474)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If a Makefile.in.in has existed under ${S}/po/ and is read-only, cp will fail.
(From OE-Core rev: 6e1b17f19411ed897c53ae0ef41a2d2972a9c113)
Signed-off-by: Roy.Li <rongqing.li@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
useradd.bbclass supports adding new users and new groups. But it does not
support adding existing users to existing groups.
There is a need of adding users to some groups (e.g. audio). The class was
extended to call groupmems utility with arguments passed via GROUPMEMS_PARAM.
(From OE-Core rev: 6b3bd34bf8c5e511bccfbb64bdd1236e1e7576e3)
Signed-off-by: Mikhail Durnev <mikhail_durnev@mentor.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Generating filesystems with this flag allows more efficient directory
traversals because getdents() returns the filetype in 'd_type' which
allows to avoid an extra lstat() call.
Creating ext4 filesystems with 'mkfs.ext4' sets this flag by default
too.
(From OE-Core rev: 75e077025397f3bde84e60a9da2c0564ade09b39)
Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We need to expand the COREBASE variable, no idea how these tests were
previously working at all...
(From OE-Core rev: 099063f353a7a18720c92d87400726a49eed432f)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The @ character is not escaped properly in too many places within the system
to easily support it so add the character to the list of blacklisted characters.
Also tweak the other messages and ensure that all appropriate error messages
are disabled in one go.
[YOCTO #4772]
(From OE-Core rev: 008cb3c501c8313a0a1a0ebce2b0aa61239b548d)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Spaces are not handled properly in some parts of oe-core and it's safer
to abort toolchain installation if path contains spaces. Even though
we fix space handling in the toolchain installation script, there are
various other parts in the toolchain (perl scripts, sysroot path passed to
toolchain binaries, shebang lines) that would need special handling. So,
for now, just bail out if path contains spaces.
The checking for spaces in the path is done after expanding relative
paths to absolute and tilde conversion.
[YOCTO #4488]
(From OE-Core rev: 8c35ba2d3048ce69f74f72cb2676e4bc162cfb63)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
I started trying to make some changes in sanity.bbclass and couldn't stand
the current code. This patch splits out the one big function into a number
of smaller units and adds a status class which handles queuing of messages
and issues like network errors and whether a reparse is required. It also
cleans up some syntax and obsolete code.
The other fundamental change is the tests are split into ones which run
once and those which run at every build. This was always the way the
class was intended to work but that got lost somewhere along the way.
This patch fixes that.
Its still far from perfect but it is hopefully an improvement
and sets the scene for other improvements to be built on top of this.
(From OE-Core rev: 4e6de6d5f0454024eec2ec775a938c5dab70610c)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We once needed to do this, things seem to work fine without this now,
thankfully.
(From OE-Core rev: ac090ace11d654dafd642fd93c94091a164476fa)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The build banner displayed at the start of builds can be misleading since
the data store has not been finalised. As easy way to illustrate this is
to use something like:
DEFAULTTUNE = "i586"
DEFAULTTUNE_<machineoverride> = "core2"
and the banner will display the i586 tune yet the core2 tune will be
used. We can avoid this if we finalise a copy of the data before
displaying it.
[YOCTO #4225]
(From OE-Core rev: bdce39f22a0e8c8e1cf237322657220e4201077d)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
See the bitbake commit adding the recideptask flag for details of the
problem but in summary, we weren't seeing the [depends] of tasks like
do_rootfs being taking into account for fetchall. This was leading
to not all sources being fetched and this is the OE-Core part of the
fix for this problem.
BB_DEFAULT_TASK is the default task used since this is the one that
most commands would end up targeting and is how users expect the command
to behave.
[YOCTO #4597]
(From OE-Core rev: abf468963a087244887384122fd5202909e7f118)
(From OE-Core rev: e385cc4ac06ac1e8d257563a700d19895105eade)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
"xargs -n1 basename" will execute basename even if there are no lines
piped into it, causing a "basename: missing operand" error if no
packages are installed, which will happen for the target portion of
buildtools-tarball.
(xargs' -r option could have been used here, but it is a GNU extension
and I thought it best to avoid that for the sake of future
interoperability).
(From OE-Core rev: 03d86123e9e804e62de38effd307f070d7863080)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The fakeroot flag wasn't correctly set leading to files within the
output tarballs having uid/gid values from the build host instead of the
desired target permissions.
(From OE-Core rev: a31c7ec56568e5dafc2f45ba5675367ddceb0e3e)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently the full path is specified to exec however this may incorporate a
build path which in the nativesdk case, is not transformed to a target system
path. This leads to failures due to incorrect paths.
This patch ensures the full build path is not encoded into the wrapper script.
(From OE-Core rev: 4569d7403638e4c1f637e3a6adb8dea620dc8543)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This class can now be inherited globally using INHERIT += rather than
needing to inherit it in the recipe itself. Additionally, instead of
setting S (and optionally B), set EXTERNALSRC (and optionally
EXTERNALSRC_BUILD) to point to the external source and build locations
respectively.
(From OE-Core rev: b1da10579a28f9a5260a0678f6f15ce4b5a2706c)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The copyleft filter is only excluding packages that contain a
closed source license. This is because oe.license.is_included()
returns a boolean value that indicates if the license is excluded,
and a string that contains the matched included licenses. If the
string is empty it indicates that no licenses were matched.
Reject packages that do not contain a copyleft license.
[YOCTO 4630]
(From OE-Core rev: 3d0f9ee3d2fcce331d35467d5965ff44b825427f)
Signed-off-by: Kevin Strasser <kevin.strasser@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Now that bitbake supports masking events for event handlers, lets use
this so event handlers are only called for events they care about. This
lets us simplify the code indentation a bit at least as well as mildly
improving the event handling performance.
(From OE-Core rev: bff73743280f9eafebe4591f7368ead91a4eb74d)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We're finding bugs in python 2.6 and starting to require unittest
functionality in python 2.7.x. Its time to bump the minimum version
requirement. Anyone without python 2.7.x can use the buildtools-tarball
out to install a standalone python/git/tar setup which will work
with the system.
(From OE-Core rev: 8b90f1becd40a7f857d2fbe30eaffe218a976419)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Migrate tests for correct git and tar versions from the wrapper script
to the sanity class.
This sets the scene to allow us to remove the bitbake wrapper script.
(From OE-Core rev: 7b370e23594da5dcb53cd5507ec289c3ef2d9fb5)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Remove MAKEFLAGS= from EXTRA_OEMAKE to allow parallel make.
(From OE-Core rev: 1aeecaeee9bb1eee779973fce7f15cc7fad269a0)
Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is necessary when Qt applications want to know variables such as
QT_MAJOR_VERSION, QT_VERSION, QT_MINOR_VERSION, GCC version, etc.
(From OE-Core rev: dcaa40e65d986587fa7c44f4285bbd0883478cc3)
Signed-off-by: Felipe F. Tonello <eu@felipetonello.com>
Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
A non-zero status from the march test for gcc means that the "march" flag
is needed. Correct the logic to return True in this case.
(From OE-Core rev: 217fd857df78c66eae853f935e9cdafcbeb3bc31)
Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Without this, due to bitbake defaulting to ${B}, it's possible to get ${S}
inadvertantly created before do_unpack, breaking the unpack of git sources,
which expect the destination to not exist.
(From OE-Core rev: 694a15382fe9f3749ffdc0168a6dc2da8a29ae2d)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This avoids unnecessary duplication of setup. The only visible change in
behavior will be the case if siginfo exists and the archive does not, in which
case it'll redownload both, but this doesn't seem unresasonable to me,
particularly since the archive is downloaded first, making this case
particularly unlikely.
(From OE-Core rev: aa4991c307d4bbdd06c3cbf8448240b74c5e01c4)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The default FILESPATH isn't really of use, as we don't expect to find sstate
archives buried in layer recipe directories, and the default MIRRORS is
intended for use for fetching SRC_URI, not sstate.
(From OE-Core rev: 46402b2f5b69004751f6663d435bedae0ad9dab1)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When we don't have a generic license file for the license in question, we can
warn, but we should still include it in the manifest, otherwise the manifest
doesn't reflect reality. Failing to include a license listed in the recipe in
the manifest can't be allowed.
(From OE-Core rev: e87232828b761d56f1ce6a27e4009d350d68209c)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently, if a package QA type from package.bbclass is not listed in
ERROR_QA, it gets shown, regardless of whether it's in WARN_QA. This differs
from the behavior of the rest of the QA handling (which doesn't call
package_qa_handle_error at all if it's in neither _QA variable), and is
nonintuitive. Change this to use bb.note() if it's listed neither in ERROR_QA
nor WARN_QA, so it ends up in the task logs, but doesn't clutter up the user's
output.
(From OE-Core rev: 8f5675e6d3eb8473f367de72d2d3d8a702011a47)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently the scriptlet_wrapper is designed to handle only pre/post
install scriptlets. This patch will slightly change the wrapper script
to handle also pre/post remove scriptlets when we want to remove
packages from the final image.
(From OE-Core rev: aea47c77d69407b2e62f151cabba35293d179f0c)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Since run-postinsts was made generic, use it for RPM too.
(From OE-Core rev: 1ba44302f522a42535c9ad7d2fcccc06ba4c20b3)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch creates a new function, rootfs_remove_unneeded(), that will
be called after rootfs_*_do_rootfs is called and which will handle
delayed postinstalls in a generic fashion, for all backends in the same
way.
(From OE-Core rev: d3d810faf8e93ce2d3faaa70da6deeb25b1cec26)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch adds the following helper functions:
* delayed_postinsts - outputs the list of delayed postinstalls;
* save_postinsts - this will save the delayed postinstalls for ipk/deb
in /etc/(ipk|deb)_postinsts;
* rootfs_remove_packages - removes packages from an image;
Additionaly, this patch will remove a piece of code in
rootfs_ipk_do_rootfs which will be moved to image.bbclass and used for
all backends;
[YOCTO #4484]
(From OE-Core rev: 928df79cd3964f775c4c6e4283ef84b8882f9328)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This adds support for lconvert and xmlpatterns tools and tweaks the
sed expressions to handle more complex assignments in .pro files like:
LRELEASE = $$targetPath($$[QT_INSTALL_BINS]/lrelease)
(From OE-Core rev: 542fefa61f0ac1dcdacac2630fd44950ac11cdd9)
Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
These will be used by qmake_base.bbclass.
(From OE-Core rev: 405d1325ebbd31676d88a3e157f55d40d04cc3f4)
Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Data from SDKs produced from different images or different
meta-toolchain style recipes should go into separate directories,
since SDK_NAME doesn't include anything to differentiate these by
default (only pieces for the distro name and architectures).
Note you should delete or move existing data under the buildhistory/sdk/
directory manually after this change.
Fixes [YOCTO #4622].
(From OE-Core rev: 74658b66530184b0287152397341fbe411e90c71)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Use new variable GNOMEBN, defaulting to value of BPN, instead of
BPN directly when determining URL for source archive.
(From OE-Core rev: fe297a70c7d6b36a6595534589c71d32209d6a53)
Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The do_package_setscene task needs to depend on fakeroot in order to correctly
install its files.
We can whitelist the dependency in the sstate handling code for some
performance improvements since we only need this if we're installing the
package from sstate.
Also use an append operator in base.bbclass for clarity.
(From OE-Core rev: 0810ea2a72bdea67a3d8002c4e12fb20f45cf1d5)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Back in 2010, I added these in commit: http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=36f1ae42fe13dae174b7fb5eb85dc49d7d7b516b
however the package_write tasks sstate only consists of package files and no
fakeroot privileges are needed to write these out, only originally create them.
We can therefore drop these for some small performance gains and a less
convoluted depenency chain.
(From OE-Core rev: 3c760ce4dc15d85be07aafbfea896e7276e0c2c4)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The modules-${MACHINE}.tgz should link to ${MODULE_TARBALL_BASE_NAME}.
But now it links to an invalid file ${MODULE_TARBALL_BASE_NAME}.bin.
Remove the extra .bin suffix.
[YOCTO #4595]
(From OE-Core rev: ef9fad8fff1c413bc0eab15625f051d4e2d0a201)
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* the IMAGE_TYPES variable is used exclusively by hob
* IMAGE_CMD_ubifs is already present in the class
* ubifs images can be flashed on existing ubi volumes with 'ubiupdatevol'
(From OE-Core rev: 0dc5a90b2d95ad21025769b0300390a4ff0052ac)
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The PACKAGEFUNCS_append = "do_package_qa_multilib" lacks a "space",
which would cause unexpected errors.
[YOCTO #3190]
[YOCTO #4396]
(From OE-Core rev: acd5fc716bc3095d568bd1474b79f3a0fd616eea)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Refactor packaging sanity tests from package.bbclass to insane.bbclass
so that the message can respect WARN_QA (print the warning message and
go on the task) and ERROR_QA (print the error message and fail the
task).
- For the bb.warn(), give it a message name and add it to WARN_QA, then
use package_qa_handle_error() to handle it.
- For the bb.error(), give it a message name and add it to ERROR_QA,
then use package_qa_handle_error() to handle it.
- All the bb.warn() and bb.error() have been replaced in
package.bbclass.
- A few bb.warn() and bb.error() in insane.bbclass have been kept since
they can not be replaced or doesn't have to, for example the
bb.error() in package_qa_check_license(), it will print the error
message and then invoke bb.fatal() to fail the task, I think that we
don't have to replace it with package_qa_handle_error().
- Put all the WARN_QA and ERROR_QA in one line, so that they can be
redefined by the user easily.
[YOCTO #3190]
[YOCTO #4396]
(From OE-Core rev: 2f117ee615b703db07d3274ac592e2bd653743dd)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
RP's comment:
"What we're trying to do is move everything to use a standard mechanism
for reporting issues of this type (do_package). With insane.bbclass, you
can elect whether a given type of error is a warning or error and fails
the task."
* The package.bbclass had used package_qa_handle_error() which is from
insane.bbclass, and we will use it for handling other warnings and
errors, so let package.bbclass inherit insane.bbclass, this change will
make the insane as a requirement (always included).
* Change the "PACKAGEFUNCS ?=" to "+=", otherwise there would be an
error like:
Exception: variable SUMMARY references itself!
This is because we let package.bbclass inherit insane.bbclass, and
PACKAGEFUNCS has been set in insane.bbclass, so the "PACKAGEFUNCS ?="
will set nothing, then the "emit_pkgdata" doesn't run which will
cause this error.
* Add a QA_SANE variable in insane.bbclass, once the error type
is ERROR_QA, it will fail the task and stop the build.
[YOCTO #3190]
[YOCTO #4396]
(From OE-Core rev: 852dead71387c66ec0cba7c71e3814a74e409560)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Some recipes may need to manually call the aclocal copying
functionality so factor this out into a function.
(From OE-Core rev: a5a08543c8cec43d993b2bba0ad6a9357c0a5e04)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Components of the Standard Library should be available. Add a sanity
check for xml.parsers.expat; we might add more in the future.
[YOCTO #4424]
(From OE-Core rev: bb027a332f2f2927a6bcbc4c035b42a012d0579e)
Signed-off-by: Jesse Zhang <sen.zhang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
sstate has a logic to fixup hardcoded paths in scripts,
but it misses in some specific cases, so add
EXTRA_STAGING_FIXMES to the fixup hardcoded paths
mechanism, so that we can specify what hardcoded paths
need to be fixed in a recipe, e.g.
EXTRA_STAGING_FIXMES = "STAGING_BINDIR_TOOLCHAIN"
(From OE-Core rev: 2e840db56c45b4c63fded55f4ed763b7099284b9)
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
"git add ." does not record files that were removed in the buildhistory
directory. Specify the -A flag to also record removals.
This was discovered by the following warning added in Git 1.8.3:
warning: You ran 'git add' with neither '-A (--all)' or '--ignore-removal',
whose behaviour will change in Git 2.0 with respect to paths you removed.
(From OE-Core rev: a45a247e2cfa58892a0c9eb050d603a38cd839db)
Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Some packages (eg mesa) will invoke a tool with --version and do string matches
on the output (i.e. mesa does $LEX --version |grep "^flex "). This doesn't work
with the combination of wrapper scripts and binaries that use $0 as they output
"flex.real".
Luckily bash's exec lets you set $0. As we want to use this we can't use env,
but using export appears to work just as well.
(From OE-Core rev: e8d2a2a3646f964ec61ece62e14788cd7184dd01)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add some more documentation to the PIXBUFCACHE_SYSROOT_DEPS variable to clarify
the usage.
(From OE-Core rev: b2f2d6a2b166b3c79cc5a0d386ee1dda2d4fa010)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Use CFLAGS instead of CPPFLAGS for C_FLAGS variants.
When debug optimization is enabled in the local.conf, the debug (-O0) vs
production (-O2) does not change in the builds. As the CPPFLAGS do not
contain the optimization settings.
Also the CXX_FLAGS are based on CXXFLAGS, so it makes sense to similarly
set the C_FLAGS based on CFLAGS.
(From OE-Core rev: 558662927be550aeb8dd163f65e16b1750bbd127)
Signed-off-by: Joe Slater <jslater@windriver.com>
Signed-off-by: Jeff Polk <jeff.polk@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For some mips targets, TARGET_OS is set to linux-gnun32, while
linux-gnun32-oe-g++ is not listed in the default QMAKESPEC list of
qmake in oe-core/wrlinux. This would cause build failures for qt
apps, so add a matching rule to fix this.
(From OE-Core rev: 70b75d506e6c4b46694b00d674df9d4a94140bd6)
Signed-off-by: Xin Ouyang <Xin.Ouyang@windriver.com>
Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There is no mips64-common file, replace the definition with mips-common.
(From OE-Core rev: b6107abd50da651596c43119001cfc80fdf87554)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When building over NFS2/3 server, removal of pseudo folders will fail in
some cases for there are files in it still used by pseudo daemon, thus
cause ".nfsXXXXX" files generated which can't be removed by clients. This
will lead rm_work task fo fail.
These failures could be safely ignored because ".nfsXXXXX" files would be
automatically cleared by NFS server when no clients keep opening them.
[YOCTO #4531]
[ CQID: WIND00412051 ]
(From OE-Core rev: 9742e866f545bc0d04aca697b541ed88f4e1764a)
Signed-off-by: Ming Liu <ming.liu@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Otherwise we will try to run the setscene task once per MACHINE which will lead to
file conflicts in the sysroot for packages like gcc-cross. The stamps
are already namespaced by TARGET_ARCH which should be sufficient.
(From OE-Core rev: 66d09565783186ab14fa77ecdfe2131a44a265ab)
Signed-off-by: Phil Blundell <philb-mXXj517/zsQ@public.gmane.org>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* DEPLOYDIR is used as target for every other file deployed by do_deploy,
this was just unnecessary switching CWD to create relative symlink and I
have no idea why rm -f was used together with ln -sf.
(From OE-Core rev: 8375782a295c6294ea4ab889c309bebf873f3489)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Clutter and cogl no longer use --with-fpu configure option, so we no longer
require the get_fpu_settings() function.
(From OE-Core rev: ea59330c48cdb7d7106deea3f19c043ba60c23e4)
Signed-off-by: Tomas Frydrych <tomas@sleepfive.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Compiling the Linux kernel requires binutils; kernel.bbclass uses
INHIBIT_DEFAULT_DEPS so it had better depend on binutils explicitly.
(The lack of this dependency isn't always a problem because binutils
is required to build gcc-cross but if gcc-cross is reconstructed from
the sstate cache then gcc-cross's dependency on binutils-cross is
ignored due to being in the safe dependency list in
setscene_depvalid.)
(From OE-Core rev: 37beb7bdab78de5253a894f35afafa34c13a00f5)
Signed-off-by: Mike Crowe <mac@mcrowe.com>
Acked-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Register a sstate postinst function so that when installing a native package,
the gdk-pixbuf loader cache is updated.
(From OE-Core rev: 7cbde5d8f2b88ec4e79cb0d564ee0f3c9baa7c2d)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Adjust to the recent changes in the git fetcher. This code should work
with current and previous versions of bitbake and can be cleaned up when
we move to new bitbake versions.
(From OE-Core rev: 835b64d4e9ed7b627b56a75d529f1a403c5db1a8)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a function postinst_enable_logging, so that when 'debug-tweaks'
is in IMAGE_FEATURES, we create ${sysconfdir}/default/postinst config
file, which is sourced by run-postinst scripts to determine whether
to log or not, and where to log.
[YOCTO #4262]
(From OE-Core rev: 99175cabc3936733dd92fac5ebc6f865b864fe92)
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Any users have had time to adapt to this change by now, drop the old class.
(From OE-Core rev: 9b64b68c93c71c503ef26fa440b974b82438dc88)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This code has been deprecated for a while and confuses the class, lets drop it
and just give the user hard error messages instead of the current warnings/fixups.
(From OE-Core rev: 72579e1fe49e8bc66c9f5850a2c679ce8941c85d)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Remove the old image before the new one generated to save disk
space when RM_OLD_IMAGE is set to 1, this is an easy way to keep
the DEPLOY_DIR_IMAGE clean.
[YOCTO #4391]
(From OE-Core rev: b3e2e405c53d63bc71872d41f455507be833e7eb)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
when compiling the linux kernel manually. users need to set CROSS_COMPILE separately.
adding the CROSS_COMPILE variable will be nice for using.
(From OE-Core rev: b66ec45e5dd9418a6568c04ef30854531a4b66f3)
Signed-off-by: Zongchun Yu <b40527@freescale.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The bb.fatal() is defined as:
def fatal(*args):
logger.critical(''.join(args))
sys.exit(1)
So anything after bb.fatal() in the same code block doesn't have any
effect, e.g.:
bb.fatal("%s_%s: %s" % (var, pkg, e))
raise e
The "raise e" should be removed.
I searched all the files which use bb.fatal(), only the following 3
classes have this issues:
insane.bbclass
package.bbclass
package_rpm.bbclass
[YOCTO #4461]
(From OE-Core rev: 4c47525c5a171b1282615c9fbc7d84addef85f92)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
These variables should not be shared with other image classes.
The bootimg class also has an HDDDIR variable that could be overwritten
if executing concurrently in the same image recipe.
(From OE-Core rev: 94c83fa26af104d28aa4e6951bcb109bb0c82265)
Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Patches are now part of upstream or no longer needed.
Added new util-linux dependency for isohybrid.
Paths updated to reflect directory structure changes.
Add CFLAGS and LDFLAGS overrides.
[YOCTO #4438]
(From OE-Core rev: 17e7ac0c5e75245d17a90e5cc49ade3d18a168ba)
Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=c376f1f49cea182a2887945840ab97a20970a373
fixed a valid issue where the sources file was accumulating information
and subsequent task runs of do_packacge were not cleaning it. The
fix is wrong however since we're removing the file within a loop.
This fix removes the file outside the loop ensuring it is not truncated
and contains the correct information.
(From OE-Core rev: a015881f2207aded601459ba3eebbefb0002b3c5)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The tuning changes to sanity.bbclass were almost right, but one of
the messages had a %s with no % operator.
(From OE-Core rev: cf5e40598ae9a83f22cabedc7b72000beb62703c)
Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The vmdk needed hddimg which was generated by do_bootimg in the past,
but do_bootimg generated both iso and hddimg, so we set NOISO = "1",
it now uses do_bootdirectdisk, doesn't use do_bootimg anymore, so we
don't need NOISO = "1", and need remove it, otherwise:
IMAGE_FSTYPES += "live vmdk"
Would not generate the iso.
I'd like to remove it rather than comment it, but we had comment the
do_bootimg before.
(From OE-Core rev: c5c1517726aa103a3cdb60abda95e28997cac7c4)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Remove the legacy support for the apps-console-core IMAGE_FEATURES item;
we've kept this for a while but it's time for it to go.
(From OE-Core rev: bcd5ed8dd0e80cb76415cd2be9686d4e8023421d)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If the user specifies an invalid feature in IMAGE_FEATURES, show an
error during parsing. Valid IMAGE_FEATURES are drawn from
PACKAGE_GROUP_ definitions, COMPLEMENTARY_GLOBS and a new 'validitems'
varflag on IMAGE_FEATURES (so that additional non-package group features
can be added elsewhere.)
Implements [YOCTO #3308].
(From OE-Core rev: 8d25442ab795ff0f8e072da2022108eff128e2b2)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If the vmdk image symbolic link already exists from a previous build,
overwrite it instead of returning an error.
(From OE-Core rev: bcfb5a783dc94fe38539a19f4f7de249ce2391c1)
Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
qemuimage-testlib hardcodes ext3 as fs type. This adds support for more
images types which are supported by runqemu: ext[234]/jffs2/btrfs.
I've skipped (for now) vmdk (which qemu can boot) because:
- we don't have network on images without connman because of the way
runqemu starts vmdk images (can't pass kernel args for network config)
- qemuimage-testlib-pythonhelper relies on '192.168' being in the output of
ps to return the pid
(From OE-Core rev: 95b7cafafcaa4dda7328632475003f5778ab95bd)
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If a recipe is named such that its PN value matches something already in
OVERRIDES (such as when PN happens to be the same as MACHINE or DISTRO),
it can have unexpected consequences. Assignments such as
FILES_${PN} = "xyz" effectively turn into FILES = "xyz".
Implements [YOCTO #4288].
(From OE-Core rev: c331f0a5cac765174a1b5de5c12aec7e965d4158)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a BUILDHISTORY_IMAGE_FILES variable specifying a space-separated
list of files within an image to copy into buildhistory, so that changes
to them can be tracked. Typically this would be used for configuration
files, and by default this includes /etc/passwd and /etc/group, but the
user is free to extend this list by setting the variable in local.conf.
Implements [YOCTO #4154].
(From OE-Core rev: ed6bb6e3db518082d3a9c45d548bc1339be2c5ca)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We have removed the nostamps for do_rootfs and do_build, so it seems
reasonable to remove the stamps for do_bootimg, do_bootdirectdisk and
do_vmdkimg.
The current problem is that the do_vmdkimg always re-run, but the
do_rootfs may not, so the code like below in the do_rootfs function
doesn't re-run and cause problems (the symlink exists when the
do_vmdkimg creates the symlink again):
if d.getVar('IMAGE_LINK_NAME', True):
cmds += "\trm -f ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.*"
(From OE-Core rev: 45c7dab5d51065c7b24ab5292f8e9d3104eb0626)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fix QA warnings seen when using 'traditional' kernel recipes e.g.:
WARNING: QA Issue: .../recipes-kernel/linux/linux_3.0.18.bb: Variable
FILES is set as not being package specific, please fix this.
(From OE-Core rev: 799c16ed317aed7638e264ee2f92e4b722f1b011)
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There are various bits of cruft that have built up around our file accesses. This patch
cleans some of them up, specifically:
* Remove pointless "from __builtin__ import file"
* Use open(), not file()
* Wrap file usage in a with container to ensure files are closed
* Add missing .close() calls in some cases
(From OE-Core rev: a43e0a8ecd0441131e929daf998c3cd454d9c8f3)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This file is already opened a few lines previously, so drop the duplicated
call.
(From OE-Core rev: 4808629faa1222b31f92a3e410e06adb8e081293)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
string.join() is deprecated syntax and doesn't work under python3
so use the modern sytax instead.
(From OE-Core rev: 402d652edf79bcfe1eaf1a3b55ad1177d1e3ee85)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
I mistakenly thought subprocess had getcmdstatus in python 2. It doesn't so lets
add a wrapper and have this work in both worlds.
(From OE-Core rev: 2253e9f12734c6e6aa489942b5e4628eca1fa29d)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The has_key() attribute has been removed in python 3 since there is better
syntax available. Use the improved syntax.
(From OE-Core rev: 3dff13793e875ff58cc38c4a960caca9b6969843)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The commands module is removed in python3. Use the subprocess module instead
and the pipes module to replace the mkargs usage.
(From OE-Core rev: e2e1dcd74bc45381baccf507c0309dd792229afe)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We open the file we're writing to in binary mode so open the input stream with the
same mode so things match. This avoids errors with python3.
(From OE-Core rev: 4f47b3a4726dd47e8a6db228fcaf25d1890e3e52)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In python 3 print is a function call. In some cases bb.note is a more
appropriate call to make.
(From OE-Core rev: 754874e68d1037c76fc4cc7d35d3fa12946d00f8)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The <> operator is deprecated, use != instead which is equivalent.
(From OE-Core rev: dde7af5f6c769eae721b1ee18462b841c8ea3277)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
file() syntax is removed in python 3, use open() instead.
(From OE-Core rev: b2d10f15db23246e3957b69d77433f87674928bb)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There are some left over tab characters in the python functions. This
removes them and resolves python 3 errors.
(From OE-Core rev: fafeb381c48291fa65c634c01c244843c8d7fad3)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Modern expection rasing syntax is function call format, convert to this
to keep python 3 happy and model correct coding style in the core.
(From OE-Core rev: f4b382754603d3f1caa13824bcc8d06b568bbc59)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
python3 doesn't like files being left open. This updates the code style
to ensure file are closed.
(From OE-Core rev: ec74285bd2108f12f33fc8ac0dc1d124ab48be21)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Update older code to use modern exception handling syntax which
is the form accepted by python 3.
(From OE-Core rev: b010501cd089e649a68f683be0cf4d0aac90fbe3)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add comment for NOHDD which is used for skipping building the HDDIMG if
set to 1
(From OE-Core rev: 9843ad9d783f68b97fedfe5b435528538bb26c1c)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Using "before do_rootfs" would have this task added to do_rootfs
dependencies regardless of the filtering options. Instead, add this
dependency in the anonymous python function.
(From OE-Core rev: 2400a74923e51e17ecfa94c2d63908b0b2aac76a)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* like PERSISTENT_DIR I find BUILDHISTORY_DIR more persistent
then tmp-eglibc directory
* WARN: people with existing checkouts in TMPDIR/buildhistory
need to move it to new location first (in order to save history)
(From OE-Core rev: d3ad9a4c573fec08b5606a4c3e86f93cb95e8718)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
do_rootfs[cleandirs] contains ${S} and, if do_rootfs task starts before
the do_dumpdata_create_diff_gz is finished, an error will occur in the
process because the directory will be removed while still needed by the
create_diff_gz() function.
This patch will force the do_dumpdata_create_diff_gz task to run before
do_rootfs when the final image is created.
[YOCTO #4310]
(From OE-Core rev: cd90be31571178d6822dba5a94a2795209a3576c)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Generation of elf images fails because kernel images are no longer staged under
${STAGING_DIR_HOST}/kernel, but rather ${STAGING_DIR_HOST}/usr/src/kernel. This
patch fixes the path to point to the correct location.
(From OE-Core rev: 6e57a3231fb29f869d476b8511d6f4393f82651b)
Signed-off-by: Tomas Frydrych <tomas@sleepfive.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When image.bbclass was first conceived (as rootfs_ipk.bbclass), oemake
was unable to figure out when the inputs to do_rootfs had changed in
such a way that it would need to be rerun. Absent any reliable
information of this kind, it was necessary to adopt the conservative
assumption that images always needed rebuilding and, to this end,
do_rootfs and do_build in image recipes were marked as nostamp. (The
nostamp annotation for do_build was added in oe-classic commit
80d622e0c1dbc284858e01d3eb670303a6d8cdf9 from January 2005; the exact
point at which do_rootfs was made nostamp is obscure, but it predates
oe-classic revision 63fad339e01d4b16105146c32a61f24460397126.)
This situation persisted for the following eight years but, during that
period, oemake evolved into today's sstate-enabled bitbake, oe itself
gained the OEBasicHash algorithm which can reliably detect changes to
the input data for do_rootfs or any other task, and OEBasicHash was made
the default for oe-core in 4199efed48005a62267fa3374c33b13627d85f44
(June 2012).
Given these various changes in the wider landscape, there is no longer
any obvious benefit to having these two tasks marked as nostamp, and
indeed having them so marked causes needless rebuilds which can be
annoying. Anybody who does genuinely wish to rerun these tasks when
nothing in the input has changed can run "bitbake -f", just like with
any other task. So, let's remove the nostamp annotations and just let
bitbake figure out when to rerun them.
(From OE-Core rev: 8505008c115efb54d18e5f25441c7a938a32ffaf)
Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Make it easy for the wildcard specifications for complementary package
features to be extended outside of image.bbclass. For example, to add a
new "foo-pkgs" item that could be added to IMAGE_FEATURES that would
cause *-foo packages to be installed for all packages currently in the
image, you can now use this line at the global level:
COMPLEMENTARY_GLOB[foo-pkgs] = "*-foo"
Implements [YOCTO #4228].
(From OE-Core rev: 4e39c1b9dbba1d2b07ffc2c6a1a252fc8f7680ee)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Make hard links for staging files instead of copy to save the disk space
(3G will be saved for a core-image-sato build), and it doesn't affect
much on the build time.
The following directories are affected:
1) The sysroot
2) The DEPLOY_DIR
3) The pkgdata
[YOCTO #4372]
(From OE-Core rev: 5853e0f482b22258c909268fe71673a29e31989b)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is needed in order to have separate multilib intercept hooks.
(From OE-Core rev: 44eae13c164ca6e15a6013eafeab3eb44f24c8e0)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This reverts commit 9f5a6f89d9.
The reason for reverting this is:
* qemuwrapper has now a fallback method;
* when using multilib, calling qemu_target_binary from recipes would
always point to the qemu binary corresponding to the machine
architecture. Hence, postinstalls needing to use qemu would call the
wrong qemu user emulation binary;
(From OE-Core rev: 15408466515cec7cbb4c394aa203c87b6165f884)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
With normal toolchain it works. But fails badly when external Linaro
toolchain is used. And this is why:
-e "s/^\(CCFLAGS =.*\)/\1 -isystem/home/hrw/devel/canonical/aarch64/openembedded/build/linaro-tcwg/gcc-linaro-aarch64-linux-gnu-4.7-2013.04-20130415_linux//aarch64-linux-gnu/include -O2 -pipe -g -feliminate-unused-debug-types/" \
(From OE-Core rev: f6244a9d3da7c301f19efc114c2aaf39e5eec299)
Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Otherwise we might end up creating directories under sstate-cache with whatever
random umask has been selected for the task that we're trying to package. This
would be a bad thing since it might result in losing group write access for
newly created dirs, and/or losing group read access for the sstate files
themselves.
(From OE-Core rev: d8c4f442c41bf3ac5e064630657cd3fa1b5c43b1)
Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The kernel's penchant for custom linker scripts means that it doesn't
generally get on very well with gold. Make sure we are using the BFD
linker here no matter what the distro default is set to.
(From OE-Core rev: 5c8277610ae84740e0724b27f10dba3895d40c05)
Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
An excluded package left its files behind, which meant they could end up in
another package instead, meaning we could ship GPLv3 binaries even with GPLv3
in INCOMPATIBLE_LICENSE. Skip the files belonging to the excluded packages to
prevent this from occurring.
(From OE-Core rev: c045bfe6b991006ac80f0e2d06a8917ae58d9262)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Due to some issues with postinstalls that register hooks, we changed the
logic a bit. Now, all postinstalls that register hooks will return
successfully and only after, if hooks fail, mark the package as unpacked.
(From OE-Core rev: 82dae98d0eb771c05e57635f0f8763b118d8177e)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This will allow to register, in a single postinstall, multiple hooks.
(From OE-Core rev: b396138ee081c8f5dddbaab0e374787ba2e31029)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This will allow to register, in a single postinstall, multiple hooks.
(From OE-Core rev: 2cd244d6c93ec6d39e2649de64575c365bd4238d)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This will allow to register, in a single postinstall, multiple hooks.
(From OE-Core rev: 9553874cf02ba443aff1bbead56bacfcda9bb6ca)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The postinstall for the opkg run-postinst hook checks for the existence of this
file. We therefore ensure it always exists during image generation.
(From OE-Core rev: 540cf355599e555615ed9684c3b480463588eb78)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
THe USERADD_PARAMS and similar group variables are package specific variables
which should get added to the vardeps of the packaging process. This
change also ensures they get remapped correctly by the multilib code.
(From OE-Core rev: 805add18e7b917aaef61c82c0b5f2e9682af1d0d)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If we don't do this, multilib packages don't have any code
added to the postinstalls to handle user additions.
(From OE-Core rev: b10d17d1b03fd0564103a6998f218d0968d1032b)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently, you can set VIRTUAL-RUNTIME_init_manager to an init system that
isn't in DISTRO_FEATURES. This leads to head scratching over unbootable images.
This adds a sanity check which ensures more valid systems are built.
(From OE-Core rev: c72ec4b52827f75351790eab483d258b2e87611a)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If we put a valid glob like "*/foo/*" into FILES, populate_packages
breaks with a "file exists" message. This is because the glob expansion
does not have "./" prefix however there may already be an entry in
the seen list which does have such a prefix. The easiest/simplest fix
right now is to add the prefix if it doesn't exist which only happens
for certain globs.
(From OE-Core rev: 138c5f3af892e33f576fc7dd268e122b179f82a1)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ensure that the DEPENDS we're adding is correct in the multilib case by
including MLPREFIX, fixing unnecessary dependencies in those images.
(From OE-Core rev: 1fa8909e24866ffada75daf63225c8daa000b9be)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently the names used for the kernel in deploy will contain "AUTOINC"
instead of the final incremental numbering. This fixes the problem by
ensuring data is obtained from the PR service and using the PKG* variables
instead of PE/PV/PR directly.
[YOCTO #4293]
(From OE-Core rev: 1392f959cb8cd50b5a4492899e54f3ed68ef56d7)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
allarch multilib recipes are meant to provide a list of different multilib variants.
Unfortunately since the pkgdata also has mappings for these, they get mapped back to
the original package name which means the effect is undone at package creation time
when the remapping code is called.
This patch adds in a conditional to break that chain meaning the packages get
the correct RPROVIDES and image builds work correctly with opkg.
[YOCTO #3453]
(From OE-Core rev: 1a1927f8a04fe0a2b3b853ebdd33ccb807f00b59)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fix the fairly long-standing problem of treating a newer bblayers.conf
in the same manner as an older one (reporting that it had been updated
even if nothing was done). The recent work to do a reparse without
having to manually re-run bitbake turned this from an annoyance into an
endless loop, so it had to be fixed.
As part of fixing this the following changes have been made:
* Extensions are now implemented using a function list, so distro layers
can add their own functions which should either succeed (indicating
they have successfully updated the file) or raise an exception
(indicating nothing could be done). The functions are called in
succession until one succeeds, at which point we reparse.
* If we can't do the update, the error message now says "older/newer"
instead of just "older" since we only know the version is different.
(From OE-Core rev: 46b00fdfc9d1e3dc180de087bae2682a1baa2954)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
when we have multilib and a 64bit machine and initramfs then image/lib
directory will not be created and it will end up with errors like
| DEBUG: Executing python function sstate_task_prefunc
| DEBUG: Python function sstate_task_prefunc finished
| DEBUG: Executing shell function do_deploy
| tar: lib: Cannot stat: No such file or directory
| tar: Exiting with failure status due to previous errors
So in order to overcome this shortcoming lets mkdir -p the
lib directory so the modules can be happily installed.
(From OE-Core rev: 3f501204f375cc40a14597a25cb09faaba9ff802)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* original implementation by Antti Harju
(From OE-Core rev: abb5bd9f2d3583808b61a0832378e4db45022be6)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
1, In bitbake.conf
PKGR ?= "${PR}${EXTENDPRAUTO}"
EXTENDPKGV ?= "${EXTENDPKGEVER}${PKGV}-${PKGR}"
RDEPENDS_${PN}-dev = "${PN} (= ${EXTENDPKGV})"
2, When PR Server is enabled, EXTENDPRAUTO is not none which means PKGR and PR
don't have the same value.
3, When multilib is enabled, RDEPENDS_${PN}-dev is not expanded correctly
which uses PR rather than PKGR in the versioned dependency string.
4, Make sure PKGR rather than PR in version string when do_package_rpm.
[YOCTO #4050]
(From OE-Core rev: cf53c606fc1bc81abb68b6851ae68916f92e1d84)
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Move ${PN}-ptest to start of PACKAGES to ensure all ptest files are
packaged in the -ptest package.
Add QA exclusions to insane.bbclass to ensure -ptest packages can contain
any files they need.
Disable ptest for native packages.
Don't emit errors on missing _ptest functions.
(From OE-Core rev: 01bea4ef932e46eb2fcc8b4be7ff5e2b5b2a0978)
Signed-off-by: Björn Stenberg <bjst@enea.com>
Signed-off-by: Anders Roxell <anders.roxell@enea.com>
Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Allow recipes to specify sections to be stripped from the kernel output
using KERNEL_IMAGE_STRIP_EXTRA_SECTIONS. For example:
KERNEL_IMAGE_STRIP_EXTRA_SECTIONS = ".comment .unwanted"
The kernel output is stripped in place.
Since the toolchain does not give indication when the specified sections
are absent, we read the sections first and make this report by issuing a
warning to the developer.
The toolchain by default strips the image with the -s option (even
when -s is not specified):
-s --strip-all Remove all symbol and relocation information
For example, these sections are always removed:
.debug_aranges
.debug_info
.debug_abbrev
.debug_line
.debug_frame
.debug_str
.debug_loc
.debug_ranges
.symtab
.strtab
In addition to these, the sections listed in
KERNEL_IMAGE_STRIP_EXTRA_SECTIONS will also be removed.
Only stripping of vmlinux (elf) is supported at this time. A warning
will be given if the image type is not vmlinux.
Stripping the image could also be done in the kernel, but that would
only work for linux-yocto based kernels, so it's not the route we
decided to go.
[YOCTO 3515]
(From OE-Core rev: 5f6d33b05b4e7883f2728ca812cb5386d1e36989)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Michel Thebeau <michel.thebeau@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Postinstalls that use qemu are throwing a segmentation fault when
building for qemux86-64 on a 64bit host (it might also happen for
qemux86 if building on a 32bit host but I didn't test). It looks like
qemu looks for ld.so.cache which is not found because it is generated
after rootfs_(rpm|ipk|deb)_do_rootfs is called and then it tries to load
libraries from the default paths (which are the host's). In order to
avoid this, pass the LD_LIBRARY_PATH explicitly to the target's dynamic
loader.
(From OE-Core rev: 48e8b613b3f5c7b1d917bf3147606d44072ce49e)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The creation of a clone of d with extra OVERRIDES was removed in
72c1fd72d3b479c728e249eaa763116d352e945b but some of the lookups are essential
so that variables such as ${INITSCRIPT_PARAMS} get overriden and resolved
correctly on a per-package basis.
[ YOCTO #3960 ]
(From OE-Core rev: b016bc9aaabc90fe4dc98af8c5e73dfcb4526ef4)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Package listing was implemented in the deb backend some time ago.
(From OE-Core rev: e2915b6e1d2088d3a791bf629dabc58f38940961)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When upgrading packages it's possible that the service is already running
because opkg doesn't actually execute the prerm hooks on upgrades, which is
where the service should be stopped.
Handle this case by restarting in postinst instead of starting. If the service
isn't already running then this doesn't make a difference, but if it is running
then the service will be restarted.
[ YOCTO #4213 ]
(From OE-Core rev: 319ef0df4ae7ed0372eff90e11244123eccb023c)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The use of SOC_FAMILY here is old code and SOC_FAMILY is now implemented by
MACHINEOVERRIDES behind the scenes. It therefore makes more sense to use
the replacement value in this code. Just like SOC_FAMILY, this is a ":"
delimited variable so we should iterate over the components, not use
the value directly.
Finally, MACHINEOVERRIDES contains MACHINE so we don't need to check that
directly.
This makes the functionality match what most users would expect it to do
and is also compatible with the way things previously worked.
(From OE-Core rev: 8ceef74dd4f662b4c7e3c170ce486e966ebebeff)
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Change do_write_srcrevs to a postfunc of do_fetch, avoiding a dependency
being created that causes large numbers of setscene tasks being executed
on every build with both buildhistory and rm_work being enabled.
(From OE-Core rev: a751e9042dfffcc5c4701634a1f1f598012d609c)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
do_sizecheck has a few issues especially with vmlinux image type.
It breaks because KERNEL_OUTPUT is a path relative to ${B}. When
do_sizecheck runs it does not find the file (because the working
directory is elsewhere) and does not fail.
Also, the image file referenced by KERNEL_OUTPUT may be a link.
Finally, when do_sizecheck deletes the oversized kernel image it leaves
the previously run do_compile task with inaccurate status.
So, do the following:
- specify that the working directory should be ${B}
- use ls -L to reference to the real file, and ensure that the link
file is created
- keep the oversized image file so the status of do_compile is valid
[YOCTO #3514]
(From OE-Core rev: f0b19ddce3c92c5d06976cf73d4c4c480e053dff)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Michel Thebeau <michel.thebeau@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The wrong type of paranthesis was used so 'continue' did nothing (was in
another context) and the packages were marked as installed.
(From OE-Core rev: 0bdde53e885aae3506c7b070b6e21f64a7cd4115)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Removed existing definition with machine 47787, this
definition is outdated, a sanity error should occur if an ELF uses this
value.
* Added new definition with machine 189. This value replaces the existing
value since August 2009. See binutils thread for more information.
(http://sourceware.org/ml/binutils/2009-08/msg00127.html)
(From OE-Core rev: 0c60d3b04eb77629abc3bbc2a6d8a2b8f0a44309)
Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The intercept scripts fail to run on 32 bit hosts. Apparently, the
current approach worked on 64 bit hosts due to the larger virtual address
space (probably). On 32 bit hosts, however, calling the target binary like:
qemu-arm ld-linux.so --library-path /lib:/usr/lib arm_binary
fails with:
arm_binary: error while loading shared libraries: arm_binary: failed to
map segment from shared object: Operation not permitted
When run like this, qemu-arm fails to map the arm_binary executable in
memory because it's hitting the lower limit of
/proc/sys/vm/mmap_min_addr. That's because it loads the
ld-linux.so binary successfully, taking into account mmap_min_addr, runs
it, and then ld-linux.so will map the arm_binary at a fixed address but this
will fail because it is below mmap_min_addr. The qemu's guest base probing,
apparently, doesn't work fine when a program runs inside other.
One way around this would be to set mmap_min_addr to 0 (on recent
distributions is set to 65536 to avoid "kernel NULL pointer dereference"
defects) but this approach is not safe.
The other way is to call the binary directly but providing qemu with a
prefix (-L option) in order to find the elf interpreter correctly. This
way, both the target binary and dynamic loader are mapped into memory
under qemu's control and, only after, the dynamic loader is started.
[YOCTO #4179]
(From OE-Core rev: 78f91e08c8a7b0f0c831a087f7c89e2c76047e7a)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Removed the package files parsing routine from the
packageinfo.bbclass file and added it to the
package.bbclass file.
(From OE-Core rev: 225e7826b0d082f43db82201e826b98b3a95cd57)
Signed-off-by: Andrei Dinu <andrei.adrianx.dinu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* persistent cache records tag-srcrev mappings, but is not shared between builders
* when tag is moved in remote repo, all builders should rebuild the component to
use the same source, show warning when revision is different than what was used
in last build
(From OE-Core rev: 0bc22ed6bd67031749e8f2cb5415dabf933eef56)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If no files have been staged we want to continue without error instead
of showing a traceback.
Fixes [YOCTO #4056].
(From OE-Core rev: ca36be708e54c0c86535bc8512295c76c48f6cf5)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The 'armel' override for DKPG_ARCH was causing the meta-toolchain
build to fail. The assignment was moved to an anonymous fragment
of Python code, so it doesn't affect the assignments in
cross-canadian.bbclass anymore, thus fixing the issue.
[YOCTO #4080]
(From OE-Core rev: 6f86fe5d66e401377bccd9f635270033b99a9f4b)
Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
srpm archiving doesn't need to be handled as a different case
when deciding what archive tasks to add.
When srpm is selected as the archiving type, the scripts and logs
archive staging directory ${WORKDIR}/script-logs is cleaned, and
its contents moved out to ${WORKDIR}.
Now that we are including ${WORKDIR}/script-logs in sstate-inputdirs,
the directory must be preserved.
[YOCTO #4032]
(From OE-Core rev: 0c80286a3383b436a0a63a0b00eb357dd9dea4fb)
Signed-off-by: Kevin Strasser <kevin.strasser@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When processing the blacklists, we should avoid cross-canadian packages, as they
will not have any multilib prefixes to expand.
Similarly look for "virtual/nativesdk-" in addition to the existing "nativesdk-".
These items should also be ignored.
Finally, in order to avoid undeterministic variable key expansion, such as:
MYVAR = "foo"
PREFERRED_PROVIDER_${MYVAR} = "bar"
PREFERRED_PROVIDER_foo = "foobar"
during the multilib processing of PREFERRED_VERSION and PREFERRED_PROVIDER,
the code was changed to rename the variable key, to the final key. This along
with the existing code avoids the problems.
(From OE-Core rev: 1416613e94af46c6e74532bca0f026d1540becbb)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* different shells different behavior?
bash prints 'type: update-rc.d: not found' on stderr
busybox's sh on stdout
(From OE-Core rev: 45e22312c48b23480bd6dff98702b0691a48f7d1)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
gtk-update-icon-cache-native is the only provider now
(From OE-Core rev: 7e437aa3e0ec862aac69a4434be0b2b652d26972)
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Under some conditions (ACLs enabled, NFS) mv can interactively prompt
before overwriting files. Avoid hanging builds in that case by using
-f which should be harmless in other cases.
(From OE-Core rev: b1a085db9d8ad2a3117af6f50e510bc9c2f9407b)
Signed-off-by: Jeff Polk <jeff.polk@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
commit 61001aa [kernel-yocto: respect SRC_URI modified branch selection]
changed branch processing such that a branch specified in the SRC_URI
would set the branch forced as the build branch.
This change broke compatibility with the yocto-bsp, linux-yocto-custom
based recipes. These recipes specify the branch to be built via KBRANCH,
but allow the fetcher to use master for keeping the repository up to
date. This means that no explicit branch is set in the SRC_URI and the
routines return the default branch of 'master', which is not what is
set in KBRANCH.
To support this case, we simply pass a default branch into the routine
returning the branch to build, and ensure that the default is KBRANCH
so if no branch is passed in the SRC_URI, KBRANCH is always built.
[YOCTO #4145]
(From OE-Core rev: 0c389f41d7ea0697a5468c73cce295a2fa64e9e0)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Extended the functionality of packageinfo.bbclass
so that the sistem retrieves information about the
files brought in by each package. This is done
(without activating buildhistory) by parsing
the packages-split directory for each package.
(From OE-Core rev: 108bae276fe7e462378073207a3bdca7326f8e57)
Signed-off-by: Andrei Dinu <andrei.adrianx.dinu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Booting an image generated with squashfs-lzma results in a kernel
error: "Filesystem uses "lzma" compression. This is not supported".
Currently (well at least in Linux 3.8) the officially supported
decompressors are:
* LZO
* XZ
* ZLIB
This change makes sure we use a supported compression algorithm for
squashed root filesystems.
(From OE-Core rev: d915e2e084257830c43f7f21af3aec24b7e1a211)
Signed-off-by: Marc Ferland <ferlandm@sonatest.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Collect SRCREV information in a separate task and write it out in a
format which is more consistent with the rest of the buildhistory
output. Using a task means that SRCREV values will also be recorded for
native recipes and not just target ones, and the new formatting also
correctly handles multiple entries in SRC_URI.
Also adds scripts/buildhistory-collect-srcrevs which will report on all
of the recorded SRCREV values in a format suitable for use in global
configuration (e.g. local.conf or a distro inc file) to override AUTOREV
values to a fixed set of revisions. Example output:
# emenlow-poky-linux
SRCREV_machine_pn-linux-yocto = "b5c37fe6e24eec194bb29d22fdd55d73bcc709bf"
SRCREV_emgd_pn-linux-yocto = "caea08c988e0f41103bbe18eafca20348f95da02"
SRCREV_meta_pn-linux-yocto = "c2ed0f16fdec628242a682897d5d86df4547cf24"
# core2-poky-linux
SRCREV_pn-kmod = "62081c0f68905b22f375156d4532fd37fa5c8d33"
SRCREV_pn-blktrace = "d6918c8832793b4205ed3bfede78c2f915c23385"
SRCREV_pn-opkg = "649"
Some notes on using this script:
* By default only values where the SRCREV was not hardcoded (usually
i.e. AUTOREV was used) are reported - use the -a option to see all
SRCREV values.
* The output statements may not have any effect in the face of overrides
applied elsewhere; use the -f option to add the forcevariable override
to each output line to work around this.
* The script does not do any special handling for multiple machines;
however it does place a comment before each set of values specifying
which triplet they belong to as shown above.
Relates to [YOCTO #3041].
(From OE-Core rev: 2179db89436d719635f858c87d1e098696bead2a)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
1. Split out run-postinsts script into separated package, sometimes only the
postinsts script is required to run all postinsts scripts in /etc/rpm-postinsts/
instead of the whole rpm package.
2. Set ROOTFS_PKGMANAGE_BOOTSTRAP to rpm-postinsts
(From OE-Core rev: 056490ddbfdbb6cc6fa0d8ff8716d64819d6b16c)
Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Its generally useful for devshell to end up in the fakeroot environment. If
a user needs to exit it, PSEUDO_UNLOAD=1 <command> works, its usually
harder to enter the envionment.
[YOCTO #3374]
(From OE-Core rev: e6ffc747a8ca5142c9bc6fbd2b06b5808bb38b02)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We need to get in after complementary package installation, so use
_append instead of +=.
(From OE-Core rev: 8be32b8f30f63691f6b7a9592361b0975c6f8d7a)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Rename SYSTEMD_BBCLASS_ENABLED to INHIBIT_UPDATERCD_BBCLASS to reflect the
action, for clarity.
(From OE-Core rev: cf43320c343437659aee94acd005bf7712f273cd)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
With both sysvinit and systemd features enabled these postinsts may actually run
on a target without systemd, so check that systemctl is present before using it.
(From OE-Core rev: ac00e56cb9daacef17a6fdebe7b8ca1667b7e1c4)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Run the helper if the sysvinit feature is present, or if the systemd feature is
present but the systemd class hasn't been inherited. We want to run in the
latter case as systemd has sysvinit compatibility, but we don't want to always
run so that pure systemd images don't have redundant sysvinit files.
(From OE-Core rev: a3856ab19f1d4ae312f559521785ad4384700729)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This really functions as a blacklist, not a whitelist, since we are
listing recipes to exclude. To avoid any possibility of confusion, since
this was a recent addition, rename the variable.
(From OE-Core rev: 4d56de8018d550b3d181d451900cbfb698d64141)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If runqemu (or qemu itself) fails we need to know why, so tee out to a
log file and print it when we can't find the qemu process or determine
its IP address.
(From OE-Core rev: 827106a57ca88760a19f9309d859b500c5c4fe97)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
After the recent cached path operation improvements, we need to tell
the cache about directory changes. /usr/src/debug was was cached as
not created and this was leading to bugs in file ownership. This
change updates the cache and avoids this issue.
(From OE-Core rev: 553a8010e81448629a94ab04fd989e6e49066f2b)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The command for generating debug sources appends to the file, therefore we need
to ensure it does not exist before we run the command else we end up doing
more work that we should have to.
(From OE-Core rev: 48dfd61901ce07491ef913cf04dbd9de9a52759f)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If an error occurs in subprocess.call() we currently don't catch it. In particular
we have issues where debugedit is segfaulting unnoticed. This fixes up
various code paths to catch the errors.
[YOCTO #4089]
(From OE-Core rev: 262a69ffd33e9d001a7a15fc73671a015e3b5dd1)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This fixes build failures introduced with "classes/buildhistory: implement history
collection for SDK" by moving the functions to files where only the specific image
type which is enabled is inherited. The failures occured when multiple PACKAGE_CLASSES
were enabled.
(From OE-Core rev: 9a414a57ad69a426a8d8a2970c42ca7427240615)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Split out the packages added for Eclipse remote debugging to a separate
package group so that we can avoid pulling them in if not using Eclipse.
Fixes [YOCTO #3251].
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
These are mildly annoying when viewing git diffs of the buildhistory
repository, so let's just get rid of them.
(From OE-Core rev: c257f292bf75061647e380889487c7e2625592de)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
SDKs are constructed in a similar manner to images, and the contents can
be influenced by a number of different factors, thus tracking the
contents of produced SDKs when buildhistory is enabled can help detect
the same kinds of issues as with images.
This required adding POPULATE_SDK_POST_HOST_COMMAND and
SDK_POSTPROCESS_COMMAND variables so that data collection functions can
be injected at the appropriate points in the SDK construction process,
as well as moving the list_installed_packages and
rootfs_list_installed_depends functions from the rootfs_{rpm,ipk,deb} to
the package_{rpm,ipk,deb} classes so they can also be called during
do_populate_sdk as well as do_rootfs.
Implements [YOCTO #3964].
(From OE-Core rev: c3736064483d4840e38cb1b8c13d2dd3a26b36aa)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
1. check if gcc_test is really generate before os.remove("gcc_test") to avoid
following error:
ERROR: Execution of event handler 'check_sanity_eventhandler' failed
Traceback (most recent call last):
File "check_sanity_eventhandler(e)", line 4, in check_sanity_eventhandler(e=<bb.event.ConfigParsed object at 0x3151450>)
File "sanity.bbclass", line 107, in check_sanity(sanity_data=<bb.data_smart.DataSmart object at 0x11ba110>)
File "sanity.bbclass", line 22, in check_gcc_march(sanity_data=<bb.data_smart.DataSmart object at 0x11ba110>)
OSError: [Errno 2] No such file or directory: 'gcc_test'
2. set result to False when build failed with -march=native to ensure
-march=native is appended to BUILD_CFLAGS when host gcc really supports this flag,
otherwise following error appears when build native packages.
| cap_text.c:1: error: bad value (native) for -march= switch
| cap_text.c:1: error: bad value (native) for -mtune= switch
(From OE-Core rev: 4a4228fe250c8b23a5deeb25825d61c6e84a47a2)
Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The tclibc file for uclibc already empties IMAGE_LINGUAS, so there's no point
to this conditional as far as I can tell, and it can cause issues for certain
values of TARGET_OS.
(From OE-Core rev: 0fdda5840452c7715ed775d5d18d9f850396f483)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This was removed from package_rpm and package_ipk years ago, and shouldn't be
needed, installing the packages from package_linguas should be sufficient.
(From OE-Core rev: e9485c7077e5a9508371bbbbebdaaf1e9685da61)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Truncated all git MD5 sums to 7 digits
* Added regex checking for git packages as well
(From OE-Core rev: bc830ab3f6e9704c830e934c6f39c85ef11f867d)
Signed-off-by: Emilia Ciobanu <emilia.maria.silvia.ciobanu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The previous syslinux menu code did not support using both a serial
and vga console, but this has worked for years in syslinux so there is
no reason not to take advantage of it. The previous menu looked like:
-------------------------------------------------------
Linux Boot Menu
The following targets are available on this image:
boot: None
install: None
-------------------------------------------------------
This commit makes it look something more like a traditional grub menu
on both the serial console and vga console as well as providing the
option to continue on using either the serial or vga console with the
correct kernel arguments.
You can see the screen shots attached to the bugzilla.
https://bugzilla.yoctoproject.org/show_bug.cgi?id=3944
[ YOCTO #3944 ]
(From OE-Core rev: 7032d559c04bae09e6b7c39ddeb1bf35acc0584c)
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently, various standard library operations like os.walk(),
os.path.isdir() and os.path.islink() each call stat or lstat which
involves a syscall into the kernel. There is no caching since they could
conceivably have changed on disk. The result is that for something like
the do_package task of the kernel we're spending over two minutes making
868,000 individual stat calls for 23,000 files. This is suboptimal.
This patch adds lib/oe/cachedpath.py which are a set of replacement
functions for these operations which use cached stat data rather than
hitting the kernel each time. It gives a nice performance improvement
halving the build time of the kernel do_package.
(From OE-Core rev: 556dee0c4d6d8a87c0cddbd2f60fe5917d009f18)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When creating images containing many partitions, rootfs.$type
may not be available.
(From OE-Core rev: cf8e9d8942fdddaac21fca46137120da959c814c)
Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This change allows ${B} != ${S} builds to work which use binconfig.
(From OE-Core rev: dc175a20d3a269c08691d92ecf13afff8c1340dd)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* During the base kernel_do_deploy function the directory is
changed to DEPLOYDIR in order to do some cleanup and symlinking.
However, the directory is not changed back to the original
starting directory ${S} at the end. For append functions this
means that the starting directory is not ${S} as expected but
instead ${DEPLOYDIR}.
For functions like the do_deploy_append in
recipes-kernel/linux/linux-dtb.inc there is an assumption that
you are still in the source directory and not the DEPLOYDIR.
Without this change the .dtb files are not copied because the
check for the existence of ${DTS_FILE} which is a relative
path from the ${S} directory fails. This means that the .dtb
files are not copied into the deploy directory and subsequently
the deploy/images directory.
In the log.do_deploy file you will see lines like:
Warning: arch/arm/boot/dts/xxxxx.dts is not available!
(From OE-Core rev: fd5d80ab1a405cb4ef94f2cde25f8c251da490f0)
Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Use RM_WORK_WHITELIST to inhibit rm_work per recipe. In this way,
one can use rm_work for the most of the recipes but still keep the
work area for the recipe(s) one is working on.
As an example, the following settings in local.conf will inhibit
rm_work for icu-native, icu and busybox.
INHERIT += "rm_work"
RM_WORK_WHITELIST += "icu-native icu busybox"
If we comment out the RM_WORK_WHITELIST line and do a rebuild, the
working area of these recipes will be cleaned up.
[YOCTO #3675]
(From OE-Core rev: 6c930c3c06f2e698540626c87bd7f7f571df35ef)
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
With the addition of sstate, ensure that archiving tasks are only
added to the build if they produce output in the directory specified
by the 'sstate-inputdirs' flag.
Move calls to 'tar_filter' and 'not_tarball' out to
archive-*-source.bbclass in order to filter out packages before their
archiving tasks are added to the build.
Additionally, negate the return value of copyleft_should_include in
tar_filter, so that packages that do not pass are in turn filtered out.
(From OE-Core rev: 392562a21d9f2deb6fe6f8bb5378b09f4c5918d4)
Signed-off-by: Kevin Strasser <kevin.strasser@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Log and script archives are only generated when explicitly enabled by
setting the environment variable SOURCE_ARCHIVE_LOG_WITH_SCRIPTS to
'logs_with_scripts'. When left disabled, the path specified to be
handled by sstate is never created, resulting in a build error.
Only attempt to archive scripts and logs when explicitly enabled.
(From OE-Core rev: 7f1f3e6b6db9a50f5e68bc8dff95549e692153b1)
Signed-off-by: Kevin Strasser <kevin.strasser@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We used to export this in the days an external script handled the image
generation. This is no longer the case and hence we no longer need this
export.
(From OE-Core rev: 919613c0e75362ee0eace99b51cc77d34a05372f)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
grep will throw "No such file or directory" errors for all invalid
symlinks. To overcome this, move the search after the symlinks have been
changed to point to the new location.
(From OE-Core rev: 239a43fc4037bfe941bb60dd077ee477de177b7c)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The previous change to this function fixed one manipuation at
the expense of the other, depending on ow expanded the versioned
dependency string was when the AUTOINC substitution was made.
This update ensures we cover both cases and ensures the classextended
version works as as well as the normal case.
(From OE-Core rev: 0f8447a7d99d2645b932eac1c24149f0c2d3791e)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* exclude ICECC_PARALLEL_MAKE (like PARALLEL_MAKE is)
* add ICECC_DISBLED to be able to disable whole icecc functionality
while keeping icecc enabled. This is useful when you want multiple
builders sharing same sstate-cache, but only some of them using icecc.
* inheriting icecc changes all checksums because of do_*_prepends calls,
but because icecc should not influence binary output of task we should
get same checksums for tasks build with and without icecc
* ICECC_DISABLED when set (to any non-empty value will disable icecc env
modifications but while keeping same sstate checksum
(From OE-Core rev: f46cf86d0ec3b80ce526b4dad1b1eac5995969ec)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* same as original and default version, but does not package source files in PN-dbg
(From OE-Core rev: 3c8452c3abae74a42989c0fbd5ba303788528750)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If a recipe has versioned dependencies on another package within
the same recipe, there are potentially races where the version
remapping may not happen correctly.
This issue triggered with neard in multilib builds since it
uses a "-" character in its PV which is illegal in an rpm version
field. The remapping to "+" was not occuring.
It only triggers in the multilib case since in this case, expansion
of the datastore happens at slightly different points.
The correct fix is to search for PV, not PKGV but substitute the
PV value.
(From OE-Core rev: bd03014c8fd080e04dd0a96a6b4b9211568c1cf1)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The bitbake -S <image> has errors, e.g.:
NOTE: Reparsing files to collect dependency data
ERROR: Bitbake's cached basehash does not match the one we just generated
(/buildarea/lyang1/poky/meta/recipes-core/images/core-image-minimal.bb.do_rootfs)!
ERROR: The mismatched hashes were 8e44f2296f2d6cdf2ccb0236910ef59b and
46357d5e36713646b47b0fe2233e3c8c
This is caused by the BUILDNAME which is defined in cooker.py:
if not self.configuration.data.getVar("BUILDNAME"):
self.configuration.data.setVar("BUILDNAME", time.strftime('%Y%m%d%H%M'))
The time changes during the first parsing and reparsing, so there is the
error, we already have:
do_rootfs[vardepsexclude] += "BUILDNAME"
but what we need is
rootfs_xxx_do_rootfs[vardepsexclude] += "BUILDNAME"
The do_rootfs doesn't depend on BUILDNAME directly, but indirectly, the
depends tree is:
do_rootfs -> rootfs_xxx_do_rootfs -> BUILDNAME
So add BUILDNAME to rootfs_xxx_do_rootfs[vardepsexclude] would fix the
problem.
[YOCTO #3299]
(From OE-Core rev: 9d039f482c84dde264564fde93f39764113cc0d3)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
It's too easy to cause rebuilds because the DISTRO_FEATURES have changed in
meaningless ways (such as re-ordering or duplicate items). Help stop this by
checking if the feature to be back-filled is already present.
(From OE-Core rev: 63c7192119d54b92d908441109ed4e4fff761cba)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
- the system should be using "armel" by default, not "arm"
[YOCTO #3741]
(From OE-Core rev: 74c671a609172a3801e53fe93e2853c4f0eb93b1)
Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The hook function is appended to ROOTFS_POSTPROCESS_COMMAND
properly to support the 'read-only-rootfs' image feature.
[YOCTO #3406]
(From OE-Core rev: 05182ee354a9f773c8ab2f4cd7f1fdf552e7fcda)
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
read_only_rootfs_hook: this funtion is invoked only if 'read-only-rootfs'
is in IMAGE_FEATURES. It tweaks some basic files and makes populate-
volatile.sh script run at rootfs time.
For now, it has real effect only if the init system is sysvinit.
[YOCTO #3406]
(From OE-Core rev: cae51a169e37b54becc08162aaa643acd53ffe2f)
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* it was generating invalid RDEPENDS when KERNEL_MODULES_META_PACKAGE had
RDEPENDS set already without trailing space
(From OE-Core rev: 5ff26f61b6860e56c255b2b6a2b0215be75b1db9)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch cleans up ptest implementation in recipes by moving ptest
specific code parts into dedicated *_ptest functions.
(From OE-Core rev: 1e4d267a3cbd2135a5de10519814087050b766b7)
Signed-off-by: Björn Stenberg <bjst@enea.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
- create "latest_srcrev" for each recipe with the following format:
${BB_FILENAME},${SRC_URI},${SRCREV},${FROM_AUTOREV}
[YOCTO #3041]
(From OE-Core rev: f9acd756746e61b82b58d300f3ab13f3b086787d)
Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
1, There are a set of GCC built-in functions for atomic memory access. The
definition given in the Intel documentation allows only for the use of the
types int, long, long long as well as their unsigned counterparts. GCC will
allow any integral scalar or pointer type that is 1, 2, 4, 8 or 16 bytes in
length, suffix `_n' where n is the size of the data type.Such as:
__sync_fetch_and_add_n
__sync_fetch_and_sub_n
__sync_fetch_and_or_n
__sync_fetch_and_and_n
__sync_fetch_and_xor_n
__sync_fetch_and_nand_n
The above builtins are intended to be compatible with those described in the
Intel Itanium Processor-specific Application Binary Interface, section 7.4.
2, The glib-2.0-native and qemu-native invoke the above builtin function with
suffix `_4', and glib-2.0-native uses __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 to
test the existance.
3, Not all above builtin functions are supported by all target processors.Such
as i386 does not support the functions with suffix `_4', but i486 or later
support.
4, Prior to GCC 4.5, on the Intel's processor, the default arch is i386 unless
GCC is built with the --with-arch switch. Since GCC 4.5 the default arch is
implied by the target.
5, If your host GCC is older than 4.5 and it is built without the --with-arch
switch, when you use the GCC to compile target, you should specify -march to
tell GCC what the target's arch is, otherwise i386 is used as default.
Above all, when use older GCC to compile glib-2.0-native or glib-2.0-native,
and the GCC incorrectly uses i386 as default, the above builtin function
with suffix `_4' is not referenced. We should have a check in sanity.bbclass
to tell the user if necessary to add march to BUILD_CFLAGS in this situation.
http://gcc.gnu.org/onlinedocs/gcc-4.7.2/gcc/_005f_005fsync-Builtins.html#_005f_005fsync-Builtinshttp://gcc.gnu.org/ml/gcc-help/2009-06/msg00037.htmlhttp://gcc.gnu.org/gcc-4.5/changes.htmlhttp://gcc.gnu.org/bugzilla/show_bug.cgi?id=47460http://llvm.org/bugs/show_bug.cgi?id=11174http://download.intel.com/design/itanium/downloads/245370.pdf
[YOCTO #3563]
(From OE-Core rev: 38042ed8586b3abe427af33debc2402caeca52cb)
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fic the class to handle recipes which set B to somewhere other than S.
(From OE-Core rev: 9d88baea4f3668612c76201c306ec6efe72c281e)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In case filenames have spaces, execution of the function
sstater_install will hang, so the print parameter %s must be
enclosed with quotes.
(From OE-Core rev: 545d7aa26dfefdc927e0f4e2cc37398ef2c63fa6)
Signed-off-by: Leonardo Sandoval <leonardo.sandoval@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
ALLOW_EMPTY should have a package specified so extend sanity checks to
cover it.
(From OE-Core rev: 02849a54d38c0b98db7ff6b52b4974ee0d88bfb4)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
ALLOW_EMPTY should be set on a per package basis, this updates the code
to do this, avoiding warnings.
(From OE-Core rev: 8981ed20234c42dc1f5cdef802ebe7214bd55238)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
It was realised that .so files which were not marked as executable were not
gettings stripped. This was wasting space in images. This patch ensures
they do get processed by the code correctly.
[YOCTO #3973]
(From OE-Core rev: 725354886ae3650a7a4875d4c0bffcfab7e8cc40)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When the do_package function was split into different sections, the vardeps
were not updated to match meaning some function changes weren't reflected
in the sstate checksums. Fix this.
[YOCTO #3980]
(From OE-Core rev: 2e7ddbcca3f613c3b5725dcc3d457985d41e5f16)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When using the -c populate_sdk option, images are not generated quite as
they should be under certain circumstances. For example the dropbear
feature may not get replaced with openssh, leading to both being installed
with an appropriate rootfs failure.
This patch moves the remapping logic to later points in the code, ensuring
there is no conflict. The result is slightly simpler too as an added bonus.
[YOCTO #3749]
(From OE-Core rev: 90cfa16bd4a02ada84ef94f6ae6f182beb8bdc01)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When checking the dependencies in setscene_depvalid(), make sure we also
consider those dependencies needed when running the postinstalls on
host.
[YOCTO #3918]
(From OE-Core rev: 8de0616825ed1b238b3486077af6897834bcb62d)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When the PR service is not enabled, the versions can go backwards and there
are cases we don't want to know about this. This patch adds a variable
allowing these checks to be turned off whilst still using buildhistory.
(From OE-Core rev: 49f33a42e93711c96fbb099f3e6ee7f092d7b356)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Commit a3ca06c3b4 added extra args to
KERNEL_CC, these revert that bit while maintaining machine additions
in TARGET_??_KERNEL_ARCH
Producing incorrect instructions and generating the following errors:
CC arch/powerpc/kernel/init_task.o
| {standard input}: Assembler messages:
| {standard input}:384: Error: junk at end of line: `1'
| {standard input}:949: Error: junk at end of line: `1'
| {standard input}:1428: Error: junk at end of line: `1'
| {standard input}:1526: Error: junk at end of line: `1'
| {standard input}:1626: Error: junk at end of line: `1'
| {standard input}:1685: Error: junk at end of line: `1'
| {standard input}:1973: Error: junk at end of line: `1'
| {standard input}:2001: Error: junk at end of line: `1'
| {standard input}:2100: Error: junk at end of line: `1'
| {standard input}:2168: Error: junk at end of line: `1'
| {standard input}:2520: Error: junk at end of line: `1'
| CC arch/powerpc/lib/locks.o
(From OE-Core rev: 6ed278ab93e9c3bb291dd37837c27e120954afc7)
Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently the process for injecting the per file rpm dependencies into
rpmbuild is painfully slow. Its done through the repeated execution of
a script which has to return the correct value in each case. This continual
execution means the CPU usage of rpmbuild is low.
This patch allows the option of collapsing the per file dependencies to
a per package basis and injecting them through the .spec file. This removes
the execution overhead and allows rpmbuild to run at 100% of cpu.
Ultimately it would be nice to inject the per file dependencies through
the .spec file however that is not currently possible.
Since few people use the per file dependency information, this patch
goes for the faster approach. It can be enabled if anyone needs it although
I'd mention that its being used to us as this code may well go away in
the future if nobody complains.
(From OE-Core rev: be40f6d0bb80274366af00461112af65687a4de8)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* this way we can reuse the same functionality also for external modules
including module_autoload_foo and module_conf_foo functionality
* MODULE_PACKAGES variable was removed (splited modules are now returned
by do_split_packages
* KERNEL_MODULES_META_PACKAGE is used to append all splitted packages
to RDEPENDS. In kernel.bbclass it's old "kernel-modules" in
module.bbclass it defaults to ${PN} for upgrade path from
single PN with all modules to PN depending on all new kernel-module-*
(From OE-Core rev: 51928b6b5ca0a46a9dcd754483a19af58b95fa18)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* even when /etc/redhat-release or /etc/SuSE-release exists
* don't read /etc/lsb-release manually, NATIVELSBSTRING is not
reading it too
(From OE-Core rev: 3dba05d74821f08cd96a18351805c8812ddd626c)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When build meta-toolchain-sdk in a newly created environment, there is
an error:
...
packagegroup-core-standalone-gmae-sdk-target set to manually installed.
You might want to run `apt-get -f install' to correct these:
The following packages have unmet dependencies:
avahi-dev: Depends: avahi (= 0.6.31-r6.1) but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a
solution).
...
In this case, avahi was installed and then removed by dpkg (the reason is
unknown, only with log `Noting disappearance of avahi, which has been
completely replaced'), the uninstall was done by dpkg rather than apt,
and apt detected the package dependency was broken, so apt-get install failed.
Use `apt-get install -f' to correct the upper broken dependencies in place.
The removed avahi will be reinstalled.
[YOCTO #3720]
(From OE-Core rev: a66ed54490305380c549838f9a580528d5b49275)
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
when build deb image, such as building meta-toolchain-sdk in x86_64 host,
there is warning like that:
...
'x86_64' is not a valid architecture name: character `_' not allowed
(only letters, digits and characters `-')
...
The params in deb package control file don't allow character `_', only
letters, digits and characters `-' allowed. Change the arch's "_" to "-"
in the deb package's control file at the control file creation time. Such
as `x86_64'-->`x86-64'
[YOCTO #3721]
(From OE-Core rev: 8487b352cabd8c8ae8a7d9e7e66489e4e964bd50)
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When the OE arch is of the format "foo_bar-foobar" the previous
comparison routine did not selectively translate the '-' causing
a failed comparison.
In order to work around this issue, we -always- compare the
RPM translated version of the package architectures.
(From OE-Core rev: caf798da9502c1c4967d13a4450fe02b1e7b4850)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
With recent kernel versions, some ARM configurations need may fail to
build with errors like this:
multiple load addresses: 0x80008000 0x80008000
This is incompatible with uImages
Specify LOADADDR on the commandline to build an uImage
We cannot pass this information in EXTRA_OEMAKE, as
"meta/classes/kernel.bbclass" explicitly ignores all EXTRA_OEMAKE
settings. So add KERNEL_EXTRA_ARGS parameter so affected boards
can add for example
KERNEL_EXTRA_ARGS = "LOADADDR=0x80008000"
to their configuration. We make this general enough so other needed
command line options can be passed as well when compiling the kernel.
(From OE-Core rev: e3cdd0aafb9081cd7f1f98490087c1157a3d7403)
Signed-off-by: Wolfgang Denk <wd@denx.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Previously the build path to STAGING_KERNEL_DIR was being embedded into the
package post install scripts. We avoid this behavior by generating a special
depmodwrapper script. This script contains that hard-coded path, ensuring
that re-use of the sstate-cache (and/or packages) will always run through the
wrapper generated by the current build with a checksum that includes
STAGING_KERNEL_DIR.
[ YOCTO #3962 ]
(From OE-Core rev: b18c61bae4d7161c087a004bba3c696006f7a2f6)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* distro_identifier returns lsb_data['Distributor ID']-lsb_data['Release']
which in some cases is different then lsb_release -d -s, e.g.
Distributor ID: Ubuntu
Description: Ubuntu 12.04 LTS
Release: 12.04
Codename: precise
But we probably don't need to sanity list each point release in LTS
and sstate is already using distro_identifier as prefix for native
sstate archives
* This will need update to SANITY_TESTED_DISTROS (at least
s/Ubuntu 12.04 LTS/Ubuntu-12.04/g etc), that's why sending as RFC
first.
(From OE-Core rev: a32ea459ca168792161af2d521a14fe00cffb4b3)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When write rpm spec file, one description line
"# pkgname - script_type"
is added to pre/post scriptlets for base package but no such line
writted for subpackage.
Add similiar line to subpackage to facilitate handling the pre/post
scriptlets.
(From OE-Core rev: 34f3926f1787f9a2efa2257a2aaea6ee92adf8a3)
Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When create rootfs, some post install scripts need be run on device.
They are saved under directory /etc/rpm-postinst and named with numbers
such as 100, 101 etc.
Update to name the postinst script file with its package name instead of
just number. That may be more easy to debug when there is a error.
[YOCTO #3218]
(From OE-Core rev: 9b2a008c25a7a3152ae2d8c64ae8de2534471d47)
Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When run "autoreconf" in toolchain, there is an error if the host's perl's
version is not the same as the one in the SDK, the error says that the
executable perl mismatches the perl lib's version.
This is because most of the autotools' scripts use the "#!/usr/bin/perl -w"
which is host perl, but the gnu-configize uses "#! /usr/bin/env perl" which
invokes the perl wrapper in the SDK, and the wrapper will set the PERL5LIB to
the SDK which causes the mismatch. We can make all the perl scripts to use the
host perl or the SDK perl to fix this problem.
[YOCTO #3338]
(From OE-Core rev: 365aa1412a3d31128cb3df02959acdc7df5f2ebc)
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When running depmod, from kmod, warnings about missing modules.order
and modules.builtins occur. Looking back it is not clear why these
files were being ignored, other then nobody knew what to do with them.
Add the files into the kernel-base package, if they exist, ensuring
they will always get installed if at least one module is installed.
[ YOCTO #3963 ]
(From OE-Core rev: bff4bda1fe86ddd218a192a14605924205a5300b)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The linux-yocto recipes themselves always set S="${WORKDIR}/linux" and
arrange for the fetcher default of ${WORKDIR}/git to be renamed before
building.
Part of this rename involves an assumption that the directory used by
the fetcher can be removed as part of the renaming process, or in fact
that renaming is required.
If a derived recipe uses S="${WORKDIR}/git", the checkout phase fails
since the kernel source is removed as part of the processing.
To fix this the code now detects this situation and does not clean the
source directory before renaming the fetcher default (and in fact does
not rename it at all).
(From OE-Core rev: e4ab5efea1a41297f63c96de97270136535b5f0b)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Although the setting of KBRANCH is the suggested/primary way to interact with
the yocto kern-tools and the fetcher, some users may be more comfortable
modifying the SRC_URI branch parameter directly.
If they do, the tools will not force their branch and build output will be
different then they expect, in non obvious ways.
It's easy enough to detect this scenario, but checking the SRC_URI in the
same way that the git fetcher checks for the branch (and SRCREV). If we take
the value from the SRC_URI and use it directly in the patch/validate/update
routines, we'll stay consistent with KBRANCH if it is used, and also
automatically adapt to a manually changed branch parameter on the SRC_URI.
For all other users, there are no visible or behavioural changes as a result
of this change
(From OE-Core rev: cfce8643ed166b51d7178be173677ea6f527d453)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Move run-postinsts scripts from rootfs_rpm.bbclass to rpm recipe. That
is the same way for dpkg and opkg to deal the post install scripts.
(From OE-Core rev: 04607b0cd496837f10ef78cf43597ec1d2e13f2e)
Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
NOTE: recipe avahi-ui-0.6.31-r7.0: task do_package: Started
ERROR: %s does not appear in package list, please add it avahi-ui-daemon
ERROR: %s does not appear in package list, please add it avahi-ui-dnsconfd
(From OE-Core rev: 36a2bae816b1abf776d0f1a2b6b2c3d9a861a4ca)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Remove package run-postinsts from ROOTFS_PKGMANAGE. run-postinsts has
already added in ROOTFS_PKGMANAGE_BOOTSTRAP and then added to rootfs
conditionally by checking image feature "package-management".
(From OE-Core rev: 41aad841e93daaf5d174b14b2fec60b786ead4b3)
Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
distrodata.bbclass: git tags can include only one digit, therefore
the regex that matches the latest version should also include this
case. For some svn repos, using the http protocol than using the
svn protocol to get infomation about revisions works better.
(From OE-Core rev: bbf09cc0abbc81419349f2af1bc1196a868b2269)
Signed-off-by: Emilia Ciobanu <emilia.maria.silvia.ciobanu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Add tasks to move sources, script/logs and diff/env files in
deploy directory.
* Enable SSTATE for 'do_archive_scripts_logs' task
* Enable SSTATE for 'do_dumpdata_create_diff_gz' task
* SSTATE is not used for sources/patches archiver task because source
archive package can result into a very large file. It will be an
unnecessary overhead to keep sources in DL_DIR and cached-binaries.
* If 'SOURCE_ARCHIVE_PACKAGE_TYPE' is 'srpm' then use pre/post functions
because in this case we do not want to use tasks to move sources/logs
in DEPLOY_DIR. 'do_package_write_rpm' is responsible for handling
archiver packages.
[YOCTO #3449]
(From OE-Core rev: 959e2ae23ccbc6955a28996d4538e457cd8cfa5e)
Signed-off-by: Muhammad Shakeel <muhammad_shakeel@mentor.com>
Signed-off-by: Noor Ahsan <noor_ahsan@mentor.com>
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For perfectly sound reasons, n32 MIPS is a mips64 subset denoted by an
ABI change, thus, "mips64-vendor-linux-gnun32" rather than
"mips-vendor-linux-gnu". A previous change had fixed up insane.bbclass
to recognize these, which mostly worked, but left SITEINFO_BITS set to
64.
Since bit-32 is processed first, and there are specific checks for
linux-gnun32, modify the mips64-linux-gnun32 lines to specify "bit-32",
so things that check SITEINFO_BITS get the right answer. Also, drop
the mips{,el}-linux-gnun32 lines, because that's not a valid combination;
n32 only makes sense for mips64.
Also, the insane.bbclass change spelled "mips64el" as "mipsel64", which
no one noticed because no one's using little-endian n32, apparently.
(From OE-Core rev: 0c243a550f5a0e539823fe168bcc7b2bbb9f19e1)
Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[ CQID: WIND00404082 ]
It is possible for the TARGET_OS to change dependending on the multilib used
for a given package build. mips64 has two potential TARGET_OS values: linux
and linux-gnun32. The RPM and Smart setup needs to distinguish between the
two otherwise packages of the "non-default" TARGET_OS may be ignored as
incompatible.
(From OE-Core rev: aa760ff7dee4029c30c9de9fc0b640149e4a4c77)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[ YOCTO #3915 ]
[ CQID: WIND00404309 ]
When doing a multilib image build, such as bitbake lib32-core-image-sato, the
system needs to reorder the priority level of the feeds. If it does not
reorder the priorities, then 64-bit items can be selected by the automatic
dependency resolution in Smart.
(From OE-Core rev: dfbb1aa184955923b85b81aabf944de8f1a1e4b5)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
dpkg-deb verifies that conffiles exist, so verify that the specified files
actually exist before writing them to conffiles.
This mirrors the behaviour of FILES and package_rpm's CONFFILES handling.
(From OE-Core rev: 767a3d1c45f97add720174a7034df750bfb09a8e)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In pakcage.bbclass,function replace('-dev', '') is
used to cut '-dev' suffix. but it will cause the
name "lib32-device-dev" to "lib32ice",
so change it to [:-4].
(From OE-Core rev: 91a3a48798029ca88a46a528200f4c5252f245e9)
Signed-off-by: Song.Li <Song.Li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If multiple versions of the same package are in the package feed then the
generate status file would only contains a "deinstall" status for the last one,
which meant that BAD_RECOMMENDATIONS wouldn't actually work.
Use awk instead of grep and stop reading when we reach a newline, so we only
ever output a single stanza.
(From OE-Core rev: a5362de60c0051f16b88a40bd9cb41915bee0b0f)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>