summaryrefslogtreecommitdiffstats
path: root/scripts/postinst-intercepts/update_font_cache
AgeCommit message (Collapse)Author
2015-04-27fontcache: allow to pass different fontconfig cache dirMartin Jansa
(From OE-Core rev: fc732ee788a254ec388cff8fe5619348014255d3) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-27postinst-intercepts/update_font_cache: fix ownership of fontconfig cacheJonathan Liu
The file ownership of the cache files in /var/cache/fontconfig needs to be set to root:root otherwise it inherits the user and group id of the build user. [YOCTO #7411] (From OE-Core rev: 0ecccc7e75f2833c4f2599ce46b6fb9a0bc06e22) Signed-off-by: Jonathan Liu <net147@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-11scripts/postinst-intercepts: do not redirect errors to /dev/nullLaurentiu Palcu
The redirection was necessary with the old bash code because the log checking routine was searching for error strings in the log and abort the build in case failures occured. With the new python code, redirecting the intercept stderr is no longer necessary. This also makes the intercept hooks easier to debug. (From OE-Core rev: e2c3c59b26d84cd4052a953adafcd4d456264c26) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-10postinst-intercepts, qemu.bbclass: fix segfaults in postinstallsLaurentiu Palcu
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>
2013-04-05postinst-intercepts, qemu.bbclass: fix issue on 32 bit hostsLaurentiu Palcu
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>
2013-02-13Add separate directory for postinstall interceptsLaurentiu Palcu
The scripts/postinst-intercepts will contain all postinstall hooks that we need to run after all packages have been installed. If one wants to install such a postinst hook, all it needs to do is put the hook in this directory and, from the package postinstall scriptlet, call: postinst_intercept <hook_name> <package_name> <var1=...> ... This will, practically, add the package_name in the list of packages that need the hook to run and, also, set any variables that would be needed in the hook. For example, variables like ${libdir}, ${bindir}, etc. that might depend on distribution can be passed on to the script in this way. (From OE-Core rev: 0ef538d75c2f3921a2fcbe6ca1deed5525b276cc) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>