All of lore.kernel.org
 help / color / mirror / Atom feed
From: Martin Jansa <martin.jansa@gmail.com>
To: Paul Eggleton <paul.eggleton@linux.intel.com>
Cc: Richard Purdie <richard.purdie@linuxfoundation.org>,
	openembedded-devel@lists.openembedded.org
Subject: Re: [meta-oe][PATCH 6/6] usb-modeswitch-data: Drop allarch
Date: Wed, 20 Nov 2013 12:58:39 +0100	[thread overview]
Message-ID: <20131120115839.GL3708@jama> (raw)
In-Reply-To: <12826321.nELrz9JS6g@helios>

[-- Attachment #1: Type: text/plain, Size: 5497 bytes --]

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.Jansa@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.Jansa@gmail.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 205 bytes --]

  reply	other threads:[~2013-11-20 11:58 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-18 22:21 [meta-oe][PATCH 1/6] meta-efl: upgrade efl to 1.7.9, e-wm to 0.17.5 Martin Jansa
2013-11-18 22:21 ` [meta-oe][PATCH 2/6] libdvdread: Use _remove operator to drop silent rules Martin Jansa
2013-11-18 22:21 ` [meta-oe][PATCH 3/6] gateone: Drop allarch Martin Jansa
2013-11-18 22:21 ` [meta-oe][PATCH 4/6] zram: " Martin Jansa
2013-11-18 22:21 ` [meta-oe][PATCH 5/6] mime-support: " Martin Jansa
2013-11-18 22:21 ` [meta-oe][PATCH 6/6] usb-modeswitch-data: " Martin Jansa
2013-11-20 10:29   ` Paul Eggleton
2013-11-20 10:43     ` Martin Jansa
2013-11-20 10:55       ` Paul Eggleton
2013-11-20 11:58         ` Martin Jansa [this message]
2013-11-20 16:48           ` [meta-oe][PATCHv2] usb-modeswitch-data: Exclude SIGGEN dependency on usb-modeswitch Martin Jansa
2013-11-20 16:50           ` [meta-oe][PATCH] fbset-modes: Explicitly set MACHINE_ARCH Martin Jansa

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20131120115839.GL3708@jama \
    --to=martin.jansa@gmail.com \
    --cc=openembedded-devel@lists.openembedded.org \
    --cc=paul.eggleton@linux.intel.com \
    --cc=richard.purdie@linuxfoundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.