diff mbox series

[for-4.19,6/6] build: Drop xorg-x11 as a build dependency

Message ID 20240705152037.1920276-7-andrew.cooper3@citrix.com (mailing list archive)
State New
Headers show
Series CI: Fixes, part 2 | expand

Commit Message

Andrew Cooper July 5, 2024, 3:20 p.m. UTC
The history on this one is complicated.  The note to README was added in
commit 1f95747a4f16 ("Add openssl-dev and xorg-x11-dev to README") in 2007.

At the time, there was a vendered version of Qemu in xen.git with a local
modification using <X11/keysymdef.h> to access the monitor console over VNC.

The final reference to keysymdef.h was dropped in commit 85896a7c4dc7 ("build:
add autoconf to replace custom checks in tools/check") in 2012.  The next
prior mention was in 2009 with commit a8ccb671c377 ("tools: fix x11 check")
noting that x11 was not a direct dependcy of Xen; it was transitive through
SDL for Qemu for source-based distros.

These days its only the Debian based dockerfiles which install xorg-x11, and
Qemu builds fine in these and others without x11.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Anthony PERARD <anthony.perard@vates.tech>
CC: Juergen Gross <jgross@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Jan Beulich <JBeulich@suse.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>

This in particular should shrink the size of the containers somewhat.
---
 README                                              | 1 -
 automation/build/debian/bookworm-arm64v8.dockerfile | 1 -
 automation/build/debian/bookworm-i386.dockerfile    | 1 -
 automation/build/debian/bookworm.dockerfile         | 1 -
 automation/build/debian/jessie-i386.dockerfile      | 1 -
 automation/build/debian/jessie.dockerfile           | 1 -
 automation/build/debian/stretch-i386.dockerfile     | 1 -
 automation/build/debian/stretch.dockerfile          | 1 -
 automation/build/ubuntu/bionic.dockerfile           | 1 -
 automation/build/ubuntu/focal.dockerfile            | 1 -
 automation/build/ubuntu/trusty.dockerfile           | 1 -
 automation/build/ubuntu/xenial.dockerfile           | 1 -
 12 files changed, 12 deletions(-)

Comments

Jan Beulich July 8, 2024, 6:49 a.m. UTC | #1
On 05.07.2024 17:20, Andrew Cooper wrote:
> The history on this one is complicated.  The note to README was added in
> commit 1f95747a4f16 ("Add openssl-dev and xorg-x11-dev to README") in 2007.
> 
> At the time, there was a vendered version of Qemu in xen.git with a local
> modification using <X11/keysymdef.h> to access the monitor console over VNC.
> 
> The final reference to keysymdef.h was dropped in commit 85896a7c4dc7 ("build:
> add autoconf to replace custom checks in tools/check") in 2012.  The next
> prior mention was in 2009 with commit a8ccb671c377 ("tools: fix x11 check")
> noting that x11 was not a direct dependcy of Xen; it was transitive through
> SDL for Qemu for source-based distros.
> 
> These days its only the Debian based dockerfiles which install xorg-x11, and
> Qemu builds fine in these and others without x11.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

There may be one more past dependency, but I'm not sure since I don't know
the package split in the distros you touch files for. In unmodified_drivers/
(removed in 4.14) there was a use of the lndir utility coming (on SUSE
distros) in xorg-x11-util-devel. Then again unmodified_drivers/ may never
have been of any interest to gitlab-CI.

Jan
Roger Pau Monné July 8, 2024, 9:25 a.m. UTC | #2
On Fri, Jul 05, 2024 at 04:20:37PM +0100, Andrew Cooper wrote:
> The history on this one is complicated.  The note to README was added in
> commit 1f95747a4f16 ("Add openssl-dev and xorg-x11-dev to README") in 2007.
> 
> At the time, there was a vendered version of Qemu in xen.git with a local
> modification using <X11/keysymdef.h> to access the monitor console over VNC.
> 
> The final reference to keysymdef.h was dropped in commit 85896a7c4dc7 ("build:
> add autoconf to replace custom checks in tools/check") in 2012.  The next
> prior mention was in 2009 with commit a8ccb671c377 ("tools: fix x11 check")
> noting that x11 was not a direct dependcy of Xen; it was transitive through
> SDL for Qemu for source-based distros.
> 
> These days its only the Debian based dockerfiles which install xorg-x11, and
> Qemu builds fine in these and others without x11.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Roger Pau Monné <roger.pau@citrix.com>

Thanks, Roger.
Andrew Cooper July 8, 2024, 10:21 a.m. UTC | #3
On 08/07/2024 7:49 am, Jan Beulich wrote:
> On 05.07.2024 17:20, Andrew Cooper wrote:
>> The history on this one is complicated.  The note to README was added in
>> commit 1f95747a4f16 ("Add openssl-dev and xorg-x11-dev to README") in 2007.
>>
>> At the time, there was a vendered version of Qemu in xen.git with a local
>> modification using <X11/keysymdef.h> to access the monitor console over VNC.
>>
>> The final reference to keysymdef.h was dropped in commit 85896a7c4dc7 ("build:
>> add autoconf to replace custom checks in tools/check") in 2012.  The next
>> prior mention was in 2009 with commit a8ccb671c377 ("tools: fix x11 check")
>> noting that x11 was not a direct dependcy of Xen; it was transitive through
>> SDL for Qemu for source-based distros.
>>
>> These days its only the Debian based dockerfiles which install xorg-x11, and
>> Qemu builds fine in these and others without x11.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> There may be one more past dependency, but I'm not sure since I don't know
> the package split in the distros you touch files for. In unmodified_drivers/
> (removed in 4.14) there was a use of the lndir utility coming (on SUSE
> distros) in xorg-x11-util-devel. Then again unmodified_drivers/ may never
> have been of any interest to gitlab-CI.

Huh.  I've not come across lndir before, but we've got an opencoded
forms of it in several places.  (tools/include, and
tools/firmware/xen-dir, maybe others.)

Still - as a build dependency, it should be the main xorg package, not
the *-dev{el} package.  Whether a dev{el} package pulls in the main
package is distro-dependent.

4.15 is the oldest tree we test in Gitlab CI, and I don't believe we
built unmodified_drivers/ in prior versions either.

Either way - I don't think this alters the outcome of the patch.  I can
add a paragraph to the commit message noting that there might have been
another unspecified dependency on xorg ?

~Andrew
Jan Beulich July 8, 2024, 10:28 a.m. UTC | #4
On 08.07.2024 12:21, Andrew Cooper wrote:
> On 08/07/2024 7:49 am, Jan Beulich wrote:
>> On 05.07.2024 17:20, Andrew Cooper wrote:
>>> The history on this one is complicated.  The note to README was added in
>>> commit 1f95747a4f16 ("Add openssl-dev and xorg-x11-dev to README") in 2007.
>>>
>>> At the time, there was a vendered version of Qemu in xen.git with a local
>>> modification using <X11/keysymdef.h> to access the monitor console over VNC.
>>>
>>> The final reference to keysymdef.h was dropped in commit 85896a7c4dc7 ("build:
>>> add autoconf to replace custom checks in tools/check") in 2012.  The next
>>> prior mention was in 2009 with commit a8ccb671c377 ("tools: fix x11 check")
>>> noting that x11 was not a direct dependcy of Xen; it was transitive through
>>> SDL for Qemu for source-based distros.
>>>
>>> These days its only the Debian based dockerfiles which install xorg-x11, and
>>> Qemu builds fine in these and others without x11.
>>>
>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> There may be one more past dependency, but I'm not sure since I don't know
>> the package split in the distros you touch files for. In unmodified_drivers/
>> (removed in 4.14) there was a use of the lndir utility coming (on SUSE
>> distros) in xorg-x11-util-devel. Then again unmodified_drivers/ may never
>> have been of any interest to gitlab-CI.
> 
> Huh.  I've not come across lndir before, but we've got an opencoded
> forms of it in several places.  (tools/include, and
> tools/firmware/xen-dir, maybe others.)
> 
> Still - as a build dependency, it should be the main xorg package, not
> the *-dev{el} package.  Whether a dev{el} package pulls in the main
> package is distro-dependent.

Just to mention it: It is the -devel package where this script lives (for
our distros at least), not the main one. I don't expect any -devel would
be pulled in by any main package?

> 4.15 is the oldest tree we test in Gitlab CI, and I don't believe we
> built unmodified_drivers/ in prior versions either.

Oh, sure, I didn't mean to indicate any change would be necessary, except ...

> Either way - I don't think this alters the outcome of the patch.  I can
> add a paragraph to the commit message noting that there might have been
> another unspecified dependency on xorg ?

... perhaps mention of this (yet later removed) dependency we had.

Jan
diff mbox series

Patch

diff --git a/README b/README
index bf6b8cd4d658..560247e7103c 100644
--- a/README
+++ b/README
@@ -52,7 +52,6 @@  provided by your OS distributor:
     * Development install of zlib (e.g., zlib-dev)
     * Development install of Python 2.7 or later (e.g., python-dev)
     * Development install of curses (e.g., libncurses-dev)
-    * Development install of x11 (e.g. xorg-x11-dev)
     * Development install of uuid (e.g. uuid-dev)
     * Development install of yajl (e.g. libyajl-dev)
     * Development install of libaio (e.g. libaio-dev) version 0.3.107 or
diff --git a/automation/build/debian/bookworm-arm64v8.dockerfile b/automation/build/debian/bookworm-arm64v8.dockerfile
index a36b04e75e95..11acc07bff0e 100644
--- a/automation/build/debian/bookworm-arm64v8.dockerfile
+++ b/automation/build/debian/bookworm-arm64v8.dockerfile
@@ -17,7 +17,6 @@  RUN apt-get update && \
         libncurses5-dev \
         python3-dev \
         python3-setuptools \
-        xorg-dev \
         uuid-dev \
         libyajl-dev \
         libaio-dev \
diff --git a/automation/build/debian/bookworm-i386.dockerfile b/automation/build/debian/bookworm-i386.dockerfile
index 2ccf32193f26..66fa3121c54e 100644
--- a/automation/build/debian/bookworm-i386.dockerfile
+++ b/automation/build/debian/bookworm-i386.dockerfile
@@ -19,7 +19,6 @@  RUN apt-get update && \
         libncurses5-dev \
         python3-dev \
         python3-setuptools \
-        xorg-dev \
         uuid-dev \
         libyajl-dev \
         libaio-dev \
diff --git a/automation/build/debian/bookworm.dockerfile b/automation/build/debian/bookworm.dockerfile
index d02e3df61f76..db866fde3074 100644
--- a/automation/build/debian/bookworm.dockerfile
+++ b/automation/build/debian/bookworm.dockerfile
@@ -17,7 +17,6 @@  RUN apt-get update && \
         libncurses5-dev \
         python3-dev \
         python3-setuptools \
-        xorg-dev \
         uuid-dev \
         libyajl-dev \
         libaio-dev \
diff --git a/automation/build/debian/jessie-i386.dockerfile b/automation/build/debian/jessie-i386.dockerfile
index d66d0692029b..dfa6dae06cb8 100644
--- a/automation/build/debian/jessie-i386.dockerfile
+++ b/automation/build/debian/jessie-i386.dockerfile
@@ -25,7 +25,6 @@  RUN apt-get update && \
         zlib1g-dev \
         libncurses5-dev \
         python-dev \
-        xorg-dev \
         uuid-dev \
         libyajl-dev \
         libaio-dev \
diff --git a/automation/build/debian/jessie.dockerfile b/automation/build/debian/jessie.dockerfile
index 53c3bb28f175..82dae9ec70c4 100644
--- a/automation/build/debian/jessie.dockerfile
+++ b/automation/build/debian/jessie.dockerfile
@@ -23,7 +23,6 @@  RUN apt-get update && \
         zlib1g-dev \
         libncurses5-dev \
         python-dev \
-        xorg-dev \
         uuid-dev \
         libyajl-dev \
         libaio-dev \
diff --git a/automation/build/debian/stretch-i386.dockerfile b/automation/build/debian/stretch-i386.dockerfile
index 36108335e5c7..905096ab0ef1 100644
--- a/automation/build/debian/stretch-i386.dockerfile
+++ b/automation/build/debian/stretch-i386.dockerfile
@@ -26,7 +26,6 @@  RUN apt-get update && \
         libncurses5-dev \
         python-dev \
         python3-dev \
-        xorg-dev \
         uuid-dev \
         libyajl-dev \
         libaio-dev \
diff --git a/automation/build/debian/stretch.dockerfile b/automation/build/debian/stretch.dockerfile
index c5339d3c835f..b99d229acf14 100644
--- a/automation/build/debian/stretch.dockerfile
+++ b/automation/build/debian/stretch.dockerfile
@@ -24,7 +24,6 @@  RUN apt-get update && \
         libncurses5-dev \
         python-dev \
         python3-dev \
-        xorg-dev \
         uuid-dev \
         libyajl-dev \
         libaio-dev \
diff --git a/automation/build/ubuntu/bionic.dockerfile b/automation/build/ubuntu/bionic.dockerfile
index c83624e8ca1e..c1effc725e17 100644
--- a/automation/build/ubuntu/bionic.dockerfile
+++ b/automation/build/ubuntu/bionic.dockerfile
@@ -17,7 +17,6 @@  RUN apt-get update && \
         libncurses5-dev \
         python-dev \
         python3-dev \
-        xorg-dev \
         uuid-dev \
         libyajl-dev \
         libaio-dev \
diff --git a/automation/build/ubuntu/focal.dockerfile b/automation/build/ubuntu/focal.dockerfile
index cabbebf37754..b49e53d185b4 100644
--- a/automation/build/ubuntu/focal.dockerfile
+++ b/automation/build/ubuntu/focal.dockerfile
@@ -17,7 +17,6 @@  RUN apt-get update && \
         libncurses5-dev \
         python3-dev \
         python3-setuptools \
-        xorg-dev \
         uuid-dev \
         libyajl-dev \
         libaio-dev \
diff --git a/automation/build/ubuntu/trusty.dockerfile b/automation/build/ubuntu/trusty.dockerfile
index ecbcb71b1c21..1cda1bbd3fea 100644
--- a/automation/build/ubuntu/trusty.dockerfile
+++ b/automation/build/ubuntu/trusty.dockerfile
@@ -17,7 +17,6 @@  RUN apt-get update && \
         libncurses5-dev \
         python-dev \
         python3-dev \
-        xorg-dev \
         uuid-dev \
         libyajl-dev \
         libaio-dev \
diff --git a/automation/build/ubuntu/xenial.dockerfile b/automation/build/ubuntu/xenial.dockerfile
index 13ecae7a0b81..aa8f560286b6 100644
--- a/automation/build/ubuntu/xenial.dockerfile
+++ b/automation/build/ubuntu/xenial.dockerfile
@@ -17,7 +17,6 @@  RUN apt-get update && \
         libncurses5-dev \
         python-dev \
         python3-dev \
-        xorg-dev \
         uuid-dev \
         libyajl-dev \
         libaio-dev \