Patchwork [7/7] allarch: Drop various problematic allarch usages

login
register
mail settings
Submitter Richard Purdie
Date April 15, 2013, 11:07 a.m.
Message ID <1366024028-24911-8-git-send-email-richard.purdie@linuxfoundation.org>
Download mbox | patch
Permalink /patch/48195/
State Accepted
Commit 087a680429efa713a98fbb89f927b046fe07f87c
Headers show

Comments

Richard Purdie - April 15, 2013, 11:07 a.m.
In each of these cases allarch is used where the package in question has a
dependency on things which are not allach and change when MACHINE is changed.

This leads to a rebuild of the package each time MACHINE is switched and
the sstate checksum changes. The dependencies in question are not suited
be being marked as ABISAFE.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 meta/recipes-core/udev/udev-extraconf_1.0.bb               |    2 --
 meta/recipes-devtools/devel-config/anjuta-remote-run.bb    |    2 --
 meta/recipes-devtools/devel-config/distcc-config.bb        |    2 --
 meta/recipes-devtools/devel-config/nfs-export-root.bb      |    2 --
 meta/recipes-graphics/ttf-fonts/liberation-fonts_1.04.bb   |    2 +-
 meta/recipes-graphics/ttf-fonts/ttf-bitstream-vera_1.10.bb |    2 +-
 meta/recipes-graphics/x11-common/x11-common_0.1.bb         |    2 --
 7 files changed, 2 insertions(+), 12 deletions(-)
Mark Hatle - April 15, 2013, 3:16 p.m.
On 4/15/13 6:07 AM, Richard Purdie wrote:
> In each of these cases allarch is used where the package in question has a
> dependency on things which are not allach and change when MACHINE is changed.
>
> This leads to a rebuild of the package each time MACHINE is switched and
> the sstate checksum changes. The dependencies in question are not suited
> be being marked as ABISAFE.

In each of these cases, does the contents of the package change when the MACHINE 
(or something in that machine) are modified?  If so, I agree they are definitely 
not allarch.

However, if the dependency really doesn't matter, then why isn't ABISAFE correct 
in each case?

--Mark

> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> ---
>   meta/recipes-core/udev/udev-extraconf_1.0.bb               |    2 --
>   meta/recipes-devtools/devel-config/anjuta-remote-run.bb    |    2 --
>   meta/recipes-devtools/devel-config/distcc-config.bb        |    2 --
>   meta/recipes-devtools/devel-config/nfs-export-root.bb      |    2 --
>   meta/recipes-graphics/ttf-fonts/liberation-fonts_1.04.bb   |    2 +-
>   meta/recipes-graphics/ttf-fonts/ttf-bitstream-vera_1.10.bb |    2 +-
>   meta/recipes-graphics/x11-common/x11-common_0.1.bb         |    2 --
>   7 files changed, 2 insertions(+), 12 deletions(-)
>
> diff --git a/meta/recipes-core/udev/udev-extraconf_1.0.bb b/meta/recipes-core/udev/udev-extraconf_1.0.bb
> index ea95a60..fd9a333 100644
> --- a/meta/recipes-core/udev/udev-extraconf_1.0.bb
> +++ b/meta/recipes-core/udev/udev-extraconf_1.0.bb
> @@ -4,8 +4,6 @@ LICENSE = "MIT"
>   LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
>                       file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
>
> -inherit allarch
> -
>   PR = "r8"
>
>   SRC_URI = " \
> diff --git a/meta/recipes-devtools/devel-config/anjuta-remote-run.bb b/meta/recipes-devtools/devel-config/anjuta-remote-run.bb
> index 51fdf9e..b9cded7 100644
> --- a/meta/recipes-devtools/devel-config/anjuta-remote-run.bb
> +++ b/meta/recipes-devtools/devel-config/anjuta-remote-run.bb
> @@ -15,5 +15,3 @@ do_install() {
>   PACKAGES = "${PN}"
>   RDEPENDS_${PN} = "dbus rsync"
>
> -inherit allarch
> -
> diff --git a/meta/recipes-devtools/devel-config/distcc-config.bb b/meta/recipes-devtools/devel-config/distcc-config.bb
> index 8deaa66..c9c024d 100644
> --- a/meta/recipes-devtools/devel-config/distcc-config.bb
> +++ b/meta/recipes-devtools/devel-config/distcc-config.bb
> @@ -21,5 +21,3 @@ do_install() {
>   }
>
>   RDEPENDS_${PN} = "distcc"
> -
> -inherit allarch
> diff --git a/meta/recipes-devtools/devel-config/nfs-export-root.bb b/meta/recipes-devtools/devel-config/nfs-export-root.bb
> index 4d9f6dd..5fa8cb3 100644
> --- a/meta/recipes-devtools/devel-config/nfs-export-root.bb
> +++ b/meta/recipes-devtools/devel-config/nfs-export-root.bb
> @@ -15,5 +15,3 @@ do_install() {
>   }
>
>   RDEPENDS_${PN} = "packagegroup-core-nfs-server"
> -
> -inherit allarch
> diff --git a/meta/recipes-graphics/ttf-fonts/liberation-fonts_1.04.bb b/meta/recipes-graphics/ttf-fonts/liberation-fonts_1.04.bb
> index a34825a..c99521f 100644
> --- a/meta/recipes-graphics/ttf-fonts/liberation-fonts_1.04.bb
> +++ b/meta/recipes-graphics/ttf-fonts/liberation-fonts_1.04.bb
> @@ -12,7 +12,7 @@ RDEPENDS_${PN} = "fontconfig-utils"
>   PR = "r4"
>   PE = "1"
>
> -inherit allarch fontcache
> +inherit fontcache
>
>   FONT_PACKAGES = "${PN}"
>
> diff --git a/meta/recipes-graphics/ttf-fonts/ttf-bitstream-vera_1.10.bb b/meta/recipes-graphics/ttf-fonts/ttf-bitstream-vera_1.10.bb
> index ccd865c..75f78a2 100644
> --- a/meta/recipes-graphics/ttf-fonts/ttf-bitstream-vera_1.10.bb
> +++ b/meta/recipes-graphics/ttf-fonts/ttf-bitstream-vera_1.10.bb
> @@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://COPYRIGHT.TXT;md5=27d7484b1e18d0ee4ce538644a3f04be"
>   PR = "r7"
>   RDEPENDS_${PN} = "fontconfig-utils"
>
> -inherit allarch fontcache
> +inherit fontcache
>
>   FONT_PACKAGES = "${PN}"
>
> diff --git a/meta/recipes-graphics/x11-common/x11-common_0.1.bb b/meta/recipes-graphics/x11-common/x11-common_0.1.bb
> index 49de5a3..2df1347 100644
> --- a/meta/recipes-graphics/x11-common/x11-common_0.1.bb
> +++ b/meta/recipes-graphics/x11-common/x11-common_0.1.bb
> @@ -9,8 +9,6 @@ SRC_URI = "file://etc \
>
>   S = "${WORKDIR}"
>
> -inherit allarch
> -
>   do_install() {
>   	cp -R ${S}/etc ${D}${sysconfdir}
>   	chmod -R 755 ${D}${sysconfdir}
>
Richard Purdie - April 15, 2013, 3:40 p.m.
On Mon, 2013-04-15 at 10:16 -0500, Mark Hatle wrote:
> On 4/15/13 6:07 AM, Richard Purdie wrote:
> > In each of these cases allarch is used where the package in question has a
> > dependency on things which are not allach and change when MACHINE is changed.
> >
> > This leads to a rebuild of the package each time MACHINE is switched and
> > the sstate checksum changes. The dependencies in question are not suited
> > be being marked as ABISAFE.
> 
> In each of these cases, does the contents of the package change when the MACHINE 
> (or something in that machine) are modified?  If so, I agree they are definitely 
> not allarch.

The contents does not, the sstate checksum however does due to the
dependencies. The dependencies are thinks like gtk+ and dbus.

> However, if the dependency really doesn't matter, then why isn't ABISAFE correct 
> in each case?

I'm using ABISAFE in this context as shorthand for
SIGGEN_EXCLUDERECIPES_ABISAFE and those are defined as things which
don't need to rebuild if the dependency changes.

gtk+ and dbus both provide libraries and we do want software to rebuild
if they change. In the allarch case we could whitelist the dependency
however in the general case we shouldn't.

Even with that problem addressed somehow, it leaves an issue with ipk
multilibs where the distcc-config allarch recipe would always depend
upon "distcc" and hence distcc would get pulled into the image,
regardless of any other multilib settings (which in turn pulls in gtk+
for example). A "lib64-xxx-image" would therefore end up with near
enough two copies of half the system due to this. This is something we
really need to fix in the opkg implementation of multilibs but I have no
idea how.

Combine the two issues together, neither of which can be addressed at
this point of the release cycle and I put the above patch forwards until
we can better resolve this.

Cheers,

Richard
Mark Hatle - April 15, 2013, 3:49 p.m.
On 4/15/13 10:40 AM, Richard Purdie wrote:
> On Mon, 2013-04-15 at 10:16 -0500, Mark Hatle wrote:
>> On 4/15/13 6:07 AM, Richard Purdie wrote:
>>> In each of these cases allarch is used where the package in question has a
>>> dependency on things which are not allach and change when MACHINE is changed.
>>>
>>> This leads to a rebuild of the package each time MACHINE is switched and
>>> the sstate checksum changes. The dependencies in question are not suited
>>> be being marked as ABISAFE.
>>
>> In each of these cases, does the contents of the package change when the MACHINE
>> (or something in that machine) are modified?  If so, I agree they are definitely
>> not allarch.
>
> The contents does not, the sstate checksum however does due to the
> dependencies. The dependencies are thinks like gtk+ and dbus.
>
>> However, if the dependency really doesn't matter, then why isn't ABISAFE correct
>> in each case?
>
> I'm using ABISAFE in this context as shorthand for
> SIGGEN_EXCLUDERECIPES_ABISAFE and those are defined as things which
> don't need to rebuild if the dependency changes.

So this can't be set on a package specific basis?  If that is the case, it may 
make sense to look into a recipe specific way of declaring a 'lack' of 
dependency on rebuilding others in the future.

> gtk+ and dbus both provide libraries and we do want software to rebuild
> if they change. In the allarch case we could whitelist the dependency
> however in the general case we shouldn't.

Ya I agree, I thought it could be done easily on a per-package basis.

> Even with that problem addressed somehow, it leaves an issue with ipk
> multilibs where the distcc-config allarch recipe would always depend
> upon "distcc" and hence distcc would get pulled into the image,
> regardless of any other multilib settings (which in turn pulls in gtk+
> for example). A "lib64-xxx-image" would therefore end up with near
> enough two copies of half the system due to this. This is something we
> really need to fix in the opkg implementation of multilibs but I have no
> idea how.

This is more then just a problem in opkg, it may be more evident there.. but it 
is something we should look into as well.

> Combine the two issues together, neither of which can be addressed at
> this point of the release cycle and I put the above patch forwards until
> we can better resolve this.
>
> Cheers,
>
> Richard
>
>
Martin Jansa - April 15, 2013, 4:15 p.m.
On Mon, Apr 15, 2013 at 10:49:20AM -0500, Mark Hatle wrote:
> On 4/15/13 10:40 AM, Richard Purdie wrote:
> > On Mon, 2013-04-15 at 10:16 -0500, Mark Hatle wrote:
> >> On 4/15/13 6:07 AM, Richard Purdie wrote:
> >>> In each of these cases allarch is used where the package in question has a
> >>> dependency on things which are not allach and change when MACHINE is changed.
> >>>
> >>> This leads to a rebuild of the package each time MACHINE is switched and
> >>> the sstate checksum changes. The dependencies in question are not suited
> >>> be being marked as ABISAFE.
> >>
> >> In each of these cases, does the contents of the package change when the MACHINE
> >> (or something in that machine) are modified?  If so, I agree they are definitely
> >> not allarch.
> >
> > The contents does not, the sstate checksum however does due to the
> > dependencies. The dependencies are thinks like gtk+ and dbus.
> >
> >> However, if the dependency really doesn't matter, then why isn't ABISAFE correct
> >> in each case?
> >
> > I'm using ABISAFE in this context as shorthand for
> > SIGGEN_EXCLUDERECIPES_ABISAFE and those are defined as things which
> > don't need to rebuild if the dependency changes.
> 
> So this can't be set on a package specific basis?  If that is the case, it may 
> make sense to look into a recipe specific way of declaring a 'lack' of 
> dependency on rebuilding others in the future.
> 
> > gtk+ and dbus both provide libraries and we do want software to rebuild
> > if they change. In the allarch case we could whitelist the dependency
> > however in the general case we shouldn't.
> 
> Ya I agree, I thought it could be done easily on a per-package basis.

Yes it can be
SIGGEN_EXCLUDERECIPES_ABISAFE += "distcc-config->distcc"
should work.

> > Even with that problem addressed somehow, it leaves an issue with ipk
> > multilibs where the distcc-config allarch recipe would always depend
> > upon "distcc" and hence distcc would get pulled into the image,
> > regardless of any other multilib settings (which in turn pulls in gtk+
> > for example). A "lib64-xxx-image" would therefore end up with near
> > enough two copies of half the system due to this. This is something we
> > really need to fix in the opkg implementation of multilibs but I have no
> > idea how.
> 
> This is more then just a problem in opkg, it may be more evident there.. but it 
> is something we should look into as well.
> 
> > Combine the two issues together, neither of which can be addressed at
> > this point of the release cycle and I put the above patch forwards until
> > we can better resolve this.
> >
> > Cheers,
> >
> > Richard
> >
> >
> 
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Patch

diff --git a/meta/recipes-core/udev/udev-extraconf_1.0.bb b/meta/recipes-core/udev/udev-extraconf_1.0.bb
index ea95a60..fd9a333 100644
--- a/meta/recipes-core/udev/udev-extraconf_1.0.bb
+++ b/meta/recipes-core/udev/udev-extraconf_1.0.bb
@@ -4,8 +4,6 @@  LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
                     file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 
-inherit allarch
-
 PR = "r8"
 
 SRC_URI = " \
diff --git a/meta/recipes-devtools/devel-config/anjuta-remote-run.bb b/meta/recipes-devtools/devel-config/anjuta-remote-run.bb
index 51fdf9e..b9cded7 100644
--- a/meta/recipes-devtools/devel-config/anjuta-remote-run.bb
+++ b/meta/recipes-devtools/devel-config/anjuta-remote-run.bb
@@ -15,5 +15,3 @@  do_install() {
 PACKAGES = "${PN}"
 RDEPENDS_${PN} = "dbus rsync"
 
-inherit allarch
-
diff --git a/meta/recipes-devtools/devel-config/distcc-config.bb b/meta/recipes-devtools/devel-config/distcc-config.bb
index 8deaa66..c9c024d 100644
--- a/meta/recipes-devtools/devel-config/distcc-config.bb
+++ b/meta/recipes-devtools/devel-config/distcc-config.bb
@@ -21,5 +21,3 @@  do_install() {
 }
 
 RDEPENDS_${PN} = "distcc"
-
-inherit allarch
diff --git a/meta/recipes-devtools/devel-config/nfs-export-root.bb b/meta/recipes-devtools/devel-config/nfs-export-root.bb
index 4d9f6dd..5fa8cb3 100644
--- a/meta/recipes-devtools/devel-config/nfs-export-root.bb
+++ b/meta/recipes-devtools/devel-config/nfs-export-root.bb
@@ -15,5 +15,3 @@  do_install() {
 }
 
 RDEPENDS_${PN} = "packagegroup-core-nfs-server"
-
-inherit allarch
diff --git a/meta/recipes-graphics/ttf-fonts/liberation-fonts_1.04.bb b/meta/recipes-graphics/ttf-fonts/liberation-fonts_1.04.bb
index a34825a..c99521f 100644
--- a/meta/recipes-graphics/ttf-fonts/liberation-fonts_1.04.bb
+++ b/meta/recipes-graphics/ttf-fonts/liberation-fonts_1.04.bb
@@ -12,7 +12,7 @@  RDEPENDS_${PN} = "fontconfig-utils"
 PR = "r4"
 PE = "1"
 
-inherit allarch fontcache
+inherit fontcache
 
 FONT_PACKAGES = "${PN}"
 
diff --git a/meta/recipes-graphics/ttf-fonts/ttf-bitstream-vera_1.10.bb b/meta/recipes-graphics/ttf-fonts/ttf-bitstream-vera_1.10.bb
index ccd865c..75f78a2 100644
--- a/meta/recipes-graphics/ttf-fonts/ttf-bitstream-vera_1.10.bb
+++ b/meta/recipes-graphics/ttf-fonts/ttf-bitstream-vera_1.10.bb
@@ -10,7 +10,7 @@  LIC_FILES_CHKSUM = "file://COPYRIGHT.TXT;md5=27d7484b1e18d0ee4ce538644a3f04be"
 PR = "r7"
 RDEPENDS_${PN} = "fontconfig-utils"
 
-inherit allarch fontcache
+inherit fontcache
 
 FONT_PACKAGES = "${PN}"
 
diff --git a/meta/recipes-graphics/x11-common/x11-common_0.1.bb b/meta/recipes-graphics/x11-common/x11-common_0.1.bb
index 49de5a3..2df1347 100644
--- a/meta/recipes-graphics/x11-common/x11-common_0.1.bb
+++ b/meta/recipes-graphics/x11-common/x11-common_0.1.bb
@@ -9,8 +9,6 @@  SRC_URI = "file://etc \
 
 S = "${WORKDIR}"
 
-inherit allarch
-
 do_install() {
 	cp -R ${S}/etc ${D}${sysconfdir}
 	chmod -R 755 ${D}${sysconfdir}