Patchwork [2/2] packagegroup-core-x11: split machine specific parts to separate recipe packagegroup-core-x11-server

login
register
mail settings
Submitter Martin Jansa
Date Sept. 4, 2012, 8:58 p.m.
Message ID <1346792317-26563-2-git-send-email-Martin.Jansa@gmail.com>
Download mbox | patch
Permalink /patch/35841/
State Accepted
Commit a398c96706c119f298f57a929a317fcf8e0f5b92
Headers show

Comments

Martin Jansa - Sept. 4, 2012, 8:58 p.m.
* add new packagegroup-core-x11-server to SIGGEN_EXCLUDERECIPES_ABISAFE,
  so that recipes depending on it are not rebuilt after every machine
  swtich
* allows to remove task-x11-server and task-x11 from meta-oe without 
  loosing any functionality
* be carefull with default XSERVER value which does not have 
  xf86-input-mouse and xf86-input-keyboard)
* VIRTUAL-RUNTIME_xserver_common which defaults to x11-common in oe-core 
  and xserver-common in meta-oe's task-x11

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
 meta/conf/layer.conf                               |  1 +
 .../packagegroups/packagegroup-core-x11-xserver.bb | 24 ++++++++++++++++++++++
 .../packagegroups/packagegroup-core-x11.bb         | 16 ++-------------
 3 files changed, 27 insertions(+), 14 deletions(-)
 create mode 100644 meta/recipes-graphics/packagegroups/packagegroup-core-x11-xserver.bb
Richard Purdie - Sept. 6, 2012, 11:29 p.m.
On Tue, 2012-09-04 at 22:58 +0200, Martin Jansa wrote:
> * add new packagegroup-core-x11-server to SIGGEN_EXCLUDERECIPES_ABISAFE,
>   so that recipes depending on it are not rebuilt after every machine
>   swtich
> * allows to remove task-x11-server and task-x11 from meta-oe without 
>   loosing any functionality
> * be carefull with default XSERVER value which does not have 
>   xf86-input-mouse and xf86-input-keyboard)
> * VIRTUAL-RUNTIME_xserver_common which defaults to x11-common in oe-core 
>   and xserver-common in meta-oe's task-x11
> 
> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> ---
>  meta/conf/layer.conf                               |  1 +
>  .../packagegroups/packagegroup-core-x11-xserver.bb | 24 ++++++++++++++++++++++
>  .../packagegroups/packagegroup-core-x11.bb         | 16 ++-------------
>  3 files changed, 27 insertions(+), 14 deletions(-)
>  create mode 100644 meta/recipes-graphics/packagegroups/packagegroup-core-x11-xserver.bb

This sneaked in with a load of other patches. I never meant to merge
this as I consider it broken.

Task packages are cheap and having them being machine specific imposes
little overhead. Splitting this into two just increases the parsing
overhead through the number of recipes and doesn't do much else since
there are still machine specific packages involved, all dependencies
still get built etc. so I really don't see the point of the added
complexity.

I'll get flamed to death if I revert this now so I guess I'm stuck :(

Cheers,

Richard
Martin Jansa - Sept. 6, 2012, 11:34 p.m.
On Fri, Sep 07, 2012 at 12:29:59AM +0100, Richard Purdie wrote:
> On Tue, 2012-09-04 at 22:58 +0200, Martin Jansa wrote:
> > * add new packagegroup-core-x11-server to SIGGEN_EXCLUDERECIPES_ABISAFE,
> >   so that recipes depending on it are not rebuilt after every machine
> >   swtich
> > * allows to remove task-x11-server and task-x11 from meta-oe without 
> >   loosing any functionality
> > * be carefull with default XSERVER value which does not have 
> >   xf86-input-mouse and xf86-input-keyboard)
> > * VIRTUAL-RUNTIME_xserver_common which defaults to x11-common in oe-core 
> >   and xserver-common in meta-oe's task-x11
> > 
> > Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> > ---
> >  meta/conf/layer.conf                               |  1 +
> >  .../packagegroups/packagegroup-core-x11-xserver.bb | 24 ++++++++++++++++++++++
> >  .../packagegroups/packagegroup-core-x11.bb         | 16 ++-------------
> >  3 files changed, 27 insertions(+), 14 deletions(-)
> >  create mode 100644 meta/recipes-graphics/packagegroups/packagegroup-core-x11-xserver.bb
> 
> This sneaked in with a load of other patches. I never meant to merge
> this as I consider it broken.
> 
> Task packages are cheap and having them being machine specific imposes
> little overhead. Splitting this into two just increases the parsing
> overhead through the number of recipes and doesn't do much else since
> there are still machine specific packages involved, all dependencies
> still get built etc. so I really don't see the point of the added
> complexity.

Yes task-* are cheap but if such recipe is in RDEPENDS of some other
more expensive recipe then it's better when it's excluded from sstate.
 
Cheers,
Richard Purdie - Sept. 6, 2012, 11:37 p.m.
On Fri, 2012-09-07 at 01:34 +0200, Martin Jansa wrote:
> On Fri, Sep 07, 2012 at 12:29:59AM +0100, Richard Purdie wrote:
> > On Tue, 2012-09-04 at 22:58 +0200, Martin Jansa wrote:
> > > * add new packagegroup-core-x11-server to SIGGEN_EXCLUDERECIPES_ABISAFE,
> > >   so that recipes depending on it are not rebuilt after every machine
> > >   swtich
> > > * allows to remove task-x11-server and task-x11 from meta-oe without 
> > >   loosing any functionality
> > > * be carefull with default XSERVER value which does not have 
> > >   xf86-input-mouse and xf86-input-keyboard)
> > > * VIRTUAL-RUNTIME_xserver_common which defaults to x11-common in oe-core 
> > >   and xserver-common in meta-oe's task-x11
> > > 
> > > Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> > > ---
> > >  meta/conf/layer.conf                               |  1 +
> > >  .../packagegroups/packagegroup-core-x11-xserver.bb | 24 ++++++++++++++++++++++
> > >  .../packagegroups/packagegroup-core-x11.bb         | 16 ++-------------
> > >  3 files changed, 27 insertions(+), 14 deletions(-)
> > >  create mode 100644 meta/recipes-graphics/packagegroups/packagegroup-core-x11-xserver.bb
> > 
> > This sneaked in with a load of other patches. I never meant to merge
> > this as I consider it broken.
> > 
> > Task packages are cheap and having them being machine specific imposes
> > little overhead. Splitting this into two just increases the parsing
> > overhead through the number of recipes and doesn't do much else since
> > there are still machine specific packages involved, all dependencies
> > still get built etc. so I really don't see the point of the added
> > complexity.
> 
> Yes task-* are cheap but if such recipe is in RDEPENDS of some other
> more expensive recipe then it's better when it's excluded from sstate.

Which expensive recipes RDEPEND on task/packagegroup recipes?

Cheers,

Richard

Patch

diff --git a/meta/conf/layer.conf b/meta/conf/layer.conf
index dfcb1f3..ed50f1c 100644
--- a/meta/conf/layer.conf
+++ b/meta/conf/layer.conf
@@ -24,4 +24,5 @@  SIGGEN_EXCLUDERECIPES_ABISAFE += " \
   base-files \
   keymaps \
   udev-extraconf \
+  packagegroup-x11-xserver \
 "
diff --git a/meta/recipes-graphics/packagegroups/packagegroup-core-x11-xserver.bb b/meta/recipes-graphics/packagegroups/packagegroup-core-x11-xserver.bb
new file mode 100644
index 0000000..bf39e63
--- /dev/null
+++ b/meta/recipes-graphics/packagegroups/packagegroup-core-x11-xserver.bb
@@ -0,0 +1,24 @@ 
+#
+# Copyright (C) 2011 Intel Corporation
+#
+
+LICENSE = "MIT"
+PR = "r38"
+
+inherit packagegroup
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+PACKAGES = "${PN}"
+
+XSERVER ?= "xserver-xorg xf86-video-fbdev xf86-input-evdev"
+
+SUMMARY_${PN} = "X11 display server"
+RDEPENDS_${PN} = "\
+    ${XSERVER} \
+    "
+
+# Allow replacing task-x11-server in meta-oe
+RPROVIDES_${PN} = "task-x11-server task-xserver"
+RREPLACES_${PN} = "task-x11-server task-xserver"
+RCONFLICTS_${PN} = "task-x11-server task-xserver"
diff --git a/meta/recipes-graphics/packagegroups/packagegroup-core-x11.bb b/meta/recipes-graphics/packagegroups/packagegroup-core-x11.bb
index e306c08..e89df3a 100644
--- a/meta/recipes-graphics/packagegroups/packagegroup-core-x11.bb
+++ b/meta/recipes-graphics/packagegroups/packagegroup-core-x11.bb
@@ -3,15 +3,11 @@ 
 #
 
 LICENSE = "MIT"
-PR = "r37"
+PR = "r38"
 
 inherit packagegroup
 
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-PACKAGES = "${PN} ${PN}-xserver ${PN}-utils"
-
-XSERVER ?= "xserver-xorg xf86-video-fbdev xf86-input-evdev"
+PACKAGES = "${PN} ${PN}-utils"
 
 # xserver-common, x11-common
 VIRTUAL-RUNTIME_xserver_common ?= "x11-common"
@@ -25,11 +21,6 @@  RDEPENDS_${PN} = "\
     ${PN}-utils \
     "
 
-SUMMARY_${PN}-xserver = "X11 display server"
-RDEPENDS_${PN}-xserver = "\
-    ${XSERVER} \
-    "
-
 SUMMARY_${PN}-utils = "X11 basic utilities and init"
 RDEPENDS_${PN}-utils = "\
     ${VIRTUAL-RUNTIME_xserver_common} \
@@ -44,9 +35,6 @@  RDEPENDS_${PN}-utils = "\
 RPROVIDES_${PN} = "task-x11"
 RREPLACES_${PN} = "task-x11"
 RCONFLICTS_${PN} = "task-x11"
-RPROVIDES_${PN}-xserver = "task-x11-server task-xserver"
-RREPLACES_${PN}-xserver = "task-x11-server"
-RCONFLICTS_${PN}-xserver = "task-x11-server"
 RPROVIDES_${PN}-utils = "task-x11-utils"
 RREPLACES_${PN}-utils = "task-x11-utils"
 RCONFLICTS_${PN}-utils = "task-x11-utils"