Age | Commit message (Collapse) | Author | Files |
|
Prepending to populate_packages is rather ugly and means its hard to trace
errors and also profiling informaiton is summed together in one function.
This patch starts to split out the prepends to become separate functions
to avoid these issues. This is generally a neater way to write functions
than prepending to where there can sometimes be variable scope issues
and we've been bitten by whitespace issues in the past.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Rather than an exec() per directory, we might as well exec one command and
be done with it.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
* Call getVar outside the loop
* Drop unneeded PATH export (bitbake does this already)
* Drop unused variable
* Simplify if statement nesting
* Simplify variable expandion to a getVar call (expand would just call getVar)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
We can use the cleandirs and dirs flags for the fuctions to handle
directory cleaning and creation at the bitbake level rather than
using these calls within the functions
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Small performance tweaks for populate_packages_prepend:
* Compile the regexps once at the start
* Don't keep importing a module which is already imported
* No need to check PKG is set, we'd have failed long before now if it wasn't
* Don't export PATH, bitbake takes care of this at the task level
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
The split_and_strip_files funciton was hard to follow and its usage of prefixes
to strings was unusual. This rewrites it to use a list of hardlinks, symlinks and
elffiles where each list is iterated over at the correct point.
This means we can avoid creating dandling symlinks for example so we can simply
delete the cleanup code for this.
The isfile() check is also removed which gives a significant improvement in speed.
Its uneeded since os.walk will have already checked things in files are files.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
These are in bb.utils so lets the correct function and avoid the overhead
of the fixup/warning for the deprecated usage.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
The data store copy and overrides is overkill given the small number
of accesses that are being made. This simplifies the code.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
We might as well put all the sanity checks in one place.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Check through the variables:
'RDEPENDS', 'RRECOMMENDS', 'FILES', 'pkg_preinst', 'pkg_postinst', 'pkg_prerm', 'pkg_postrm'
and if there is a variable set which isn't package specific, inform the user
of this.
Using these variables without a package suffix is bad practise and complicates
dependencies of packages unnecessarily as well as complicates the code. Lets
convert the remaining issues and then we can take the small performance gain.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
PATH is already exported, we don't need to do this each time we run
something, its just noise and overhead.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
This directory is cleaned upon completion however if a previous build
crashes, it can lead to corrpution, hence ensure its clean at the start
too.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
optimisation
Add a function which copys a tree as a set of hardlinks to the original
files, then use this in sstate to reduce some of the overhead of sstate
package creation since the file isn't actually copied.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Since /var/cache is not in volatiles anymore, this entry has to go.
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Having the cache in tmpfs implies cache regeneration after every reboot.
For an embedded device this might not be very efficient. So, it is
better for the cache to be persistent between reboots.
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
fix "POSIX shared memory segments created world-writeable"
more details :
http://lists.qt-project.org/pipermail/announce/2013-February/000023.html
Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
- netbase should only include etc-rpc, etc-protocols, etc-services
and the hosts file
- the init script/configuration files should be in another package
(init-ifupdown)
[YOCTO #2486]
Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Add read-only-rootfs-hook.sh script to support a read-only rootfs.
This script makes a union mount of /var/lib and /var/volatile/lib,
making /var/lib directory writable.
[YOCTO #3406]
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
Previously, the /tmp link (/tmp -> /var/tmp) was created by the
bootmisc.sh script. So in case of a read-only rootfs, this symlink
would not be created correctly.
The populate-volatile.sh script is intended to handle all directories
and files related to volatile storage, so we should let it create
the /tmp link.
In addition, because of the improments of populate-volatile.sh, the data
loss problem of bug#3404 is also resolved by this patch.
[YOCTO #3406]
[YOCTO #3404]
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
This variable indicates whether the rootfs is intended to be read-only
or not. Changing this value from 'no' to 'yes' on a currently running
system with read-write rootfs and rebooting will give the user a working
system with read-only rootfs.
However, it is not suggested to change its value. Normally, if a read-only
rootfs is required, we should build an image with 'read-only-rootfs' image
feature.
[YOCTO #3406]
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
Some existing KERNEL_FEATURE references use a shorcut notation, but mapping
these shortcuts to actual .scc files in the tree are not obvious. So we clarify
where they are found by referencing the full .scc filename in the KERNEL_FEATURE
addtions.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
Updating the linux-yocto_3.4 SRCREVs to pick up the 3.4.28 -stable update
as well as the 3.4.28-rt40 refresh.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
The linux-yocto-dev recipe uses the upstream tracking linux-yocto-dev repository.
Since this tree is frequently updated, and periodically rebuilt, AUTOREV is used
to track its contents.
This recipe is just like other linux-yocto variants, with the only difference
being that to avoid network access during initial parsing, static SRCREVs are
provided and overridden if the preferred kernel provider is linux-yocto-dev.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
Fixes [YOCTO #3717]
Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
Fixes:
| /local/home/mattsm/git/poky/build-master/tmp/sysroots/x86_64-linux/usr/libexec/ppce300c3-poky-linux/gcc/powerpc-poky-linux/4.7.2/ld: cannot find -lext2fs
Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
This improves reusabiliy of sstate-cache across different hosts
Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
Since populate-volatile.sh will run everytime the device boots, no
need to postpone the postinstall when the rootfs is created.
[YOCTO #3840]
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
Comment the "set -x" lines since these will add a lot of extra, not
always necessary, debug messages in the log.do_rootfs.
[YOCTO #2599]
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
This will add the proper postinst/postrm scriptlets.
[YOCTO #2599]
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
This is needed in order to be able to generate the cache on host.
Additionally, remove the volatile config file, as /var/cache was moved
out of tmpfs.
[YOCTO #2599]
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
When qemu bbclass is inherited from a recipe that is not architecture
dependent, qemu_run_binary will return "qemu-allarch". However this
binary does not exist. Instead, return "qemuwrapper" which will, in
turn, execute the right binary for the target the image was built for.
[YOCTO #2599]
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
This will just install a wrapper script in STAGING_BINDIR_CROSS that
will execute the proper qemu user binary for the current target.
[YOCTO #2599]
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
All font packages should inherit this class in order to generate the
proper postinst/postrm scriptlets.
The scriptlets will actually create a host intercept hook that will be
executed at the end, at do_rootfs time, after all packages have been
installed. This is good when there are many font packages.
[YOCTO #2923]
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
1. it introduces bug in 64bit big endian process with __GLIBC__, At that
condition, size_t is 8byte, and the third parameter of getpeername is
socklen_t which is 4 byte. As a result, getpeername sees third parameter
is always 0, and can not return right value.
The similar program is below, the output is 0, not 9 on PPC64 cpu
main()
{
long aa=9;
printf("%d \n", *((int *)&aa));
}
2. The correct fix is to change getpeername/getsockopt/recvfrom.. last
parameter type from int to socklen_t, but to simplify, we can remove
size_t.patch, since the size of int is same as socklen_t in 32bit/64bit
cpu. and size_t.patch only change three places, there are other places
which uses int, and work well.
2. Fedora, redhat el4 do not use this patch, but Debian uses it, does not
find why this patch is written, maybe it is gcc legency issue which does
not exist.
Signed-off-by: Roy.Li <rongqing.li@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
Add obsolete_automake_macros.patch that replaces automake macros
no longer supported by automake-1.13 with modern constructs.
Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
The one new commit from matchbox-wm git this gets fixes
build with automake-1.13
Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
Add obsolete_automake_macros.patch that replaces automake macros
no longer supported by automake-1.13 with modern constructs.
Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
* it's not recommended to change this value, because it breaks upgrade path on target
(all old u-a alternatives are forgot in old OPKGLIBDIR value
* but make it consistent, so if someone really want to change that, then
setting OPKGLIBDIR_distro in distro.conf would be enough
* without this there were at least 4 places to change:
rootfs_ipk: opkglibdir variable (notice that I've removed /opkg from it to correspond
with EXTRA_OECONF option used in opkg recipes
package_ipk: ${target_rootfs}${localstatedir}/lib/opkg/ hardcoded in
package_install_internal_ipk
opkg-collateral: value in lists file
opkg: EXTRA_OECONF for all 3 classes, FILES_libopkg, do_install
* validated with buildhistory that without OPKGLIBDIR explicitly set the
output is the same and that after setting
OPKGLIBDIR_forcevariable := "${libdir}"
everything including empty directory from package_ipk is moved to
libdir
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
|