Backports for dizzy
cover Backports for dizzy
The following changes since commit 7bb182bdd130266100fc541fd09b82d09c51cd80:
build-appliance-image: Update to dizzy head revision (2015-09-29 14:56:04 +0100)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib jansa/dizzy-backports
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=jansa/dizzy-backports
Chen Qi (1):
image.bbclass: don't let do_rootfs depend on BUILDNAME
Martin Jansa (3):
fontcache: allow to pass extra parameters and environment to fc-cache
texinfo: don't create dependency on INHERIT variable linux-dtb.inc: drop unused DTB_NAME variable from do_install
Mike Crowe (1):
allarch: Force TARGET_*FLAGS variable values
Richard Purdie (2):
layer.conf: Add several allarch dependency exclusions layer.conf: Add missing dependency for allarch package
initramfs-framework
meta/classes/allarch.bbclass | 4 ++++ meta/classes/fontcache.bbclass | 19 +++++++++++++++---- meta/classes/image.bbclass | 2 +- meta/conf/layer.conf | 11 +++++++++++ meta/recipes-extended/texinfo/texinfo_5.2.bb | 2 +- meta/recipes-kernel/linux/linux-dtb.inc | 1 - scripts/postinst-intercepts/update_font_cache | 4 ++-- 7 files changed, 34 insertions(+), 9 deletions(-)
Signature · 1 line
2.6.3
PATCH RESEND 1/7 fontcache: allow to pass extra parameters and environment to fc-cache
* this can be useful for passing extra parameters, pass
-v by default to see what's going on in do_rootfs
* we need to use this for extra parameter we implemented
in fontconfig:
--ignore-mtime always use cache file regardless of font directory mtime because the checksum of fontcache generated in do_rootfs doesn't match with /usr/share/fonts directory as seen on target device causing fontconfig to re-create the cache when fontconfig is used for first time or worse create
new cache in every user's home directory when /usr/ filesystem is read only and cache cannot be updated.
Running FC_DEBUG=16 fc-cache -v on such device shows:
FcCacheTimeValid dir "/usr/share/fonts" cache checksum 1441207803 dir checksum 1441206149
* my guess is that the checksum is different, because pseudo
(which is unloaded when running qemuwrapper) or because some
influence of running the rootfs under qemu.
--- meta/classes/fontcache.bbclass | 19 +++++++++++++++---- scripts/postinst-intercepts/update_font_cache | 4 ++-- 2 files changed, 17 insertions(+), 6 deletions(-)
meta/classes/fontcache.bbclass +15 -4
@@ -9,12 +9,23 @@ inherit qemu FONT_PACKAGES ??= "${PN}" FONT_EXTRA_RDEPENDS ?= "fontconfig-utils" FONTCONFIG_CACHE_DIR ?= "${localstatedir}/cache/fontconfig" +FONTCONFIG_CACHE_PARAMS ?= "-v" +# You can change this to e.g. FC_DEBUG=16 to debug fc-cache issues, +# something has to be set, because qemuwrapper is using this variable after -E +# multiple variables aren't allowed because for qemu they are separated +# by comma and in -n "$D" case they should be separated by space +FONTCONFIG_CACHE_ENV ?= "FC_DEBUG=1" fontcache_common() { -if [ "x$D" != "x" ] ; then - $INTERCEPT_DIR/postinst_intercept update_font_cache ${PKG} mlprefix=${MLPREFIX} bindir=${bindir} \ - libdir=${libdir} base_libdir=${base_libdir} fontconfigcachedir=${FONTCONFIG_CACHE_DIR} +if [ -n "$D" ] ; then + $INTERCEPT_DIR/postinst_intercept update_font_cache ${PKG} mlprefix=${MLPREFIX} \ + 'bindir="${bindir}"' \ + 'libdir="${libdir}"' \ + 'base_libdir="${base_libdir}"' \ + 'fontconfigcachedir="${FONTCONFIG_CACHE_DIR}"' \ + 'fontconfigcacheparams="${FONTCONFIG_CACHE_PARAMS}"' \ + 'fontconfigcacheenv="${FONTCONFIG_CACHE_ENV}"' else - fc-cache + ${FONTCONFIG_CACHE_ENV} fc-cache ${FONTCONFIG_CACHE_PARAMS} fi }
scripts/postinst-intercepts/update_font_cache +2 -2
@@ -1,5 +1,5 @@ #!/bin/sh -PSEUDO_UNLOAD=1 qemuwrapper -L $D -E LD_LIBRARY_PATH=$D/${libdir}:$D/${base_libdir}\ - $D${bindir}/fc-cache --sysroot=$D +PSEUDO_UNLOAD=1 qemuwrapper -L $D -E LD_LIBRARY_PATH=$D/${libdir}:$D/${base_libdir} \ + -E ${fontconfigcacheenv} $D${bindir}/fc-cache --sysroot=$D ${fontconfigcacheparams} chown -R root:root $D${fontconfigcachedir}
Signature · 1 line
2.6.3
PATCH RESEND 2/7 image.bbclass: don't let do_rootfs depend on BUILDNAME
In reply to Martin JansaFrom: Chen Qi <[email protected]>
BUILDNAME is set by cooker as a string of current time. Letting do_rootfs task depend on this variable gets us no benefit. Besides, letting do_rootfs task depend on this variable will cause us trouble when executing `bitbake -S none core-image-minimal'. With current code, this command gives us error complaining about the different bashhash of do_rootfs task.
--- meta/classes/image.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
meta/classes/image.bbclass +1 -1
@@ -94,7 +94,7 @@ def rootfs_variables(d): 'IMAGE_ROOTFS_MAXSIZE','IMAGE_NAME','IMAGE_LINK_NAME','IMAGE_MANIFEST','DEPLOY_DIR_IMAGE','RM_OLD_IMAGE','IMAGE_FSTYPES','IMAGE_INSTALL_COMPLEMENTARY','IMAGE_LINGUAS','SDK_OS', 'SDK_OUTPUT','SDKPATHNATIVE','SDKTARGETSYSROOT','SDK_DIR','SDK_VENDOR','SDKIMAGE_INSTALL_COMPLEMENTARY','SDK_PACKAGE_ARCHS','SDK_OUTPUT','SDKTARGETSYSROOT','MULTILIBRE_ALLOW_REP', 'MULTILIB_TEMP_ROOTFS','MULTILIB_VARIANTS','MULTILIBS','ALL_MULTILIB_PACKAGE_ARCHS','MULTILIB_GLOBAL_VARIANTS','BAD_RECOMMENDATIONS','NO_RECOMMENDATIONS','PACKAGE_ARCHS', - 'PACKAGE_CLASSES','TARGET_VENDOR','TARGET_VENDOR','TARGET_ARCH','TARGET_OS','OVERRIDES','BBEXTENDVARIANT','FEED_DEPLOYDIR_BASE_URI','INTERCEPT_DIR','BUILDNAME','USE_DEVFS', + 'PACKAGE_CLASSES','TARGET_VENDOR','TARGET_VENDOR','TARGET_ARCH','TARGET_OS','OVERRIDES','BBEXTENDVARIANT','FEED_DEPLOYDIR_BASE_URI','INTERCEPT_DIR','USE_DEVFS', 'STAGING_KERNEL_DIR','COMPRESSIONTYPES'] variables.extend(command_variables(d)) variables.extend(variable_depends(d))
Signature · 1 line
2.6.3
PATCH RESEND 3/7 layer.conf: Add several allarch dependency exclusions
In reply to Martin JansaFrom: Richard Purdie <[email protected]>
These are dependencies that our allarch packages have in OE-Core that cause those allarch packages to rebuild every time MACHINE changes.
With these changes, OE-Core allarch packages all have a common sstate signatures and no longer rebuild.
(From OE-Core rev: 63bff90fa4fb4a95e8c79f9f8e5dd90ae1dfc69d)
--- meta/conf/layer.conf | 10 ++++++++++ 1 file changed, 10 insertions(+)
meta/conf/layer.conf +10 -0
@@ -43,5 +43,15 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \ gcc-cross-${TARGET_ARCH}->musl \ gcc-cross-${TARGET_ARCH}->uclibc \ gcc-cross-${TARGET_ARCH}->linux-libc-headers \ + ppp-dialin->ppp \ + resolvconf->bash \ + docbook-xsl-stylesheets->perl \ + initramfs-framework->busybox \ + initramfs-framework->systemd \ + liberation-fonts->fontconfig \ + gnome-icon-theme->librsvg \ + font-alias->font-util \ + weston-init->weston \ + weston-init->kbd \ "
Signature · 1 line
2.6.3
PATCH RESEND 4/7 layer.conf: Add missing dependency for allarch package initramfs-framework
In reply to Martin JansaFrom: Richard Purdie <[email protected]>
Similiarly to the other previous changes, add a missing allarch package dependency for initramfs-framework on udev.
--- meta/conf/layer.conf | 1 + 1 file changed, 1 insertion(+)
meta/conf/layer.conf +1 -0
@@ -48,6 +48,7 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \ docbook-xsl-stylesheets->perl \ initramfs-framework->busybox \ initramfs-framework->systemd \ + initramfs-framework->udev \ liberation-fonts->fontconfig \ gnome-icon-theme->librsvg \ font-alias->font-util \
Signature · 1 line
2.6.3
PATCH RESEND 5/7 allarch: Force TARGET_*FLAGS variable values
In reply to Martin JansaFrom: Mike Crowe <[email protected]>
TARGET_CPPFLAGS, TARGET_CFLAGS, TARGET_CPPFLAGS and TARGET_LDFLAGS may differ between MACHINEs. Since they are exported they affect task hashes even if unused which leads to multiple variants of allarch packages existing in sstate and bouncing in the sysroot when switching between MACHINEs.
allarch packages shouldn't be using these variables anyway, so let's ensure they have a fixed value in order to avoid this problem.
(Compare with 05a70ac30b37cab0952f1b9df501993a9dec70da and 14f4d016fef9d660da1e7e91aec4a0e807de59ab.)
--- meta/classes/allarch.bbclass | 4 ++++ 1 file changed, 4 insertions(+)
meta/classes/allarch.bbclass +4 -0
@@ -27,6 +27,10 @@ python () { d.setVar("PACKAGE_EXTRA_ARCHS", "") d.setVar("SDK_ARCH", "none") d.setVar("SDK_CC_ARCH", "none") + d.setVar("TARGET_CPPFLAGS", "none") + d.setVar("TARGET_CFLAGS", "none") + d.setVar("TARGET_CXXFLAGS", "none") + d.setVar("TARGET_LDFLAGS", "none") # Avoid this being unnecessarily different due to nuances of # the target machine that aren't important for "all" arch
Signature · 1 line
2.6.3
PATCH RESEND 6/7 texinfo: don't create dependency on INHERIT variable
In reply to Martin Jansa* we don't want the do_package signature depending on INHERIT variable
* e.g. just adding the own-mirrors causes texinfo to rebuild:
# bitbake-diffsigs BUILD/sstate-diff/*/*/texinfo/*do_package.sig*
basehash changed from 015df2fd8e396cc1e15622dbac843301 to 9f1d06c4f238c70a99ccb6d8da348b6a
Variable INHERIT value changed from
' rm_work blacklist blacklist report-error ${PACKAGE_CLASSES} ${USER_CLASSES} ${INHERIT_DISTRO} ${INHERIT_BLACKLIST} sanity'
to
' rm_work own-mirrors blacklist blacklist report-error ${PACKAGE_CLASSES} ${USER_CLASSES} ${INHERIT_DISTRO} ${INHERIT_BLACKLIST} sanity'--- meta/recipes-extended/texinfo/texinfo_5.2.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-extended/texinfo/texinfo_5.2.bb +1 -1
@@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" PROVIDES_append_class-native = " texinfo-replacement-native" def compress_pkg(d): - if "compress_doc" in (d.getVar("INHERIT", True) or "").split(): + if bb.data.inherits_class('compress_doc', d): compress = d.getVar("DOC_COMPRESS", True) if compress == "gz": return "gzip"
Signature · 1 line
2.6.3
PATCH RESEND 7/7 linux-dtb.inc: drop unused DTB_NAME variable from do_install
In reply to Martin Jansa* this is causing do_install to depend on KERNEL_IMAGE_BASE_NAME which in some cases contains something like BUILD_NUMBER from CI, that caused do_install to be reexecuted every single time, which is very sad to be caused by unused variable.
* jethro and newer don't need this change, because it's also fixed in commit 86b3f29f93e3f87903668ea317c6bd97be4cdf62
Author: Marek Vasut <[email protected]>
Date: Thu May 14 14:31:11 2015 +0200
Subject: kernel: Build DTBs early
--- meta/recipes-kernel/linux/linux-dtb.inc | 1 - 1 file changed, 1 deletion(-)
meta/recipes-kernel/linux/linux-dtb.inc +0 -1
@@ -13,7 +13,6 @@ do_install_append() { DTB=`basename ${DTB} | sed 's,\.dts$,.dtb,g'` fi DTB_BASE_NAME=`basename ${DTB} .dtb` - DTB_NAME=`echo ${KERNEL_IMAGE_BASE_NAME} | sed "s/${MACHINE}/${DTB_BASE_NAME}/g"` DTB_SYMLINK_NAME=`echo ${KERNEL_IMAGE_SYMLINK_NAME} | sed "s/${MACHINE}/${DTB_BASE_NAME}/g"` DTB_PATH="${B}/arch/${ARCH}/boot/dts/${DTB}" oe_runmake ${DTB}
Signature · 1 line
2.6.3
akuster808
Appliedmerged to staging.
thanks
Armin
Quoted 34 lines · Martin Jansa
The following changes since commit
7bb182bdd130266100fc541fd09b82d09c51cd80:build-appliance-image: Update to dizzy head revision (2015-09-29 14:56:04 +0100)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contribjansa/dizzy-backports
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=jansa/dizzy-backportsChen Qi (1):
image.bbclass: don't letdo_rootfsdepend on BUILDNAMEMartin Jansa (3):
fontcache: allow to pass extra parameters and environment to fc-cache
texinfo: don't create dependency on INHERIT variable linux-dtb.inc: drop unusedDTB_NAMEvariable fromdo_installMike Crowe (1):
allarch: Force TARGET_*FLAGS variable valuesRichard Purdie (2):
layer.conf: Add several allarch dependency exclusions layer.conf: Add missing dependency for allarch package
initramfs-frameworkmeta/classes/allarch.bbclass | 4 ++++ meta/classes/fontcache.bbclass | 19 +++++++++++++++---- meta/classes/image.bbclass | 2 +- meta/conf/layer.conf | 11 +++++++++++ meta/recipes-extended/texinfo/texinfo_5.2.bb | 2 +- meta/recipes-kernel/linux/linux-dtb.inc | 1 - scripts/postinst-intercepts/update_font_cache | 4 ++-- 7 files changed, 34 insertions(+), 9 deletions(-)