Patchwork xserver-xorg: restore packaging for the DRI/DRI2/DBE extensions

login
register
mail settings
Submitter Ross Burton
Date Nov. 28, 2012, 3:28 p.m.
Message ID <1354116528-21598-1-git-send-email-ross.burton@intel.com>
Download mbox | patch
Permalink /patch/39801/
State Accepted
Commit 24b954253dd1aa626835352c4dc8d085a19aae35
Headers show

Comments

Ross Burton - Nov. 28, 2012, 3:28 p.m.
Even though the current xserver in oe-core (1.13) doesn't ship these as
standalone extensions, older X servers required by binary drives
(e.g. meta-intel's 1.9) still install them separately.  As the packages didn't
exist in xserver-xorg.inc the extensions were not packaged, and X didn't work.

Revolve this by restoring the package definitions, and moving the upgrade path
dependencies to xserver-xorg_1.13.bb.

Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 .../recipes-graphics/xorg-xserver/xserver-xorg.inc |   30 +++++++-------------
 .../xorg-xserver/xserver-xorg_1.13.0.bb            |   22 ++++++++++++++
 2 files changed, 33 insertions(+), 19 deletions(-)
Otavio Salvador - Nov. 28, 2012, 3:51 p.m.
On Wed, Nov 28, 2012 at 1:28 PM, Ross Burton <ross.burton@intel.com> wrote:
> Even though the current xserver in oe-core (1.13) doesn't ship these as
> standalone extensions, older X servers required by binary drives
> (e.g. meta-intel's 1.9) still install them separately.  As the packages didn't
> exist in xserver-xorg.inc the extensions were not packaged, and X didn't work.
>
> Revolve this by restoring the package definitions, and moving the upgrade path
> dependencies to xserver-xorg_1.13.bb.
>
> Signed-off-by: Ross Burton <ross.burton@intel.com>

Wouldn't be better for this packaging be done in meta-intel in this case?

My concern here is to leave unused meta-data; I am not a big fan of it at first.
Ross Burton - Nov. 28, 2012, 3:56 p.m.
On 28 November 2012 15:51, Otavio Salvador <otavio@ossystems.com.br> wrote:
> On Wed, Nov 28, 2012 at 1:28 PM, Ross Burton <ross.burton@intel.com> wrote:
>> Even though the current xserver in oe-core (1.13) doesn't ship these as
>> standalone extensions, older X servers required by binary drives
>> (e.g. meta-intel's 1.9) still install them separately.  As the packages didn't
>> exist in xserver-xorg.inc the extensions were not packaged, and X didn't work.
>>
>> Revolve this by restoring the package definitions, and moving the upgrade path
>> dependencies to xserver-xorg_1.13.bb.
>>
>> Signed-off-by: Ross Burton <ross.burton@intel.com>
>
> Wouldn't be better for this packaging be done in meta-intel in this case?
>
> My concern here is to leave unused meta-data; I am not a big fan of it at first.

That's a valid concern, and I almost did that.  The fact that binary
drivers locked to specific version of X are so common swayed me into
being nice to them, so they don't need to replicate all of the
packaging themselves.

Ross
Otavio Salvador - Nov. 28, 2012, 4:02 p.m.
On Wed, Nov 28, 2012 at 1:56 PM, Burton, Ross <ross.burton@intel.com> wrote:
> On 28 November 2012 15:51, Otavio Salvador <otavio@ossystems.com.br> wrote:
>> On Wed, Nov 28, 2012 at 1:28 PM, Ross Burton <ross.burton@intel.com> wrote:
>>> Even though the current xserver in oe-core (1.13) doesn't ship these as
>>> standalone extensions, older X servers required by binary drives
>>> (e.g. meta-intel's 1.9) still install them separately.  As the packages didn't
>>> exist in xserver-xorg.inc the extensions were not packaged, and X didn't work.
>>>
>>> Revolve this by restoring the package definitions, and moving the upgrade path
>>> dependencies to xserver-xorg_1.13.bb.
>>>
>>> Signed-off-by: Ross Burton <ross.burton@intel.com>
>>
>> Wouldn't be better for this packaging be done in meta-intel in this case?
>>
>> My concern here is to leave unused meta-data; I am not a big fan of it at first.
>
> That's a valid concern, and I almost did that.  The fact that binary
> drivers locked to specific version of X are so common swayed me into
> being nice to them, so they don't need to replicate all of the
> packaging themselves.

Well but in this case we would be better to have 1.9 in oe-core, in this case.

I understand your point and I partially agree with it (I suffer of
same pain) but it doesn't seem right to keep this code.
Ross Burton - Nov. 28, 2012, 4:11 p.m.
On 28 November 2012 16:02, Otavio Salvador <otavio@ossystems.com.br> wrote:
> Well but in this case we would be better to have 1.9 in oe-core, in this case.

meta-intel alone contains 1.9.3 (for EMGD) and 1.7.99.2 (for emenlow).
 I don't think it's reasonable to collect every xserver version that
binary drivers have built against into oe-core, nor is it reasonable
to force them to do all of the packaging themselves (at least whilst
the fix to make the same inc build for old and new is to add a few
package definitions).

Ross
Otavio Salvador - Nov. 28, 2012, 4:25 p.m.
On Wed, Nov 28, 2012 at 2:11 PM, Burton, Ross <ross.burton@intel.com> wrote:
> On 28 November 2012 16:02, Otavio Salvador <otavio@ossystems.com.br> wrote:
>> Well but in this case we would be better to have 1.9 in oe-core, in this case.
>
> meta-intel alone contains 1.9.3 (for EMGD) and 1.7.99.2 (for emenlow).
>  I don't think it's reasonable to collect every xserver version that
> binary drivers have built against into oe-core, nor is it reasonable
> to force them to do all of the packaging themselves (at least whilst
> the fix to make the same inc build for old and new is to add a few
> package definitions).

Yes I understand; well as I said I understand your point and why you
wish to do that.
Nitin A Kamble - Nov. 28, 2012, 5:01 p.m.
Ross,
    I have a similar patch, which stays in meta-intel. I am testing it now. Because there is no 1.9 Xserver recipe in the oecore, so I think it is meta-intel specific problem. In my patch for the older xserver recipes from meta-intel I am avoiding inclusion of xserver-xorg.inc from oecore. And I am providing another xserver-xorg.inc for them in the meta-intel layer to fix the issues. Technically both these approaches are achieving same thing, just the location of changes is different.
  So far in my testing my patch has fixed the X issue for emenlow. And I will be testing the X on crownbay today. BTW my patch is also fixing some additional packaging warnings.

So if this patch goes in oecore, I will redo my fixes in meta-intel. Or I can add Ross'es signed off to my meta-intel patches.

Thanks,
Nitin


> -----Original Message-----
> From: Ross Burton [mailto:ross.burton@intel.com]
> Sent: Wednesday, November 28, 2012 7:29 AM
> To: openembedded-core@lists.openembedded.org
> Cc: Zanussi, Tom; Kamble, Nitin A
> Subject: [PATCH] xserver-xorg: restore packaging for the DRI/DRI2/DBE
> extensions
> 
> Even though the current xserver in oe-core (1.13) doesn't ship these as
> standalone extensions, older X servers required by binary drives (e.g. meta-
> intel's 1.9) still install them separately.  As the packages didn't exist in
> xserver-xorg.inc the extensions were not packaged, and X didn't work.
> 
> Revolve this by restoring the package definitions, and moving the upgrade
> path dependencies to xserver-xorg_1.13.bb.
> 
> Signed-off-by: Ross Burton <ross.burton@intel.com>
> ---
>  .../recipes-graphics/xorg-xserver/xserver-xorg.inc |   30 +++++++-------------
>  .../xorg-xserver/xserver-xorg_1.13.0.bb            |   22 ++++++++++++++
>  2 files changed, 33 insertions(+), 19 deletions(-)
> 
> diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc
> b/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc
> index d410707..cea4c26 100644
> --- a/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc
> +++ b/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc
> @@ -13,7 +13,7 @@ PROVIDES = "virtual/xserver-xf86"
>  PROVIDES += "virtual/xserver"
> 
>  PE = "2"
> -INC_PR = "r6"
> +INC_PR = "r7"
> 
>  XORG_PN = "xorg-server"
>  SRC_URI = "${XORG_MIRROR}/individual/xserver/${XORG_PN}-
> ${PV}.tar.bz2"
> @@ -48,7 +48,12 @@ PACKAGES =+ "${PN}-security-policy \
>               ${PN}-utils \
>               ${PN}-xephyr \
>               ${PN}-multimedia-modules \
> +             ${PN}-extension-dri \
> +             ${PN}-extension-dri2 \
>               ${PN}-extension-glx \
> +             ${PN}-extension-record \
> +             ${PN}-extension-extmod \
> +             ${PN}-extension-dbe \
>               ${PN}-module-libint10 \
>               ${PN}-module-libafb \
>               ${PN}-module-libwfb  \
> @@ -62,24 +67,6 @@ PACKAGES =+ "${PN}-security-policy \
> RRECOMMENDS_${PN} += "${PN}-security-policy xkeyboard-config rgb
> xserver-xf86-config"
>  RDEPENDS_${PN}-xvfb += "xkeyboard-config"
>  RDEPENDS_${PN}-module-exa = "${PN} (= ${EXTENDPKGV})"
> -RREPLACES_${PN} =  "${PN}-extension-dri \
> -                    ${PN}-extension-dri2 \
> -                    ${PN}-extension-record \
> -                    ${PN}-extension-extmod \
> -                    ${PN}-extension-dbe \
> -                   "
> -RPROVIDES_${PN} =  "${PN}-extension-dri \
> -                    ${PN}-extension-dri2 \
> -                    ${PN}-extension-record \
> -                    ${PN}-extension-extmod \
> -                    ${PN}-extension-dbe \
> -                   "
> -RCONFLICTS_${PN} = "${PN}-extension-dri \
> -                    ${PN}-extension-dri2 \
> -                    ${PN}-extension-record \
> -                    ${PN}-extension-extmod \
> -                    ${PN}-extension-dbe \
> -                   "
> 
>  FILES_${PN} = "${bindir} ${libdir}/X11/Options ${libdir}/X11/Cards
> ${libdir}/X11/getconfig ${libdir}/X11/etc ${libdir}/modules/*.so
> ${libdir}/xorg/modules/*.so /etc/X11 ${libdir}/xorg/protocol.txt
> ${datadir}/X11/xorg.conf.d"
>  FILES_${PN}-dev += "${libdir}/xorg/modules/*.la
> ${libdir}/xorg/modules/*/*.la"
> @@ -95,7 +82,12 @@ FILES_${PN}-xvfb = "${bindir}/Xvfb"
>  FILES_${PN}-utils = "${bindir}/scanpci ${bindir}/pcitweak ${bindir}/ioport
> ${bindir}/in[bwl] ${bindir}/out[bwl] ${bindir}/mmap[rw] ${bindir}/gtf
> ${bindir}/getconfig ${bindir}/getconfig.pl"
>  FILES_${PN}-xephyr = "${bindir}/Xephyr"
>  FILES_${PN}-multimedia-modules =
> "${libdir}/xorg/modules/multimedia/*drv*"
> +FILES_${PN}-extension-dri = "${libdir}/xorg/modules/extensions/libdri.so"
> +FILES_${PN}-extension-dri2 =
> "${libdir}/xorg/modules/extensions/libdri2.so"
>  FILES_${PN}-extension-glx = "${libdir}/xorg/modules/extensions/libglx.so"
> +FILES_${PN}-extension-record =
> "${libdir}/xorg/modules/extensions/librecord.so"
> +FILES_${PN}-extension-extmod =
> "${libdir}/xorg/modules/extensions/libextmod.so"
> +FILES_${PN}-extension-dbe =
> "${libdir}/xorg/modules/extensions/libdbe.so"
>  FILES_${PN}-module-libint10 = "${libdir}/xorg/modules/libint10.so"
>  FILES_${PN}-module-libafb = "${libdir}/xorg/modules/libafb.so"
>  FILES_${PN}-module-libwfb = "${libdir}/xorg/modules/libwfb.so"
> diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.13.0.bb
> b/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.13.0.bb
> index 8ad87b8..3b102cb 100644
> --- a/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.13.0.bb
> +++ b/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.13.0.bb
> @@ -10,3 +10,25 @@ SRC_URI[md5sum] =
> "bde3d178b756597d2ec2a19ef60d2e1f"
>  SRC_URI[sha256sum] =
> "548b91cb01087ad4f892428e7ac4955251cf12393e86c70420436b33848ef28a"
> 
>  PR = "${INC_PR}.0"
> +
> +# These extensions are now integrated into the server, so declare the
> +migration # path for in-place upgrades.
> +
> +RREPLACES_${PN} =  "${PN}-extension-dri \
> +                    ${PN}-extension-dri2 \
> +                    ${PN}-extension-record \
> +                    ${PN}-extension-extmod \
> +                    ${PN}-extension-dbe \
> +                   "
> +RPROVIDES_${PN} =  "${PN}-extension-dri \
> +                    ${PN}-extension-dri2 \
> +                    ${PN}-extension-record \
> +                    ${PN}-extension-extmod \
> +                    ${PN}-extension-dbe \
> +                   "
> +RCONFLICTS_${PN} = "${PN}-extension-dri \
> +                    ${PN}-extension-dri2 \
> +                    ${PN}-extension-record \
> +                    ${PN}-extension-extmod \
> +                    ${PN}-extension-dbe \
> +                   "
> --
> 1.7.10

Patch

diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc b/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc
index d410707..cea4c26 100644
--- a/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc
+++ b/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc
@@ -13,7 +13,7 @@  PROVIDES = "virtual/xserver-xf86"
 PROVIDES += "virtual/xserver"
 
 PE = "2"
-INC_PR = "r6"
+INC_PR = "r7"
 
 XORG_PN = "xorg-server"
 SRC_URI = "${XORG_MIRROR}/individual/xserver/${XORG_PN}-${PV}.tar.bz2"
@@ -48,7 +48,12 @@  PACKAGES =+ "${PN}-security-policy \
              ${PN}-utils \
              ${PN}-xephyr \
              ${PN}-multimedia-modules \
+             ${PN}-extension-dri \
+             ${PN}-extension-dri2 \
              ${PN}-extension-glx \
+             ${PN}-extension-record \
+             ${PN}-extension-extmod \
+             ${PN}-extension-dbe \
              ${PN}-module-libint10 \
              ${PN}-module-libafb \
              ${PN}-module-libwfb  \
@@ -62,24 +67,6 @@  PACKAGES =+ "${PN}-security-policy \
 RRECOMMENDS_${PN} += "${PN}-security-policy xkeyboard-config rgb xserver-xf86-config"
 RDEPENDS_${PN}-xvfb += "xkeyboard-config"
 RDEPENDS_${PN}-module-exa = "${PN} (= ${EXTENDPKGV})"
-RREPLACES_${PN} =  "${PN}-extension-dri \
-                    ${PN}-extension-dri2 \
-                    ${PN}-extension-record \
-                    ${PN}-extension-extmod \
-                    ${PN}-extension-dbe \
-                   "
-RPROVIDES_${PN} =  "${PN}-extension-dri \
-                    ${PN}-extension-dri2 \
-                    ${PN}-extension-record \
-                    ${PN}-extension-extmod \
-                    ${PN}-extension-dbe \
-                   "
-RCONFLICTS_${PN} = "${PN}-extension-dri \
-                    ${PN}-extension-dri2 \
-                    ${PN}-extension-record \
-                    ${PN}-extension-extmod \
-                    ${PN}-extension-dbe \
-                   "
 
 FILES_${PN} = "${bindir} ${libdir}/X11/Options ${libdir}/X11/Cards ${libdir}/X11/getconfig ${libdir}/X11/etc ${libdir}/modules/*.so ${libdir}/xorg/modules/*.so /etc/X11 ${libdir}/xorg/protocol.txt ${datadir}/X11/xorg.conf.d"
 FILES_${PN}-dev += "${libdir}/xorg/modules/*.la ${libdir}/xorg/modules/*/*.la"
@@ -95,7 +82,12 @@  FILES_${PN}-xvfb = "${bindir}/Xvfb"
 FILES_${PN}-utils = "${bindir}/scanpci ${bindir}/pcitweak ${bindir}/ioport ${bindir}/in[bwl] ${bindir}/out[bwl] ${bindir}/mmap[rw] ${bindir}/gtf ${bindir}/getconfig ${bindir}/getconfig.pl"
 FILES_${PN}-xephyr = "${bindir}/Xephyr"
 FILES_${PN}-multimedia-modules = "${libdir}/xorg/modules/multimedia/*drv*"
+FILES_${PN}-extension-dri = "${libdir}/xorg/modules/extensions/libdri.so"
+FILES_${PN}-extension-dri2 = "${libdir}/xorg/modules/extensions/libdri2.so"
 FILES_${PN}-extension-glx = "${libdir}/xorg/modules/extensions/libglx.so"
+FILES_${PN}-extension-record = "${libdir}/xorg/modules/extensions/librecord.so"
+FILES_${PN}-extension-extmod = "${libdir}/xorg/modules/extensions/libextmod.so"
+FILES_${PN}-extension-dbe = "${libdir}/xorg/modules/extensions/libdbe.so"
 FILES_${PN}-module-libint10 = "${libdir}/xorg/modules/libint10.so"
 FILES_${PN}-module-libafb = "${libdir}/xorg/modules/libafb.so"
 FILES_${PN}-module-libwfb = "${libdir}/xorg/modules/libwfb.so"
diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.13.0.bb b/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.13.0.bb
index 8ad87b8..3b102cb 100644
--- a/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.13.0.bb
+++ b/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.13.0.bb
@@ -10,3 +10,25 @@  SRC_URI[md5sum] = "bde3d178b756597d2ec2a19ef60d2e1f"
 SRC_URI[sha256sum] = "548b91cb01087ad4f892428e7ac4955251cf12393e86c70420436b33848ef28a"
 
 PR = "${INC_PR}.0"
+
+# These extensions are now integrated into the server, so declare the migration
+# path for in-place upgrades.
+
+RREPLACES_${PN} =  "${PN}-extension-dri \
+                    ${PN}-extension-dri2 \
+                    ${PN}-extension-record \
+                    ${PN}-extension-extmod \
+                    ${PN}-extension-dbe \
+                   "
+RPROVIDES_${PN} =  "${PN}-extension-dri \
+                    ${PN}-extension-dri2 \
+                    ${PN}-extension-record \
+                    ${PN}-extension-extmod \
+                    ${PN}-extension-dbe \
+                   "
+RCONFLICTS_${PN} = "${PN}-extension-dri \
+                    ${PN}-extension-dri2 \
+                    ${PN}-extension-record \
+                    ${PN}-extension-extmod \
+                    ${PN}-extension-dbe \
+                   "