Merge tag 'kraxel-20220704-pull-request' of https://gitlab.com/kraxel/qemu into staging
[qemu.git] / scripts / make-release
1 #!/bin/bash -e
2 #
3 # QEMU Release Script
4 #
5 # Copyright IBM, Corp. 2012
6 #
7 # Authors:
8 #  Anthony Liguori <aliguori@us.ibm.com>
9 #
10 # This work is licensed under the terms of the GNU GPLv2 or later.
11 # See the COPYING file in the top-level directory.
12
13 src="$1"
14 version="$2"
15 destination=qemu-${version}
16
17 git clone "${src}" ${destination}
18 pushd ${destination}
19 git checkout "v${version}"
20 git submodule update --init
21 (cd roms/seabios && git describe --tags --long --dirty > .version)
22 (cd roms/skiboot && ./make_version.sh > .version)
23 # Fetch edk2 submodule's submodules, since it won't have access to them via
24 # the tarball later.
25 #
26 # A more uniform way to handle this sort of situation would be nice, but we
27 # don't necessarily have much control over how a submodule handles its
28 # submodule dependencies, so we continue to handle these on a case-by-case
29 # basis for now.
30 (cd roms/edk2 && \
31     git submodule update --init -- \
32         ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 \
33         BaseTools/Source/C/BrotliCompress/brotli \
34         CryptoPkg/Library/OpensslLib/openssl \
35         MdeModulePkg/Library/BrotliCustomDecompressLib/brotli)
36 popd
37 tar --exclude=.git -cjf ${destination}.tar.bz2 ${destination}
38 rm -rf ${destination}