On Wed, Nov 20, 2013 at 10:55:22AM +0000, Paul Eggleton wrote: > On Wednesday 20 November 2013 11:43:31 Martin Jansa wrote: > > On Wed, Nov 20, 2013 at 10:29:46AM +0000, Paul Eggleton wrote: > > > Hi Martin, > > > > > > On Monday 18 November 2013 23:21:14 Martin Jansa wrote: > > > > * has runtime dependency on TUNE_PKGARCH usb-modeswitch > > > > > > > > Hash for dependent task usb-modeswitch_1.2.5.bb.do_packagedata changed > > > > > > > > from 5709ee415d286847b58e7b438b5b9f75 to > > > > fbef5eee3bb2bacb805a0bead2095b52 > > > > > > > > Signed-off-by: Martin Jansa <martin.ja...@gmail.com> > > > > --- > > > > > > > > meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20130807.bb > > > > | 2 > > > > > > > > -- 1 file changed, 2 deletions(-) > > > > > > > > diff --git > > > > a/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20130807.bb > > > > b/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20130807.bb > > > > index fc0fbfb..8b71618 100644 > > > > --- > > > > a/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20130807.b > > > > b +++ > > > > b/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20130807.bb > > > > @@ > > > > -2,8 +2,6 @@ DESCRIPTION = "Data files for usbmodeswitch" > > > > > > > > LICENSE = "GPLv2" > > > > LIC_FILES_CHKSUM = > > > > "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" > > > > > > > > -inherit allarch > > > > - > > > > > > > > SRC_URI = > > > > > > > > "http://www.draisberghof.de/usb_modeswitch/usb-modeswitch-data-${PV}.tar > > > > .bz > > > > 2" SRC_URI[md5sum] = "91feff51deba6e48e78506b8f4db2274" > > > > > > > > SRC_URI[sha256sum] = > > > > > > > > "a3114e2c1f38eed3ad0067df30e53a96313908a9539a8ea5d94a4d35651699eb" > > > > > > To be honest I view these in the same way as the corresponding OE-Core > > > patches - if the contents of the output package or its metadata does not > > > change dependent on the other package, then we should use other means to > > > fix this issue rather than the huge hammer of removing allarch. > > > > OK, I'll send patch for layer.conf, but the point is that incorrectly > > using allarch is worse than not using it at all. > > > > Most allarch recipes are very quick to build and their signatures stay > > valid for long time even after they are changed to TUNE_PKGARCH, but with > > issue like this and allarch they are rebuilt after each MACHINE switch. > > > > So on concrete example of SHR distribution with 3 supported > > TUNE_PKGARCHs in binary feed, it's faster to build > > 3x TUNE_PKGARCH usb-modeswitch-data and keep the same .ipk for some time > > than build it 3 times as allarch every single day in daily build which > > populates binary feed. > > Yes I understand the problem, but there's a question of fixing it the right > way, particularly as this is by no means a new problem. I don't think > selective use of allarch is a good path for us to be going down, because if > nothing else it makes it harder for users to know when to apply it. (If we > need to have some kind of QA check to report when allarch recipes depend upon > non-allarch recipes with a coherent message telling the user what they need > to > do, then let's add that.)
FWIW I've added new job to my jenkins world builds with will compare signatures for different MACHINEs and report when native or allarch signatures are different + different TUNE_PKGARCH signatures for identical machines with just different name. It looks like this: openembedded-core/scripts/sstate-diff-machines.sh --machines="qemuarm qemux86 qemux86copy qemux86-64" --targets=world --tmpdir=tmp-eglibc/; function compareSignatures() { MACHINE1=$1 MACHINE2=$2 PATTERN=$3 PRE_PATTERN="" [ -n "${PATTERN}" ] || PRE_PATTERN="-v" [ -n "${PATTERN}" ] || PATTERN="MACHINE" for TASK in do_configure.sigdata do_populate_sysroot.sigdata do_package_write_ipk.sigdata; do printf "\n\n === Comparing signatures for task ${TASK} ===\n" diff tmp-eglibc/sstate-diff/*/${MACHINE1}/list.M tmp-eglibc/sstate-diff/*/${MACHINE2}/list.M | grep ${PRE_PATTERN} "${PATTERN}" | grep ${TASK} > list.${TASK} for i in `cat list.${TASK} | sed 's#[^/]*/\([^/]*\)/.*#\1#g' | sort -u | xargs`; do [ -e BUILD/sstate-diff/*/${MACHINE1}/*/$i/*${TASK}* ] || echo "Task ${i}.${TASK} doesn't exist in ${MACHINE1}" >&2 [ -e BUILD/sstate-diff/*/${MACHINE1}/*/$i/*${TASK}* ] || continue [ -e BUILD/sstate-diff/*/${MACHINE2}/*/$i/*${TASK}* ] || echo "Task ${i}.${TASK} doesn't exist in ${MACHINE2}" >&2 [ -e BUILD/sstate-diff/*/${MACHINE2}/*/$i/*${TASK}* ] || continue printf "\n == Comparing signatures for ${i}.${TASK} ==\n" printf "# (R)DEPENDS on \nPACKAGE_ARCH_pn-$i = \"\${MACHINE_ARCH}\"\n"; bitbake-diffsigs tmp-eglibc/sstate-diff/*/${MACHINE1}/*/$i/*${TASK}* tmp-eglibc/sstate-diff/*/${MACHINE2}/*/$i/*${TASK}*; echo done | tee list.${TASK}.inc done } # TUNE_PKGARCH should be the same between qemux86 and qemux86copy compareSignatures qemux86 qemux86copy # native and allarch should be the same for all MACHINES compareSignatures qemux86 qemuarm "\(^< all\)\|\(^< x86_64-linux\)" It needs first patch from jansa/tune2-test branch for qemux86copy MACHINE: http://git.openembedded.org/openembedded-core-contrib/log/?h=jansa/tune2-test -- Martin 'JaMa' Jansa jabber: martin.ja...@gmail.com
signature.asc
Description: Digital signature
_______________________________________________ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-devel