diff mbox series

make-release: do not ship dtc sources

Message ID 20230926144149.715750-1-pbonzini@redhat.com
State New
Headers show
Series make-release: do not ship dtc sources | expand

Commit Message

Paolo Bonzini Sept. 26, 2023, 2:41 p.m. UTC
A new enough libfdt is included in all of Debian 11, Ubuntu 20.04
and MSYS2.  It has also been included for several minor releases
in Fedora and openSUSE Leap, as well as in CentOS.  Therefore
there is no need anymore to ship the sources together with the QEMU
tarballs.

Keep the wrap file so that it can be used with --enable-download,
but do not ship the sources anymore with either archive-source.sh
or make-release.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 meson.build               | 3 +++
 scripts/archive-source.sh | 2 +-
 scripts/make-release      | 2 +-
 3 files changed, 5 insertions(+), 2 deletions(-)

Comments

Marc-André Lureau Sept. 26, 2023, 3:47 p.m. UTC | #1
On Tue, Sep 26, 2023 at 6:43 PM Paolo Bonzini <pbonzini@redhat.com> wrote:
>
> A new enough libfdt is included in all of Debian 11, Ubuntu 20.04
> and MSYS2.  It has also been included for several minor releases
> in Fedora and openSUSE Leap, as well as in CentOS.  Therefore
> there is no need anymore to ship the sources together with the QEMU
> tarballs.
>
> Keep the wrap file so that it can be used with --enable-download,
> but do not ship the sources anymore with either archive-source.sh
> or make-release.
>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>

> ---
>  meson.build               | 3 +++
>  scripts/archive-source.sh | 2 +-
>  scripts/make-release      | 2 +-
>  3 files changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/meson.build b/meson.build
> index 5139db2ff7c..81430ce2348 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -3070,6 +3070,9 @@ if fdt_required.length() > 0 or fdt_opt == 'enabled'
>    endif
>
>    if fdt_opt in ['enabled', 'auto', 'system']
> +    if get_option('wrap_mode') == 'nodownload'
> +      fdt_opt = 'system'
> +    endif
>      fdt = cc.find_library('fdt', required: fdt_opt == 'system')
>      if fdt.found() and cc.links('''
>         #include <libfdt.h>
> diff --git a/scripts/archive-source.sh b/scripts/archive-source.sh
> index 48996304910..65af8063e4b 100755
> --- a/scripts/archive-source.sh
> +++ b/scripts/archive-source.sh
> @@ -26,7 +26,7 @@ sub_file="${sub_tdir}/submodule.tar"
>  # independent of what the developer currently has initialized
>  # in their checkout, because the build environment is completely
>  # different to the host OS.
> -subprojects="dtc keycodemapdb libvfio-user berkeley-softfloat-3 berkeley-testfloat-3"
> +subprojects="keycodemapdb libvfio-user berkeley-softfloat-3 berkeley-testfloat-3"
>  sub_deinit=""
>
>  function cleanup() {
> diff --git a/scripts/make-release b/scripts/make-release
> index c5db87b3f91..9c570b87f4a 100755
> --- a/scripts/make-release
> +++ b/scripts/make-release
> @@ -17,7 +17,7 @@ if [ $# -ne 2 ]; then
>  fi
>
>  # Only include wraps that are invoked with subproject()
> -SUBPROJECTS="dtc libvfio-user keycodemapdb berkeley-softfloat-3 berkeley-testfloat-3"
> +SUBPROJECTS="libvfio-user keycodemapdb berkeley-softfloat-3 berkeley-testfloat-3"
>
>  src="$1"
>  version="$2"
> --
> 2.41.0
>
>
Peter Maydell Sept. 26, 2023, 4 p.m. UTC | #2
On Tue, 26 Sept 2023 at 15:42, Paolo Bonzini <pbonzini@redhat.com> wrote:
>
> A new enough libfdt is included in all of Debian 11, Ubuntu 20.04
> and MSYS2.  It has also been included for several minor releases
> in Fedora and openSUSE Leap, as well as in CentOS.  Therefore
> there is no need anymore to ship the sources together with the QEMU
> tarballs.
>
> Keep the wrap file so that it can be used with --enable-download,
> but do not ship the sources anymore with either archive-source.sh
> or make-release.

Can you explain this use case in a little more detail? I'm
clear on the two poles of:
 (1) dependency isn't in all our supported distros, so we need
     to provide sources and handle building it ourselves
 (2) dependency is in all our supported distros, so we don't
     need any special support because meson will find the
     system library and headers

but I'm not sure when we'd want something in the middle, which
is what this sounds like?

thanks
-- PMM
Paolo Bonzini Sept. 26, 2023, 4:08 p.m. UTC | #3
On Tue, Sep 26, 2023 at 6:00 PM Peter Maydell <peter.maydell@linaro.org> wrote:
> > Keep the wrap file so that it can be used with --enable-download,
> > but do not ship the sources anymore with either archive-source.sh
> > or make-release.
>
> Can you explain this use case in a little more detail? I'm
> clear on the two poles of:
>  (1) dependency isn't in all our supported distros, so we need
>      to provide sources and handle building it ourselves
>  (2) dependency is in all our supported distros, so we don't
>      need any special support because meson will find the
>      system library and headers
>
> but I'm not sure when we'd want something in the middle, which
> is what this sounds like?

I kept the .wrap file because --enable-fdt=internal, currently, forces
the build to use an embedded static libfdt and I wasn't sure if
anybody was using it.

If there is anyone it could be Stefan's win32 builds. I didn't want to
mess those up. If he's not, I'm happy to drop it as well.

Paolo
diff mbox series

Patch

diff --git a/meson.build b/meson.build
index 5139db2ff7c..81430ce2348 100644
--- a/meson.build
+++ b/meson.build
@@ -3070,6 +3070,9 @@  if fdt_required.length() > 0 or fdt_opt == 'enabled'
   endif
 
   if fdt_opt in ['enabled', 'auto', 'system']
+    if get_option('wrap_mode') == 'nodownload'
+      fdt_opt = 'system'
+    endif
     fdt = cc.find_library('fdt', required: fdt_opt == 'system')
     if fdt.found() and cc.links('''
        #include <libfdt.h>
diff --git a/scripts/archive-source.sh b/scripts/archive-source.sh
index 48996304910..65af8063e4b 100755
--- a/scripts/archive-source.sh
+++ b/scripts/archive-source.sh
@@ -26,7 +26,7 @@  sub_file="${sub_tdir}/submodule.tar"
 # independent of what the developer currently has initialized
 # in their checkout, because the build environment is completely
 # different to the host OS.
-subprojects="dtc keycodemapdb libvfio-user berkeley-softfloat-3 berkeley-testfloat-3"
+subprojects="keycodemapdb libvfio-user berkeley-softfloat-3 berkeley-testfloat-3"
 sub_deinit=""
 
 function cleanup() {
diff --git a/scripts/make-release b/scripts/make-release
index c5db87b3f91..9c570b87f4a 100755
--- a/scripts/make-release
+++ b/scripts/make-release
@@ -17,7 +17,7 @@  if [ $# -ne 2 ]; then
 fi
 
 # Only include wraps that are invoked with subproject()
-SUBPROJECTS="dtc libvfio-user keycodemapdb berkeley-softfloat-3 berkeley-testfloat-3"
+SUBPROJECTS="libvfio-user keycodemapdb berkeley-softfloat-3 berkeley-testfloat-3"
 
 src="$1"
 version="$2"