[PATCH] make-release: do not ship dtc sources

Paolo Bonzini posted 1 patch 7 months, 1 week ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20230926144149.715750-1-pbonzini@redhat.com
Maintainers: Paolo Bonzini <pbonzini@redhat.com>, "Marc-André Lureau" <marcandre.lureau@redhat.com>, "Daniel P. Berrangé" <berrange@redhat.com>, Thomas Huth <thuth@redhat.com>, "Philippe Mathieu-Daudé" <philmd@linaro.org>, "Alex Bennée" <alex.bennee@linaro.org>, Wainer dos Santos Moschetta <wainersm@redhat.com>, Beraldo Leal <bleal@redhat.com>
meson.build               | 3 +++
scripts/archive-source.sh | 2 +-
scripts/make-release      | 2 +-
3 files changed, 5 insertions(+), 2 deletions(-)
[PATCH] make-release: do not ship dtc sources
Posted by Paolo Bonzini 7 months, 1 week ago
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(-)

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
Re: [PATCH] make-release: do not ship dtc sources
Posted by Peter Maydell 7 months, 1 week ago
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
Re: [PATCH] make-release: do not ship dtc sources
Posted by Paolo Bonzini 7 months, 1 week ago
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
Re: [PATCH] make-release: do not ship dtc sources
Posted by Marc-André Lureau 7 months, 1 week ago
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
>
>


-- 
Marc-André Lureau