Patchwork [meta-oe,6/6] usb-modeswitch-data: Drop allarch

login
register
mail settings
Submitter Martin Jansa
Date Nov. 18, 2013, 10:21 p.m.
Message ID <1384813274-7231-6-git-send-email-Martin.Jansa@gmail.com>
Download mbox | patch
Permalink /patch/61935/
State Accepted, archived
Headers show

Comments

Martin Jansa - Nov. 18, 2013, 10:21 p.m.
* 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(-)
Paul Eggleton - Nov. 20, 2013, 10:29 a.m.
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.bb
> +++
> 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.

Cheers,
Paul
Martin Jansa - Nov. 20, 2013, 10:43 a.m.
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.bb
> > +++
> > 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.
Paul Eggleton - Nov. 20, 2013, 10:55 a.m.
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.)

Cheers,
Paul
Martin Jansa - Nov. 20, 2013, 11:58 a.m.
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

Patch

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.bb
+++ 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.bz2"
 SRC_URI[md5sum] = "91feff51deba6e48e78506b8f4db2274"
 SRC_URI[sha256sum] = "a3114e2c1f38eed3ad0067df30e53a96313908a9539a8ea5d94a4d35651699eb"