Adding debian version 1:10.0.2+ds-1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
This commit is contained in:
parent
ea34ddeea6
commit
665688c177
95 changed files with 13839 additions and 0 deletions
74
debian/README-components-versions
vendored
Normal file
74
debian/README-components-versions
vendored
Normal file
|
@ -0,0 +1,74 @@
|
|||
Evolution of qemu-related packages in debian
|
||||
|
||||
kvm: was a binary package providing /usr/bin/kvm before squeeze.
|
||||
|
||||
In squeeze it has been renamed to qemu-kvm,
|
||||
so kvm becomes a transitional package.
|
||||
|
||||
Probably can be get rid of now.
|
||||
|
||||
No need to conflict with this package, but we can force-remove it
|
||||
by conflicting with it.
|
||||
|
||||
Some packages may still Require/Depend/Suggest: kvm.
|
||||
|
||||
|
||||
qemu-kvm: was a binary package providing /usr/bin/kvm in wheezy (v. 1.1)
|
||||
|
||||
This binary become a (deprecated) shell wrapper and was a part of
|
||||
qemu-system-x86 package between versions 1.3.0+dfsg-5 (when qemu-system
|
||||
were split) up to 1.7.0+dfsg-1, with qemu-kvm package being transitional.
|
||||
|
||||
At version 1.7.0+dfsg-2, qemu-kvm packcage is not transitional anymore,
|
||||
and the wrapper is provided by qemu-kvm, not qemu-system-x86.
|
||||
|
||||
Some packages may Require/Depend/Suggest: qemu-kvm.
|
||||
|
||||
qemu: initially it was a mix of all of qemu (unrelated, not conflicting
|
||||
with qemu-kvm or kvm)
|
||||
|
||||
at 0.11.0-1 it were split to qemu-user, qemu-user-static and qemu-system.
|
||||
|
||||
Also qemu-keymaps is made a separate package at version 0.12.4+dfsg-4
|
||||
(for use together with qemu-kvm and xen and, on ubuntu, qemu-linaro).
|
||||
|
||||
And qemu-utils become a separate package (look when? since the beginning?)
|
||||
|
||||
Now it is a metapackage and a placeholder for some docs
|
||||
|
||||
qemu-system: was a package with all qemu-system-* binaries.
|
||||
|
||||
Were split into individual qemu-system-foo and qemu-system-common at version
|
||||
1.3.0+dfsg-5, so qemu-system becomes a metapackage without its own files.
|
||||
|
||||
The split introduced a bunch of qemu-system-* conflicting+replacing
|
||||
qemu-system<<1.3.0+dfsg-5.
|
||||
|
||||
At version 1.3.0+dfsg-4exp (before split, in experimental), /usr/bin/kvm was
|
||||
a part of qemu-system (and later qemu-system-x86)/
|
||||
|
||||
At the same version, virtfs-proxy-helper binary has been moved from qemu-utils
|
||||
to qemu-system (and later to qemu-system-common).
|
||||
|
||||
qemu-system-common: appeared at 1.3.0+dfsg-5, files common for all qemu-system*
|
||||
|
||||
briefly (>=1.3.0+dfsg-4exp, <<1.3.0+dfsg-5), qemu-utils had
|
||||
virtfs-proxy-helper binary which is in qemu-system-common
|
||||
|
||||
qemu-keymaps: keymap definition for qemu, qemu-kvm and xen.
|
||||
|
||||
Can be merged into qemu-system-common now, or after qemu-linaro.
|
||||
|
||||
Were split out of qemu at version 0.12.4+dfsg-4
|
||||
|
||||
qemu-utils: common utilities (part of qemu-common in ubuntu?)
|
||||
|
||||
In versions between 1.3.0+dfsg-1~exp1 and 1.3.0+dfsg-4exp, wrongly shipped
|
||||
virtfs-proxy-helper binary
|
||||
|
||||
qemu-user, qemu-user-static: user-mode qemu emulation
|
||||
|
||||
Were split out of qemu at verson 0.11.0-1 (pre-squeeze),
|
||||
do not conflict/replace anything anymore.
|
||||
|
||||
qemu-common: ubuntu package
|
16
debian/TODO
vendored
Normal file
16
debian/TODO
vendored
Normal file
|
@ -0,0 +1,16 @@
|
|||
* fix other binaries (s390-zipl, ppc_rom)
|
||||
|
||||
* permissions/ownership for /dev/vhost_net???
|
||||
|
||||
* startup script for qemu-guest-agent: check dependencies & runlevels.
|
||||
|
||||
* maybe provide activation for udev & systemd:
|
||||
|
||||
SUBSYSTEM=="virtio-ports", ATTR{name}=="org.qemu.guest_agent.0", \
|
||||
TAG+="systemd" ENV{SYSTEMD_WANTS}="qemu-guest-agent.service"
|
||||
|
||||
and dev-virtio/ports-org.qemu.guest_agent.0.device activation
|
||||
for systemd.
|
||||
|
||||
* decide what to do with qemu-bridge-helper (#691138)
|
||||
|
147
debian/binfmt-install
vendored
Executable file
147
debian/binfmt-install
vendored
Executable file
|
@ -0,0 +1,147 @@
|
|||
#!/bin/sh
|
||||
# Generate linux-user binfmt entries and registrations
|
||||
# Accepts list of formats to work on
|
||||
set -e
|
||||
|
||||
removed_fmts="ppc64abi32 cris"
|
||||
|
||||
# linux ELF_OSABI(byte7) can be 0 (traditional,SYSV) or 3 (GNU/LINUX extensions)
|
||||
# binfmt registration does not allow a enum, only value&mask. So we use broader mask
|
||||
# to allow both 0 and 3 here, this also lets 1 (HPUX) and 2 (NETBSD) - 0xfc not 0xff
|
||||
# alternative is to create 2 magic/mask pairs instead of one
|
||||
|
||||
aarch64_magic='\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7\x00'
|
||||
aarch64_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff'
|
||||
aarch64_be_magic='\x7f\x45\x4c\x46\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7'
|
||||
aarch64_be_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'
|
||||
alpha_magic='\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x26\x90'
|
||||
alpha_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff'
|
||||
arm_magic='\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00'
|
||||
arm_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff'
|
||||
armeb_magic='\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28'
|
||||
armeb_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'
|
||||
# cris_magic='\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x4c\x00'
|
||||
# cris_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff'
|
||||
hexagon_magic='\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xa4\x00'
|
||||
hexagon_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff'
|
||||
hppa_magic='\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x0f'
|
||||
hppa_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'
|
||||
i386_magic='\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x03\x00'
|
||||
i386_mask='\xff\xff\xff\xff\xff\xfe\xfe\xfc\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff'
|
||||
loongarch64_magic='\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x02\x01'
|
||||
loongarch64_mask='\xff\xff\xff\xff\xff\xff\xff\xfc\x00\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff'
|
||||
m68k_magic='\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x04'
|
||||
m68k_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'
|
||||
microblaze_magic='\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\xba\xab'
|
||||
microblaze_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'
|
||||
microblazeel_magic='\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xab\xba'
|
||||
microblazeel_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff'
|
||||
mips_magic='\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
mips_mask='\xff\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20'
|
||||
mipsel_magic='\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
mipsel_mask='\xff\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00'
|
||||
mipsn32_magic='\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20'
|
||||
mipsn32_mask='\xff\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20'
|
||||
mipsn32el_magic='\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00'
|
||||
mipsn32el_mask='\xff\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00'
|
||||
mips64_magic='\x7f\x45\x4c\x46\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08'
|
||||
mips64_mask='\xff\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'
|
||||
mips64el_magic='\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00'
|
||||
mips64el_mask='\xff\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff'
|
||||
or1k_magic='\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x5c'
|
||||
or1k_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'
|
||||
ppc_magic='\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x14'
|
||||
ppc_mask='\xff\xff\xff\xff\xff\xff\xff\xfc\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'
|
||||
ppc64_magic='\x7f\x45\x4c\x46\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x15'
|
||||
ppc64_mask='\xff\xff\xff\xff\xff\xff\xff\xfc\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'
|
||||
ppc64le_magic='\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x15\x00'
|
||||
ppc64le_mask='\xff\xff\xff\xff\xff\xff\xff\xfc\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\x00'
|
||||
riscv32_magic='\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xf3\x00'
|
||||
riscv32_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff'
|
||||
riscv64_magic='\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xf3\x00'
|
||||
riscv64_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff'
|
||||
s390x_magic='\x7f\x45\x4c\x46\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x16'
|
||||
s390x_mask='\xff\xff\xff\xff\xff\xff\xff\xfc\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'
|
||||
sh4_magic='\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x2a\x00'
|
||||
sh4_mask='\xff\xff\xff\xff\xff\xff\xff\xfc\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff'
|
||||
sh4eb_magic='\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x2a'
|
||||
sh4eb_mask='\xff\xff\xff\xff\xff\xff\xff\xfc\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'
|
||||
sparc_magic='\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x02'
|
||||
sparc_mask='\xff\xff\xff\xff\xff\xff\xff\xfc\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'
|
||||
sparc32plus_magic='\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x12'
|
||||
sparc32plus_mask='\xff\xff\xff\xff\xff\xff\xff\xfc\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'
|
||||
sparc64_magic='\x7f\x45\x4c\x46\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x2b'
|
||||
sparc64_mask='\xff\xff\xff\xff\xff\xff\xff\xfc\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'
|
||||
x86_64_magic='\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x3e\x00'
|
||||
x86_64_mask='\xff\xff\xff\xff\xff\xfe\xfe\xfc\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff'
|
||||
xtensa_magic='\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x5e\x00'
|
||||
xtensa_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff'
|
||||
xtensaeb_magic='\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x5e'
|
||||
xtensaeb_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'
|
||||
|
||||
: ${DEB_HOST_ARCH:=$(dpkg-architecture -qDEB_HOST_ARCH)}
|
||||
|
||||
# find which fmts needs to be filtered out, which is arch-dependent.
|
||||
# Drop support for emulating amd64 on i386, http://bugs.debian.org/604712
|
||||
case "$DEB_HOST_ARCH" in
|
||||
amd64 | i386 | x32) omit="i386 x86_64 x32" ;;
|
||||
arm | armel | armhf | arm64) omit="arm aarch64" ;;
|
||||
loong64) omit="loongarch64" ;;
|
||||
ppc64 | powerpc) omit="ppc ppc64 ppc64abi32" ;;
|
||||
ppc64el) omit="ppc64le" ;;
|
||||
riscv64) omit="riscv32 riscv64" ;;
|
||||
sparc | sparc64) omit="sparc sparc32plus sparc64" ;;
|
||||
*) omit="$DEB_HOST_ARCH" ;;
|
||||
esac
|
||||
|
||||
mkdir -p \
|
||||
debian/qemu-user-binfmt/usr/lib/binfmt.d \
|
||||
debian/qemu-user/usr/share/qemu/binfmt.d \
|
||||
debian/qemu-user/usr/libexec/qemu-binfmt \
|
||||
#
|
||||
# compat:
|
||||
mkdir -p \
|
||||
debian/qemu-user-static/usr/share/doc/qemu-user-static \
|
||||
#
|
||||
|
||||
for fmt in "$@" ; do
|
||||
eval "magic=\"\$${fmt}_magic\" mask=\"\$${fmt}_mask\""
|
||||
if [ ! "$magic" -o ! "$mask" ]; then
|
||||
echo "$0: unknown format $fmt (no magic/mask)" >&2; exit 1
|
||||
fi
|
||||
|
||||
ln -sf ../../bin/qemu-$fmt debian/qemu-user/usr/libexec/qemu-binfmt/$fmt-binfmt-P
|
||||
echo ":qemu-$fmt:M::$magic:$mask:/usr/libexec/qemu-binfmt/$fmt-binfmt-P:OCPF" \
|
||||
>debian/qemu-user/usr/share/qemu/binfmt.d/qemu-$fmt.conf
|
||||
|
||||
case " $omit " in
|
||||
(*" $fmt "*) ;;
|
||||
(*)
|
||||
ln -sf ../../share/qemu/binfmt.d/qemu-$fmt.conf \
|
||||
debian/qemu-user-binfmt/usr/lib/binfmt.d/
|
||||
;;
|
||||
esac
|
||||
|
||||
done
|
||||
|
||||
# generate postinst script to unregister all from binfmt-support
|
||||
# when upgrading from older qemu (<<8.0+dfsg-1~), from bookworm
|
||||
for x in qemu-user-binfmt: qemu-user-static:-static
|
||||
do
|
||||
PACKAGE=${x%:*} SUFFIX=${x#*:}
|
||||
cat >>debian/$PACKAGE.postinst.debhelper <<EOF
|
||||
binfmt_update() {
|
||||
test configure = "\$1" || return 0
|
||||
dpkg --compare-versions "\$2" lt "1:8.0+dfsg" || return 0
|
||||
command -v update-binfmts >/dev/null || return 0
|
||||
for fmt in $fmts $removed_fmts; do
|
||||
if [ -f /var/lib/binfmts/qemu-\$fmt ]; then
|
||||
[ -f /usr/bin/qemu-\$fmt$SUFFIX ] ||
|
||||
echo "$PACKAGE.preinst: note: the warning from update-binfmts about missing qemu-\$fmt$SUFFIX is okay" >&2
|
||||
update-binfmts --package $PACKAGE --remove qemu-\$fmt /usr/bin/qemu-\$fmt$SUFFIX
|
||||
fi
|
||||
done
|
||||
}
|
||||
binfmt_update "\$1" "\$2"
|
||||
EOF
|
||||
done
|
6434
debian/changelog
vendored
Normal file
6434
debian/changelog
vendored
Normal file
File diff suppressed because it is too large
Load diff
715
debian/control
vendored
Normal file
715
debian/control
vendored
Normal file
|
@ -0,0 +1,715 @@
|
|||
# autogenerated file from debian/control-in
|
||||
Source: qemu
|
||||
Section: otherosfs
|
||||
Priority: optional
|
||||
Maintainer: Debian QEMU Team <pkg-qemu-devel@lists.alioth.debian.org>
|
||||
Uploaders: Michael Tokarev <mjt@tls.msk.ru>
|
||||
Build-Depends: debhelper-compat (= 13),
|
||||
python3:any,
|
||||
python3-venv:any,
|
||||
python3:any (>> 3.11) | python3-tomli,
|
||||
meson (>> 1.5.0~), ninja-build,
|
||||
flex, bison,
|
||||
# for :native suffix see #995622
|
||||
python3-sphinx:native, python3-sphinx-rtd-theme:native,
|
||||
# python3-pycotap:native,
|
||||
Build-Depends-Arch:
|
||||
# In comments below we also specify (system-specific) arguments
|
||||
# to qemu's configure script, -- optional features which depend
|
||||
# on build-dependencies.
|
||||
# always needed
|
||||
pkgconf, libglib2.0-dev, zlib1g-dev,
|
||||
# target/hexagon/ builds a build-time (ie: native) tool using glib
|
||||
pkgconf:native, libglib2.0-dev:native,
|
||||
# iasl (from acpica-tools) is used only in a single test these days, not for building
|
||||
# acpica-tools,
|
||||
# libcapstone is in universe in ubuntu
|
||||
# --enable-capstone
|
||||
libcapstone-dev,
|
||||
# --enable-linux-aio linux-any
|
||||
libaio-dev [linux-any],
|
||||
# libsndio is in universe in ubuntu
|
||||
# --disable-sndio
|
||||
# --audio-drv-list=pipewire,pa,alsa,jack,oss,sdl amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64
|
||||
libjack-dev [amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64],
|
||||
libpulse-dev [amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64],
|
||||
libasound2-dev [amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64],
|
||||
libpipewire-0.3-dev [amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64],
|
||||
# for virtfs (now in libc6)
|
||||
# --enable-attr
|
||||
# --enable-bpf amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64
|
||||
libbpf-dev [amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64],
|
||||
# --enable-blkio amd64 arm64 loong64 mips64 mips64el ppc64 ppc64el riscv64 s390x sparc64
|
||||
libblkio-dev [amd64 arm64 loong64 mips64 mips64el ppc64 ppc64el riscv64 s390x sparc64],
|
||||
# --enable-brlapi amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64
|
||||
libbrlapi-dev [amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64],
|
||||
# --enable-virtfs amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64
|
||||
# needed for virtfs
|
||||
# --enable-cap-ng amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64
|
||||
libcap-ng-dev [amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64],
|
||||
# --enable-curl
|
||||
libcurl4-gnutls-dev,
|
||||
# --enable-fdt amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64
|
||||
libfdt-dev [amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64],
|
||||
# --enable-fuse linux-any
|
||||
libfuse3-dev [linux-any],
|
||||
# --enable-gnutls
|
||||
gnutls-dev,
|
||||
# --enable-gtk --enable-vte amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64
|
||||
libgtk-3-dev [amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64],
|
||||
libvte-2.91-dev [amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64],
|
||||
# --enable-libiscsi
|
||||
libiscsi-dev,
|
||||
# --enable-curses amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64
|
||||
libncurses-dev [amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64],
|
||||
# --enable-virglrenderer amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64
|
||||
libvirglrenderer-dev [amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64],
|
||||
# --enable-opengl amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64
|
||||
libepoxy-dev [amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64],
|
||||
libdrm-dev [amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64],
|
||||
libgbm-dev [amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64],
|
||||
# --enable-libnfs
|
||||
libnfs-dev,
|
||||
# --enable-numa amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64
|
||||
libnuma-dev [amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64],
|
||||
# --enable-smartcard amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64
|
||||
libcacard-dev [amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64],
|
||||
# --enable-pixman amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64
|
||||
libpixman-1-dev [amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64],
|
||||
# --enable-rbd amd64 arm64 loong64 mips64el ppc64el riscv64 s390x
|
||||
librbd-dev [amd64 arm64 loong64 mips64el ppc64el riscv64 s390x],
|
||||
# gluster is 64bit-only: #1039604
|
||||
# --enable-glusterfs amd64 arm64 loong64 mips64 mips64el ppc64 ppc64el riscv64 s390x sparc64
|
||||
libglusterfs-dev [amd64 arm64 loong64 mips64 mips64el ppc64 ppc64el riscv64 s390x sparc64],
|
||||
# --enable-vnc-sasl amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64
|
||||
libsasl2-dev [amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64],
|
||||
# --enable-sdl amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64
|
||||
libsdl2-dev [amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64],
|
||||
# --enable-seccomp amd64 arm64 armel armhf i386 loong64 mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x
|
||||
libseccomp-dev [amd64 arm64 armel armhf i386 loong64 mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x],
|
||||
# --enable-slirp amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64
|
||||
libslirp-dev [amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64],
|
||||
# --enable-spice amd64 i386 arm64 armel armhf loong64 mips64el mipsel ppc64el riscv64
|
||||
libspice-server-dev [amd64 i386 arm64 armel armhf loong64 mips64el mipsel ppc64el riscv64],
|
||||
# --enable-rdma linux-any
|
||||
librdmacm-dev [linux-any], libibverbs-dev [linux-any], libibumad-dev [linux-any],
|
||||
# --enable-linux-io-uring linux-any
|
||||
liburing-dev [linux-any],
|
||||
# --enable-libusb amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64
|
||||
libusb-1.0-0-dev [amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64],
|
||||
# --enable-usb-redir amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64
|
||||
libusbredirparser-dev [amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64],
|
||||
# --enable-libssh
|
||||
libssh-dev,
|
||||
# --enable-zstd
|
||||
libzstd-dev,
|
||||
# vde is debian-only since ubuntu/vde2 is in universe
|
||||
# --enable-vde amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64
|
||||
libvdeplug-dev [amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64],
|
||||
libxen-dev [linux-amd64],
|
||||
# --enable-nettle amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64
|
||||
nettle-dev [amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64],
|
||||
# other optional features we enable
|
||||
# --enable-libudev
|
||||
# needed for qga?
|
||||
libudev-dev [linux-any],
|
||||
# --enable-vnc amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64
|
||||
# --enable-vnc-jpeg amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64
|
||||
libjpeg-dev [amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64],
|
||||
# --enable-png amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64
|
||||
libpng-dev [amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64],
|
||||
# --enable-libpmem amd64 arm64
|
||||
libpmem-dev [amd64 arm64],
|
||||
# --enable-kvm amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64
|
||||
# --enable-vhost-net amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64 # is it really linux-specific?
|
||||
##--enable-lzo todo, for (memory) dumps
|
||||
##--enable-netmap todo bsd
|
||||
##--enable-xen-pci-passthrough todo
|
||||
## auth-pam - for auth for vnc&Co using PAM
|
||||
#
|
||||
# the testsuite:
|
||||
# ipxe-qemu [amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64] <!nocheck>,
|
||||
seabios (>> 1.16.3-1~) [amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64] <!nocheck>,
|
||||
qemu-system-data (>> 1:9.0) [amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64] <!nocheck>,
|
||||
#
|
||||
# vdso: for linux-user, we need small arch-specific .so files to embed them
|
||||
# into linux-user for many architectures.
|
||||
# On debian, arch and indep parts are built separately, and cross-compilers
|
||||
# to build all vdsos aren't available on all architectures. So we build a
|
||||
# tarball of them in indep build and place it in qemu-system-data. When
|
||||
# building both arch+indep parts in one go, d/rules has magic to always
|
||||
# (re)build vdso files and use the result immediately.
|
||||
# pkg.qemu.use-upstream-vdso - always use upstream pre-built vdso files,
|
||||
# do not embed vdso files into qemu-system-data binary package
|
||||
# pkg.qemu.omit-vdso-build-dep - do not Build-Depend-Arch: qemu-system-data for
|
||||
# vdso (allows to build and use vdso files with single arch+indep build)
|
||||
# Ubuntu builds both arch+indep parts (on amd64), so there this is irrelevant.
|
||||
# Effectively it always enables pkg.qemu.omit-vdso-build-dep build-profile.
|
||||
# With each upstream, check if vdso code changed and bump the version:
|
||||
qemu-system-data (>> 1:9.2.0~rc3+ds-1~) [amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64]
|
||||
<!pkg.qemu.use-upstream-vdso !pkg.qemu.omit-vdso-build-dep>,
|
||||
Build-Depends-Indep:
|
||||
# x86_64 firmware
|
||||
gcc-x86-64-linux-gnu,
|
||||
# compiler used to build i386 firmware
|
||||
gcc-i686-linux-gnu,
|
||||
# pc-bios/*.dts => *.dtb (PPC firmware)
|
||||
device-tree-compiler,
|
||||
gcc-s390x-linux-gnu,
|
||||
# qemu-palcode/palcode-clipper
|
||||
gcc-alpha-linux-gnu,
|
||||
# u-boot code
|
||||
gcc-powerpc-linux-gnu,
|
||||
# skiboot firmware, openbios
|
||||
gcc-powerpc64-linux-gnu,
|
||||
# skiboot includes <openssl/something.h>
|
||||
libssl-dev,
|
||||
# openbios
|
||||
gcc-sparc64-linux-gnu, fcode-utils, xsltproc,
|
||||
# hppa-firmware (32 and 64 bit)
|
||||
gcc-hppa-linux-gnu, gcc-hppa64-linux-gnu,
|
||||
gcc-riscv64-linux-gnu,
|
||||
# vbootrom/npcm7xx
|
||||
gcc-arm-linux-gnueabi, libc6-dev-armel-cross,
|
||||
# vbootrom/npcm8xx
|
||||
gcc-aarch64-linux-gnu, libc6-dev-arm64-cross,
|
||||
# vdso (configure:probe_target_compiler() needs libc too):
|
||||
gcc-arm-linux-gnueabi <!pkg.qemu.use-upstream-vdso>, libc6-dev-armel-cross <!pkg.qemu.use-upstream-vdso>,
|
||||
gcc-hppa-linux-gnu <!pkg.qemu.use-upstream-vdso>, libc6-dev-hppa-cross <!pkg.qemu.use-upstream-vdso>,
|
||||
gcc-i686-linux-gnu <!pkg.qemu.use-upstream-vdso>, libc6-dev-i386-cross <!pkg.qemu.use-upstream-vdso>,
|
||||
gcc-loongarch64-linux-gnu <!pkg.qemu.use-upstream-vdso>, libc6-dev-loong64-cross <!pkg.qemu.use-upstream-vdso>,
|
||||
gcc-powerpc64-linux-gnu <!pkg.qemu.use-upstream-vdso>, libc6-dev-ppc64-cross <!pkg.qemu.use-upstream-vdso>,
|
||||
gcc-riscv64-linux-gnu <!pkg.qemu.use-upstream-vdso>, libc6-dev-riscv64-cross <!pkg.qemu.use-upstream-vdso>,
|
||||
gcc-s390x-linux-gnu <!pkg.qemu.use-upstream-vdso>, libc6-dev-s390x-cross <!pkg.qemu.use-upstream-vdso>,
|
||||
gcc-x86-64-linux-gnu <!pkg.qemu.use-upstream-vdso>,
|
||||
Build-Conflicts: oss4-dev
|
||||
Standards-Version: 4.7.2
|
||||
Homepage: http://www.qemu.org/
|
||||
Rules-Requires-Root: no
|
||||
Vcs-Browser: https://salsa.debian.org/qemu-team/qemu
|
||||
Vcs-Git: https://salsa.debian.org/qemu-team/qemu.git
|
||||
|
||||
Package: qemu-system
|
||||
Architecture: amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64
|
||||
Multi-Arch: foreign
|
||||
Build-Profiles: <!pkg.qemu.omit-system>
|
||||
Depends: ${misc:Depends},
|
||||
qemu-system-arm,
|
||||
qemu-system-mips,
|
||||
qemu-system-ppc,
|
||||
qemu-system-riscv,
|
||||
qemu-system-s390x,
|
||||
qemu-system-sparc,
|
||||
qemu-system-x86,
|
||||
qemu-system-misc
|
||||
Description: QEMU full system emulation binaries
|
||||
QEMU is a fast processor emulator: currently the package supports Alpha, ARM,
|
||||
CRIS, i386, LoongArch, M68k (ColdFire), MicroBlaze, MIPS, PowerPC, RISC-V,
|
||||
S390x, SH4, SPARC, x86-64, Xtensa and other emulations. By using dynamic
|
||||
translation it achieves reasonable speed while being easy to port on new host
|
||||
CPUs.
|
||||
.
|
||||
This metapackage provides the full system emulation binaries for all supported
|
||||
targets, by depending on all per-architecture system emulation packages which
|
||||
QEMU supports.
|
||||
|
||||
Package: qemu-block-extra
|
||||
Architecture: alpha amd64 arm arm64 armel armhf hppa i386 loong64 m68k mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sh4 sparc sparc64 x32
|
||||
Multi-Arch: no
|
||||
Depends: ${misc:Depends}, ${shlibs:Depends},
|
||||
# we need to ensure qemu-block-extra is upgraded with qemu-system-* or qemu-utils
|
||||
qemu-system-any (= ${binary:Version}) [amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64] | qemu-utils (= ${binary:Version}),
|
||||
Enhances: qemu-utils,
|
||||
qemu-system-arm,
|
||||
qemu-system-mips,
|
||||
qemu-system-ppc,
|
||||
qemu-system-riscv,
|
||||
qemu-system-s390x,
|
||||
qemu-system-sparc,
|
||||
qemu-system-x86,
|
||||
qemu-system-misc,
|
||||
Provides: qemu-block-supplemental [amd64 arm64 ppc64el riscv64 s390x],
|
||||
Description: extra block backend modules for qemu-system and qemu-utils
|
||||
QEMU is a fast processor emulator: currently the package supports Alpha, ARM,
|
||||
CRIS, i386, LoongArch, M68k (ColdFire), MicroBlaze, MIPS, PowerPC, RISC-V,
|
||||
S390x, SH4, SPARC, x86-64, Xtensa and other emulations. By using dynamic
|
||||
translation it achieves reasonable speed while being easy to port on new host
|
||||
CPUs.
|
||||
.
|
||||
This package provides extra block device backend modules for qemu-system
|
||||
emulation and qemu-img from qemu-utils package, which are rarely used and
|
||||
has extra dependencies.
|
||||
|
||||
Package: qemu-system-data
|
||||
Architecture: all
|
||||
Multi-Arch: foreign
|
||||
Conflicts: sgabios, qemu-skiboot, openbios-sparc, openbios-ppc, qemu-slof,
|
||||
Replaces: sgabios, openbios-sparc, openbios-ppc, qemu-slof,
|
||||
qemu-system-ppc (<< 1:6.1-4~),
|
||||
qemu-system-common (<< 1:8.2.2+ds-1~),
|
||||
Breaks: qemu-system-ppc (<< 1:6.1-4~),
|
||||
qemu-system-common (<< 1:8.2.2+ds-1~),
|
||||
# s390x-netboot dropped in 9.2, breaks qemu-system-s390x
|
||||
qemu-system-misc (<< 1:9.1.1+ds-1~),
|
||||
qemu-system-s390x (<< 1:9.2.0~),
|
||||
Provides: qemu-keymaps, sgabios, qemu-skiboot, openbios-sparc, openbios-ppc, qemu-slof,
|
||||
Depends: ${misc:Depends}
|
||||
Description: QEMU full system emulation (data files)
|
||||
This package provides architecture-neutral data files
|
||||
(such as keyboard definitions, icons) for system-mode
|
||||
QEMU emulation (qemu-system-*) packages.
|
||||
|
||||
Package: qemu-system-common
|
||||
Architecture: amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64
|
||||
Multi-Arch: no
|
||||
Build-Profiles: <!pkg.qemu.omit-system>
|
||||
Breaks: libvirt-daemon (<< 7.2.0-1)
|
||||
Depends: ${misc:Depends}, ${shlibs:Depends},
|
||||
# to fix wrong acl for newly created device node on ubuntu:
|
||||
Description: QEMU full system emulation binaries (common files)
|
||||
QEMU is a fast processor emulator: currently the package supports Alpha, ARM,
|
||||
CRIS, i386, LoongArch, M68k (ColdFire), MicroBlaze, MIPS, PowerPC, RISC-V,
|
||||
S390x, SH4, SPARC, x86-64, Xtensa and other emulations. By using dynamic
|
||||
translation it achieves reasonable speed while being easy to port on new host
|
||||
CPUs.
|
||||
.
|
||||
This package provides common files needed for target-specific
|
||||
full system emulation (qemu-system-*) packages.
|
||||
|
||||
Package: qemu-system-gui
|
||||
Architecture: amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64
|
||||
#XXX M-A: same does not really work for now due to /usr/lib/qemu/vhost-user-gpu
|
||||
#XXX we'll deal with this if some actual need arises,
|
||||
#XXX by moving that binary back to q-s-common or packaging it separately
|
||||
#Multi-Arch: same
|
||||
Build-Profiles: <!pkg.qemu.omit-system>
|
||||
Depends: ${misc:Depends}, ${shlibs:Depends},
|
||||
# ui-* depends on ui-opengl
|
||||
qemu-system-modules-opengl (= ${binary:Version}),
|
||||
# we need to ensure qemu-system-gui is upgraded with qemu-system-*
|
||||
qemu-system-any (= ${binary:Version}),
|
||||
# libgl1 is dynamically loaded by sdl display code
|
||||
libgl1,
|
||||
# we moved vhost-user-gpu files here from qemu-system-common at 6.1-4
|
||||
Replaces: qemu-system-common (<< 1:6.1+dfsg-4~)
|
||||
Description: QEMU full system emulation binaries (graphical display and audio modules)
|
||||
This package provides optional graphical guest display modules (currently GTK
|
||||
and SDL) and audio backend modules for full system emulation (qemu-system-*)
|
||||
packages.
|
||||
.
|
||||
This package is not a management/control/GUI interface for qemu, use something
|
||||
else (like virt-manager) for that.
|
||||
|
||||
Package: qemu-system-modules-spice
|
||||
Architecture: amd64 i386 arm64 armel armhf loong64 mips64el mipsel ppc64el riscv64
|
||||
Build-Profiles: <!pkg.qemu.omit-system>
|
||||
Depends: ${misc:Depends}, ${shlibs:Depends},
|
||||
# spice modules depends on ui-opengl
|
||||
qemu-system-modules-opengl (= ${binary:Version}),
|
||||
# we need to ensure qemu-system-modules-spice is upgraded with qemu-system-*
|
||||
qemu-system-any (= ${binary:Version}),
|
||||
Replaces: qemu-system-common (<< 1:8.1.0+ds-1~exp2~)
|
||||
Breaks: qemu-system-common (<< 1:8.1.0+ds-1~exp2~)
|
||||
Description: QEMU full system emulation binaries (spice display modules)
|
||||
This package provides optional spice display (qxl and spice-app) and audio
|
||||
support modules for QEMU full system emulation (qemu-system-*) packages.
|
||||
|
||||
Package: qemu-system-modules-opengl
|
||||
Architecture: amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64
|
||||
Build-Profiles: <!pkg.qemu.omit-system>
|
||||
Depends: ${misc:Depends}, ${shlibs:Depends},
|
||||
# we need to ensure qemu-system-modules-opengl is upgraded when qemu-system is upgraded
|
||||
qemu-system-any (= ${binary:Version}),
|
||||
Replaces: qemu-system-common (<< 1:8.1.0+ds-1~exp2~), qemu-system-gui (<< 1:8.1.0+ds-1~exp2~)
|
||||
Breaks: qemu-system-common (<< 1:8.1.0+ds-1~exp2~), qemu-system-gui (<< 1:8.1.0+ds-1~exp2~)
|
||||
Description: QEMU full system emulation binaries (OpenGL display modules)
|
||||
This package provides optional OpenGL display support modules for QEMU full
|
||||
system emulation (qemu-system-*) packages. It also provides D-Bus display
|
||||
type.
|
||||
|
||||
Package: qemu-system-misc
|
||||
Architecture: amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64
|
||||
Multi-Arch: foreign
|
||||
Build-Profiles: <!pkg.qemu.omit-system>
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends},
|
||||
qemu-system-common (= ${binary:Version}),
|
||||
qemu-system-data (>> ${source:Upstream-Version}~),
|
||||
# depends on qemu-system-riscv & -s390x since 9.1.1 for now to avoid breaking
|
||||
# existing setups which used to get riscv&s390 binaries from -misc.
|
||||
# Downgrade to Recommends for one release cycle once tests are fixed
|
||||
qemu-system-riscv,
|
||||
qemu-system-s390x,
|
||||
Recommends: qemu-utils,
|
||||
# alpha uses vgabios
|
||||
# alpha m68k sh4 uses bootroms
|
||||
seabios,
|
||||
ipxe-qemu,
|
||||
qemu-system-gui (= ${binary:Version}),
|
||||
qemu-system-modules-spice (= ${binary:Version}) [amd64 i386 arm64 armel armhf loong64 mips64el mipsel ppc64el riscv64],
|
||||
qemu-system-modules-opengl (= ${binary:Version}),
|
||||
qemu-block-extra (= ${binary:Version}),
|
||||
Suggests: samba, vde2,
|
||||
Provides: ${qemu:Provides}
|
||||
Conflicts: ${qemu:Conflicts}
|
||||
Description: QEMU full system emulation binaries (miscellaneous)
|
||||
QEMU is a fast processor emulator: currently the package supports Alpha, ARM,
|
||||
CRIS, i386, LoongArch, M68k (ColdFire), MicroBlaze, MIPS, PowerPC, RISC-V,
|
||||
S390x, SH4, SPARC, x86-64, Xtensa and other emulations. By using dynamic
|
||||
translation it achieves reasonable speed while being easy to port on new host
|
||||
CPUs.
|
||||
.
|
||||
This package provides the full system emulation binaries to emulate
|
||||
various other hardware which did not made into separate packages.
|
||||
Emulators for the following architectures are provided:
|
||||
${qemu:archlist}.
|
||||
.
|
||||
In system emulation mode QEMU emulates a full system, including a processor
|
||||
and various peripherals. It enables easier testing and debugging of system
|
||||
code. It can also be used to provide virtual hosting of several virtual
|
||||
machines on a single server.
|
||||
|
||||
Package: qemu-system-arm
|
||||
Architecture: amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64
|
||||
Multi-Arch: foreign
|
||||
Build-Profiles: <!pkg.qemu.omit-system>
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, qemu-system-common (= ${binary:Version}), qemu-system-data (>> ${source:Upstream-Version}~),
|
||||
Recommends: qemu-utils,
|
||||
# aarch64 arm uses bootroms
|
||||
ipxe-qemu,
|
||||
# for now virtio-vga won't check arch and insist on vgabios-virtio.bin
|
||||
seabios,
|
||||
qemu-efi-aarch64, qemu-efi-arm,
|
||||
qemu-system-gui (= ${binary:Version}),
|
||||
qemu-system-modules-spice (= ${binary:Version}) [amd64 i386 arm64 armel armhf loong64 mips64el mipsel ppc64el riscv64],
|
||||
qemu-system-modules-opengl (= ${binary:Version}),
|
||||
qemu-block-extra (= ${binary:Version}),
|
||||
Suggests: samba, vde2,
|
||||
Provides: ${qemu:Provides}
|
||||
Conflicts: ${qemu:Conflicts}
|
||||
Description: QEMU full system emulation binaries (arm)
|
||||
QEMU is a fast processor emulator: currently the package supports
|
||||
ARM emulation. By using dynamic translation it achieves
|
||||
reasonable speed while being easy to port on new host CPUs.
|
||||
.
|
||||
This package provides the full system emulation binaries to emulate
|
||||
the following arm hardware: ${qemu:archlist}.
|
||||
.
|
||||
In system emulation mode QEMU emulates a full system, including a processor
|
||||
and various peripherals. It enables easier testing and debugging of system
|
||||
code. It can also be used to provide virtual hosting of several virtual
|
||||
machines on a single server.
|
||||
|
||||
Package: qemu-system-mips
|
||||
Architecture: amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64
|
||||
Multi-Arch: foreign
|
||||
Build-Profiles: <!pkg.qemu.omit-system>
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, qemu-system-common (= ${binary:Version}), qemu-system-data (>> ${source:Upstream-Version}~),
|
||||
Recommends: qemu-utils,
|
||||
# all mips targets uses vgabios and bootroms
|
||||
seabios,
|
||||
ipxe-qemu,
|
||||
qemu-system-gui (= ${binary:Version}),
|
||||
qemu-system-modules-spice (= ${binary:Version}) [amd64 i386 arm64 armel armhf loong64 mips64el mipsel ppc64el riscv64],
|
||||
qemu-system-modules-opengl (= ${binary:Version}),
|
||||
qemu-block-extra (= ${binary:Version}),
|
||||
Suggests: samba, vde2,
|
||||
Provides: ${qemu:Provides}
|
||||
Conflicts: ${qemu:Conflicts}
|
||||
Description: QEMU full system emulation binaries (mips)
|
||||
QEMU is a fast processor emulator: currently the package supports
|
||||
MIPS emulation. By using dynamic translation it achieves
|
||||
reasonable speed while being easy to port on new host CPUs.
|
||||
.
|
||||
This package provides the full system emulation binaries to emulate
|
||||
the following mips hardware: ${qemu:archlist}.
|
||||
.
|
||||
In system emulation mode QEMU emulates a full system, including a processor
|
||||
and various peripherals. It enables easier testing and debugging of system
|
||||
code. It can also be used to provide virtual hosting of several virtual
|
||||
machines on a single server.
|
||||
|
||||
Package: qemu-system-ppc
|
||||
Architecture: amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64
|
||||
Multi-Arch: foreign
|
||||
Build-Profiles: <!pkg.qemu.omit-system>
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, qemu-system-common (= ${binary:Version}), qemu-system-data (>> ${source:Upstream-Version}~),
|
||||
Recommends: qemu-utils,
|
||||
# ppc targets use vgabios-stdvga and bootroms
|
||||
seabios,
|
||||
ipxe-qemu,
|
||||
qemu-system-gui (= ${binary:Version}),
|
||||
qemu-system-modules-spice (= ${binary:Version}) [amd64 i386 arm64 armel armhf loong64 mips64el mipsel ppc64el riscv64],
|
||||
qemu-system-modules-opengl (= ${binary:Version}),
|
||||
qemu-block-extra (= ${binary:Version}),
|
||||
Suggests: samba, vde2,
|
||||
Provides: ${qemu:Provides}
|
||||
Conflicts: ${qemu:Conflicts}
|
||||
Description: QEMU full system emulation binaries (ppc)
|
||||
QEMU is a fast processor emulator: currently the package supports
|
||||
PowerPC emulation. By using dynamic translation it achieves
|
||||
reasonable speed while being easy to port on new host CPUs.
|
||||
.
|
||||
This package provides the full system emulation binaries to emulate
|
||||
the following PowerPC hardware: ${qemu:archlist}.
|
||||
.
|
||||
In system emulation mode QEMU emulates a full system, including a processor
|
||||
and various peripherals. It enables easier testing and debugging of system
|
||||
code. It can also be used to provide virtual hosting of several virtual
|
||||
machines on a single server.
|
||||
|
||||
Package: qemu-system-riscv
|
||||
Architecture: amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64
|
||||
Multi-Arch: foreign
|
||||
Build-Profiles: <!pkg.qemu.omit-system>
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends},
|
||||
qemu-system-common (= ${binary:Version}),
|
||||
qemu-system-data (>> ${source:Upstream-Version}~),
|
||||
opensbi (>> 1.5.1-1~),
|
||||
Recommends: qemu-utils,
|
||||
ipxe-qemu,
|
||||
Breaks: qemu-system-data (<< 1:9.1.0+ds-4~), qemu-system-misc (<< 1:9.1.0+ds-9~)
|
||||
Replaces: qemu-system-data (<< 1:9.1.0+ds-4~), qemu-system-misc (<< 1:9.1.0+ds-9~)
|
||||
Suggests: samba, vde2,
|
||||
Provides: ${qemu:Provides}
|
||||
Conflicts: ${qemu:Conflicts}
|
||||
Description: QEMU full system emulation binaries (riscv)
|
||||
QEMU is a fast processor emulator: currently the package supports
|
||||
riscv emulation. By using dynamic translation it achieves
|
||||
reasonable speed while being easy to port on new host CPUs.
|
||||
.
|
||||
This package provides the full system emulation binaries to emulate
|
||||
the following riscv hardware: ${qemu:archlist}.
|
||||
|
||||
Package: qemu-system-s390x
|
||||
Architecture: amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64
|
||||
Multi-Arch: foreign
|
||||
Build-Profiles: <!pkg.qemu.omit-system>
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, qemu-system-common (= ${binary:Version}), qemu-system-data (>> ${source:Upstream-Version}~),
|
||||
Recommends: qemu-utils,
|
||||
qemu-system-gui (= ${binary:Version}),
|
||||
qemu-system-modules-spice (= ${binary:Version}) [amd64 i386 arm64 armel armhf loong64 mips64el mipsel ppc64el riscv64],
|
||||
qemu-system-modules-opengl (= ${binary:Version}),
|
||||
qemu-block-extra (= ${binary:Version}),
|
||||
Breaks: qemu-system-misc (<< 1:9.1.0+ds-9~)
|
||||
Replaces: qemu-system-misc (<< 1:9.1.0+ds-9~)
|
||||
Provides: ${qemu:Provides}
|
||||
Conflicts: ${qemu:Conflicts}
|
||||
Description: QEMU full system emulation binaries (s390x)
|
||||
QEMU is a fast processor emulator: currently the package supports
|
||||
s390x emulation. By using dynamic translation it achieves reasonable
|
||||
speed while being easy to port on new host CPUs.
|
||||
.
|
||||
This package provides the full system emulation binaries to emulate
|
||||
the following s390x hardware: ${qemu:archlist}.
|
||||
.
|
||||
In system emulation mode QEMU emulates a full system, including a processor
|
||||
and various peripherals. It enables easier testing and debugging of system
|
||||
code. It can also be used to provide virtual hosting of several virtual
|
||||
machines on a single server.
|
||||
|
||||
Package: qemu-system-sparc
|
||||
Architecture: amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64
|
||||
Multi-Arch: foreign
|
||||
Build-Profiles: <!pkg.qemu.omit-system>
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, qemu-system-common (= ${binary:Version}), qemu-system-data (>> ${source:Upstream-Version}~),
|
||||
Recommends: qemu-utils,
|
||||
# sparc64 uses vgabios-stdvga and bootroms
|
||||
seabios,
|
||||
ipxe-qemu,
|
||||
qemu-system-gui (= ${binary:Version}),
|
||||
qemu-system-modules-spice (= ${binary:Version}) [amd64 i386 arm64 armel armhf loong64 mips64el mipsel ppc64el riscv64],
|
||||
qemu-system-modules-opengl (= ${binary:Version}),
|
||||
qemu-block-extra (= ${binary:Version}),
|
||||
Suggests: samba, vde2,
|
||||
Provides: ${qemu:Provides}
|
||||
Conflicts: ${qemu:Conflicts}
|
||||
Description: QEMU full system emulation binaries (sparc)
|
||||
QEMU is a fast processor emulator: currently the package supports
|
||||
SPARC emulation. By using dynamic translation it achieves
|
||||
reasonable speed while being easy to port on new host CPUs.
|
||||
.
|
||||
This package provides the full system emulation binaries to emulate
|
||||
the following sparc hardware: ${qemu:archlist}.
|
||||
.
|
||||
In system emulation mode QEMU emulates a full system, including a processor
|
||||
and various peripherals. It enables easier testing and debugging of system
|
||||
code. It can also be used to provide virtual hosting of several virtual
|
||||
machines on a single server.
|
||||
|
||||
|
||||
Package: qemu-system-x86
|
||||
Architecture: amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64
|
||||
Multi-Arch: foreign
|
||||
Build-Profiles: <!pkg.qemu.omit-system>
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, qemu-system-common (= ${binary:Version}), qemu-system-data (>> ${source:Upstream-Version}~),
|
||||
seabios (>> 1.16.3-1~),
|
||||
ipxe-qemu,
|
||||
Recommends: qemu-utils,
|
||||
ovmf,
|
||||
qemu-system-gui (= ${binary:Version}),
|
||||
qemu-system-modules-spice (= ${binary:Version}) [amd64 i386 arm64 armel armhf loong64 mips64el mipsel ppc64el riscv64],
|
||||
qemu-system-modules-opengl (= ${binary:Version}),
|
||||
qemu-block-extra (= ${binary:Version}),
|
||||
Suggests: samba, vde2,
|
||||
Provides: ${qemu:Provides}
|
||||
Conflicts: ${qemu:Conflicts}
|
||||
Description: QEMU full system emulation binaries (x86)
|
||||
QEMU is a fast processor emulator: currently the package supports
|
||||
i386 and x86-64 emulation. By using dynamic translation it achieves
|
||||
reasonable speed while being easy to port on new host CPUs.
|
||||
.
|
||||
This package provides the full system emulation binaries to emulate
|
||||
the following x86 hardware: ${qemu:archlist}.
|
||||
.
|
||||
In system emulation mode QEMU emulates a full system, including a processor
|
||||
and various peripherals. It enables easier testing and debugging of system
|
||||
code. It can also be used to provide virtual hosting of several virtual
|
||||
machines on a single server.
|
||||
.
|
||||
On x86 host hardware this package also enables KVM kernel virtual machine
|
||||
usage on systems which supports it.
|
||||
|
||||
Package: qemu-system-xen
|
||||
Architecture: amd64
|
||||
Multi-Arch: no
|
||||
Build-Profiles: <!pkg.qemu.omit-system-xen>
|
||||
# do we really need qemu-system-data? keymaps only?
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, qemu-system-data (>> ${source:Upstream-Version}~),
|
||||
seabios
|
||||
Recommends: qemu-utils,
|
||||
ovmf,
|
||||
Description: QEMU full system emulation (Xen helper package)
|
||||
This package provides the i386 system emulation binary to work
|
||||
together with the Xen hypervisor for some types of DomUs.
|
||||
This package is not useful by its own.
|
||||
|
||||
Package: qemu-user
|
||||
Architecture: amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64
|
||||
Multi-Arch: foreign
|
||||
Static-Built-Using: ${built-using}
|
||||
Build-Profiles: <!pkg.qemu.omit-user>
|
||||
Depends: ${misc:Depends}
|
||||
Breaks: qemu-user-static (<< 1:9.1.0), qemu-user-binfmt (<< 1:9.1.0)
|
||||
Replaces: qemu-user-static (<< 1:9.1.0), qemu-user-binfmt (<< 1:9.1.0)
|
||||
Recommends: qemu-user-binfmt
|
||||
Description: QEMU user mode emulation (static binaries)
|
||||
QEMU is a fast processor emulator: currently the package supports Alpha, ARM,
|
||||
CRIS, i386, LoongArch, M68k (ColdFire), MicroBlaze, MIPS, PowerPC, RISC-V,
|
||||
S390x, SH4, SPARC, x86-64, Xtensa and other emulations. By using dynamic
|
||||
translation it achieves reasonable speed while being easy to port on new host
|
||||
CPUs.
|
||||
.
|
||||
This package provides statically linked user mode emulation binaries.
|
||||
In user mode QEMU can launch Linux processes compiled for one CPU
|
||||
on another CPU.
|
||||
.
|
||||
If qemu-user-binfmt package is also installed, it will register binary
|
||||
format handlers from this qemu-user package with the kernel automatically
|
||||
so it will be possible to run foreign binaries directly. Without
|
||||
qemu-user-binfmt, it is possible to register certain binfmt(s) by using:
|
||||
cat /usr/share/qemu/binfmt.d/qemu-ARCH.conf \
|
||||
> /proc/sys/fs/binfmt_misc/register
|
||||
|
||||
# remove this package in favour of qemu-user-binfmt in the future
|
||||
Package: qemu-user-static
|
||||
Architecture: amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64
|
||||
Multi-Arch: foreign
|
||||
Build-Profiles: <!pkg.qemu.omit-user>
|
||||
Depends: ${misc:Depends},
|
||||
qemu-user (>= ${binary:Version}), qemu-user-binfmt (>= ${binary:Version})
|
||||
Section: oldlibs
|
||||
Description: QEMU user mode emulation (compat/transitional package)
|
||||
In the past, this package provided statically-built qemu user-mode emulation
|
||||
binaries. Now this functionality is provided by qemu-user package, and this
|
||||
package just to help migration to qemu-user.
|
||||
.
|
||||
This package provides old/compatibility symlinks from qemu-user-static binaries
|
||||
pointing to corresponding qemu-user binaries, and old qemu-debootstrap script.
|
||||
Neither of these should be used in practice.
|
||||
.
|
||||
Please remove this package once you ensure nothing is using the old interfaces.
|
||||
|
||||
Package: qemu-user-binfmt
|
||||
Architecture: amd64 arm arm64 armel armhf i386 loong64 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64
|
||||
Multi-Arch: foreign
|
||||
Build-Profiles: <!pkg.qemu.omit-user>
|
||||
Depends: ${misc:Depends}, qemu-user (= ${binary:Version})
|
||||
Breaks: qemu-user-static (<< 1:9.1.0)
|
||||
Replaces: qemu-user-static (<< 1:9.1.0)
|
||||
# Recommend systemd for binfmt-misc registration
|
||||
Recommends: systemd
|
||||
# When qemu-user-static is removed, this package should provide it,
|
||||
# since the old user-static provided automatic binfmt registration
|
||||
#Provides: qemu-user-static
|
||||
Description: QEMU user mode binfmt registration for qemu-user
|
||||
QEMU is a fast processor emulator: currently the package supports Alpha, ARM,
|
||||
CRIS, i386, LoongArch, M68k (ColdFire), MicroBlaze, MIPS, PowerPC, RISC-V,
|
||||
S390x, SH4, SPARC, x86-64, Xtensa and other emulations. By using dynamic
|
||||
translation it achieves reasonable speed while being easy to port on new host
|
||||
CPUs.
|
||||
.
|
||||
This package provides binfmt support registration for the user-mode emulation
|
||||
binaries from qemu-user. This package does not contain additional binaries,
|
||||
just (sym)links to binfmt registration data in /usr/lib/binfmt.d/ so it is
|
||||
picked up automatically by, eg, systemd. Actual files are provided by
|
||||
qemu-user package.
|
||||
|
||||
Package: qemu-utils
|
||||
Architecture: alpha amd64 arm arm64 armel armhf hppa i386 loong64 m68k mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el riscv64 s390x sh4 sparc sparc64 x32
|
||||
Multi-Arch: foreign
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends},
|
||||
Recommends:
|
||||
qemu-block-extra (= ${binary:Version}),
|
||||
Replaces:
|
||||
# qemu-storage-daemon and qemu-block-driver.7 has been moved from q-s-c.
|
||||
qemu-system-common (<< 1:8.0+dfsg-5~),
|
||||
Breaks:
|
||||
qemu-system-common (<< 1:8.0+dfsg-5~),
|
||||
Description: QEMU utilities
|
||||
QEMU is a fast processor emulator: currently the package supports Alpha, ARM,
|
||||
CRIS, i386, LoongArch, M68k (ColdFire), MicroBlaze, MIPS, PowerPC, RISC-V,
|
||||
S390x, SH4, SPARC, x86-64, Xtensa and other emulations. By using dynamic
|
||||
translation it achieves reasonable speed while being easy to port on new host
|
||||
CPUs.
|
||||
.
|
||||
This package provides QEMU related utilities:
|
||||
* qemu-img: QEMU disk image utility
|
||||
* qemu-io: QEMU disk exerciser
|
||||
* qemu-nbd: QEMU disk network block device server
|
||||
|
||||
Package: qemu-guest-agent
|
||||
Architecture: linux-any
|
||||
Multi-Arch: foreign
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}
|
||||
Pre-Depends: ${misc:Pre-Depends}
|
||||
Description: Guest-side qemu-system agent
|
||||
QEMU is a fast processor emulator: currently the package supports Alpha, ARM,
|
||||
CRIS, i386, LoongArch, M68k (ColdFire), MicroBlaze, MIPS, PowerPC, RISC-V,
|
||||
S390x, SH4, SPARC, x86-64, Xtensa and other emulations. By using dynamic
|
||||
translation it achieves reasonable speed while being easy to port on new host
|
||||
CPUs.
|
||||
.
|
||||
This package provides a daemon (agent) to run inside qemu-system
|
||||
guests (full system emulation). It communicates with the host using
|
||||
a virtio-serial channel org.qemu.guest_agent.0, and allows one to perform
|
||||
some functions in the guest from the host, including:
|
||||
- querying and setting guest system time
|
||||
- performing guest filesystem sync operation
|
||||
- initiating guest shutdown or suspend to ram
|
||||
- accessing guest files
|
||||
- freezing/thawing guest filesystem operations
|
||||
- others.
|
||||
.
|
||||
Install this package on a system which is running as guest inside
|
||||
qemu virtual machine. It is not used on the host.
|
||||
|
||||
#Package: qemu-system-for-host
|
||||
## This is actually all architectures for which qemu-system (softmmu) target is implemented
|
||||
#Architecture: any
|
||||
#Multi-Arch: same
|
||||
#Depends: ${qemu:for-host} (=${binary:Version})
|
||||
#Description: QEMU full system emulation (dependency-only package for the host architecture)
|
||||
# This package pulls one of qemu-system-* subpackages which contains
|
||||
# qemu-system-${}{DEB_HOST_ARCH_CPU} binary specific for the host
|
||||
# architecture. This one depends on ${qemu:for-host}.
|
||||
#
|
769
debian/control-in
vendored
Normal file
769
debian/control-in
vendored
Normal file
|
@ -0,0 +1,769 @@
|
|||
Source: qemu
|
||||
Section: otherosfs
|
||||
Priority: optional
|
||||
:debian:Maintainer: Debian QEMU Team <pkg-qemu-devel@lists.alioth.debian.org>
|
||||
:ubuntu:Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
|
||||
:ubuntu:XSBC-Original-Maintainer: Debian QEMU Team <pkg-qemu-devel@lists.alioth.debian.org>
|
||||
Uploaders: Michael Tokarev <mjt@tls.msk.ru>
|
||||
Build-Depends: debhelper-compat (= 13),
|
||||
python3:any,
|
||||
python3-venv:any,
|
||||
python3:any (>> 3.11) | python3-tomli,
|
||||
meson (>> 1.5.0~), ninja-build,
|
||||
flex, bison,
|
||||
# for :native suffix see #995622
|
||||
python3-sphinx:native, python3-sphinx-rtd-theme:native,
|
||||
# python3-pycotap:native,
|
||||
Build-Depends-Arch:
|
||||
# In comments below we also specify (system-specific) arguments
|
||||
# to qemu's configure script, -- optional features which depend
|
||||
# on build-dependencies.
|
||||
# always needed
|
||||
pkgconf, libglib2.0-dev, zlib1g-dev,
|
||||
# target/hexagon/ builds a build-time (ie: native) tool using glib
|
||||
pkgconf:native, libglib2.0-dev:native,
|
||||
# iasl (from acpica-tools) is used only in a single test these days, not for building
|
||||
# acpica-tools,
|
||||
# libcapstone is in universe in ubuntu
|
||||
:debian:# --enable-capstone
|
||||
:debian: libcapstone-dev,
|
||||
# --enable-linux-aio linux-any
|
||||
libaio-dev [linux-any],
|
||||
# libsndio is in universe in ubuntu
|
||||
# --disable-sndio
|
||||
# --audio-drv-list=pipewire,pa,alsa,jack,oss,sdl :system-arch-linux:
|
||||
libjack-dev [:system-arch-linux:],
|
||||
libpulse-dev [:system-arch:],
|
||||
libasound2-dev [:system-arch-linux:],
|
||||
libpipewire-0.3-dev [:system-arch-linux:],
|
||||
# for virtfs (now in libc6)
|
||||
# --enable-attr
|
||||
# --enable-bpf :system-arch-linux:
|
||||
libbpf-dev [:system-arch-linux:],
|
||||
# --enable-blkio :system-arch-linux-64:
|
||||
libblkio-dev [:system-arch-linux-64:],
|
||||
# --enable-brlapi :system-arch:
|
||||
libbrlapi-dev [:system-arch:],
|
||||
# --enable-virtfs :system-arch-linux:
|
||||
# needed for virtfs
|
||||
# --enable-cap-ng :system-arch-linux:
|
||||
libcap-ng-dev [:system-arch-linux:],
|
||||
# --enable-curl
|
||||
libcurl4-gnutls-dev,
|
||||
# --enable-fdt :system-arch:
|
||||
libfdt-dev [:system-arch:],
|
||||
# --enable-fuse linux-any
|
||||
libfuse3-dev [linux-any],
|
||||
# --enable-gnutls
|
||||
gnutls-dev,
|
||||
# --enable-gtk --enable-vte :system-arch:
|
||||
libgtk-3-dev [:system-arch:],
|
||||
libvte-2.91-dev [:system-arch:],
|
||||
# --enable-libiscsi
|
||||
libiscsi-dev,
|
||||
# --enable-curses :system-arch:
|
||||
libncurses-dev [:system-arch:],
|
||||
# --enable-virglrenderer :system-arch-linux:
|
||||
libvirglrenderer-dev [:system-arch-linux:],
|
||||
# --enable-opengl :system-arch-linux:
|
||||
libepoxy-dev [:system-arch-linux:],
|
||||
libdrm-dev [:system-arch-linux:],
|
||||
libgbm-dev [:system-arch-linux:],
|
||||
# --enable-libnfs
|
||||
libnfs-dev,
|
||||
# --enable-numa :system-arch-linux:
|
||||
libnuma-dev [:system-arch-linux:],
|
||||
# --enable-smartcard :system-arch:
|
||||
libcacard-dev [:system-arch:],
|
||||
# --enable-pixman :system-arch:
|
||||
libpixman-1-dev [:system-arch:],
|
||||
# --enable-rbd amd64 arm64 loong64 mips64el ppc64el riscv64 s390x
|
||||
librbd-dev [amd64 arm64 loong64 mips64el ppc64el riscv64 s390x],
|
||||
# gluster is 64bit-only: #1039604
|
||||
# --enable-glusterfs :system-arch-linux-64:
|
||||
libglusterfs-dev [:system-arch-linux-64:],
|
||||
# --enable-vnc-sasl :system-arch:
|
||||
libsasl2-dev [:system-arch:],
|
||||
# --enable-sdl :system-arch:
|
||||
libsdl2-dev [:system-arch:],
|
||||
# --enable-seccomp amd64 arm64 armel armhf i386 loong64 mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x
|
||||
libseccomp-dev [amd64 arm64 armel armhf i386 loong64 mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x],
|
||||
# --enable-slirp :system-arch:
|
||||
libslirp-dev [:system-arch:],
|
||||
# --enable-spice :spice-arch:
|
||||
libspice-server-dev [:spice-arch:],
|
||||
# --enable-rdma linux-any
|
||||
librdmacm-dev [linux-any], libibverbs-dev [linux-any], libibumad-dev [linux-any],
|
||||
# --enable-linux-io-uring linux-any
|
||||
liburing-dev [linux-any],
|
||||
# --enable-libusb :system-arch-linux:
|
||||
libusb-1.0-0-dev [:system-arch-linux:],
|
||||
# --enable-usb-redir :system-arch-linux:
|
||||
libusbredirparser-dev [:system-arch-linux:],
|
||||
# --enable-libssh
|
||||
libssh-dev,
|
||||
# --enable-zstd
|
||||
libzstd-dev,
|
||||
# vde is debian-only since ubuntu/vde2 is in universe
|
||||
:debian:# --enable-vde :system-arch:
|
||||
:debian: libvdeplug-dev [:system-arch:],
|
||||
libxen-dev [linux-amd64],
|
||||
# --enable-nettle :system-arch:
|
||||
nettle-dev [:system-arch:],
|
||||
# other optional features we enable
|
||||
# --enable-libudev
|
||||
# needed for qga?
|
||||
libudev-dev [linux-any],
|
||||
# --enable-vnc :system-arch:
|
||||
# --enable-vnc-jpeg :system-arch:
|
||||
libjpeg-dev [:system-arch:],
|
||||
# --enable-png :system-arch:
|
||||
libpng-dev [:system-arch:],
|
||||
# --enable-libpmem amd64 arm64
|
||||
libpmem-dev [amd64 arm64],
|
||||
# --enable-kvm :system-arch-linux:
|
||||
# --enable-vhost-net :system-arch-linux: # is it really linux-specific?
|
||||
##--enable-lzo todo, for (memory) dumps
|
||||
##--enable-netmap todo bsd
|
||||
##--enable-xen-pci-passthrough todo
|
||||
## auth-pam - for auth for vnc&Co using PAM
|
||||
#
|
||||
# the testsuite:
|
||||
# ipxe-qemu [:system-arch-linux:] <!nocheck>,
|
||||
seabios (>> 1.16.3-1~) [:system-arch-linux:] <!nocheck>,
|
||||
qemu-system-data (>> 1:9.0) [:system-arch-linux:] <!nocheck>,
|
||||
#
|
||||
# vdso: for linux-user, we need small arch-specific .so files to embed them
|
||||
# into linux-user for many architectures.
|
||||
# On debian, arch and indep parts are built separately, and cross-compilers
|
||||
# to build all vdsos aren't available on all architectures. So we build a
|
||||
# tarball of them in indep build and place it in qemu-system-data. When
|
||||
# building both arch+indep parts in one go, d/rules has magic to always
|
||||
# (re)build vdso files and use the result immediately.
|
||||
# pkg.qemu.use-upstream-vdso - always use upstream pre-built vdso files,
|
||||
# do not embed vdso files into qemu-system-data binary package
|
||||
# pkg.qemu.omit-vdso-build-dep - do not Build-Depend-Arch: qemu-system-data for
|
||||
# vdso (allows to build and use vdso files with single arch+indep build)
|
||||
# Ubuntu builds both arch+indep parts (on amd64), so there this is irrelevant.
|
||||
# Effectively it always enables pkg.qemu.omit-vdso-build-dep build-profile.
|
||||
# With each upstream, check if vdso code changed and bump the version:
|
||||
:debian: qemu-system-data (>> :vdso-version:) [:user-arch:]
|
||||
:debian: <!pkg.qemu.use-upstream-vdso !pkg.qemu.omit-vdso-build-dep>,
|
||||
Build-Depends-Indep:
|
||||
# x86_64 firmware
|
||||
gcc-x86-64-linux-gnu,
|
||||
# compiler used to build i386 firmware
|
||||
gcc-i686-linux-gnu,
|
||||
# pc-bios/*.dts => *.dtb (PPC firmware)
|
||||
device-tree-compiler,
|
||||
gcc-s390x-linux-gnu,
|
||||
# qemu-palcode/palcode-clipper
|
||||
gcc-alpha-linux-gnu,
|
||||
# u-boot code
|
||||
gcc-powerpc-linux-gnu,
|
||||
# skiboot firmware, openbios
|
||||
gcc-powerpc64-linux-gnu,
|
||||
# skiboot includes <openssl/something.h>
|
||||
libssl-dev,
|
||||
# openbios
|
||||
gcc-sparc64-linux-gnu, fcode-utils, xsltproc,
|
||||
# hppa-firmware (32 and 64 bit)
|
||||
gcc-hppa-linux-gnu, gcc-hppa64-linux-gnu,
|
||||
gcc-riscv64-linux-gnu,
|
||||
# vbootrom/npcm7xx
|
||||
gcc-arm-linux-gnueabi, libc6-dev-armel-cross,
|
||||
# vbootrom/npcm8xx
|
||||
gcc-aarch64-linux-gnu, libc6-dev-arm64-cross,
|
||||
# vdso (configure:probe_target_compiler() needs libc too):
|
||||
gcc-arm-linux-gnueabi <!pkg.qemu.use-upstream-vdso>, libc6-dev-armel-cross <!pkg.qemu.use-upstream-vdso>,
|
||||
gcc-hppa-linux-gnu <!pkg.qemu.use-upstream-vdso>, libc6-dev-hppa-cross <!pkg.qemu.use-upstream-vdso>,
|
||||
gcc-i686-linux-gnu <!pkg.qemu.use-upstream-vdso>, libc6-dev-i386-cross <!pkg.qemu.use-upstream-vdso>,
|
||||
gcc-loongarch64-linux-gnu <!pkg.qemu.use-upstream-vdso>, libc6-dev-loong64-cross <!pkg.qemu.use-upstream-vdso>,
|
||||
gcc-powerpc64-linux-gnu <!pkg.qemu.use-upstream-vdso>, libc6-dev-ppc64-cross <!pkg.qemu.use-upstream-vdso>,
|
||||
gcc-riscv64-linux-gnu <!pkg.qemu.use-upstream-vdso>, libc6-dev-riscv64-cross <!pkg.qemu.use-upstream-vdso>,
|
||||
gcc-s390x-linux-gnu <!pkg.qemu.use-upstream-vdso>, libc6-dev-s390x-cross <!pkg.qemu.use-upstream-vdso>,
|
||||
gcc-x86-64-linux-gnu <!pkg.qemu.use-upstream-vdso>,
|
||||
Build-Conflicts: oss4-dev
|
||||
Standards-Version: 4.7.2
|
||||
Homepage: http://www.qemu.org/
|
||||
Rules-Requires-Root: no
|
||||
:debian:Vcs-Browser: https://salsa.debian.org/qemu-team/qemu
|
||||
:debian:Vcs-Git: https://salsa.debian.org/qemu-team/qemu.git
|
||||
:ubuntu:XS-Debian-Vcs-Browser: https://salsa.debian.org/qemu-team/qemu
|
||||
:ubuntu:XS-Debian-Vcs-Git: https://salsa.debian.org/qemu-team/qemu.git
|
||||
:ubuntu:Vcs-Browser: https://git.launchpad.net/ubuntu/+source/qemu
|
||||
:ubuntu:Vcs-Git: https://git.launchpad.net/ubuntu/+source/qemu
|
||||
|
||||
Package: qemu-system
|
||||
Architecture: :system-arch:
|
||||
Multi-Arch: foreign
|
||||
Build-Profiles: <!pkg.qemu.omit-system>
|
||||
Depends: ${misc:Depends},
|
||||
qemu-system-arm,
|
||||
qemu-system-mips,
|
||||
qemu-system-ppc,
|
||||
qemu-system-riscv,
|
||||
qemu-system-s390x,
|
||||
qemu-system-sparc,
|
||||
qemu-system-x86,
|
||||
qemu-system-misc
|
||||
Description: QEMU full system emulation binaries
|
||||
QEMU is a fast processor emulator: currently the package supports Alpha, ARM,
|
||||
CRIS, i386, LoongArch, M68k (ColdFire), MicroBlaze, MIPS, PowerPC, RISC-V,
|
||||
S390x, SH4, SPARC, x86-64, Xtensa and other emulations. By using dynamic
|
||||
translation it achieves reasonable speed while being easy to port on new host
|
||||
CPUs.
|
||||
.
|
||||
This metapackage provides the full system emulation binaries for all supported
|
||||
targets, by depending on all per-architecture system emulation packages which
|
||||
QEMU supports.
|
||||
|
||||
Package: qemu-block-extra
|
||||
Architecture: :utils-arch:
|
||||
Multi-Arch: no
|
||||
Depends: ${misc:Depends}, ${shlibs:Depends},
|
||||
# we need to ensure qemu-block-extra is upgraded with qemu-system-* or qemu-utils
|
||||
qemu-system-any (= ${binary:Version}) [:system-arch:] | qemu-utils (= ${binary:Version}),
|
||||
Enhances: qemu-utils,
|
||||
qemu-system-arm,
|
||||
qemu-system-mips,
|
||||
qemu-system-ppc,
|
||||
qemu-system-riscv,
|
||||
qemu-system-s390x,
|
||||
qemu-system-sparc,
|
||||
qemu-system-x86,
|
||||
qemu-system-misc,
|
||||
:debian:Provides: qemu-block-supplemental [amd64 arm64 ppc64el riscv64 s390x],
|
||||
Description: extra block backend modules for qemu-system and qemu-utils
|
||||
QEMU is a fast processor emulator: currently the package supports Alpha, ARM,
|
||||
CRIS, i386, LoongArch, M68k (ColdFire), MicroBlaze, MIPS, PowerPC, RISC-V,
|
||||
S390x, SH4, SPARC, x86-64, Xtensa and other emulations. By using dynamic
|
||||
translation it achieves reasonable speed while being easy to port on new host
|
||||
CPUs.
|
||||
.
|
||||
This package provides extra block device backend modules for qemu-system
|
||||
emulation and qemu-img from qemu-utils package, which are rarely used and
|
||||
has extra dependencies.
|
||||
:ubuntu:
|
||||
:ubuntu:Package: qemu-block-supplemental
|
||||
:ubuntu:Architecture: amd64 arm64 ppc64el riscv64 s390x
|
||||
:ubuntu:Multi-Arch: no
|
||||
:ubuntu:Depends: ${misc:Depends}, ${shlibs:Depends},
|
||||
:ubuntu:# we need to ensure qemu-block-supplemental is upgraded with qemu-system-* or qemu-utils
|
||||
:ubuntu: qemu-system-any (= ${binary:Version}) [amd64 arm64 armhf ppc64el riscv64 s390x] | qemu-utils (= ${binary:Version}),
|
||||
:ubuntu:Enhances: qemu-utils,
|
||||
:ubuntu: qemu-system-arm,
|
||||
:ubuntu: qemu-system-mips,
|
||||
:ubuntu: qemu-system-ppc,
|
||||
:ubuntu: qemu-system-riscv,
|
||||
:ubuntu: qemu-system-s390x,
|
||||
:ubuntu: qemu-system-sparc,
|
||||
:ubuntu: qemu-system-x86,
|
||||
:ubuntu: qemu-system-misc,
|
||||
:ubuntu:Breaks: qemu-block-extra (<< 1:8.2.0+ds-4ubuntu2~)
|
||||
:ubuntu:Replaces: qemu-block-extra (<< 1:8.2.0+ds-4ubuntu2~)
|
||||
:ubuntu:Description: supplemental block backend modules for qemu-system and qemu-utils
|
||||
:ubuntu: QEMU is a fast processor emulator: currently the package supports Alpha, ARM,
|
||||
:ubuntu: CRIS, i386, LoongArch, M68k (ColdFire), MicroBlaze, MIPS, PowerPC, RISC-V,
|
||||
:ubuntu: S390x, SH4, SPARC, x86-64, Xtensa and other emulations. By using dynamic
|
||||
:ubuntu: translation it achieves reasonable speed while being easy to port on new host
|
||||
:ubuntu: CPUs.
|
||||
:ubuntu: .
|
||||
:ubuntu: This package provides supplemental block device backend modules for qemu-system
|
||||
:ubuntu: emulation and qemu-img from qemu-utils package.
|
||||
:ubuntu: .
|
||||
:ubuntu: Currently, the following modules are shipped in this package:
|
||||
:ubuntu: block-glusterfs block-blkio
|
||||
|
||||
Package: qemu-system-data
|
||||
Architecture: all
|
||||
Multi-Arch: foreign
|
||||
Conflicts: sgabios, qemu-skiboot, openbios-sparc, openbios-ppc, qemu-slof,
|
||||
Replaces: sgabios, openbios-sparc, openbios-ppc, qemu-slof,
|
||||
qemu-system-ppc (<< 1:6.1-4~),
|
||||
qemu-system-common (<< 1:8.2.2+ds-1~),
|
||||
Breaks: qemu-system-ppc (<< 1:6.1-4~),
|
||||
qemu-system-common (<< 1:8.2.2+ds-1~),
|
||||
# s390x-netboot dropped in 9.2, breaks qemu-system-s390x
|
||||
:debian: qemu-system-misc (<< 1:9.1.1+ds-1~),
|
||||
qemu-system-s390x (<< 1:9.2.0~),
|
||||
Provides: qemu-keymaps, sgabios, qemu-skiboot, openbios-sparc, openbios-ppc, qemu-slof,
|
||||
Depends: ${misc:Depends}
|
||||
Description: QEMU full system emulation (data files)
|
||||
This package provides architecture-neutral data files
|
||||
(such as keyboard definitions, icons) for system-mode
|
||||
QEMU emulation (qemu-system-*) packages.
|
||||
|
||||
Package: qemu-system-common
|
||||
Architecture: :system-arch:
|
||||
Multi-Arch: no
|
||||
Build-Profiles: <!pkg.qemu.omit-system>
|
||||
Breaks: libvirt-daemon (<< 7.2.0-1)
|
||||
Depends: ${misc:Depends}, ${shlibs:Depends},
|
||||
# to fix wrong acl for newly created device node on ubuntu:
|
||||
:ubuntu: acl
|
||||
Description: QEMU full system emulation binaries (common files)
|
||||
QEMU is a fast processor emulator: currently the package supports Alpha, ARM,
|
||||
CRIS, i386, LoongArch, M68k (ColdFire), MicroBlaze, MIPS, PowerPC, RISC-V,
|
||||
S390x, SH4, SPARC, x86-64, Xtensa and other emulations. By using dynamic
|
||||
translation it achieves reasonable speed while being easy to port on new host
|
||||
CPUs.
|
||||
.
|
||||
This package provides common files needed for target-specific
|
||||
full system emulation (qemu-system-*) packages.
|
||||
|
||||
Package: qemu-system-gui
|
||||
Architecture: :system-arch:
|
||||
#XXX M-A: same does not really work for now due to /usr/lib/qemu/vhost-user-gpu
|
||||
#XXX we'll deal with this if some actual need arises,
|
||||
#XXX by moving that binary back to q-s-common or packaging it separately
|
||||
#Multi-Arch: same
|
||||
Build-Profiles: <!pkg.qemu.omit-system>
|
||||
Depends: ${misc:Depends}, ${shlibs:Depends},
|
||||
# ui-* depends on ui-opengl
|
||||
qemu-system-modules-opengl (= ${binary:Version}),
|
||||
# we need to ensure qemu-system-gui is upgraded with qemu-system-*
|
||||
qemu-system-any (= ${binary:Version}),
|
||||
# libgl1 is dynamically loaded by sdl display code
|
||||
libgl1,
|
||||
# we moved vhost-user-gpu files here from qemu-system-common at 6.1-4
|
||||
Replaces: qemu-system-common (<< 1:6.1+dfsg-4~)
|
||||
Description: QEMU full system emulation binaries (graphical display and audio modules)
|
||||
This package provides optional graphical guest display modules (currently GTK
|
||||
and SDL) and audio backend modules for full system emulation (qemu-system-*)
|
||||
packages.
|
||||
.
|
||||
This package is not a management/control/GUI interface for qemu, use something
|
||||
else (like virt-manager) for that.
|
||||
|
||||
Package: qemu-system-modules-spice
|
||||
Architecture: :spice-arch:
|
||||
Build-Profiles: <!pkg.qemu.omit-system>
|
||||
Depends: ${misc:Depends}, ${shlibs:Depends},
|
||||
# spice modules depends on ui-opengl
|
||||
qemu-system-modules-opengl (= ${binary:Version}),
|
||||
# we need to ensure qemu-system-modules-spice is upgraded with qemu-system-*
|
||||
qemu-system-any (= ${binary:Version}),
|
||||
Replaces: qemu-system-common (<< 1:8.1.0+ds-1~exp2~)
|
||||
Breaks: qemu-system-common (<< 1:8.1.0+ds-1~exp2~)
|
||||
Description: QEMU full system emulation binaries (spice display modules)
|
||||
This package provides optional spice display (qxl and spice-app) and audio
|
||||
support modules for QEMU full system emulation (qemu-system-*) packages.
|
||||
|
||||
Package: qemu-system-modules-opengl
|
||||
Architecture: :system-arch:
|
||||
Build-Profiles: <!pkg.qemu.omit-system>
|
||||
Depends: ${misc:Depends}, ${shlibs:Depends},
|
||||
# we need to ensure qemu-system-modules-opengl is upgraded when qemu-system is upgraded
|
||||
qemu-system-any (= ${binary:Version}),
|
||||
Replaces: qemu-system-common (<< 1:8.1.0+ds-1~exp2~), qemu-system-gui (<< 1:8.1.0+ds-1~exp2~)
|
||||
Breaks: qemu-system-common (<< 1:8.1.0+ds-1~exp2~), qemu-system-gui (<< 1:8.1.0+ds-1~exp2~)
|
||||
Description: QEMU full system emulation binaries (OpenGL display modules)
|
||||
This package provides optional OpenGL display support modules for QEMU full
|
||||
system emulation (qemu-system-*) packages. It also provides D-Bus display
|
||||
type.
|
||||
|
||||
Package: qemu-system-misc
|
||||
Architecture: :system-arch:
|
||||
Multi-Arch: foreign
|
||||
Build-Profiles: <!pkg.qemu.omit-system>
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends},
|
||||
qemu-system-common (= ${binary:Version}),
|
||||
qemu-system-data (>> ${source:Upstream-Version}~),
|
||||
# depends on qemu-system-riscv & -s390x since 9.1.1 for now to avoid breaking
|
||||
# existing setups which used to get riscv&s390 binaries from -misc.
|
||||
# Downgrade to Recommends for one release cycle once tests are fixed
|
||||
qemu-system-riscv,
|
||||
:debian: qemu-system-s390x,
|
||||
Recommends: qemu-utils,
|
||||
# alpha uses vgabios
|
||||
# alpha m68k sh4 uses bootroms
|
||||
seabios,
|
||||
ipxe-qemu,
|
||||
qemu-system-gui (= ${binary:Version}),
|
||||
qemu-system-modules-spice (= ${binary:Version}) [:spice-arch:],
|
||||
qemu-system-modules-opengl (= ${binary:Version}),
|
||||
qemu-block-extra (= ${binary:Version}),
|
||||
Suggests: samba, vde2,
|
||||
Provides: ${qemu:Provides}
|
||||
Conflicts: ${qemu:Conflicts}
|
||||
Description: QEMU full system emulation binaries (miscellaneous)
|
||||
QEMU is a fast processor emulator: currently the package supports Alpha, ARM,
|
||||
CRIS, i386, LoongArch, M68k (ColdFire), MicroBlaze, MIPS, PowerPC, RISC-V,
|
||||
S390x, SH4, SPARC, x86-64, Xtensa and other emulations. By using dynamic
|
||||
translation it achieves reasonable speed while being easy to port on new host
|
||||
CPUs.
|
||||
.
|
||||
This package provides the full system emulation binaries to emulate
|
||||
various other hardware which did not made into separate packages.
|
||||
Emulators for the following architectures are provided:
|
||||
${qemu:archlist}.
|
||||
.
|
||||
In system emulation mode QEMU emulates a full system, including a processor
|
||||
and various peripherals. It enables easier testing and debugging of system
|
||||
code. It can also be used to provide virtual hosting of several virtual
|
||||
machines on a single server.
|
||||
|
||||
Package: qemu-system-arm
|
||||
Architecture: :system-arch:
|
||||
Multi-Arch: foreign
|
||||
Build-Profiles: <!pkg.qemu.omit-system>
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, qemu-system-common (= ${binary:Version}), qemu-system-data (>> ${source:Upstream-Version}~),
|
||||
Recommends: qemu-utils,
|
||||
# aarch64 arm uses bootroms
|
||||
ipxe-qemu,
|
||||
# for now virtio-vga won't check arch and insist on vgabios-virtio.bin
|
||||
seabios,
|
||||
qemu-efi-aarch64, qemu-efi-arm,
|
||||
qemu-system-gui (= ${binary:Version}),
|
||||
qemu-system-modules-spice (= ${binary:Version}) [:spice-arch:],
|
||||
qemu-system-modules-opengl (= ${binary:Version}),
|
||||
qemu-block-extra (= ${binary:Version}),
|
||||
Suggests: samba, vde2,
|
||||
Provides: ${qemu:Provides}
|
||||
Conflicts: ${qemu:Conflicts}
|
||||
Description: QEMU full system emulation binaries (arm)
|
||||
QEMU is a fast processor emulator: currently the package supports
|
||||
ARM emulation. By using dynamic translation it achieves
|
||||
reasonable speed while being easy to port on new host CPUs.
|
||||
.
|
||||
This package provides the full system emulation binaries to emulate
|
||||
the following arm hardware: ${qemu:archlist}.
|
||||
.
|
||||
In system emulation mode QEMU emulates a full system, including a processor
|
||||
and various peripherals. It enables easier testing and debugging of system
|
||||
code. It can also be used to provide virtual hosting of several virtual
|
||||
machines on a single server.
|
||||
|
||||
Package: qemu-system-mips
|
||||
Architecture: :system-arch:
|
||||
Multi-Arch: foreign
|
||||
Build-Profiles: <!pkg.qemu.omit-system>
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, qemu-system-common (= ${binary:Version}), qemu-system-data (>> ${source:Upstream-Version}~),
|
||||
Recommends: qemu-utils,
|
||||
# all mips targets uses vgabios and bootroms
|
||||
seabios,
|
||||
ipxe-qemu,
|
||||
qemu-system-gui (= ${binary:Version}),
|
||||
qemu-system-modules-spice (= ${binary:Version}) [:spice-arch:],
|
||||
qemu-system-modules-opengl (= ${binary:Version}),
|
||||
qemu-block-extra (= ${binary:Version}),
|
||||
Suggests: samba, vde2,
|
||||
Provides: ${qemu:Provides}
|
||||
Conflicts: ${qemu:Conflicts}
|
||||
Description: QEMU full system emulation binaries (mips)
|
||||
QEMU is a fast processor emulator: currently the package supports
|
||||
MIPS emulation. By using dynamic translation it achieves
|
||||
reasonable speed while being easy to port on new host CPUs.
|
||||
.
|
||||
This package provides the full system emulation binaries to emulate
|
||||
the following mips hardware: ${qemu:archlist}.
|
||||
.
|
||||
In system emulation mode QEMU emulates a full system, including a processor
|
||||
and various peripherals. It enables easier testing and debugging of system
|
||||
code. It can also be used to provide virtual hosting of several virtual
|
||||
machines on a single server.
|
||||
|
||||
Package: qemu-system-ppc
|
||||
Architecture: :system-arch:
|
||||
Multi-Arch: foreign
|
||||
Build-Profiles: <!pkg.qemu.omit-system>
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, qemu-system-common (= ${binary:Version}), qemu-system-data (>> ${source:Upstream-Version}~),
|
||||
Recommends: qemu-utils,
|
||||
# ppc targets use vgabios-stdvga and bootroms
|
||||
seabios,
|
||||
ipxe-qemu,
|
||||
qemu-system-gui (= ${binary:Version}),
|
||||
qemu-system-modules-spice (= ${binary:Version}) [:spice-arch:],
|
||||
qemu-system-modules-opengl (= ${binary:Version}),
|
||||
qemu-block-extra (= ${binary:Version}),
|
||||
Suggests: samba, vde2,
|
||||
Provides: ${qemu:Provides}
|
||||
Conflicts: ${qemu:Conflicts}
|
||||
Description: QEMU full system emulation binaries (ppc)
|
||||
QEMU is a fast processor emulator: currently the package supports
|
||||
PowerPC emulation. By using dynamic translation it achieves
|
||||
reasonable speed while being easy to port on new host CPUs.
|
||||
.
|
||||
This package provides the full system emulation binaries to emulate
|
||||
the following PowerPC hardware: ${qemu:archlist}.
|
||||
.
|
||||
In system emulation mode QEMU emulates a full system, including a processor
|
||||
and various peripherals. It enables easier testing and debugging of system
|
||||
code. It can also be used to provide virtual hosting of several virtual
|
||||
machines on a single server.
|
||||
|
||||
Package: qemu-system-riscv
|
||||
Architecture: :system-arch:
|
||||
Multi-Arch: foreign
|
||||
Build-Profiles: <!pkg.qemu.omit-system>
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends},
|
||||
qemu-system-common (= ${binary:Version}),
|
||||
qemu-system-data (>> ${source:Upstream-Version}~),
|
||||
opensbi (>> 1.5.1-1~),
|
||||
Recommends: qemu-utils,
|
||||
ipxe-qemu,
|
||||
Breaks: qemu-system-data (<< 1:9.1.0+ds-4~), qemu-system-misc (<< 1:9.1.0+ds-9~)
|
||||
Replaces: qemu-system-data (<< 1:9.1.0+ds-4~), qemu-system-misc (<< 1:9.1.0+ds-9~)
|
||||
Suggests: samba, vde2,
|
||||
Provides: ${qemu:Provides}
|
||||
Conflicts: ${qemu:Conflicts}
|
||||
Description: QEMU full system emulation binaries (riscv)
|
||||
QEMU is a fast processor emulator: currently the package supports
|
||||
riscv emulation. By using dynamic translation it achieves
|
||||
reasonable speed while being easy to port on new host CPUs.
|
||||
.
|
||||
This package provides the full system emulation binaries to emulate
|
||||
the following riscv hardware: ${qemu:archlist}.
|
||||
|
||||
Package: qemu-system-s390x
|
||||
Architecture: :system-arch:
|
||||
Multi-Arch: foreign
|
||||
Build-Profiles: <!pkg.qemu.omit-system>
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, qemu-system-common (= ${binary:Version}), qemu-system-data (>> ${source:Upstream-Version}~),
|
||||
Recommends: qemu-utils,
|
||||
qemu-system-gui (= ${binary:Version}),
|
||||
qemu-system-modules-spice (= ${binary:Version}) [:spice-arch:],
|
||||
qemu-system-modules-opengl (= ${binary:Version}),
|
||||
qemu-block-extra (= ${binary:Version}),
|
||||
:debian:Breaks: qemu-system-misc (<< 1:9.1.0+ds-9~)
|
||||
:debian:Replaces: qemu-system-misc (<< 1:9.1.0+ds-9~)
|
||||
Provides: ${qemu:Provides}
|
||||
Conflicts: ${qemu:Conflicts}
|
||||
Description: QEMU full system emulation binaries (s390x)
|
||||
QEMU is a fast processor emulator: currently the package supports
|
||||
s390x emulation. By using dynamic translation it achieves reasonable
|
||||
speed while being easy to port on new host CPUs.
|
||||
.
|
||||
This package provides the full system emulation binaries to emulate
|
||||
the following s390x hardware: ${qemu:archlist}.
|
||||
.
|
||||
In system emulation mode QEMU emulates a full system, including a processor
|
||||
and various peripherals. It enables easier testing and debugging of system
|
||||
code. It can also be used to provide virtual hosting of several virtual
|
||||
machines on a single server.
|
||||
|
||||
Package: qemu-system-sparc
|
||||
Architecture: :system-arch:
|
||||
Multi-Arch: foreign
|
||||
Build-Profiles: <!pkg.qemu.omit-system>
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, qemu-system-common (= ${binary:Version}), qemu-system-data (>> ${source:Upstream-Version}~),
|
||||
Recommends: qemu-utils,
|
||||
# sparc64 uses vgabios-stdvga and bootroms
|
||||
seabios,
|
||||
ipxe-qemu,
|
||||
qemu-system-gui (= ${binary:Version}),
|
||||
qemu-system-modules-spice (= ${binary:Version}) [:spice-arch:],
|
||||
qemu-system-modules-opengl (= ${binary:Version}),
|
||||
qemu-block-extra (= ${binary:Version}),
|
||||
Suggests: samba, vde2,
|
||||
Provides: ${qemu:Provides}
|
||||
Conflicts: ${qemu:Conflicts}
|
||||
Description: QEMU full system emulation binaries (sparc)
|
||||
QEMU is a fast processor emulator: currently the package supports
|
||||
SPARC emulation. By using dynamic translation it achieves
|
||||
reasonable speed while being easy to port on new host CPUs.
|
||||
.
|
||||
This package provides the full system emulation binaries to emulate
|
||||
the following sparc hardware: ${qemu:archlist}.
|
||||
.
|
||||
In system emulation mode QEMU emulates a full system, including a processor
|
||||
and various peripherals. It enables easier testing and debugging of system
|
||||
code. It can also be used to provide virtual hosting of several virtual
|
||||
machines on a single server.
|
||||
|
||||
:ubuntu:# xen support generally is disabled on ubuntu, for a while we used
|
||||
:ubuntu:# an extra build with xen enabled. In the meantime Debian followed that
|
||||
:ubuntu:# approach but with a different name, so add a transitional until
|
||||
:ubuntu:# after 24.04
|
||||
:ubuntu:Package: qemu-system-x86-xen
|
||||
:ubuntu:Architecture: amd64
|
||||
:ubuntu:Multi-Arch: foreign
|
||||
:ubuntu:Section: oldlibs
|
||||
:ubuntu:Depends: qemu-system-xen (>= 1:7.0+dfsg-7ubuntu1), ${misc:Depends}
|
||||
:ubuntu:Description: QEMU full system emulation binaries (x86)
|
||||
:ubuntu: The former qemu-system-x86-xen binaries are now in qemu-system-xen.
|
||||
:ubuntu: .
|
||||
:ubuntu: This is a transitional package. You can safely remove it.
|
||||
|
||||
Package: qemu-system-x86
|
||||
Architecture: :system-arch:
|
||||
Multi-Arch: foreign
|
||||
Build-Profiles: <!pkg.qemu.omit-system>
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, qemu-system-common (= ${binary:Version}), qemu-system-data (>> ${source:Upstream-Version}~),
|
||||
seabios (>> 1.16.3-1~),
|
||||
ipxe-qemu,
|
||||
Recommends: qemu-utils,
|
||||
ovmf,
|
||||
qemu-system-gui (= ${binary:Version}),
|
||||
qemu-system-modules-spice (= ${binary:Version}) [:spice-arch:],
|
||||
qemu-system-modules-opengl (= ${binary:Version}),
|
||||
qemu-block-extra (= ${binary:Version}),
|
||||
:ubuntu: cpu-checker,
|
||||
Suggests: samba, vde2,
|
||||
Provides: ${qemu:Provides}
|
||||
Conflicts: ${qemu:Conflicts}
|
||||
Description: QEMU full system emulation binaries (x86)
|
||||
QEMU is a fast processor emulator: currently the package supports
|
||||
i386 and x86-64 emulation. By using dynamic translation it achieves
|
||||
reasonable speed while being easy to port on new host CPUs.
|
||||
.
|
||||
This package provides the full system emulation binaries to emulate
|
||||
the following x86 hardware: ${qemu:archlist}.
|
||||
.
|
||||
In system emulation mode QEMU emulates a full system, including a processor
|
||||
and various peripherals. It enables easier testing and debugging of system
|
||||
code. It can also be used to provide virtual hosting of several virtual
|
||||
machines on a single server.
|
||||
.
|
||||
On x86 host hardware this package also enables KVM kernel virtual machine
|
||||
usage on systems which supports it.
|
||||
|
||||
Package: qemu-system-xen
|
||||
Architecture: amd64
|
||||
Multi-Arch: no
|
||||
Build-Profiles: <!pkg.qemu.omit-system-xen>
|
||||
# do we really need qemu-system-data? keymaps only?
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, qemu-system-data (>> ${source:Upstream-Version}~),
|
||||
seabios
|
||||
Recommends: qemu-utils,
|
||||
ovmf,
|
||||
:ubuntu:# For the transition from the former qemu-system-x86-xen name
|
||||
:ubuntu:Breaks: qemu-system-x86-xen (<<1:7.0+dfsg-7ubuntu1)
|
||||
:ubuntu:Replaces: qemu-system-x86-xen (<<1:7.0+dfsg-7ubuntu1)
|
||||
:ubuntu:Provides: qemu-system-x86-xen
|
||||
Description: QEMU full system emulation (Xen helper package)
|
||||
This package provides the i386 system emulation binary to work
|
||||
together with the Xen hypervisor for some types of DomUs.
|
||||
This package is not useful by its own.
|
||||
|
||||
Package: qemu-user
|
||||
Architecture: :user-arch:
|
||||
Multi-Arch: foreign
|
||||
Static-Built-Using: ${built-using}
|
||||
Build-Profiles: <!pkg.qemu.omit-user>
|
||||
Depends: ${misc:Depends}
|
||||
Breaks: qemu-user-static (<< 1:9.1.0), qemu-user-binfmt (<< 1:9.1.0)
|
||||
Replaces: qemu-user-static (<< 1:9.1.0), qemu-user-binfmt (<< 1:9.1.0)
|
||||
Recommends: qemu-user-binfmt
|
||||
Description: QEMU user mode emulation (static binaries)
|
||||
QEMU is a fast processor emulator: currently the package supports Alpha, ARM,
|
||||
CRIS, i386, LoongArch, M68k (ColdFire), MicroBlaze, MIPS, PowerPC, RISC-V,
|
||||
S390x, SH4, SPARC, x86-64, Xtensa and other emulations. By using dynamic
|
||||
translation it achieves reasonable speed while being easy to port on new host
|
||||
CPUs.
|
||||
.
|
||||
This package provides statically linked user mode emulation binaries.
|
||||
In user mode QEMU can launch Linux processes compiled for one CPU
|
||||
on another CPU.
|
||||
.
|
||||
If qemu-user-binfmt package is also installed, it will register binary
|
||||
format handlers from this qemu-user package with the kernel automatically
|
||||
so it will be possible to run foreign binaries directly. Without
|
||||
qemu-user-binfmt, it is possible to register certain binfmt(s) by using:
|
||||
cat /usr/share/qemu/binfmt.d/qemu-ARCH.conf \
|
||||
> /proc/sys/fs/binfmt_misc/register
|
||||
|
||||
# remove this package in favour of qemu-user-binfmt in the future
|
||||
Package: qemu-user-static
|
||||
Architecture: :user-arch:
|
||||
Multi-Arch: foreign
|
||||
Build-Profiles: <!pkg.qemu.omit-user>
|
||||
Depends: ${misc:Depends},
|
||||
qemu-user (>= ${binary:Version}), qemu-user-binfmt (>= ${binary:Version})
|
||||
Section: oldlibs
|
||||
Description: QEMU user mode emulation (compat/transitional package)
|
||||
In the past, this package provided statically-built qemu user-mode emulation
|
||||
binaries. Now this functionality is provided by qemu-user package, and this
|
||||
package just to help migration to qemu-user.
|
||||
.
|
||||
This package provides old/compatibility symlinks from qemu-user-static binaries
|
||||
pointing to corresponding qemu-user binaries, and old qemu-debootstrap script.
|
||||
Neither of these should be used in practice.
|
||||
.
|
||||
Please remove this package once you ensure nothing is using the old interfaces.
|
||||
|
||||
Package: qemu-user-binfmt
|
||||
Architecture: :user-arch:
|
||||
Multi-Arch: foreign
|
||||
Build-Profiles: <!pkg.qemu.omit-user>
|
||||
Depends: ${misc:Depends}, qemu-user (= ${binary:Version})
|
||||
Breaks: qemu-user-static (<< 1:9.1.0)
|
||||
Replaces: qemu-user-static (<< 1:9.1.0)
|
||||
# Recommend systemd for binfmt-misc registration
|
||||
Recommends: systemd
|
||||
# When qemu-user-static is removed, this package should provide it,
|
||||
# since the old user-static provided automatic binfmt registration
|
||||
#Provides: qemu-user-static
|
||||
Description: QEMU user mode binfmt registration for qemu-user
|
||||
QEMU is a fast processor emulator: currently the package supports Alpha, ARM,
|
||||
CRIS, i386, LoongArch, M68k (ColdFire), MicroBlaze, MIPS, PowerPC, RISC-V,
|
||||
S390x, SH4, SPARC, x86-64, Xtensa and other emulations. By using dynamic
|
||||
translation it achieves reasonable speed while being easy to port on new host
|
||||
CPUs.
|
||||
.
|
||||
This package provides binfmt support registration for the user-mode emulation
|
||||
binaries from qemu-user. This package does not contain additional binaries,
|
||||
just (sym)links to binfmt registration data in /usr/lib/binfmt.d/ so it is
|
||||
picked up automatically by, eg, systemd. Actual files are provided by
|
||||
qemu-user package.
|
||||
|
||||
Package: qemu-utils
|
||||
Architecture: :utils-arch:
|
||||
Multi-Arch: foreign
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends},
|
||||
Recommends:
|
||||
qemu-block-extra (= ${binary:Version}),
|
||||
Replaces:
|
||||
# qemu-storage-daemon and qemu-block-driver.7 has been moved from q-s-c.
|
||||
qemu-system-common (<< 1:8.0+dfsg-5~),
|
||||
Breaks:
|
||||
qemu-system-common (<< 1:8.0+dfsg-5~),
|
||||
Description: QEMU utilities
|
||||
QEMU is a fast processor emulator: currently the package supports Alpha, ARM,
|
||||
CRIS, i386, LoongArch, M68k (ColdFire), MicroBlaze, MIPS, PowerPC, RISC-V,
|
||||
S390x, SH4, SPARC, x86-64, Xtensa and other emulations. By using dynamic
|
||||
translation it achieves reasonable speed while being easy to port on new host
|
||||
CPUs.
|
||||
.
|
||||
This package provides QEMU related utilities:
|
||||
* qemu-img: QEMU disk image utility
|
||||
* qemu-io: QEMU disk exerciser
|
||||
* qemu-nbd: QEMU disk network block device server
|
||||
|
||||
Package: qemu-guest-agent
|
||||
Architecture: linux-any
|
||||
Multi-Arch: foreign
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}
|
||||
Pre-Depends: ${misc:Pre-Depends}
|
||||
Description: Guest-side qemu-system agent
|
||||
QEMU is a fast processor emulator: currently the package supports Alpha, ARM,
|
||||
CRIS, i386, LoongArch, M68k (ColdFire), MicroBlaze, MIPS, PowerPC, RISC-V,
|
||||
S390x, SH4, SPARC, x86-64, Xtensa and other emulations. By using dynamic
|
||||
translation it achieves reasonable speed while being easy to port on new host
|
||||
CPUs.
|
||||
.
|
||||
This package provides a daemon (agent) to run inside qemu-system
|
||||
guests (full system emulation). It communicates with the host using
|
||||
a virtio-serial channel org.qemu.guest_agent.0, and allows one to perform
|
||||
some functions in the guest from the host, including:
|
||||
- querying and setting guest system time
|
||||
- performing guest filesystem sync operation
|
||||
- initiating guest shutdown or suspend to ram
|
||||
- accessing guest files
|
||||
- freezing/thawing guest filesystem operations
|
||||
- others.
|
||||
.
|
||||
Install this package on a system which is running as guest inside
|
||||
qemu virtual machine. It is not used on the host.
|
||||
|
||||
#Package: qemu-system-for-host
|
||||
## This is actually all architectures for which qemu-system (softmmu) target is implemented
|
||||
#Architecture: any
|
||||
#Multi-Arch: same
|
||||
#Depends: ${qemu:for-host} (=${binary:Version})
|
||||
#Description: QEMU full system emulation (dependency-only package for the host architecture)
|
||||
# This package pulls one of qemu-system-* subpackages which contains
|
||||
# qemu-system-${}{DEB_HOST_ARCH_CPU} binary specific for the host
|
||||
# architecture. This one depends on ${qemu:for-host}.
|
||||
#
|
198
debian/control.mk
vendored
Executable file
198
debian/control.mk
vendored
Executable file
|
@ -0,0 +1,198 @@
|
|||
#!/usr/bin/make -rRf
|
||||
SHELL = /bin/sh -e
|
||||
|
||||
VENDOR := $(shell dpkg-vendor --derives-from Ubuntu && \
|
||||
echo ubuntu || echo debian)
|
||||
include /usr/share/dpkg/pkg-info.mk
|
||||
|
||||
empty :=
|
||||
|
||||
# since some files and/or lists differ from version to version,
|
||||
# ensure we have the expected qemu version, or else scream loudly
|
||||
checked-version := 10.0.2+ds
|
||||
# version of last vdso change for d/control Depends field:
|
||||
vdso-version := 1:9.2.0~rc3+ds-1~
|
||||
|
||||
vdso-files := \
|
||||
linux-user/aarch64/vdso-be.so \
|
||||
linux-user/aarch64/vdso-le.so \
|
||||
linux-user/arm/vdso-be32.so \
|
||||
linux-user/arm/vdso-be8.so \
|
||||
linux-user/arm/vdso-le.so \
|
||||
linux-user/hppa/vdso.so \
|
||||
linux-user/i386/vdso.so \
|
||||
linux-user/loongarch64/vdso.so \
|
||||
linux-user/ppc/vdso-32.so \
|
||||
linux-user/ppc/vdso-64.so \
|
||||
linux-user/ppc/vdso-64le.so \
|
||||
linux-user/riscv/vdso-32.so \
|
||||
linux-user/riscv/vdso-64.so \
|
||||
linux-user/s390x/vdso.so \
|
||||
linux-user/x86_64/vdso.so \
|
||||
${empty}
|
||||
|
||||
user-targets := \
|
||||
aarch64 \
|
||||
aarch64_be \
|
||||
alpha \
|
||||
arm \
|
||||
armeb \
|
||||
hexagon \
|
||||
hppa \
|
||||
i386 \
|
||||
loongarch64 \
|
||||
m68k \
|
||||
microblaze \
|
||||
microblazeel \
|
||||
mips \
|
||||
mips64 \
|
||||
mips64el \
|
||||
mipsel \
|
||||
mipsn32 \
|
||||
mipsn32el \
|
||||
or1k \
|
||||
ppc \
|
||||
ppc64 \
|
||||
ppc64le \
|
||||
riscv32 \
|
||||
riscv64 \
|
||||
s390x \
|
||||
sh4 \
|
||||
sh4eb \
|
||||
sparc \
|
||||
sparc32plus \
|
||||
sparc64 \
|
||||
x86_64 \
|
||||
xtensa \
|
||||
xtensaeb \
|
||||
${empty}
|
||||
|
||||
# qemu-system (softmmu) targets, in multiple packages
|
||||
# For each package:
|
||||
# system-archlist-$pkg - list qemu architectues which should go to this pkg
|
||||
# For each of ${system-archlist-*}, optional:
|
||||
# system-alias-$qcpu - aliases for this qemu architecture
|
||||
|
||||
system-packages := arm mips ppc riscv s390x sparc x86 misc
|
||||
|
||||
system-archlist-arm := aarch64 arm
|
||||
system-alias-aarch64 := arm64
|
||||
system-alias-arm := armel armhf
|
||||
|
||||
system-archlist-mips := mips mipsel mips64 mips64el
|
||||
|
||||
system-archlist-ppc := ppc ppc64
|
||||
system-alias-ppc := powerpc
|
||||
system-alias-ppc64 := ppc64le ppc64el
|
||||
|
||||
system-archlist-riscv := riscv32 riscv64
|
||||
|
||||
system-archlist-s390x := s390x
|
||||
|
||||
system-archlist-sparc := sparc sparc64
|
||||
|
||||
system-archlist-x86 := i386 x86_64
|
||||
system-alias-x86_64 := amd64
|
||||
|
||||
system-archlist-misc := alpha avr hppa m68k loongarch64 \
|
||||
microblaze microblazeel or1k rx sh4 sh4eb \
|
||||
tricore xtensa xtensaeb
|
||||
system-alias-loongarch64 := loong64
|
||||
|
||||
# system-kvm - list of qemu architectures where native kvm is provided
|
||||
system-kvm := \
|
||||
aarch64 \
|
||||
arm \
|
||||
loongarch64 \
|
||||
ppc \
|
||||
ppc64 \
|
||||
s390x \
|
||||
x86_64 \
|
||||
${empty}
|
||||
|
||||
# temp: disallow 64bit emulation on 32bit host case
|
||||
# upstream qemu dropped 64-on-32 case in 10.0,
|
||||
# and deprecated 32bit host entirely.
|
||||
# Keep this as long as 32bit host is supported
|
||||
DEB_HOST_ARCH_BITS ?= $(shell dpkg-architecture -q DEB_TARGET_ARCH_BITS)
|
||||
ifeq (32,${DEB_HOST_ARCH_BITS})
|
||||
vdso-files := \
|
||||
linux-user/arm/vdso-be32.so \
|
||||
linux-user/arm/vdso-be8.so \
|
||||
linux-user/arm/vdso-le.so \
|
||||
linux-user/i386/vdso.so \
|
||||
linux-user/ppc/vdso-32.so \
|
||||
linux-user/riscv/vdso-32.so \
|
||||
${empty}
|
||||
user-targets := $(filter-out %64 aarch64% alpha hppa mips64% mipsn32% ppc64% s390x sparc32plus,${user-targets})
|
||||
system-packages := $(filter-out s390x,${system-packages})
|
||||
system-archlist-arm := arm
|
||||
system-archlist-mips := mips mipsel
|
||||
system-archlist-ppc := ppc
|
||||
system-archlist-riscv := riscv32
|
||||
system-archlist-s390x :=
|
||||
system-archlist-sparc := sparc
|
||||
system-archlist-x86 := i386
|
||||
system-archlist-misc := $(filter-out alpha hppa loongarch64 microblaze% s390x,${system-archlist-misc})
|
||||
system-kvm :=
|
||||
endif
|
||||
|
||||
ifneq (${checked-version},${DEB_VERSION_UPSTREAM})
|
||||
$(warning Debian packaging is set up for version ${checked-version} while actual version is ${DEB_VERSION_UPSTREAM})
|
||||
|
||||
actual-vdso-files := $(sort $(shell \
|
||||
for f in linux-user/*/Makefile.vdso ; do \
|
||||
sed -n "s|^\\\$$(SUBDIR)/\(.*\):.*|$${f%/*}/\1|p" $$f; \
|
||||
done))
|
||||
ifneq ($(sort ${vdso-files}),${actual-vdso-files})
|
||||
$(warning vdso-files list changed: \
|
||||
added: $(filter-out ${vdso-files},${actual-vdso-files}), \
|
||||
removed: $(filter-out ${actual-vdso-files},${vdso-files}))
|
||||
endif
|
||||
vdso-version-upstream := $(word 2,$(subst :, ,$(subst -, ,${vdso-version})))
|
||||
vdso-tag := v$(subst ~rc,-rc,${vdso-version-upstream:+ds=})
|
||||
actual-vdso-tag := v$(subst ~rc,-rc,${DEB_VERSION_UPSTREAM:+ds=})
|
||||
vdso-changed-files != set -x; \
|
||||
git diff --name-only ${vdso-tag}..${actual-vdso-tag} -- 'linux-user/*/vdso*.so'
|
||||
ifneq (0,${.SHELLSTATUS})
|
||||
$(warning unable to run git to find list of changed vdso files)
|
||||
endif
|
||||
ifneq (,${vdso-changed-files})
|
||||
$(warning changes in vdso files found since ${vdso-version}, update vdso-version)
|
||||
endif
|
||||
|
||||
actual-user-targets := $(sort $(shell \
|
||||
ls -1 configs/targets/*-linux-user.mak \
|
||||
| sed 's|.*/\(.*\)-linux-user\.mak$$|\1|'))
|
||||
ifneq ($(sort ${user-targets}),${actual-user-targets})
|
||||
$(warning user-targets list differs from actual, \
|
||||
added: $(filter-out ${user-targets},${actual-user-targets}), \
|
||||
removed: $(filter-out ${actual-user-targets},${user-targets}))
|
||||
$(warning Check debian/binfmt-install too!)
|
||||
endif
|
||||
|
||||
$(error verify everything is set up correctly)
|
||||
endif
|
||||
|
||||
# Host architectures we produce packages for.
|
||||
# when changing this list, check d/control-in too, if any changes
|
||||
# needs to be done for build deps and --enable options.
|
||||
system-arch-linux-64 = \
|
||||
amd64 arm64 loong64 mips64 mips64el ppc64 ppc64el riscv64 s390x sparc64
|
||||
system-arch-linux = $(sort ${system-arch-linux-64} \
|
||||
arm armel armhf i386 mips mipsel powerpc powerpcspe sparc)
|
||||
system-arch = ${system-arch-linux}
|
||||
user-arch = ${system-arch-linux}
|
||||
utils-arch = $(sort ${system-arch} alpha hppa m68k sh4 x32)
|
||||
# subset of system-arch
|
||||
spice-arch = amd64 i386 arm64 armel armhf loong64 mips64el mipsel ppc64el riscv64
|
||||
|
||||
substvars = system-arch-linux-64 system-arch-linux system-arch spice-arch user-arch utils-arch \
|
||||
vdso-version
|
||||
|
||||
debian/control: debian/control-in debian/control.mk
|
||||
sed -e '1i\# autogenerated file from debian/control-in' \
|
||||
-e 's/^:${VENDOR}://' -e '/^:[a-z]*:/D' \
|
||||
$(foreach v,${substvars},-e 's/:$v:/${$v}/') \
|
||||
$< > $@.tmp
|
||||
mv -f $@.tmp $@
|
535
debian/copyright
vendored
Normal file
535
debian/copyright
vendored
Normal file
|
@ -0,0 +1,535 @@
|
|||
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||
Files-Excluded:
|
||||
roms/QemuMacDrivers
|
||||
roms/edk2
|
||||
roms/ipxe
|
||||
roms/seabios
|
||||
roms/opensbi
|
||||
# roms/u-boot
|
||||
#
|
||||
roms/SLOF/board-js2x/rtas/i2c_bmc.oco
|
||||
roms/SLOF/board-js2x/rtas/ipmi_oem.oco
|
||||
roms/SLOF/clients/takeover/takeover.oco
|
||||
roms/SLOF/lib/libipmi/libipmi.oco
|
||||
#
|
||||
pc-bios/QEMU,*.bin
|
||||
pc-bios/bamboo.dtb pc-bios/canyonlands.dtb
|
||||
pc-bios/bios.bin
|
||||
pc-bios/bios-256k.bin
|
||||
pc-bios/bios-microvm.bin
|
||||
pc-bios/edk2-*.fd.bz2
|
||||
pc-bios/efi-*.rom
|
||||
pc-bios/pxe-*.rom
|
||||
pc-bios/hppa-firmware.img
|
||||
pc-bios/hppa-firmware64.img
|
||||
pc-bios/kvmvapic.bin
|
||||
pc-bios/linuxboot.bin
|
||||
pc-bios/linuxboot_dma.bin
|
||||
pc-bios/multiboot.bin
|
||||
pc-bios/multiboot_dma.bin
|
||||
pc-bios/openbios-ppc
|
||||
pc-bios/openbios-sparc32
|
||||
pc-bios/openbios-sparc64
|
||||
pc-bios/opensbi-*.bin
|
||||
pc-bios/palcode-clipper
|
||||
pc-bios/petalogix-ml605.dtb
|
||||
pc-bios/petalogix-s3adsp1800.dtb
|
||||
pc-bios/pvh.bin
|
||||
pc-bios/qboot.rom
|
||||
pc-bios/qemu_vga.ndrv
|
||||
pc-bios/s390-ccw.img
|
||||
pc-bios/skiboot.lid
|
||||
pc-bios/slof.bin
|
||||
pc-bios/u-boot-sam460-20100605.bin
|
||||
pc-bios/u-boot.e500
|
||||
pc-bios/vgabios.bin
|
||||
pc-bios/vgabios-*.bin
|
||||
pc-bios/vof.bin
|
||||
#
|
||||
python/wheels/*.whl
|
||||
#
|
||||
subprojects/packagecache
|
||||
subprojects/packagefiles
|
||||
|
||||
Files: *
|
||||
Copyright:
|
||||
Copyright (C) 1982, 1986, 1988-1994 The Regents of the University of California
|
||||
Copyright (C) 1986-2007 Free Software Foundation Inc.
|
||||
Copyright (C) 1988-1992 Richard Outerbridge
|
||||
Copyright (C) 1991-1992, 1996 Linus Torvalds
|
||||
Copyright (C) 1992 Graven Imagery
|
||||
Copyright (C) 1995 Danny Gasparovski
|
||||
Copyright (C) 1996-1999 Eduardo Horvath
|
||||
Copyright (C) 1996 Paul Mackerras
|
||||
Copyright (C) 1997-1999, 2001, 2006-2009 Red Hat Inc.
|
||||
Copyright (C) 1998-1999 Philip Blundell
|
||||
Copyright (C) 1998-2001, 2003, 2006 Thomas Sailer <t.sailer@alumni.ethz.ch>
|
||||
Copyright (C) 1998, 2003-2008 Fabrice Bellard
|
||||
Copyright (C) 1998-2004 Samuel Rydh <samuel@ibrium.se>
|
||||
Copyright (C) 1998 Kenneth Albanowski <kjahds@kjahds.com>
|
||||
Copyright (C) 1998 The Silver Hammer Group Ltd.
|
||||
Copyright (C) 1999-2000, 2002-2003 Maxim Krasnyansky <maxk@qualcomm.com>
|
||||
Copyright (C) 1999-2000 Tatsuyuki Satoh
|
||||
Copyright (C) 1999-2006, 2008 Intel Corporation
|
||||
Copyright (C) 1999 AT&T Laboratories Cambridge
|
||||
Copyright (C) 2000-2001 Qualcomm Incorporated
|
||||
Copyright (C) 2000-2002, 2004-2009 Axis Communications AB.
|
||||
Copyright (C) 2000-2003, 2005 Martin Schwidefsky
|
||||
Copyright (C) 2000-2003 David McCullough <davidm@snapgear.com> <davidm@lineo.com>
|
||||
Copyright (C) 2000-2005 All Rights Reserved.
|
||||
Copyright (C) 2000-2005 DENX Software Engineering <wd@denx.de.>
|
||||
Copyright (C) 2000-2005 Silicon Graphics Inc.
|
||||
Copyright (C) 2000-2005 Wolfgang Denk
|
||||
Copyright (C) 2000-2007 Tibor "TS" Schütz
|
||||
Copyright (C) 2001 OKTET Ltd.
|
||||
Copyright (C) 2001 Xilinx Inc.
|
||||
Copyright (C) 2002-2005 Vassili Karpov
|
||||
Copyright (C) 2002-2006 Marcel Holtmann <marcel@holtmann.org>
|
||||
Copyright (C) 2002 Greg Ungerer <gerg@snapgear.com>
|
||||
Copyright (C) 2002 Paul Dale <pauli@snapgear.com>
|
||||
Copyright (C) 2003-2004 James Yonan
|
||||
Copyright (C) 2003-2007 Jocelyn Mayer
|
||||
Copyright (C) 2003 Damion K. Wilson
|
||||
Copyright (C) 2003 Thomas M. Ogrisegg <tom@fnord.at>
|
||||
Copyright (C) 2004-2005 Johannes E. Schindelin
|
||||
Copyright (C) 2004, 2007 Magnus Damm <damm@opensource.se>
|
||||
Copyright (C) 2004 Antony T Curtis
|
||||
Copyright (C) 2004 Gianni Tedesco
|
||||
Copyright (C) 2004 Johannes Schindelin
|
||||
Copyright (C) 2004 Makoto Suzuki
|
||||
Copyright (C) 2005, 2007 Alex Beregszaszi
|
||||
Copyright (C) 2005-2007 Anthony Liguori <aliguori@us.ibm.com> <anthony@codemonkey.ws>
|
||||
Copyright (C) 2005-2008 Andrzej Zaborowski <balrog@zabor.org> <andrew@openedhand.com>
|
||||
Copyright (C) 2005-2009 Paul Brook <paul@codesourcery.com>
|
||||
Copyright (C) 2005 Anthony Liguori <aliguori@us.ibm.com>
|
||||
Copyright (C) 2005 Filip Navara
|
||||
Copyright (C) 2005 International Business Machines Corp.
|
||||
Copyright (C) 2005 LLC. Written
|
||||
Copyright (C) 2005 Mike Kronenberg
|
||||
Copyright (C) 2005 Samuel Tardieu
|
||||
Copyright (C) 2006-2007, 2009 Aurelien Jarno <aurelien@aurel32.net>
|
||||
Copyright (C) 2006-2007, 2009 Stefan Weil
|
||||
Copyright (C) 2006-2007 Thiemo Seufer
|
||||
Copyright (C) 2006-2007 Thorsten Zitterell <info@bitmux.org>
|
||||
Copyright (C) 2006-2008 Openedhand Ltd.
|
||||
Copyright (C) 2006-2008 Qumranet Technologies
|
||||
Copyright (C) 2006 Frederick Reeve
|
||||
Copyright (C) 2006 Igor Kovalenko
|
||||
Copyright (C) 2006 InnoTek Systemberatung GmbH
|
||||
Copyright (C) 2006 Joachim Henke
|
||||
Copyright (C) 2006 Lonnie Mendez
|
||||
Copyright (C) 2006 Marius Groeger
|
||||
Copyright (C) 2007-2008 Bull S.A.S.
|
||||
Copyright (C) 2007-2008 IBM Corporation
|
||||
Copyright (C) 2007-2008 Lauro Ramos Venancio <lauro.venancio@indt.org.br>
|
||||
Copyright (C) 2007-2008 Nokia Corporation
|
||||
Copyright (C) 2007-2008 OpenMoko Inc. <andrew@openedhand.com>
|
||||
Copyright (C) 2007, 2009 Alexander Graf <agraf@suse.de>
|
||||
Copyright (C) 2007-2009 Edgar E. Iglesias <edgar.iglesias@gmail.com>
|
||||
Copyright (C) 2007-2009 Herve Poussineau
|
||||
Copyright (C) 2007 Arastra Inc.
|
||||
Copyright (C) 2007 Armin Kuster <akuster@mvista.com>
|
||||
Copyright (C) 2007 Dan Aloni
|
||||
Copyright (C) 2007 Marko Kohtala
|
||||
Copyright (C) 2007 MontaVista Software Inc.
|
||||
Copyright (C) 2007 Robert Reif
|
||||
Copyright (C) 2007 Vladimir Ananiev <vovan888@gmail.com>
|
||||
Copyright (C) 2008-2009 Arnaud Patard <arnaud.patard@rtp-net.org>
|
||||
Copyright (C) 2008-2009 Citrix Systems Inc.
|
||||
Copyright (C) 2008-2009 Gerd Hoffmann <kraxel@redhat.com>
|
||||
Copyright (C) 2008 Dell MessageOne
|
||||
Copyright (C) 2008 Dmitry Baryshkov
|
||||
Copyright (C) 2008 Gleb Natapov
|
||||
Copyright (C) 2008 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
|
||||
Copyright (C) 2008 Lubomir Rintel
|
||||
Copyright (C) 2008 Max Krasnyansky
|
||||
Copyright (C) 2008 Paul Mundt
|
||||
Copyright (C) 2008 Samuel Thibault <samuel.thibault@ens-lyon.org>
|
||||
Copyright (C) 2008 Shin-ichiro KAWASAKI
|
||||
Copyright (C) 2008 Takashi YOSHII
|
||||
Copyright (C) 2008 TJ <linux@tjworld.net>
|
||||
Copyright (C) 2009 CodeSourcery
|
||||
Copyright (C) 2009 Freescale Semiconductor Inc.
|
||||
Copyright (C) 2009 Hewlett-Packard Development Company
|
||||
Copyright (C) 2009 Isaku Yamahata <yamahata@valinux.co.jp>
|
||||
Copyright (C) 2009 Kevin Wolf <kwolf@redhat.com> <kwolf@suse.de>
|
||||
Copyright (C) 2009 Laurent Vivier <laurent.vivier@bull.net>
|
||||
Copyright (C) 2009 Michael S. Tsirkin <mst@redhat.com>
|
||||
Copyright (C) 2009 Novell Inc.
|
||||
Copyright (C) 2009 Ulrich Hecht <uli@suse.de>
|
||||
Copyright (C) 2009 VA Linux Systems Japan
|
||||
License:
|
||||
QEMU as a whole is released under the GNU General Public License version 2.
|
||||
On Debian systems, the complete text of the GNU General Public License
|
||||
version 2 can be found in the file /usr/share/common-licenses/GPL-2.
|
||||
.
|
||||
Parts of QEMU have specific licenses which are compatible with the
|
||||
GNU General Public License. Hence each source file contains its own
|
||||
licensing information.
|
||||
.
|
||||
In particular, the QEMU virtual CPU core library (libqemu.a) is
|
||||
released under the GNU Lesser General Public License version 2 or later.
|
||||
On Debian systems, the complete text of the GNU Lesser General Public
|
||||
License can be found in the file /usr/share/common-licenses/LGPL-2.
|
||||
.
|
||||
The BSD emulator is released under the following BSD license:
|
||||
.
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
.
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGE.
|
||||
.
|
||||
The TCG code and many hardware device emulation sources are released under the
|
||||
following MIT license:
|
||||
.
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
.
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
.
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
.
|
||||
The QEMU Logo, pc-bios/qemu_logo*.svg, and also icons and pictures derived from
|
||||
it, pc-bios/qemu-icon.bmp, pc-bios/qemu-nsis.*, are licensed under Creative
|
||||
Commons Attribution license version 3.0 (CC-BY-3.0):
|
||||
.
|
||||
Attribution 3.0 Unported
|
||||
.
|
||||
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
|
||||
LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN
|
||||
ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
|
||||
INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
|
||||
REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR
|
||||
DAMAGES RESULTING FROM ITS USE.
|
||||
.
|
||||
License
|
||||
.
|
||||
THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE
|
||||
COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY
|
||||
COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS
|
||||
AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
.
|
||||
BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE
|
||||
TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY
|
||||
BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS
|
||||
CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND
|
||||
CONDITIONS.
|
||||
.
|
||||
1. Definitions
|
||||
.
|
||||
a. "Adaptation" means a work based upon the Work, or upon the Work and
|
||||
other pre-existing works, such as a translation, adaptation,
|
||||
derivative work, arrangement of music or other alterations of a
|
||||
literary or artistic work, or phonogram or performance and includes
|
||||
cinematographic adaptations or any other form in which the Work may be
|
||||
recast, transformed, or adapted including in any form recognizably
|
||||
derived from the original, except that a work that constitutes a
|
||||
Collection will not be considered an Adaptation for the purpose of
|
||||
this License. For the avoidance of doubt, where the Work is a musical
|
||||
work, performance or phonogram, the synchronization of the Work in
|
||||
timed-relation with a moving image ("synching") will be considered an
|
||||
Adaptation for the purpose of this License.
|
||||
b. "Collection" means a collection of literary or artistic works, such as
|
||||
encyclopedias and anthologies, or performances, phonograms or
|
||||
broadcasts, or other works or subject matter other than works listed
|
||||
in Section 1(f) below, which, by reason of the selection and
|
||||
arrangement of their contents, constitute intellectual creations, in
|
||||
which the Work is included in its entirety in unmodified form along
|
||||
with one or more other contributions, each constituting separate and
|
||||
independent works in themselves, which together are assembled into a
|
||||
collective whole. A work that constitutes a Collection will not be
|
||||
considered an Adaptation (as defined above) for the purposes of this
|
||||
License.
|
||||
c. "Distribute" means to make available to the public the original and
|
||||
copies of the Work or Adaptation, as appropriate, through sale or
|
||||
other transfer of ownership.
|
||||
d. "Licensor" means the individual, individuals, entity or entities that
|
||||
offer(s) the Work under the terms of this License.
|
||||
e. "Original Author" means, in the case of a literary or artistic work,
|
||||
the individual, individuals, entity or entities who created the Work
|
||||
or if no individual or entity can be identified, the publisher; and in
|
||||
addition (i) in the case of a performance the actors, singers,
|
||||
musicians, dancers, and other persons who act, sing, deliver, declaim,
|
||||
play in, interpret or otherwise perform literary or artistic works or
|
||||
expressions of folklore; (ii) in the case of a phonogram the producer
|
||||
being the person or legal entity who first fixes the sounds of a
|
||||
performance or other sounds; and, (iii) in the case of broadcasts, the
|
||||
organization that transmits the broadcast.
|
||||
f. "Work" means the literary and/or artistic work offered under the terms
|
||||
of this License including without limitation any production in the
|
||||
literary, scientific and artistic domain, whatever may be the mode or
|
||||
form of its expression including digital form, such as a book,
|
||||
pamphlet and other writing; a lecture, address, sermon or other work
|
||||
of the same nature; a dramatic or dramatico-musical work; a
|
||||
choreographic work or entertainment in dumb show; a musical
|
||||
composition with or without words; a cinematographic work to which are
|
||||
assimilated works expressed by a process analogous to cinematography;
|
||||
a work of drawing, painting, architecture, sculpture, engraving or
|
||||
lithography; a photographic work to which are assimilated works
|
||||
expressed by a process analogous to photography; a work of applied
|
||||
art; an illustration, map, plan, sketch or three-dimensional work
|
||||
relative to geography, topography, architecture or science; a
|
||||
performance; a broadcast; a phonogram; a compilation of data to the
|
||||
extent it is protected as a copyrightable work; or a work performed by
|
||||
a variety or circus performer to the extent it is not otherwise
|
||||
considered a literary or artistic work.
|
||||
g. "You" means an individual or entity exercising rights under this
|
||||
License who has not previously violated the terms of this License with
|
||||
respect to the Work, or who has received express permission from the
|
||||
Licensor to exercise rights under this License despite a previous
|
||||
violation.
|
||||
h. "Publicly Perform" means to perform public recitations of the Work and
|
||||
to communicate to the public those public recitations, by any means or
|
||||
process, including by wire or wireless means or public digital
|
||||
performances; to make available to the public Works in such a way that
|
||||
members of the public may access these Works from a place and at a
|
||||
place individually chosen by them; to perform the Work to the public
|
||||
by any means or process and the communication to the public of the
|
||||
performances of the Work, including by public digital performance; to
|
||||
broadcast and rebroadcast the Work by any means including signs,
|
||||
sounds or images.
|
||||
i. "Reproduce" means to make copies of the Work by any means including
|
||||
without limitation by sound or visual recordings and the right of
|
||||
fixation and reproducing fixations of the Work, including storage of a
|
||||
protected performance or phonogram in digital form or other electronic
|
||||
medium.
|
||||
.
|
||||
2. Fair Dealing Rights. Nothing in this License is intended to reduce,
|
||||
limit, or restrict any uses free from copyright or rights arising from
|
||||
limitations or exceptions that are provided for in connection with the
|
||||
copyright protection under copyright law or other applicable laws.
|
||||
.
|
||||
3. License Grant. Subject to the terms and conditions of this License,
|
||||
Licensor hereby grants You a worldwide, royalty-free, non-exclusive,
|
||||
perpetual (for the duration of the applicable copyright) license to
|
||||
exercise the rights in the Work as stated below:
|
||||
.
|
||||
a. to Reproduce the Work, to incorporate the Work into one or more
|
||||
Collections, and to Reproduce the Work as incorporated in the
|
||||
Collections;
|
||||
b. to create and Reproduce Adaptations provided that any such Adaptation,
|
||||
including any translation in any medium, takes reasonable steps to
|
||||
clearly label, demarcate or otherwise identify that changes were made
|
||||
to the original Work. For example, a translation could be marked "The
|
||||
original work was translated from English to Spanish," or a
|
||||
modification could indicate "The original work has been modified.";
|
||||
c. to Distribute and Publicly Perform the Work including as incorporated
|
||||
in Collections; and,
|
||||
d. to Distribute and Publicly Perform Adaptations.
|
||||
e. For the avoidance of doubt:
|
||||
.
|
||||
i. Non-waivable Compulsory License Schemes. In those jurisdictions in
|
||||
which the right to collect royalties through any statutory or
|
||||
compulsory licensing scheme cannot be waived, the Licensor
|
||||
reserves the exclusive right to collect such royalties for any
|
||||
exercise by You of the rights granted under this License;
|
||||
ii. Waivable Compulsory License Schemes. In those jurisdictions in
|
||||
which the right to collect royalties through any statutory or
|
||||
compulsory licensing scheme can be waived, the Licensor waives the
|
||||
exclusive right to collect such royalties for any exercise by You
|
||||
of the rights granted under this License; and,
|
||||
iii. Voluntary License Schemes. The Licensor waives the right to
|
||||
collect royalties, whether individually or, in the event that the
|
||||
Licensor is a member of a collecting society that administers
|
||||
voluntary licensing schemes, via that society, from any exercise
|
||||
by You of the rights granted under this License.
|
||||
.
|
||||
The above rights may be exercised in all media and formats whether now
|
||||
known or hereafter devised. The above rights include the right to make
|
||||
such modifications as are technically necessary to exercise the rights in
|
||||
other media and formats. Subject to Section 8(f), all rights not expressly
|
||||
granted by Licensor are hereby reserved.
|
||||
.
|
||||
4. Restrictions. The license granted in Section 3 above is expressly made
|
||||
subject to and limited by the following restrictions:
|
||||
.
|
||||
a. You may Distribute or Publicly Perform the Work only under the terms
|
||||
of this License. You must include a copy of, or the Uniform Resource
|
||||
Identifier (URI) for, this License with every copy of the Work You
|
||||
Distribute or Publicly Perform. You may not offer or impose any terms
|
||||
on the Work that restrict the terms of this License or the ability of
|
||||
the recipient of the Work to exercise the rights granted to that
|
||||
recipient under the terms of the License. You may not sublicense the
|
||||
Work. You must keep intact all notices that refer to this License and
|
||||
to the disclaimer of warranties with every copy of the Work You
|
||||
Distribute or Publicly Perform. When You Distribute or Publicly
|
||||
Perform the Work, You may not impose any effective technological
|
||||
measures on the Work that restrict the ability of a recipient of the
|
||||
Work from You to exercise the rights granted to that recipient under
|
||||
the terms of the License. This Section 4(a) applies to the Work as
|
||||
incorporated in a Collection, but this does not require the Collection
|
||||
apart from the Work itself to be made subject to the terms of this
|
||||
License. If You create a Collection, upon notice from any Licensor You
|
||||
must, to the extent practicable, remove from the Collection any credit
|
||||
as required by Section 4(b), as requested. If You create an
|
||||
Adaptation, upon notice from any Licensor You must, to the extent
|
||||
practicable, remove from the Adaptation any credit as required by
|
||||
Section 4(b), as requested.
|
||||
b. If You Distribute, or Publicly Perform the Work or any Adaptations or
|
||||
Collections, You must, unless a request has been made pursuant to
|
||||
Section 4(a), keep intact all copyright notices for the Work and
|
||||
provide, reasonable to the medium or means You are utilizing: (i) the
|
||||
name of the Original Author (or pseudonym, if applicable) if supplied,
|
||||
and/or if the Original Author and/or Licensor designate another party
|
||||
or parties (e.g., a sponsor institute, publishing entity, journal) for
|
||||
attribution ("Attribution Parties") in Licensor's copyright notice,
|
||||
terms of service or by other reasonable means, the name of such party
|
||||
or parties; (ii) the title of the Work if supplied; (iii) to the
|
||||
extent reasonably practicable, the URI, if any, that Licensor
|
||||
specifies to be associated with the Work, unless such URI does not
|
||||
refer to the copyright notice or licensing information for the Work;
|
||||
and (iv) , consistent with Section 3(b), in the case of an Adaptation,
|
||||
a credit identifying the use of the Work in the Adaptation (e.g.,
|
||||
"French translation of the Work by Original Author," or "Screenplay
|
||||
based on original Work by Original Author"). The credit required by
|
||||
this Section 4 (b) may be implemented in any reasonable manner;
|
||||
provided, however, that in the case of a Adaptation or Collection, at
|
||||
a minimum such credit will appear, if a credit for all contributing
|
||||
authors of the Adaptation or Collection appears, then as part of these
|
||||
credits and in a manner at least as prominent as the credits for the
|
||||
other contributing authors. For the avoidance of doubt, You may only
|
||||
use the credit required by this Section for the purpose of attribution
|
||||
in the manner set out above and, by exercising Your rights under this
|
||||
License, You may not implicitly or explicitly assert or imply any
|
||||
connection with, sponsorship or endorsement by the Original Author,
|
||||
Licensor and/or Attribution Parties, as appropriate, of You or Your
|
||||
use of the Work, without the separate, express prior written
|
||||
permission of the Original Author, Licensor and/or Attribution
|
||||
Parties.
|
||||
c. Except as otherwise agreed in writing by the Licensor or as may be
|
||||
otherwise permitted by applicable law, if You Reproduce, Distribute or
|
||||
Publicly Perform the Work either by itself or as part of any
|
||||
Adaptations or Collections, You must not distort, mutilate, modify or
|
||||
take other derogatory action in relation to the Work which would be
|
||||
prejudicial to the Original Author's honor or reputation. Licensor
|
||||
agrees that in those jurisdictions (e.g. Japan), in which any exercise
|
||||
of the right granted in Section 3(b) of this License (the right to
|
||||
make Adaptations) would be deemed to be a distortion, mutilation,
|
||||
modification or other derogatory action prejudicial to the Original
|
||||
Author's honor and reputation, the Licensor will waive or not assert,
|
||||
as appropriate, this Section, to the fullest extent permitted by the
|
||||
applicable national law, to enable You to reasonably exercise Your
|
||||
right under Section 3(b) of this License (right to make Adaptations)
|
||||
but not otherwise.
|
||||
.
|
||||
5. Representations, Warranties and Disclaimer
|
||||
.
|
||||
UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR
|
||||
OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY
|
||||
KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE,
|
||||
INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF
|
||||
LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS,
|
||||
WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION
|
||||
OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
|
||||
.
|
||||
6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE
|
||||
LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR
|
||||
ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES
|
||||
ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS
|
||||
BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
.
|
||||
7. Termination
|
||||
.
|
||||
a. This License and the rights granted hereunder will terminate
|
||||
automatically upon any breach by You of the terms of this License.
|
||||
Individuals or entities who have received Adaptations or Collections
|
||||
from You under this License, however, will not have their licenses
|
||||
terminated provided such individuals or entities remain in full
|
||||
compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will
|
||||
survive any termination of this License.
|
||||
b. Subject to the above terms and conditions, the license granted here is
|
||||
perpetual (for the duration of the applicable copyright in the Work).
|
||||
Notwithstanding the above, Licensor reserves the right to release the
|
||||
Work under different license terms or to stop distributing the Work at
|
||||
any time; provided, however that any such election will not serve to
|
||||
withdraw this License (or any other license that has been, or is
|
||||
required to be, granted under the terms of this License), and this
|
||||
License will continue in full force and effect unless terminated as
|
||||
stated above.
|
||||
.
|
||||
8. Miscellaneous
|
||||
.
|
||||
a. Each time You Distribute or Publicly Perform the Work or a Collection,
|
||||
the Licensor offers to the recipient a license to the Work on the same
|
||||
terms and conditions as the license granted to You under this License.
|
||||
b. Each time You Distribute or Publicly Perform an Adaptation, Licensor
|
||||
offers to the recipient a license to the original Work on the same
|
||||
terms and conditions as the license granted to You under this License.
|
||||
c. If any provision of this License is invalid or unenforceable under
|
||||
applicable law, it shall not affect the validity or enforceability of
|
||||
the remainder of the terms of this License, and without further action
|
||||
by the parties to this agreement, such provision shall be reformed to
|
||||
the minimum extent necessary to make such provision valid and
|
||||
enforceable.
|
||||
d. No term or provision of this License shall be deemed waived and no
|
||||
breach consented to unless such waiver or consent shall be in writing
|
||||
and signed by the party to be charged with such waiver or consent.
|
||||
e. This License constitutes the entire agreement between the parties with
|
||||
respect to the Work licensed here. There are no understandings,
|
||||
agreements or representations with respect to the Work not specified
|
||||
here. Licensor shall not be bound by any additional provisions that
|
||||
may appear in any communication from You. This License may not be
|
||||
modified without the mutual written agreement of the Licensor and You.
|
||||
f. The rights granted under, and the subject matter referenced, in this
|
||||
License were drafted utilizing the terminology of the Berne Convention
|
||||
for the Protection of Literary and Artistic Works (as amended on
|
||||
September 28, 1979), the Rome Convention of 1961, the WIPO Copyright
|
||||
Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996
|
||||
and the Universal Copyright Convention (as revised on July 24, 1971).
|
||||
These rights and subject matter take effect in the relevant
|
||||
jurisdiction in which the License terms are sought to be enforced
|
||||
according to the corresponding provisions of the implementation of
|
||||
those treaty provisions in the applicable national law. If the
|
||||
standard suite of rights granted under applicable copyright law
|
||||
includes additional rights not granted under this License, such
|
||||
additional rights are deemed to be included in the License; this
|
||||
License is not intended to restrict the license of any rights under
|
||||
applicable law.
|
||||
.
|
||||
Creative Commons Notice
|
||||
.
|
||||
Creative Commons is not a party to this License, and makes no warranty
|
||||
whatsoever in connection with the Work. Creative Commons will not be
|
||||
liable to You or any party on any legal theory for any damages
|
||||
whatsoever, including without limitation any general, special,
|
||||
incidental or consequential damages arising in connection to this
|
||||
license. Notwithstanding the foregoing two (2) sentences, if Creative
|
||||
Commons has expressly identified itself as the Licensor hereunder, it
|
||||
shall have all rights and obligations of Licensor.
|
||||
.
|
||||
Except for the limited purpose of indicating to the public that the
|
||||
Work is licensed under the CCPL, Creative Commons does not authorize
|
||||
the use by either party of the trademark "Creative Commons" or any
|
||||
related trademark or logo of Creative Commons without the prior
|
||||
written consent of Creative Commons. Any permitted use will be in
|
||||
compliance with Creative Commons' then-current trademark usage
|
||||
guidelines, as may be published on its website or otherwise made
|
||||
available upon request from time to time. For the avoidance of doubt,
|
||||
this trademark restriction does not form part of this License.
|
||||
.
|
||||
Creative Commons may be contacted at https://creativecommons.org/.
|
22
debian/extract-config-opts
vendored
Executable file
22
debian/extract-config-opts
vendored
Executable file
|
@ -0,0 +1,22 @@
|
|||
#! /bin/sh
|
||||
|
||||
# This is a trivial script to parse comments in debian/control
|
||||
# into a set of system-specific configure options.
|
||||
# Usage: ./debian/extract-config-opts $OS-$ARCH debian/control
|
||||
|
||||
osarch=$1
|
||||
control=$2
|
||||
|
||||
sed -n 's/^# \?--/--/p' $control | \
|
||||
while IFS=' ' read f p x; do
|
||||
set -- $p
|
||||
if [ $# = 0 ]; then echo $f; continue; fi
|
||||
for p in "$@"; do
|
||||
case "$p" in
|
||||
*-any) p="${p%-any}-*" ;;
|
||||
*-*) ;;
|
||||
*) p="linux-$p" ;;
|
||||
esac
|
||||
eval "case \$osarch in ($p) echo \$f; continue;; esac"
|
||||
done
|
||||
done
|
6
debian/gbp.conf
vendored
Normal file
6
debian/gbp.conf
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
[DEFAULT]
|
||||
sign-tags = True
|
||||
pristine-tar = True
|
||||
# When switching version, check if VDSO has changed since previous version
|
||||
# and update qemu-system-data version requiriment in Build-Depends-Arch.
|
||||
upstream-branch = upstream-10.0
|
84
debian/gen-module-upgrade.sh
vendored
Normal file
84
debian/gen-module-upgrade.sh
vendored
Normal file
|
@ -0,0 +1,84 @@
|
|||
#! /bin/sh
|
||||
pkg=$1 pkgversion="$2" moddir="$3"
|
||||
|
||||
# qemu-system-* can be told to add a new device at runtime,
|
||||
# including block devices for which a driver is implemented
|
||||
# in a loadable module. In case qemu is upgraded, running
|
||||
# qemus will not be able to load modules anymore (since the
|
||||
# new modules are from the different build). Qemu has
|
||||
# mechanism to load modules from alternative directory,
|
||||
# it is hardcoded in util/module.c as /run/qemu/$version/.
|
||||
# We can save old modules on upgrade if qemu processes are
|
||||
# running, - it does not take much space but ensures qemu
|
||||
# is not left without maybe-needed modules. See LP#1847361.
|
||||
#
|
||||
# Ideally the remove of the saved modules should be done when
|
||||
# last qemu-system-* process with this version is terminated,
|
||||
# but we can't do this. So old modules keep accumulating in
|
||||
# /run/qemu/ until reboot, even if not needed already.
|
||||
#
|
||||
# Currently we handle purging of the modules, removing the
|
||||
# whole saved LAST-versioned subdir. Probably we should
|
||||
# remove all saved subdirs in this case.
|
||||
#
|
||||
# Additional complication is that /run is mounted noexec
|
||||
# so it's impossible to run .so files from there, and
|
||||
# a (bind-re-)mount is needed.
|
||||
#
|
||||
# When this script is run, files for the package in question
|
||||
# has already been installed into debian/package/.
|
||||
|
||||
savetopdir=/run/qemu
|
||||
savedir=$savetopdir/$(echo -n "$pkgversion" |
|
||||
tr --complement '[:alnum:]+-.~' '_')
|
||||
tagname=.savemoddir
|
||||
tx=$savedir/$tagname
|
||||
|
||||
marker="### added by qemu/$0:"
|
||||
# add_maintscript_fragment package {preinst|postinst|prerm|postrm} < contents
|
||||
add_maintscript_fragment() {
|
||||
maintscript=debian/$1.$2.debhelper
|
||||
if ! grep -sq "^$marker$" $maintscript; then
|
||||
{ echo "$marker"; cat; echo "### end added section"; } >> $maintscript
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
modules=$(echo debian/$pkg/$moddir/*.so | sed "s|debian/[^ ]*/||g")
|
||||
|
||||
add_maintscript_fragment $pkg prerm <<EOF
|
||||
case \$1 in
|
||||
(upgrade|deconfigure)
|
||||
# only save if qemu-system-* or kvm process running
|
||||
# can also check version of the running processes
|
||||
if ps -e -o comm | grep -E -q '^(qemu-system-|kvm$)'; then
|
||||
echo "$pkg: qemu process(es) running, saving block modules in $savedir..."
|
||||
mkdir -p -m 0755 $savedir
|
||||
( cd $moddir/; cp -p -n -t $savedir/ $modules )
|
||||
> $tx; chmod 0744 $tx
|
||||
if [ ! -x $tx ]; then # mounted noexec?
|
||||
mountpoint -q $savedir || mount --bind $savedir $savedir
|
||||
mount -o remount,exec $savedir
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
EOF
|
||||
|
||||
add_maintscript_fragment $pkg postrm <<EOF
|
||||
case \$1 in
|
||||
(remove)
|
||||
# remove modules for all versions not just one
|
||||
for dirf in ${savedir%%_*}_*/$tagname; do
|
||||
[ -f "\$dirf" ] || continue
|
||||
dir="\${dirf%/*}"
|
||||
( cd "\$dir"; rm -f $modules )
|
||||
if [ ! "\$(ls -- "\$dir/")" ]; then
|
||||
rm -f "\$dirf"
|
||||
umount "\$dir" 2>/dev/null || :
|
||||
rmdir "\$dir" 2>/dev/null || :
|
||||
fi
|
||||
done
|
||||
;;
|
||||
esac
|
||||
EOF
|
10
debian/kvm-spice
vendored
Executable file
10
debian/kvm-spice
vendored
Executable file
|
@ -0,0 +1,10 @@
|
|||
#! /bin/sh
|
||||
echo "$0: W: this is an old compat wrapper script for kvm-spice" >&2
|
||||
echo "$0: W: please use qemu-system-x86_64 instead of $0" >&2
|
||||
|
||||
if echo "$@" | grep -q -E -e '(^|\s)-machine\s.*accel=' -e '(^|\s)-accel\s'; then
|
||||
# acceleration already set via commandline option - adding -enable-kvm would conflic"
|
||||
exec qemu-system-x86_64 "$@"
|
||||
else
|
||||
exec qemu-system-x86_64 -enable-kvm "$@"
|
||||
fi
|
17
debian/kvm-spice.1
vendored
Normal file
17
debian/kvm-spice.1
vendored
Normal file
|
@ -0,0 +1,17 @@
|
|||
.TH kvm-spice 1 2020-07 "5.0" Ubuntu
|
||||
.SH NAME
|
||||
kvm-spice, qemu-system-x86_64-spice \- compatibility names for qemu-system-x86_64
|
||||
.SH DESCRIPTION
|
||||
The two names are aliases for
|
||||
.BR qemu-system-x86_64 ,
|
||||
where kvm-spice enables kvm native hardware mode by default.
|
||||
These names are kept for backward compatibility
|
||||
wih old package, when spice-enabled qemu were packaged
|
||||
separately. Now main qemu-system has spice functionality
|
||||
built in. Please use
|
||||
.B qemu-system-x86_64
|
||||
instead of the old compat names.
|
||||
.SH SEE ALSO
|
||||
.BR qemu-system-x86_64 (1).
|
||||
.SH AUTHOR
|
||||
This manual page was written by Michael Tokarev <mjt@tls.msk.ru>.
|
20
debian/kvm.1
vendored
Normal file
20
debian/kvm.1
vendored
Normal file
|
@ -0,0 +1,20 @@
|
|||
.TH kvm 1 2020-07 "5.0" Debian
|
||||
.SH NAME
|
||||
kvm \- kvm-enabling link for qemu-system-@ARCH@
|
||||
.SH DESCRIPTION
|
||||
When executed as
|
||||
.BR kvm ,
|
||||
qemu-system is run with preference to native hardware-based
|
||||
virtualization, instead of relying solely on emulation.
|
||||
Essentially
|
||||
.B kvm
|
||||
is equivalent to
|
||||
.B qemu-system-@ARCH@
|
||||
.I -machine accel=kvm:tcg
|
||||
so when the host CPU support the kvm mode, native hardware
|
||||
virtualization is enabled, or qemu-system-@ARCH@ falls back
|
||||
to the emulation (TCG) mode.
|
||||
.SH SEE ALSO
|
||||
.BR qemu-system-@ARCH@ (1).
|
||||
.SH AUTHOR
|
||||
This manual page was written by Michael Tokarev <mjt@tls.msk.ru>.
|
19
debian/microvm-devices.mak
vendored
Normal file
19
debian/microvm-devices.mak
vendored
Normal file
|
@ -0,0 +1,19 @@
|
|||
# see configs/devices/i386-softmmu/default.mak
|
||||
# for additional devices which can be disabled
|
||||
#
|
||||
CONFIG_PCI_DEVICES=n
|
||||
|
||||
CONFIG_MICROVM=y
|
||||
|
||||
CONFIG_VIRTIO_BLK=y
|
||||
CONFIG_VIRTIO_SERIAL=y
|
||||
CONFIG_VIRTIO_INPUT=y
|
||||
CONFIG_VIRTIO_INPUT_HOST=y
|
||||
CONFIG_VHOST_USER_INPUT=y
|
||||
CONFIG_VIRTIO_NET=y
|
||||
CONFIG_VIRTIO_SCSI=y
|
||||
CONFIG_VIRTIO_RNG=y
|
||||
CONFIG_VIRTIO_CRYPTO=y
|
||||
CONFIG_VIRTIO_BALLOON=y
|
||||
CONFIG_VIRTIO_GPU=y
|
||||
CONFIG_VHOST_USER_GPU=y
|
16
debian/not-installed
vendored
Normal file
16
debian/not-installed
vendored
Normal file
|
@ -0,0 +1,16 @@
|
|||
usr/include/qemu-plugin.h
|
||||
usr/share/doc/qemu/_static
|
||||
usr/share/doc/qemu/about
|
||||
usr/share/doc/qemu/devel
|
||||
usr/share/doc/qemu/interop
|
||||
usr/share/doc/qemu/specs
|
||||
usr/share/doc/qemu/tools
|
||||
usr/share/doc/qemu/*.*
|
||||
usr/share/doc/qemu/.buildinfo
|
||||
usr/bin/elf2dmp
|
||||
# test tool
|
||||
usr/bin/qemu-edid
|
||||
# we install these files in d/rules into arch-all qemu-system-data
|
||||
usr/share/icons
|
||||
usr/share/applications/qemu.desktop
|
||||
usr/share/qemu/keymaps
|
16
debian/patches/disable-pycotap.patch
vendored
Normal file
16
debian/patches/disable-pycotap.patch
vendored
Normal file
|
@ -0,0 +1,16 @@
|
|||
From: Michael Tokarev <mjt@tls.msk.ru>
|
||||
Subject: disable pycotap for now
|
||||
Date: Fri, 27 Dec 2024 13:23:28 +0300
|
||||
Forwarded: not-needed
|
||||
|
||||
pycotap is only needed for functional tests.
|
||||
Disable it for now for building qemu.
|
||||
|
||||
diff --git a/pythondeps.toml b/pythondeps.toml
|
||||
--- a/pythondeps.toml
|
||||
+++ b/pythondeps.toml
|
||||
@@ -22,3 +22,3 @@
|
||||
meson = { accepted = ">=1.5.0", installed = "1.5.0", canary = "meson" }
|
||||
-pycotap = { accepted = ">=1.1.0", installed = "1.3.1" }
|
||||
+#pycotap = { accepted = ">=1.1.0", installed = "1.3.1" }
|
||||
|
61
debian/patches/gnu-hurd.patch
vendored
Normal file
61
debian/patches/gnu-hurd.patch
vendored
Normal file
|
@ -0,0 +1,61 @@
|
|||
From: Michael Tokarev <mjt@tls.msk.ru>
|
||||
Date: Sat, 24 Aug 2024 08:00:35 +0300
|
||||
Updated: Mon, 02 Dec 2024 17:14:04 +0300
|
||||
Subject: Add OS detection and support for GNU/Hurd
|
||||
Forwarded: not-needed
|
||||
|
||||
Adds minimal (just OS detection) "support" for
|
||||
GNU/Hurd. Just a test for now.
|
||||
|
||||
diff --git a/configure b/configure
|
||||
index 0aea9b113b..0648634636 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -353,2 +353,4 @@ elif check_define __NetBSD__; then
|
||||
host_os=netbsd
|
||||
+elif check_define __GNU__; then
|
||||
+ host_os=hurd
|
||||
elif check_define __APPLE__; then
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 91a0aa64c6..12246a588d 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -46,3 +46,3 @@ qapi_trace_events = []
|
||||
bsd_oses = ['gnu/kfreebsd', 'freebsd', 'netbsd', 'openbsd', 'dragonfly', 'darwin']
|
||||
-supported_oses = ['windows', 'freebsd', 'netbsd', 'openbsd', 'darwin', 'sunos', 'linux']
|
||||
+supported_oses = ['windows', 'freebsd', 'netbsd', 'openbsd', 'darwin', 'sunos', 'linux', 'hurd']
|
||||
supported_cpus = ['ppc', 'ppc64', 's390x', 'riscv32', 'riscv64', 'x86', 'x86_64',
|
||||
diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h
|
||||
index c7053cdc2b..560ed59ac0 100644
|
||||
--- a/include/qemu/osdep.h
|
||||
+++ b/include/qemu/osdep.h
|
||||
@@ -135,4 +135,11 @@ QEMU_EXTERN_C int daemon(int, int);
|
||||
|
||||
+#if defined(__GNU__) && !defined(PATH_MAX) /* GNU Hurd */
|
||||
+# define PATH_MAX 4096
|
||||
+#endif
|
||||
+
|
||||
#ifdef CONFIG_IOVEC
|
||||
#include <sys/uio.h>
|
||||
+# if defined(__GNU__) && !defined(IOV_MAX) /* GNU Hurd */
|
||||
+# define IOV_MAX 1024
|
||||
+# endif
|
||||
#endif
|
||||
diff --git a/block/file-posix.c b/block/file-posix.c
|
||||
index ff928b5e85..bf165a5a71 100644
|
||||
--- a/block/file-posix.c
|
||||
+++ b/block/file-posix.c
|
||||
@@ -85,4 +85,7 @@
|
||||
#endif
|
||||
#endif
|
||||
+#ifdef __GNU__
|
||||
+#include <sys/ioctl.h>
|
||||
+#endif
|
||||
#if defined(CONFIG_FALLOCATE_PUNCH_HOLE) || defined(CONFIG_FALLOCATE_ZERO_RANGE)
|
||||
#include <linux/falloc.h>
|
||||
@@ -2004,4 +2007,5 @@ static int handle_aiocb_write_zeroes_unmap(void *opaque)
|
||||
|
||||
#ifndef HAVE_COPY_FILE_RANGE
|
||||
+#define copy_file_range qemu_copy_file_range
|
||||
static off_t copy_file_range(int in_fd, off_t *in_off, int out_fd,
|
||||
off_t *out_off, size_t len, unsigned int flags)
|
51
debian/patches/hw-display-qxl-render.c-fix-qxl_unpack_chunks-chunk-.patch
vendored
Normal file
51
debian/patches/hw-display-qxl-render.c-fix-qxl_unpack_chunks-chunk-.patch
vendored
Normal file
|
@ -0,0 +1,51 @@
|
|||
From: Michael Tokarev <mjt@tls.msk.ru>
|
||||
Date: Fri, 21 Feb 2025 16:34:52 +0300
|
||||
Subject: hw/display/qxl-render.c: fix qxl_unpack_chunks() chunk size calculation
|
||||
Forwarded: https://lore.kernel.org/qemu-devel/20250221134856.478806-1-mjt@tls.msk.ru/T/#u
|
||||
Bug: https://gitlab.com/qemu-project/qemu/-/issues/1628
|
||||
|
||||
In case of multiple chunks, code in qxl_unpack_chunks() takes size of the
|
||||
wrong (next in the chain) chunk, instead of using current chunk size.
|
||||
This leads to wrong number of bytes being copied, and to crashes if next
|
||||
chunk size is larger than the current one.
|
||||
|
||||
Based on the code by Gao Yong.
|
||||
|
||||
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1628
|
||||
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
|
||||
---
|
||||
hw/display/qxl-render.c | 11 ++++++++++-
|
||||
1 file changed, 10 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/hw/display/qxl-render.c b/hw/display/qxl-render.c
|
||||
index eda6d3de37..c6a9ac1da1 100644
|
||||
--- a/hw/display/qxl-render.c
|
||||
+++ b/hw/display/qxl-render.c
|
||||
@@ -222,6 +222,7 @@ static void qxl_unpack_chunks(void *dest, size_t size, PCIQXLDevice *qxl,
|
||||
uint32_t max_chunks = 32;
|
||||
size_t offset = 0;
|
||||
size_t bytes;
|
||||
+ QXLPHYSICAL next_chunk_phys = 0;
|
||||
|
||||
for (;;) {
|
||||
bytes = MIN(size - offset, chunk->data_size);
|
||||
@@ -230,7 +231,15 @@ static void qxl_unpack_chunks(void *dest, size_t size, PCIQXLDevice *qxl,
|
||||
if (offset == size) {
|
||||
return;
|
||||
}
|
||||
- chunk = qxl_phys2virt(qxl, chunk->next_chunk, group_id,
|
||||
+ next_chunk_phys = chunk->next_chunk;
|
||||
+ /* fist time, only get the next chunk's data size */
|
||||
+ chunk = qxl_phys2virt(qxl, next_chunk_phys, group_id,
|
||||
+ sizeof(QXLDataChunk));
|
||||
+ if (!chunk) {
|
||||
+ return;
|
||||
+ }
|
||||
+ /* second time, check data size and get data */
|
||||
+ chunk = qxl_phys2virt(qxl, next_chunk_phys, group_id,
|
||||
sizeof(QXLDataChunk) + chunk->data_size);
|
||||
if (!chunk) {
|
||||
return;
|
||||
--
|
||||
2.39.5
|
||||
|
92
debian/patches/linux-user-binfmt-P.diff
vendored
Normal file
92
debian/patches/linux-user-binfmt-P.diff
vendored
Normal file
|
@ -0,0 +1,92 @@
|
|||
Subject: [PATCH, HACK]: linux-user: handle binfmt-misc P flag as a separate exe name
|
||||
From: Michael Tokarev <mjt@tls.msk.ru>
|
||||
Date: Sat, 13 Feb 2021 13:57:52 +0300
|
||||
Updated: Wed, 31 Aug 2022 12:30:17 +0300
|
||||
Forwarded: https://patchwork.ozlabs.org/project/qemu-devel/patch/27dfe8eb-adce-8db4-f28b-c42858b086db@msgid.tls.msk.ru/
|
||||
Upstream-Status: rejected this simple userspace solution in favour of more complex in-kernel one
|
||||
|
||||
A hackish way to distinguish the case when qemu-user binary is executed
|
||||
using in-kernel binfmt-misc subsystem with P flag (preserve argv).
|
||||
We register binfmt interpreter under name /usr/libexec/qemu-binfmt/qemu-foo-binfmt-P
|
||||
(which is just a symlink to ../../bin/qemu-foo), and if run like that,
|
||||
qemu-user binary will "know" it should interpret argv[1] & argv[2]
|
||||
in a special way.
|
||||
|
||||
diff --git a/linux-user/main.c b/linux-user/main.c
|
||||
index 9277df2e9d..bd323f70bc 100644
|
||||
--- a/linux-user/main.c
|
||||
+++ b/linux-user/main.c
|
||||
@@ -600,7 +600,7 @@ static void usage(int exitcode)
|
||||
exit(exitcode);
|
||||
}
|
||||
|
||||
-static int parse_args(int argc, char **argv)
|
||||
+static int parse_args(int argc, char **argv, bool *preserve_argv0)
|
||||
{
|
||||
const char *r;
|
||||
int optind;
|
||||
@@ -617,6 +617,28 @@ static int parse_args(int argc, char **argv)
|
||||
}
|
||||
}
|
||||
|
||||
+ /* HACK alert.
|
||||
+ * when run as an interpreter using kernel's binfmt-misc mechanism,
|
||||
+ * we have to know where are we (our own binary), where's the binary being run,
|
||||
+ * and what it's argv[0] element.
|
||||
+ * Only with the P interpreter flag kernel passes all 3 elements as first 3 argv[],
|
||||
+ * but we can't distinguish if we were run with or without this P flag.
|
||||
+ * So we register a special name with binfmt-misc system, a name which ends up
|
||||
+ * in "-binfmt-P", and if our argv[0] ends up with that, we assume we were run
|
||||
+ * from kernel's binfmt with P flag and our first 3 args are from kernel.
|
||||
+ */
|
||||
+ if (strlen(argv[0]) > sizeof("binfmt-P") &&
|
||||
+ strcmp(argv[0] + strlen(argv[0]) - sizeof("binfmt-P"), "-binfmt-P") == 0) {
|
||||
+ if (argc < 3) {
|
||||
+ (void) fprintf(stderr, "qemu: %s has to be run using kernel binfmt-misc subsystem\n", argv[0]);
|
||||
+ exit(EXIT_FAILURE);
|
||||
+ }
|
||||
+ exec_path = argv[1];
|
||||
+ handle_arg_argv0(argv[2]);
|
||||
+ *preserve_argv0 = true;
|
||||
+ return 2;
|
||||
+ }
|
||||
+
|
||||
optind = 1;
|
||||
for (;;) {
|
||||
if (optind >= argc) {
|
||||
@@ -687,7 +709,7 @@ int main(int argc, char **argv, char **envp)
|
||||
int execfd;
|
||||
int host_page_size;
|
||||
unsigned long max_reserved_va;
|
||||
- bool preserve_argv0;
|
||||
+ bool preserve_argv0 = 0;
|
||||
|
||||
error_init(argv[0]);
|
||||
module_call_init(MODULE_INIT_TRACE);
|
||||
@@ -726,7 +748,7 @@ int main(int argc, char **argv, char **envp)
|
||||
qemu_add_opts(&qemu_trace_opts);
|
||||
qemu_plugin_add_opts();
|
||||
|
||||
- optind = parse_args(argc, argv);
|
||||
+ optind = parse_args(argc, argv, &preserve_argv0);
|
||||
|
||||
qemu_set_log_filename_flags(last_log_filename,
|
||||
last_log_mask | (enable_strace * LOG_STRACE),
|
||||
@@ -770,7 +792,9 @@ int main(int argc, char **argv, char **envp)
|
||||
|
||||
/*
|
||||
* get binfmt_misc flags
|
||||
+ * but only if not already done by parse_args() above
|
||||
*/
|
||||
+ if (!preserve_argv0) {
|
||||
preserve_argv0 = !!(qemu_getauxval(AT_FLAGS) & AT_FLAGS_PRESERVE_ARGV0);
|
||||
|
||||
/*
|
||||
@@ -781,6 +805,7 @@ int main(int argc, char **argv, char **envp)
|
||||
if (optind + 1 < argc && preserve_argv0) {
|
||||
optind++;
|
||||
}
|
||||
+ }
|
||||
|
||||
if (cpu_model == NULL) {
|
||||
cpu_model = cpu_get_model(get_elf_eflags(execfd));
|
33
debian/patches/microvm-default-machine-type.patch
vendored
Normal file
33
debian/patches/microvm-default-machine-type.patch
vendored
Normal file
|
@ -0,0 +1,33 @@
|
|||
Subject: set default machine type to be microvm if CONFIG_MICROVM is defined
|
||||
Debian-Specific: yes
|
||||
Forwarded: not-needed
|
||||
From: Michael Tokarev <mjt@tls.msk.ru>
|
||||
Date: Sat, 22 Feb 2020 16:19:11 +0300
|
||||
Updated: Fri, 21 Feb 2025 17:30:25 +0300
|
||||
|
||||
diff --git a/hw/i386/microvm.c b/hw/i386/microvm.c
|
||||
index a8d354aabe..1806cde036 100644
|
||||
--- a/hw/i386/microvm.c
|
||||
+++ b/hw/i386/microvm.c
|
||||
@@ -650,2 +650,5 @@ static void microvm_class_init(ObjectClass *oc, void *data)
|
||||
mc->desc = "microvm (i386)";
|
||||
+#ifdef CONFIG_MICROVM_DEFAULT
|
||||
+ mc->is_default = true;
|
||||
+#endif
|
||||
mc->units_per_default_bus = 1;
|
||||
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
|
||||
index 04d2957adc..fc52848caf 100644
|
||||
--- a/hw/i386/pc_piix.c
|
||||
+++ b/hw/i386/pc_piix.c
|
||||
@@ -450,4 +450,10 @@ static void pc_i440fx_init(MachineState *machine)
|
||||
|
||||
+#ifdef CONFIG_MICROVM_DEFAULT
|
||||
+#define LATEST_IS_DEFAULT false
|
||||
+#else
|
||||
+#define LATEST_IS_DEFAULT true
|
||||
+#endif
|
||||
+
|
||||
#define DEFINE_I440FX_MACHINE_AS_LATEST(major, minor) \
|
||||
- DEFINE_PC_VER_MACHINE(pc_i440fx, "pc-i440fx", pc_i440fx_init, true, "pc", major, minor);
|
||||
+ DEFINE_PC_VER_MACHINE(pc_i440fx, "pc-i440fx", pc_i440fx_init, LATEST_IS_DEFAULT, "pc", major, minor);
|
||||
|
102
debian/patches/note-missing-module-pkg-name.diff
vendored
Normal file
102
debian/patches/note-missing-module-pkg-name.diff
vendored
Normal file
|
@ -0,0 +1,102 @@
|
|||
Date: Sun, 22 Aug 2021 15:16:25 +0300
|
||||
Updated: Wed, 03 Jan 2024 14:12:39 +0300
|
||||
From: Michael Tokarev <mjt@tls.msk.ru>
|
||||
Subject: Note missing module package name
|
||||
Debian-Specific: yes
|
||||
Forwarded: not-needed
|
||||
|
||||
Debian ships different modules in different packages.
|
||||
By default qemu ignores the fact that it can not load
|
||||
a module, pretending this module never existed.
|
||||
Give a useful hint about the package where the module
|
||||
in question resides.
|
||||
|
||||
This is a hack, but it makes qemu packaged in debian
|
||||
more user-friendly.
|
||||
|
||||
diff --git a/audio/audio.c b/audio/audio.c
|
||||
index 7ac74f9e16..15f1071bdc 100644
|
||||
--- a/audio/audio.c
|
||||
+++ b/audio/audio.c
|
||||
@@ -1745,5 +1745,9 @@ static AudioState *audio_init(Audiodev *dev, Error **errp)
|
||||
done = !audio_driver_init(s, driver, dev, errp);
|
||||
} else {
|
||||
- error_setg(errp, "Unknown audio driver `%s'", drvname);
|
||||
+ error_setg(errp, "Unknown audio driver `%s'. Perhaps you want to install %s package?",
|
||||
+ drvname,
|
||||
+ !strcmp(drvname, "spice") ? "qemu-system-modules-spice" :
|
||||
+ !strcmp(drvname, "dbus") ? "qemu-system-modules-opengl" :
|
||||
+ "qemu-system-gui");
|
||||
}
|
||||
if (!done) {
|
||||
diff --git a/block.c b/block.c
|
||||
index bfb0861ec6..8de988961d 100644
|
||||
--- a/block.c
|
||||
+++ b/block.c
|
||||
@@ -453,4 +453,10 @@ static BlockDriver *bdrv_do_find_format(const char *format_name)
|
||||
}
|
||||
|
||||
+static void note_block_package_name(const char *b)
|
||||
+{
|
||||
+ error_report("Unable to load module %s. Perhaps you want to install qemu-block-extra or qemu-block-supplemental package?",
|
||||
+ b);
|
||||
+}
|
||||
+
|
||||
BlockDriver *bdrv_find_format(const char *format_name)
|
||||
{
|
||||
@@ -476,4 +482,5 @@ BlockDriver *bdrv_find_format(const char *format_name)
|
||||
error_report_err(local_err);
|
||||
}
|
||||
+ else note_block_package_name(block_driver_modules[i].library_name);
|
||||
break;
|
||||
}
|
||||
@@ -966,5 +973,8 @@ BlockDriver *bdrv_find_protocol(const char *filename,
|
||||
return NULL;
|
||||
}
|
||||
- break;
|
||||
+ else {
|
||||
+ note_block_package_name(block_driver_modules[i].library_name);
|
||||
+ return NULL;
|
||||
+ }
|
||||
}
|
||||
}
|
||||
diff --git a/system/vl.c b/system/vl.c
|
||||
index e18fa3ce46..91019d6952 100644
|
||||
--- a/system/vl.c
|
||||
+++ b/system/vl.c
|
||||
@@ -1049,5 +1049,7 @@ static void select_vgahw(const MachineClass *machine_class, const char *p)
|
||||
if (ti->opt_name && strstart(p, ti->opt_name, &opts)) {
|
||||
if (!vga_interface_available(t)) {
|
||||
- error_report("%s not available", ti->name);
|
||||
+ error_report("%s not available. Perhaps you want to install %s package?", ti->name,
|
||||
+ /* qxl is in spice, some are in opengl, the some are in common */
|
||||
+ !strcmp(ti->opt_name, "qxl") ? "qemu-system-modules-spice" : "qemu-system-modules-opengl");
|
||||
exit(1);
|
||||
}
|
||||
@@ -3500,5 +3502,10 @@ void qemu_init(int argc, char **argv)
|
||||
#ifdef CONFIG_SPICE
|
||||
case QEMU_OPTION_spice:
|
||||
- opts = qemu_opts_parse_noisily(qemu_find_opts("spice"), optarg, false);
|
||||
+ olist = qemu_find_opts("spice");
|
||||
+ if (!olist) {
|
||||
+ error_report("Perhaps you want to install qemu-system-modules-spice package?");
|
||||
+ exit(1);
|
||||
+ }
|
||||
+ opts = qemu_opts_parse_noisily(olist, optarg, false);
|
||||
if (!opts) {
|
||||
exit(1);
|
||||
diff --git a/ui/console.c b/ui/console.c
|
||||
index 832055675c..a930f88d68 100644
|
||||
--- a/ui/console.c
|
||||
+++ b/ui/console.c
|
||||
@@ -1659,6 +1659,8 @@ void qemu_display_early_init(DisplayOptions *opts)
|
||||
}
|
||||
if (dpys[opts->type] == NULL) {
|
||||
- error_report("Display '%s' is not available.",
|
||||
- DisplayType_str(opts->type));
|
||||
+ error_report("Display '%s' is not available. Perhaps you want to install %s package?",
|
||||
+ DisplayType_str(opts->type),
|
||||
+ (!strcmp(DisplayType_str(opts->type), "dbus") || !strcmp(DisplayType_str(opts->type), "egl-headless"))
|
||||
+ ? "qemu-system-modules-opengl" : "qemu-system-gui");
|
||||
exit(1);
|
||||
}
|
35
debian/patches/openbios-use-source_date_epoch-in-makefile.patch
vendored
Normal file
35
debian/patches/openbios-use-source_date_epoch-in-makefile.patch
vendored
Normal file
|
@ -0,0 +1,35 @@
|
|||
From: Vagrant Cascadian <vagrant@reproducible-builds.org>
|
||||
Date: Sun, 21 Jun 2020 19:27:11 +0000
|
||||
X-Dgit-Generated: 1:5.0-6~0~20200621~20 0b5923e6cc49abffd582177ba8558cfb6c7f10ce
|
||||
Subject: roms/openbios: Use SOURCE_DATE_EPOCH in Makefile.
|
||||
Forwarded: no
|
||||
|
||||
Embedding the build time breaks reproducibility. Instead, use the date
|
||||
specified by the SOURCE_DATE_EPOCH environment variable:
|
||||
|
||||
https://reproducible-builds.org/docs/source-date-epoch/
|
||||
|
||||
This patch relies on features of GNU date, and will need further
|
||||
changes for portability to other systems.
|
||||
|
||||
---
|
||||
|
||||
--- qemu-5.0.orig/roms/openbios/Makefile.target
|
||||
+++ qemu-5.0/roms/openbios/Makefile.target
|
||||
@@ -54,14 +54,14 @@ versions: $(ODIR)/target/include/openbio
|
||||
|
||||
$(ODIR)/forth/version.fs:
|
||||
$(call quiet-command,true, " GEN $(TARGET_DIR)$@")
|
||||
- @DATE="$(shell echo `LC_ALL=C TZ=UTC date +'%b %e %Y %H:%M'`)" ; \
|
||||
+ @DATE="$(shell echo `LC_ALL=C date --utc --date=@$(SOURCE_DATE_EPOCH) +'%b %e %Y %H:%M'`)" ; \
|
||||
( echo ": builddate \" $$DATE\" ; " ; \
|
||||
echo ": version \" $(VERSION)\" ; " ; ) \
|
||||
> $(dir $@)/version.fs
|
||||
|
||||
$(ODIR)/target/include/openbios-version.h:
|
||||
$(call quiet-command,true, " GEN $(TARGET_DIR)$@")
|
||||
- @DATE="$(shell echo `LC_ALL=C TZ=UTC date +'%b %e %Y %H:%M'`)" ; \
|
||||
+ @DATE="$(shell echo `LC_ALL=C date --utc --date=@$(SOURCE_DATE_EPOCH) +'%b %e %Y %H:%M'`)" ; \
|
||||
( echo "#define OPENBIOS_BUILD_DATE \"$$DATE\"" ; \
|
||||
echo "#define OPENBIOS_VERSION_STR \"$(VERSION)\"" ; ) \
|
||||
> $(dir $@)/openbios-version.h
|
44
debian/patches/qboot-Disable-LTO-for-ELF-binary-build-step.patch
vendored
Normal file
44
debian/patches/qboot-Disable-LTO-for-ELF-binary-build-step.patch
vendored
Normal file
|
@ -0,0 +1,44 @@
|
|||
From e5fe12ebb41f4e24340c8c543231095482b6a9d8 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Ehrhardt <christian.ehrhardt@canonical.com>
|
||||
Date: Wed, 6 Jul 2022 10:10:55 +0200
|
||||
Subject: [PATCH] qboot: Disable LTO for ELF binary build step
|
||||
|
||||
If LTO is enabled by default qboot fails to link as it exposes
|
||||
a few issues that break the build:
|
||||
|
||||
../code16.c: Assembler messages:
|
||||
../code16.c:37: Error: redundant addr32 prefix
|
||||
../code16.c:27: Error: redundant addr32 prefix
|
||||
../code16.c:18: Error: redundant addr32 prefix
|
||||
|
||||
Until fixed suppress this behavior by adding -fno-lto to the end
|
||||
of the linker flags.
|
||||
|
||||
Fixes: #31
|
||||
|
||||
Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
|
||||
|
||||
Forwarded: yes
|
||||
Author: Christian Ehrhardt <christian.ehrhardt@canonical.com>
|
||||
Origin: https://gitlab.com/bonzini/qboot/-/merge_requests/32
|
||||
Bug: https://gitlab.com/bonzini/qboot/-/issues/31
|
||||
Last-Update: 2022-07-06
|
||||
---
|
||||
meson.build | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/roms/qboot/meson.build b/roms/qboot/meson.build
|
||||
index d060f75..a9792e8 100644
|
||||
--- a/roms/qboot/meson.build
|
||||
+++ b/roms/qboot/meson.build
|
||||
@@ -19,6 +19,7 @@ link_args = ['-nostdlib', '-m32']
|
||||
link_args += cc.get_supported_link_arguments('-Wl,--build-id=none')
|
||||
link_args += '-Wl,-T' + meson.current_source_dir() / 'flat.lds'
|
||||
link_args += cc.get_supported_link_arguments(['-no-pie'])
|
||||
+link_args += cc.get_supported_link_arguments(['-fno-lto'])
|
||||
|
||||
elf = executable(
|
||||
'bios.bin.elf',
|
||||
--
|
||||
2.37.0
|
||||
|
29
debian/patches/qemu-bridge-helper-path.patch
vendored
Normal file
29
debian/patches/qemu-bridge-helper-path.patch
vendored
Normal file
|
@ -0,0 +1,29 @@
|
|||
Subject: set proper path for qemu-bridge-helper binary in the docs
|
||||
Bug-Debian: https://bugs.debian.org/1027447
|
||||
From: Michael Tokarev <mjt@tls.msk.ru>
|
||||
Date: Tue, 18 Apr 2023 17:29:17 +0300
|
||||
Forwarded: no
|
||||
Upstream-Status: this should be fixed in a more generic way, this fix is debian-specific
|
||||
|
||||
Upstream should propagate this path from the config option.
|
||||
This is a dumb-n-quick fix.
|
||||
|
||||
diff --git a/qemu-options.hx b/qemu-options.hx
|
||||
index b56f6b2fb2..fe138c83d3 100644
|
||||
--- a/qemu-options.hx
|
||||
+++ b/qemu-options.hx
|
||||
@@ -3158,3 +3158,3 @@ SRST
|
||||
The default network helper executable is
|
||||
- ``/path/to/qemu-bridge-helper`` and the default bridge device is
|
||||
+ ``/usr/lib/qemu/qemu-bridge-helper`` and the default bridge device is
|
||||
``br0``.
|
||||
@@ -3184,3 +3184,3 @@ SRST
|
||||
|qemu_system| linux.img -device virtio-net-pci,netdev=n1 \\
|
||||
- -netdev tap,id=n1,"helper=/path/to/qemu-bridge-helper"
|
||||
+ -netdev tap,id=n1,"helper=/usr/lib/qemu/qemu-bridge-helper"
|
||||
|
||||
@@ -3191,3 +3191,3 @@ SRST
|
||||
attach it to the bridge. The default network helper executable is
|
||||
- ``/path/to/qemu-bridge-helper`` and the default bridge device is
|
||||
+ ``/usr/lib/qemu/qemu-bridge-helper`` and the default bridge device is
|
||||
``br0``.
|
2092
debian/patches/qemu-img-options.patch
vendored
Normal file
2092
debian/patches/qemu-img-options.patch
vendored
Normal file
File diff suppressed because it is too large
Load diff
32
debian/patches/seabios-hppa-use-consistent-date-and-remove-hostname.patch
vendored
Normal file
32
debian/patches/seabios-hppa-use-consistent-date-and-remove-hostname.patch
vendored
Normal file
|
@ -0,0 +1,32 @@
|
|||
From: Vagrant Cascadian <vagrant@reproducible-builds.org>
|
||||
Date: Sun, 21 Jun 2020 19:38:39 +0000
|
||||
X-Dgit-Generated: 1:5.0-6~0~20200621~20 92cdacf1c512114ca313800748a5fc162775f51e
|
||||
Subject: roms/seabios-hppa: Use consistent date and remove hostname.
|
||||
|
||||
Two issues break reproducibility; the time and hostname get embedded
|
||||
in the resulting seabios binary.
|
||||
|
||||
Simply drop the hostname from the embedded version string, as it
|
||||
shouldn't be needed in Debian package builds.
|
||||
|
||||
Use the SOURCE_DATE_EPOCH environment variable to set the build date
|
||||
rather than the current time:
|
||||
|
||||
https://reproducible-builds.org/docs/source-date-epoch/
|
||||
|
||||
---
|
||||
|
||||
--- qemu-5.0.orig/roms/seabios-hppa/scripts/buildversion.py
|
||||
+++ qemu-5.0/roms/seabios-hppa/scripts/buildversion.py
|
||||
@@ -125,9 +125,8 @@ def main():
|
||||
if not ver:
|
||||
ver = "?"
|
||||
if not cleanbuild:
|
||||
- btime = time.strftime("%Y%m%d_%H%M%S")
|
||||
- hostname = socket.gethostname()
|
||||
- ver = "%s-%s-%s" % (ver, btime, hostname)
|
||||
+ btime = time.strftime("%Y%m%d_%H%M%S", time.gmtime(int(os.environ.get('SOURCE_DATE_EPOCH', time.time()))))
|
||||
+ ver = "%s-%s" % (ver, btime)
|
||||
write_version(outfile, ver + options.extra, toolstr)
|
||||
|
||||
if __name__ == '__main__':
|
18
debian/patches/series
vendored
Normal file
18
debian/patches/series
vendored
Normal file
|
@ -0,0 +1,18 @@
|
|||
microvm-default-machine-type.patch
|
||||
static-linux-user-stubs.diff
|
||||
linux-user-binfmt-P.diff
|
||||
note-missing-module-pkg-name.diff
|
||||
skip-unpack-edk2-blobs.patch
|
||||
qemu-bridge-helper-path.patch
|
||||
gnu-hurd.patch
|
||||
qboot-Disable-LTO-for-ELF-binary-build-step.patch
|
||||
u-boot-sam460ex-fdi.patch
|
||||
u-boot-sam460ex-mstring.patch
|
||||
u-boot-sam460ex-build.patch
|
||||
openbios-use-source_date_epoch-in-makefile.patch
|
||||
seabios-hppa-use-consistent-date-and-remove-hostname.patch
|
||||
slof-remove-user-and-host-from-release-version.patch
|
||||
slof-ensure-ld-is-called-with-C-locale.patch
|
||||
qemu-img-options.patch
|
||||
disable-pycotap.patch
|
||||
hw-display-qxl-render.c-fix-qxl_unpack_chunks-chunk-.patch
|
19
debian/patches/skip-unpack-edk2-blobs.patch
vendored
Normal file
19
debian/patches/skip-unpack-edk2-blobs.patch
vendored
Normal file
|
@ -0,0 +1,19 @@
|
|||
From: Michael Tokarev <mjt@tls.msk.ru>
|
||||
Subject: skip unpacking of edk2 blobs
|
||||
Date: Sat, 01 Apr 2023 18:46:55 +0300
|
||||
Debian-Specific: yes
|
||||
Forwarded: not-needed
|
||||
|
||||
Debian strips the blobs from qemu.orig.tar.gz so the code
|
||||
fails to unpack the missing files.
|
||||
|
||||
diff --git a/pc-bios/meson.build b/pc-bios/meson.build
|
||||
index a7224ef469..ddaedd95af 100644
|
||||
--- a/pc-bios/meson.build
|
||||
+++ b/pc-bios/meson.build
|
||||
@@ -1,4 +1,4 @@
|
||||
roms = []
|
||||
-if unpack_edk2_blobs
|
||||
+if unpack_edk2_blobs and false
|
||||
fds = [
|
||||
'edk2-aarch64-code.fd',
|
20
debian/patches/slof-ensure-ld-is-called-with-C-locale.patch
vendored
Normal file
20
debian/patches/slof-ensure-ld-is-called-with-C-locale.patch
vendored
Normal file
|
@ -0,0 +1,20 @@
|
|||
From: Vagrant Cascadian <vagrant@reproducible-builds.org>
|
||||
Date: Mon, 22 Jun 2020 00:40:39 +0000
|
||||
X-Dgit-Generated: 1:5.0-6~0~20200622~0 973dc2cba2b12d0fc4706ad75af36abcab4f6da9
|
||||
Subject: slof/Makefile.gen: Ensure ld is called with the C locale.
|
||||
|
||||
The output of "ld -V" changes based on the environment's locale.
|
||||
|
||||
---
|
||||
|
||||
--- qemu-5.0.orig/roms/SLOF/Makefile.gen
|
||||
+++ qemu-5.0/roms/SLOF/Makefile.gen
|
||||
@@ -62,7 +62,7 @@ romfs_build:
|
||||
../build_info.img:
|
||||
@echo "$(CC)" > ../build_info.img
|
||||
@$(CC) -v >> ../build_info.img 2>&1
|
||||
- @$(LD) -V >> ../build_info.img 2>&1
|
||||
+ @LC_ALL=C $(LD) -V >> ../build_info.img 2>&1
|
||||
|
||||
../$(SUBBOARD).dtb:
|
||||
@if [ -e dts/$(SUBBOARD).dts ]; then \
|
21
debian/patches/slof-remove-user-and-host-from-release-version.patch
vendored
Normal file
21
debian/patches/slof-remove-user-and-host-from-release-version.patch
vendored
Normal file
|
@ -0,0 +1,21 @@
|
|||
From: Vagrant Cascadian <vagrant@reproducible-builds.org>
|
||||
Date: Mon, 22 Jun 2020 03:48:55 +0000
|
||||
X-Dgit-Generated: 1:5.0-6~0~20200622~4 7ad3e07212ae4baf17ca3734670f0774d06403a7
|
||||
Subject: roms/SLOF/Makefile.gen: Remove user and host from release version.
|
||||
|
||||
This version string ends up in the slof.bin, leading to
|
||||
reproducibility issues.
|
||||
|
||||
---
|
||||
|
||||
--- qemu-5.0.orig/roms/SLOF/Makefile.gen
|
||||
+++ qemu-5.0/roms/SLOF/Makefile.gen
|
||||
@@ -26,7 +26,7 @@ RELEASE=git-$(shell git rev-parse --shor
|
||||
export DRIVER_NAME=git-$(shell git rev-parse --short=12 HEAD)
|
||||
else
|
||||
ifneq (,$(shell cat ../VERSION))
|
||||
-RELEASE="$(USER)@$(HOSTNAME) release $(shell cat ../VERSION)"
|
||||
+RELEASE="release $(shell cat ../VERSION)"
|
||||
export DRIVER_NAME=HEAD
|
||||
else
|
||||
RELEASE="$(USER)@$(HOSTNAME)(private build)"
|
54
debian/patches/static-linux-user-stubs.diff
vendored
Normal file
54
debian/patches/static-linux-user-stubs.diff
vendored
Normal file
|
@ -0,0 +1,54 @@
|
|||
Subject: static linux-user stubs
|
||||
From: Michael Tokarev <mjt@tls.msk.ru>
|
||||
Date: Thu, 25 Apr 2024 09:01:13 +0300
|
||||
Forwarded: not-needed
|
||||
|
||||
When building a static linux-user binaries, ld complains:
|
||||
|
||||
/usr/bin/ld: libglib-2.0.a(gutils.c.o): in function `g_get_user_database_entry':
|
||||
warning: Using 'getpwuid' in statically linked applications requires...
|
||||
warning: Using 'getpwnam_r' in statically linked applications requires...
|
||||
warning: Using 'getpwuid_r' in statically linked applications requires...
|
||||
|
||||
This is because glib, in their "misc utils" unit (gutils.c), has functions
|
||||
to return current user home directory and similar stuff, and this unit is
|
||||
almost always included into the link, even if these particular functions
|
||||
aren't used by the application.
|
||||
|
||||
Ideally this should be fixed on the glib side, by splitting gutils.c into
|
||||
several files, so unused symbols wont be included in the link at all.
|
||||
But this requires extra efforts from glib side, and static linkage with
|
||||
glib is very rare.
|
||||
|
||||
So just stub-out a few getpw* symbols here, - this will eliminate the
|
||||
warning and will make resulting binary quite a bit smaller.
|
||||
|
||||
It would be nice to eliminate whole dlopen() too.
|
||||
|
||||
diff --git a/linux-user/main.c b/linux-user/main.c
|
||||
--- a/linux-user/main.c
|
||||
+++ b/linux-user/main.c
|
||||
@@ -1025,3 +1025,23 @@ int main(int argc, char **argv, char **envp)
|
||||
/* never exits */
|
||||
return 0;
|
||||
}
|
||||
+
|
||||
+#ifdef PROVIDE_STUBS_FOR_STATIC
|
||||
+
|
||||
+struct passwd *getpwuid(uid_t uid) {
|
||||
+ return NULL;
|
||||
+}
|
||||
+
|
||||
+int getpwnam_r(const char *name, struct passwd *pwd,
|
||||
+ char buf[], size_t buflen,
|
||||
+ struct passwd **result) {
|
||||
+ return -1;
|
||||
+}
|
||||
+
|
||||
+int getpwuid_r(uid_t uid, struct passwd *pwd,
|
||||
+ char buf[], size_t buflen,
|
||||
+ struct passwd **result) {
|
||||
+ return -1;
|
||||
+}
|
||||
+
|
||||
+#endif
|
57
debian/patches/u-boot-sam460ex-build.patch
vendored
Normal file
57
debian/patches/u-boot-sam460ex-build.patch
vendored
Normal file
|
@ -0,0 +1,57 @@
|
|||
From: Michael Tokarev <mjt@tls.msk.ru>
|
||||
Date: Sat, 03 Aug 2024 11:18:58 +0300
|
||||
Subject: u-boot-sam460ex: build fixes
|
||||
Forwarded: https://lists.nongnu.org/archive/html/qemu-devel/2025-01/msg00767.html
|
||||
|
||||
Fixes or works around numerous build issues and one real bug.
|
||||
|
||||
Most are due to new defaults in gcc (in debian), like
|
||||
-Werror=implicit-function-declarations (there are a lot of missing decls)
|
||||
-Werror=incompatible-pointer-types (function types mismatches)
|
||||
-Werror=int-conversion (free int <=> pointer conversion)
|
||||
|
||||
Bug-Debian: https://bugs.debian.org/1075428
|
||||
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
|
||||
|
||||
diff --git a/roms/u-boot-sam460ex/board/ACube/Sam460ex/Sam460ex.c b/roms/u-boot-sam460ex/board/ACube/Sam460ex/Sam460ex.c
|
||||
index 4d5b953c02..5ecf16dbe2 100644
|
||||
--- a/roms/u-boot-sam460ex/board/ACube/Sam460ex/Sam460ex.c
|
||||
+++ b/roms/u-boot-sam460ex/board/ACube/Sam460ex/Sam460ex.c
|
||||
@@ -843,7 +843,7 @@ int last_stage_init (void)
|
||||
// cleanup last 8 bytes of the RTC registers bank -----
|
||||
|
||||
char arr[8] = { 0 };
|
||||
- i2c_write(0x68, 0x08, 1, &arr, 8);
|
||||
+ i2c_write(0x68, 0x08, 1, arr, 8);
|
||||
|
||||
// USB Init -------------------------------------------
|
||||
|
||||
diff --git a/roms/u-boot-sam460ex/common/usb.c b/roms/u-boot-sam460ex/common/usb.c
|
||||
index 203c9f7795..d645d36c8e 100644
|
||||
--- a/roms/u-boot-sam460ex/common/usb.c
|
||||
+++ b/roms/u-boot-sam460ex/common/usb.c
|
||||
@@ -957,7 +957,7 @@ void usb_scan_devices(void)
|
||||
printf("%d USB Device(s) found\n", dev_index);
|
||||
|
||||
#ifdef CONFIG_SAM460EX
|
||||
- static attempts = 0;
|
||||
+ static int attempts = 0;
|
||||
|
||||
if (dev_index < 3) {
|
||||
u16 fpga_val = in_be16((void *)CONFIG_SYS_FPGA_BASE + 0x2E);
|
||||
diff --git a/roms/u-boot-sam460ex/config.mk b/roms/u-boot-sam460ex/config.mk
|
||||
index bcda77611a..9928f5f4c6 100644
|
||||
--- a/roms/u-boot-sam460ex/config.mk
|
||||
+++ b/roms/u-boot-sam460ex/config.mk
|
||||
@@ -191,6 +191,11 @@ endif
|
||||
|
||||
CFLAGS += $(call cc-option,-fno-stack-protector)
|
||||
|
||||
+# this u-boot is an old bad code
|
||||
+CFLAGS += $(call cc-option,-Wno-error=implicit-function-declaration)
|
||||
+CFLAGS += $(call cc-option,-Wno-error=incompatible-pointer-types)
|
||||
+CFLAGS += $(call cc-option,-Wno-error=int-conversion)
|
||||
+
|
||||
# $(CPPFLAGS) sets -g, which causes gcc to pass a suitable -g<format>
|
||||
# option to the assembler.
|
||||
AFLAGS_DEBUG :=
|
25
debian/patches/u-boot-sam460ex-fdi.patch
vendored
Normal file
25
debian/patches/u-boot-sam460ex-fdi.patch
vendored
Normal file
|
@ -0,0 +1,25 @@
|
|||
From: Michael Tokarev <mjt@tls.msk.ru>
|
||||
Subject: u-boot-sam460ex: fdi fix
|
||||
Date: Sat Apr 1 17:34:09 2023 +0300
|
||||
Forwarded: https://lists.nongnu.org/archive/html/qemu-devel/2025-01/msg00767.html
|
||||
|
||||
Fix the missing extern in a variable declaration,
|
||||
resulting in this variable being repeated each time
|
||||
this header is included, so the link with modern gcc
|
||||
fails.
|
||||
|
||||
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
|
||||
|
||||
diff --git a/roms/u-boot-sam460ex/board/ACube/common/vesa.h b/roms/u-boot-sam460ex/board/ACube/common/vesa.h
|
||||
index a6c32c3c2c..99672aa67b 100644
|
||||
--- a/roms/u-boot-sam460ex/board/ACube/common/vesa.h
|
||||
+++ b/roms/u-boot-sam460ex/board/ACube/common/vesa.h
|
||||
@@ -4,7 +4,7 @@
|
||||
extern void *DoVesa(int argc, char *argv[]);
|
||||
extern void *set_vesa_mode(int mode);
|
||||
|
||||
-struct FrameBufferInfo
|
||||
+extern struct FrameBufferInfo
|
||||
{
|
||||
void *BaseAddress;
|
||||
unsigned long XSize;
|
18
debian/patches/u-boot-sam460ex-mstring.patch
vendored
Normal file
18
debian/patches/u-boot-sam460ex-mstring.patch
vendored
Normal file
|
@ -0,0 +1,18 @@
|
|||
From: Michael Tokarev <mjt@tls.msk.ru>
|
||||
Subject: u-boot-sam460ex: remove obsolete -mstring gcc option
|
||||
Date: Sun Oct 22 23:35:45 2023 +0300
|
||||
Forwarded: https://lists.nongnu.org/archive/html/qemu-devel/2025-01/msg00767.html
|
||||
|
||||
Modern gcc complains about it.
|
||||
|
||||
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
|
||||
|
||||
diff --git a/roms/u-boot-sam460ex/arch/powerpc/cpu/ppc4xx/config.mk b/roms/u-boot-sam460ex/arch/powerpc/cpu/ppc4xx/config.mk
|
||||
index 8f47c9b728..cf4414cee6 100644
|
||||
--- a/roms/u-boot-sam460ex/arch/powerpc/cpu/ppc4xx/config.mk
|
||||
+++ b/roms/u-boot-sam460ex/arch/powerpc/cpu/ppc4xx/config.mk
|
||||
@@ -24,3 +24,3 @@
|
||||
PLATFORM_RELFLAGS += -fPIC -meabi
|
||||
-PLATFORM_CPPFLAGS += -DCONFIG_4xx -ffixed-r2 -mstring -msoft-float
|
||||
+PLATFORM_CPPFLAGS += -DCONFIG_4xx -ffixed-r2 -msoft-float
|
||||
|
10
debian/qemu-block-extra.postinst
vendored
Normal file
10
debian/qemu-block-extra.postinst
vendored
Normal file
|
@ -0,0 +1,10 @@
|
|||
#! /bin/sh
|
||||
set -e
|
||||
|
||||
if [ "$1" = configure -a -x /usr/bin/deb-systemd-helper ] &&
|
||||
dpkg --compare-versions -- "$2" lt-nl 1:8.2.1+ds-2~
|
||||
then
|
||||
deb-systemd-helper purge 'run-qemu.mount' >/dev/null || :
|
||||
fi
|
||||
|
||||
#DEBHELPER#
|
15
debian/qemu-debootstrap
vendored
Executable file
15
debian/qemu-debootstrap
vendored
Executable file
|
@ -0,0 +1,15 @@
|
|||
#!/bin/sh
|
||||
# it was qemu-debootstrap - setup qemu syscall emulation in a debootstrap chroot
|
||||
# since kernel binfmt-misc support F flag for the interpreter and we use it,
|
||||
# there is no need to copy qemu-user binfmt interpreter binary to the chroot,
|
||||
# so regular debootstrap can be used just fine without --foreign, since all
|
||||
# commands inside the chroot will just run using qemu from binfmt-misc subsystem.
|
||||
|
||||
if ! command -v debootstrap >/dev/null; then
|
||||
echo "E: debootstrap isn't found in \$PATH, is debootstrap package installed?" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "W: qemu-debootstrap is deprecated. Please use regular debootstrap directly" >&2
|
||||
echo "I: Running command: debootstrap $*" >&2
|
||||
exec debootstrap "$@"
|
19
debian/qemu-debootstrap.1
vendored
Normal file
19
debian/qemu-debootstrap.1
vendored
Normal file
|
@ -0,0 +1,19 @@
|
|||
.TH qemu\-debootstrap 1 2011-07-02 "0.14.1+dfsg" Debian
|
||||
.SH NAME
|
||||
qemu\-debootstrap \- QEMU debootstrap wrapper
|
||||
.SH SYNOPSIS
|
||||
.B qemu\-debootstrap
|
||||
.RI [ options ]
|
||||
.SH DESCRIPTION
|
||||
The
|
||||
.B qemu\-debootstrap
|
||||
wrapper calls
|
||||
.BR debootstrap (8)
|
||||
making use of the \-\-foreign and \-\-second-stage options, and copies the appropriate
|
||||
.BR qemu\-user\-static (1)
|
||||
binary into place in order to install cross-architecture chroots. In order for it to work seamlessly, the binfmt-support package must be installed.
|
||||
.SH SEE ALSO
|
||||
.BR debootstrap (8),
|
||||
.BR qemu\-user\-static (1).
|
||||
.SH AUTHOR
|
||||
This manual page was written by Vagrant Cascadian <vagrant@debian.org>.
|
1
debian/qemu-guest-agent.dirs
vendored
Normal file
1
debian/qemu-guest-agent.dirs
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
/etc/qemu/fsfreeze-hook.d
|
131
debian/qemu-guest-agent.init
vendored
Normal file
131
debian/qemu-guest-agent.init
vendored
Normal file
|
@ -0,0 +1,131 @@
|
|||
#! /bin/sh
|
||||
### BEGIN INIT INFO
|
||||
# Provides: qemu-guest-agent
|
||||
# Required-Start: $remote_fs $syslog
|
||||
# Required-Stop: $remote_fs $syslog
|
||||
# Default-Start: 2 3 4 5
|
||||
# Default-Stop: 0 1 6
|
||||
# Short-Description: QEMU Guest Agent startup script
|
||||
# Description: Start the QEMU Guest Agent if we're running
|
||||
# in a QEMU virtual machine
|
||||
### END INIT INFO
|
||||
|
||||
# Author: Michael Tokarev <mjt@tls.msk.ru>
|
||||
|
||||
PATH=/sbin:/usr/sbin:/bin:/usr/bin
|
||||
DESC="QEMU Guest Agent"
|
||||
NAME=qemu-ga
|
||||
DAEMON=/usr/sbin/$NAME
|
||||
PIDFILE=/var/run/$NAME.pid
|
||||
|
||||
# config
|
||||
DAEMON_ARGS=""
|
||||
# default transport
|
||||
TRANSPORT=virtio-serial:/dev/virtio-ports/org.qemu.guest_agent.0
|
||||
|
||||
# Exit if the package is not installed
|
||||
[ -x "$DAEMON" ] || exit 0
|
||||
|
||||
# Read configuration variable file if it is present
|
||||
[ -r /etc/default/qemu-guest-agent ] && . /etc/default/qemu-guest-agent
|
||||
|
||||
# Load the VERBOSE setting and other rcS variables
|
||||
. /lib/init/vars.sh
|
||||
|
||||
# Define LSB log_* functions.
|
||||
# Depend on lsb-base (>= 3.2-14) to ensure that this file is present
|
||||
# and status_of_proc is working.
|
||||
. /lib/lsb/init-functions
|
||||
|
||||
#
|
||||
# Function that checks whenever system has necessary environment
|
||||
# It also splits $TRANSPORT into $method and $path
|
||||
#
|
||||
do_check_transport() {
|
||||
method=${TRANSPORT%%:*}; path=${TRANSPORT#*:}
|
||||
case "$method" in
|
||||
virtio-serial | isa-serial)
|
||||
if [ ! -e "$path" ]; then
|
||||
log_warning_msg "$NAME: transport endpoint not found, not starting"
|
||||
return 1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
#
|
||||
# Function that starts the daemon/service
|
||||
#
|
||||
do_start()
|
||||
{
|
||||
# Return
|
||||
# 0 if daemon has been started
|
||||
# 1 if daemon was already running
|
||||
# 2 if daemon could not be started
|
||||
start-stop-daemon -Sq -p $PIDFILE -x $DAEMON --test > /dev/null \
|
||||
|| return 1
|
||||
start-stop-daemon -Sq -p $PIDFILE -x $DAEMON -- --daemonize \
|
||||
$DAEMON_ARGS -m "$method" -p "$path" \
|
||||
|| return 2
|
||||
}
|
||||
|
||||
#
|
||||
# Function that stops the daemon/service
|
||||
#
|
||||
do_stop()
|
||||
{
|
||||
# Return
|
||||
# 0 if daemon has been stopped
|
||||
# 1 if daemon was already stopped
|
||||
# 2 if daemon could not be stopped
|
||||
# other if a failure occurred
|
||||
start-stop-daemon -Kq --retry=TERM/30/KILL/5 -p $PIDFILE --name $NAME
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
do_check_transport || exit 0
|
||||
[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" $NAME
|
||||
do_start
|
||||
case "$?" in
|
||||
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
|
||||
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
|
||||
esac
|
||||
;;
|
||||
stop)
|
||||
[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" $NAME
|
||||
do_stop
|
||||
case "$?" in
|
||||
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
|
||||
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
|
||||
esac
|
||||
;;
|
||||
status)
|
||||
status_of_proc "$DAEMON" $NAME && exit 0 || exit $?
|
||||
;;
|
||||
restart|force-reload) # we do not support reload
|
||||
do_check_transport || exit 0
|
||||
log_daemon_msg "Restarting $DESC" $NAME
|
||||
do_stop
|
||||
case "$?" in
|
||||
0|1)
|
||||
do_start
|
||||
case "$?" in
|
||||
0) log_end_msg 0 ;;
|
||||
1) log_end_msg 1 ;; # Old process is still running
|
||||
*) log_end_msg 1 ;; # Failed to start
|
||||
esac
|
||||
;;
|
||||
*)
|
||||
# Failed to stop
|
||||
log_end_msg 1
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*)
|
||||
echo "Usage: /etc/init.d/qemu-guest-agent {start|stop|status|restart|force-reload}" >&2
|
||||
exit 3
|
||||
;;
|
||||
esac
|
||||
|
||||
:
|
12
debian/qemu-guest-agent.install
vendored
Normal file
12
debian/qemu-guest-agent.install
vendored
Normal file
|
@ -0,0 +1,12 @@
|
|||
# from source tree
|
||||
qga/qapi-schema.json /usr/share/doc/qemu-guest-agent/
|
||||
scripts/qemu-guest-agent/fsfreeze-hook /etc/qemu/
|
||||
|
||||
# from staging area
|
||||
usr/bin/qemu-ga /usr/sbin/
|
||||
|
||||
# from build dir
|
||||
b/docs/qemu-ga.8 usr/share/man/man8/
|
||||
b/docs/interop/qemu-ga.html usr/share/doc/qemu-guest-agent/
|
||||
b/docs/qemu-ga-ref.7 usr/share/man/man7/
|
||||
b/docs/interop/qemu-qmp-ref.html usr/share/doc/qemu-guest-agent/
|
59
debian/qemu-guest-agent.postinst
vendored
Normal file
59
debian/qemu-guest-agent.postinst
vendored
Normal file
|
@ -0,0 +1,59 @@
|
|||
#!/bin/sh
|
||||
# postinst script for qemu-guest-agent
|
||||
#
|
||||
# see: dh_installdeb(1)
|
||||
|
||||
set -e
|
||||
|
||||
# summary of how this script can be called:
|
||||
# * <postinst> `configure' <most-recently-configured-version>
|
||||
# * <old-postinst> `abort-upgrade' <new version>
|
||||
# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
|
||||
# <new-version>
|
||||
# * <postinst> `abort-remove'
|
||||
# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
|
||||
# <failed-install-package> <version> `removing'
|
||||
# <conflicting-package> <version>
|
||||
# for details, see https://www.debian.org/doc/debian-policy/ or
|
||||
# the debian-policy package
|
||||
|
||||
|
||||
case "$1" in
|
||||
configure)
|
||||
;;
|
||||
|
||||
abort-upgrade|abort-remove|abort-deconfigure)
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "postinst called with unknown argument \`$1'" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# dh_installdeb will replace this with shell code automatically
|
||||
# generated by other debhelper scripts.
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
# Normal mv_conffile alone would fail due to the new path being a DIR in the old package version (LP: 1820291)
|
||||
case "$1" in
|
||||
configure)
|
||||
# From /usr/bin/dpkg-maintscript-helper modified to be able to cope with this edge case
|
||||
if [ -n "$2" ] && dpkg --compare-versions -- "$2" le-nl "1:3.1+dfsg-7~"; then
|
||||
TMPCONFFILE="/etc/qemu/fsfreeze-hook.old"
|
||||
NEWCONFFILE="/etc/qemu/fsfreeze-hook"
|
||||
ORIGCONFFILE="/etc/qemu/fsfreeze-hook/fsfreeze-hook"
|
||||
rm -f "$TMPCONFFILE.dpkg-remove"
|
||||
if [ -e "$TMPCONFFILE" ]; then
|
||||
echo "Preserving user changes to $NEWCONFFILE (renamed from $ORIGCONFFILE)..."
|
||||
if [ -e "$NEWCONFFILE" ]; then
|
||||
mv -f "$NEWCONFFILE" "$NEWCONFFILE.dpkg-new"
|
||||
fi
|
||||
mv -f "$TMPCONFFILE" "$NEWCONFFILE"
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
56
debian/qemu-guest-agent.postrm
vendored
Normal file
56
debian/qemu-guest-agent.postrm
vendored
Normal file
|
@ -0,0 +1,56 @@
|
|||
#!/bin/sh
|
||||
# postrm script for qemu-guest-agent
|
||||
#
|
||||
# see: dh_installdeb(1)
|
||||
|
||||
set -e
|
||||
|
||||
# summary of how this script can be called:
|
||||
# * <postrm> `remove'
|
||||
# * <postrm> `purge'
|
||||
# * <old-postrm> `upgrade' <new-version>
|
||||
# * <new-postrm> `failed-upgrade' <old-version>
|
||||
# * <new-postrm> `abort-install'
|
||||
# * <new-postrm> `abort-install' <old-version>
|
||||
# * <new-postrm> `abort-upgrade' <old-version>
|
||||
# * <disappearer's-postrm> `disappear' <overwriter>
|
||||
# <overwriter-version>
|
||||
# for details, see https://www.debian.org/doc/debian-policy/ or
|
||||
# the debian-policy package
|
||||
|
||||
|
||||
case "$1" in
|
||||
purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "postrm called with unknown argument \`$1'" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# dh_installdeb will replace this with shell code automatically
|
||||
# generated by other debhelper scripts.
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
# If needed revert the move we have made in preinst to compensate the new path being a DIR in the old package version (LP: 1820291)
|
||||
case "$1" in
|
||||
abort-install|abort-upgrade)
|
||||
# From /usr/bin/dpkg-maintscript-helper modified to be able to cope with this edge case
|
||||
if [ -n "$2" ] && dpkg --compare-versions -- "$2" le-nl "1:3.1+dfsg-7~"; then
|
||||
TMPCONFFILE="/etc/qemu/fsfreeze-hook.old"
|
||||
NEWCONFFILE="/etc/qemu/fsfreeze-hook"
|
||||
ORIGCONFFILE="/etc/qemu/fsfreeze-hook/fsfreeze-hook"
|
||||
if [ -e "$TMPCONFFILE.dpkg-remove" ]; then
|
||||
echo "Reinstalling $ORIGCONFFILE that was moved away"
|
||||
if [ -f "$NEWCONFFILE" ]; then
|
||||
rm -f "$NEWCONFFILE"
|
||||
fi
|
||||
mkdir -p "$NEWCONFFILE"
|
||||
mv "$TMPCONFFILE.dpkg-remove" "$ORIGCONFFILE"
|
||||
fi
|
||||
fi
|
||||
esac
|
||||
|
||||
exit 0
|
62
debian/qemu-guest-agent.preinst
vendored
Normal file
62
debian/qemu-guest-agent.preinst
vendored
Normal file
|
@ -0,0 +1,62 @@
|
|||
#!/bin/sh
|
||||
# preinst script for qemu-guest-agent
|
||||
#
|
||||
# see: dh_installdeb(1)
|
||||
|
||||
set -e
|
||||
|
||||
# summary of how this script can be called:
|
||||
# * <new-preinst> `install'
|
||||
# * <new-preinst> `install' <old-version>
|
||||
# * <new-preinst> `upgrade' <old-version>
|
||||
# * <old-preinst> `abort-upgrade' <new-version>
|
||||
# for details, see https://www.debian.org/doc/debian-policy/ or
|
||||
# the debian-policy package
|
||||
|
||||
|
||||
case "$1" in
|
||||
install|upgrade)
|
||||
;;
|
||||
|
||||
abort-upgrade)
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "preinst called with unknown argument \`$1'" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# dh_installdeb will replace this with shell code automatically
|
||||
# generated by other debhelper scripts.
|
||||
|
||||
# Normal mv_conffile alone would fail due to the new path being a DIR in the old package version (LP: 1820291)
|
||||
case "$1" in
|
||||
install|upgrade)
|
||||
# From /usr/bin/dpkg-maintscript-helper modified to be able to cope with this edge case
|
||||
if [ -n "$2" ] && dpkg --compare-versions -- "$2" le-nl "1:3.1+dfsg-7~"; then
|
||||
TMPCONFFILE="/etc/qemu/fsfreeze-hook.old"
|
||||
NEWCONFFILE="/etc/qemu/fsfreeze-hook"
|
||||
ORIGCONFFILE="/etc/qemu/fsfreeze-hook/fsfreeze-hook"
|
||||
if [ -f "$ORIGCONFFILE" ]; then
|
||||
disk_md5sum="$(md5sum "$ORIGCONFFILE" | sed -e 's/ .*//')"
|
||||
pkg_md5sum="$(dpkg-query -W -f='${Conffiles}' "qemu-guest-agent" | \
|
||||
sed -n -e "\'^ $ORIGCONFFILE ' { s/ obsolete$//; s/.* //; p }")"
|
||||
if [ "$disk_md5sum" = "$pkg_md5sum" ]; then
|
||||
# mark as having no custom content
|
||||
mv -f "$ORIGCONFFILE" "${TMPCONFFILE}.dpkg-remove"
|
||||
else
|
||||
# keep the "old" name to reflect there is content to be preserved
|
||||
mv -f "$ORIGCONFFILE" "$TMPCONFFILE"
|
||||
fi
|
||||
# In any case the old directory blocking the new conffile
|
||||
# has to be removed before unpack happens
|
||||
rmdir "$NEWCONFFILE" || echo "failed to remove $NEWCONFFILE"
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
exit 0
|
11
debian/qemu-guest-agent.service
vendored
Normal file
11
debian/qemu-guest-agent.service
vendored
Normal file
|
@ -0,0 +1,11 @@
|
|||
[Unit]
|
||||
Description=QEMU Guest Agent
|
||||
BindsTo=dev-virtio\x2dports-org.qemu.guest_agent.0.device
|
||||
After=dev-virtio\x2dports-org.qemu.guest_agent.0.device
|
||||
|
||||
[Service]
|
||||
ExecStart=-/usr/sbin/qemu-ga
|
||||
Restart=always
|
||||
RestartSec=0
|
||||
|
||||
[Install]
|
2
debian/qemu-guest-agent.udev
vendored
Normal file
2
debian/qemu-guest-agent.udev
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
SUBSYSTEM=="virtio-ports", ATTR{name}=="org.qemu.guest_agent.0", \
|
||||
TAG+="systemd", ENV{SYSTEMD_WANTS}="qemu-guest-agent.service"
|
6
debian/qemu-ifdown
vendored
Executable file
6
debian/qemu-ifdown
vendored
Executable file
|
@ -0,0 +1,6 @@
|
|||
#! /bin/sh
|
||||
# Script to shut down a network (tap) device for qemu.
|
||||
# Initially this script is empty, but you can configure,
|
||||
# for example, accounting info here.
|
||||
|
||||
:
|
41
debian/qemu-ifup
vendored
Executable file
41
debian/qemu-ifup
vendored
Executable file
|
@ -0,0 +1,41 @@
|
|||
#! /bin/sh
|
||||
# Script to bring a network (tap) device for qemu up.
|
||||
# The idea is to add the tap device to the same bridge
|
||||
# as we have default routing to.
|
||||
|
||||
# in order to be able to find brctl
|
||||
PATH=$PATH:/sbin:/usr/sbin
|
||||
ip=$(command -v ip)
|
||||
|
||||
if [ -n "$ip" ]; then
|
||||
ip link set "$1" up
|
||||
else
|
||||
brctl=$(command -v brctl)
|
||||
if [ -z "$ip$brctl" ]; then
|
||||
echo "W: $0: not doing any bridge processing: neither ip nor brctl utility not found" >&2
|
||||
exit 0
|
||||
fi
|
||||
ifconfig "$1" 0.0.0.0 up
|
||||
fi
|
||||
|
||||
switch=$(ip route ls | \
|
||||
awk '/^default / {
|
||||
for(i=0;i<NF;i++) { if ($i == "dev") { print $(i+1); next; } }
|
||||
}'
|
||||
)
|
||||
|
||||
# only add the interface to default-route bridge if we
|
||||
# have such interface (with default route) and if that
|
||||
# interface is actually a bridge.
|
||||
# It is possible to have several default routes too
|
||||
for br in $switch; do
|
||||
if [ -d /sys/class/net/$br/bridge/. ]; then
|
||||
if [ -n "$ip" ]; then
|
||||
exec ip link set "$1" master "$br"
|
||||
else
|
||||
exec brctl addif $br "$1"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
echo "W: $0: no bridge for guest interface found" >&2
|
43
debian/qemu-io.1
vendored
Normal file
43
debian/qemu-io.1
vendored
Normal file
|
@ -0,0 +1,43 @@
|
|||
.TH QEMU-IO 1 "December 18, 2011"
|
||||
.SH NAME
|
||||
qemu-io \- QEMU Disk exerciser
|
||||
.SH SYNOPSIS
|
||||
.B qemu-io [-h] [-V] [-rsnm] [-c cmd] ... [file]
|
||||
.SH DESCRIPTION
|
||||
qemu-io is a command line utility to exercise the QEMU I/O path.
|
||||
.SH OPTIONS
|
||||
.TP
|
||||
.B \-c,\ \-\-cmd\ <cmd>
|
||||
Command to execute
|
||||
.TP
|
||||
.B \-r,\ \-\-read-only
|
||||
Export read-only
|
||||
.TP
|
||||
.B \-s,\ \-\-snapshot
|
||||
Use snapshot file
|
||||
.TP
|
||||
.B \-n,\ \-\-nocache
|
||||
Disable host cache
|
||||
.TP
|
||||
.B \-g,\ \-\-growable
|
||||
Allow file to grow (only applies to protocols)
|
||||
.TP
|
||||
.B \-m,\ \-\-misalign
|
||||
Misalign allocations for O_DIRECT
|
||||
.TP
|
||||
.B \-k,\ \-\-native-aio
|
||||
Use kernel AIO implementation (on Linux only)
|
||||
.TP
|
||||
.B \-h,\ \-\-help
|
||||
Display help and exit
|
||||
.TP
|
||||
.B \-V,\ \-\-version
|
||||
Output version information and exit
|
||||
.SH SEE ALSO
|
||||
.BR qemu-img (1),
|
||||
.BR qemu-nbd (8)
|
||||
.SH AUTHOR
|
||||
QEMU project
|
||||
.PP
|
||||
This manual page was written by Asias He <asias.hejun@gmail.com>, for the Debian project (and may be used by others). Permission is granted to copy, distribute and/or modify this document under the terms of the Creative Commons Attribution-Share Alike 3.0 United States License. (See http://creativecommons.org/licenses/by-sa/3.0/us/legalcode)
|
||||
.
|
1
debian/qemu-system-arm.maintscript
vendored
Normal file
1
debian/qemu-system-arm.maintscript
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
dir_to_symlink /usr/share/doc/qemu-system-arm qemu-system-common 1:8.0+dfsg-4~ qemu-system-arm
|
106
debian/qemu-system-common.NEWS
vendored
Normal file
106
debian/qemu-system-common.NEWS
vendored
Normal file
|
@ -0,0 +1,106 @@
|
|||
qemu (1:8.0+dfsg-1) experimental; urgency=medium
|
||||
|
||||
Qemu upstream dropped support of the C-language virtiofsd daemon
|
||||
implementation in version 8.0, so this package does not ship
|
||||
virtiofsd anymore. A rust-language implementation is available
|
||||
in a separate virtiofsd package.
|
||||
|
||||
-- Michael Tokarev <mjt@tls.msk.ru> Tue, 18 Apr 2023 21:26:14 +0300
|
||||
|
||||
qemu (1:7.0+dfsg-7) unstable; urgency=medium
|
||||
|
||||
Starting with this version of qemu-system-x86 on x86 architecture, xen
|
||||
support is moved out to a separate package named qemu-system-xen. Xen
|
||||
release since 4.16.1-1 already uses qemu binary from this package. In
|
||||
order to support transition from old xen and xen-supporting qemu-system-x86
|
||||
to separate xen build of qemu, the qemu-system-i386 binary is temporarily
|
||||
replaced by a shell wrapper which detects xen usage and if found, redirects
|
||||
the call to xen-enabled qemu binary if found (with a warning), or suggests
|
||||
to install qemu-system-xen package. If you used qemu-system-x86 (or
|
||||
qemu-system-x86-xen on Ubuntu) to run xen, please install qemu-system-xen.
|
||||
qemu-system-x86 is not used by xen anymore since 4.16.1-1.
|
||||
|
||||
-- Michael Tokarev <mjt@tls.msk.ru> Sun, 15 May 2022 15:15:58 +0300
|
||||
|
||||
qemu (1:5.0-9) unstable; urgency=medium
|
||||
|
||||
With this version, kvm wrapper (initially from the separate kvm
|
||||
package, which were later renamed to qemu-kvm) is merged back
|
||||
to qemu-system-x86 package, replacing old qemu-kvm package.
|
||||
'kvm' command name turned out to be very handy for manual
|
||||
execution of qemu with kvm enabled, and we now rely on the
|
||||
upstream behavor - when executable name ends with "kvm" it
|
||||
enables the kvm mode by default if available, and falls back
|
||||
to TCG if not.
|
||||
|
||||
-- Michael Tokarev <mjt@tls.msk.ru> Fri, 17 Jul 2020 12:54:35 +0300
|
||||
|
||||
qemu (1:2.12+dfsg-2) unstable; urgency=medium
|
||||
|
||||
Since qemu 2.12, [G]UI display frontends can be built as modules.
|
||||
Debian creates new package, qemu-system-gui, which currently
|
||||
includes GTK3 support. This also switches display from SDL to GTK.
|
||||
Qemu-system-* packages recommends installing qemu-system-gui, so
|
||||
by default on upgrade you will have new package installed, and
|
||||
local GUI will continue to work. However, if you choose to not
|
||||
install recommended packages, you might consider installing
|
||||
qemu-system-gui package separately, if you need local GUI support
|
||||
as well. Without this package, qemu-system-* becomes "headless",
|
||||
and can be used on servers to reduce amount of dependencies -
|
||||
this way, no X11 stuff is needed by qemu-system anymore.
|
||||
|
||||
-- Michael Tokarev <mjt@tls.msk.ru> Sun, 27 Apr 2018 09:18:32 +0300
|
||||
|
||||
qemu (1:2.2+dfsg-6exp) unstable; urgency=medium
|
||||
|
||||
Since Debian release 2.2+dfsg-6exp, a new package named qemu-block-extra
|
||||
has been created and some less frequently used block backends has been
|
||||
split out of main qemu-system binaries and from qemu-img binary to
|
||||
this new package. The backends which has been split are:
|
||||
curl
|
||||
iscsi
|
||||
rbd (ceph/rados)
|
||||
ssh
|
||||
If you use any of these, please install qemu-block-extra package in
|
||||
addition to qemu-system-* or qemu-utils package, because without it
|
||||
these block backends won't work anymore.
|
||||
|
||||
-- Michael Tokarev <mjt@tls.msk.ru> Mon, 27 Apr 2015 09:29:55 +0300
|
||||
|
||||
qemu (2.0.0+dfsg-1) unstable; urgency=low
|
||||
|
||||
qemu-system-* packages does not provide /usr/bin/qemu alternative
|
||||
anymore, and all various alternatives will be unregistered at new
|
||||
individual qemu-system packages install. This is because different
|
||||
architectures are not really alternatives, and never has been.
|
||||
Historically, qemu emulated just one architecture, so the name "qemu"
|
||||
was used for the binary. However when more architectures were added,
|
||||
the old name "qemu" was used as an alternative, pointing to one of
|
||||
the emulators. Upstream does not use the name "qemu" for binaries
|
||||
for a long time. If you have scripts using the old name "qemu"
|
||||
please update them to use the right qemu-system-* binary.
|
||||
|
||||
-- Michael Tokarev <mjt@tls.msk.ru> Fri, 11 Apr 2014 19:57:22 +0400
|
||||
|
||||
qemu (1.7.0+dfsg-2) unstable; urgency=low
|
||||
|
||||
Since version 1.7.0+dfsg-2, qemu-system-x86 switched from vgabios for
|
||||
plex/bochs project to implementation of vgabios provided by seabios.
|
||||
The latter is written almost entirely in C language so it is much easier
|
||||
to debugu/develop, but it lacks some 16bit protected mode functions which
|
||||
are present in vgabios. This means that it is possible that, for eaxample,
|
||||
some protected-mode games written for MS-DOS may not work since this
|
||||
release.
|
||||
|
||||
This also means that vgabios package isn't used by qemu anymore, and might
|
||||
be removed from the system if there are no other users of it left.
|
||||
|
||||
|
||||
/usr/bin/kvm shell wrapper has been moved back to qemu-kvm package (it was
|
||||
moved to qemu-system-x86 in version 1.3.0+dfsg-2exp). Please note that we
|
||||
do not re-install qemu-kvm package if it has been removed as obsolete, so
|
||||
if you need /usr/bin/kvm wrapper please install qemu-kvm package again.
|
||||
This change allows qemu-system-x86 package to co-exist with the old qemu-kvm
|
||||
binary (not shell-wrapper) package from wheezy.
|
||||
|
||||
-- Michael Tokarev <mjt@tls.msk.ru> Thu, 28 Nov 2013 18:40:56 +0400
|
35
debian/qemu-system-common.README.Debian
vendored
Normal file
35
debian/qemu-system-common.README.Debian
vendored
Normal file
|
@ -0,0 +1,35 @@
|
|||
Historically, there were different naming in use for the
|
||||
same architectures within different groups/projects. For
|
||||
example, amd64 architecture (Debian name) is also known as
|
||||
x86_64; arm64 and aarch64; and so on. Qemu used one way
|
||||
to name the binaries, debian used another, some architectures
|
||||
are named the same way, while for other architectures there's
|
||||
a difference.
|
||||
|
||||
Starting with debian qemu-system-* packages version 8.0, we now
|
||||
provide debian-compatible naming scheme for qemu-system-$arch
|
||||
binaries, shipping symlinks to qemu names when qemu name is
|
||||
different from debian's. For example, qemu-system-amd64 is a
|
||||
symlink to qemu-system-x86_64.
|
||||
|
||||
Since qemu-system emulates a CPU (it is agnostic to what
|
||||
OS/kernel/abi is being actually used inside), we can use
|
||||
qemu-system-${DEB_HOST_ARCH_CPU} from dpkg-architecture,
|
||||
not qemu-system-${DEB_HOST_ARCH}.
|
||||
|
||||
In particular, the following extra names are provided:
|
||||
|
||||
amd64 => x86_64
|
||||
arm64 => aarch64
|
||||
loong64 => loongarch64
|
||||
powerpc => ppc
|
||||
ppc64el => ppc64
|
||||
|
||||
The other names do match between qemu and debian.
|
||||
|
||||
There's another name which is also provided but which is
|
||||
neither in debian nor in qemu: it is ppc64le, which is
|
||||
the name used for this architecture in the linux kernel.
|
||||
|
||||
One can run qemu-system-$archos binary, and you can
|
||||
list it in (Build-)Depends: field too.
|
27
debian/qemu-system-common.install
vendored
Normal file
27
debian/qemu-system-common.install
vendored
Normal file
|
@ -0,0 +1,27 @@
|
|||
debian/qemu-ifup etc/
|
||||
debian/qemu-ifdown etc/
|
||||
|
||||
b/docs/qemu-system.1 usr/share/man/man1/
|
||||
b/docs/qemu-qmp-ref.7 usr/share/man/man7/
|
||||
b/docs/qemu-cpu-models.7 usr/share/man/man7/
|
||||
|
||||
usr/share/qemu/trace-events-all
|
||||
usr/bin/qemu-pr-helper
|
||||
b/docs/qemu-pr-helper.8 usr/share/man/man8/
|
||||
|
||||
# linux-specific
|
||||
usr/lib/qemu/qemu-bridge-helper
|
||||
|
||||
# common modules. Other gui modules are in qemu-system-gui
|
||||
usr/lib/${DEB_HOST_MULTIARCH}/qemu/audio-alsa.so
|
||||
usr/lib/${DEB_HOST_MULTIARCH}/qemu/audio-oss.so
|
||||
usr/lib/${DEB_HOST_MULTIARCH}/qemu/chardev-baum.so
|
||||
usr/lib/${DEB_HOST_MULTIARCH}/qemu/hw-display-virtio-gpu-pci.so
|
||||
usr/lib/${DEB_HOST_MULTIARCH}/qemu/hw-display-virtio-gpu.so
|
||||
usr/lib/${DEB_HOST_MULTIARCH}/qemu/hw-display-virtio-vga.so
|
||||
usr/lib/${DEB_HOST_MULTIARCH}/qemu/hw-uefi-vars.so
|
||||
usr/lib/${DEB_HOST_MULTIARCH}/qemu/hw-usb-host.so
|
||||
usr/lib/${DEB_HOST_MULTIARCH}/qemu/hw-usb-redirect.so
|
||||
usr/lib/${DEB_HOST_MULTIARCH}/qemu/hw-usb-smartcard.so
|
||||
usr/lib/${DEB_HOST_MULTIARCH}/qemu/hw-s390x-virtio-gpu-ccw.so
|
||||
usr/lib/${DEB_HOST_MULTIARCH}/qemu/ui-curses.so
|
8
debian/qemu-system-common.lintian-overrides
vendored
Normal file
8
debian/qemu-system-common.lintian-overrides
vendored
Normal file
|
@ -0,0 +1,8 @@
|
|||
# probably a false positives
|
||||
qemu-system-common: shared-library-lacks-prerequisites [usr/lib/*/qemu/hw-display-virtio-gpu-pci.so]
|
||||
qemu-system-common: shared-library-lacks-prerequisites [usr/lib/*/qemu/hw-display-virtio-vga.so]
|
||||
qemu-system-common: shared-library-lacks-prerequisites [usr/lib/*/qemu/hw-s390x-virtio-gpu-ccw.so]
|
||||
qemu-system-common: hardening-no-fortify-functions [usr/lib/*/qemu/audio-alsa.so]
|
||||
qemu-system-common: hardening-no-fortify-functions [usr/lib/*/qemu/audio-oss.so]
|
||||
# this is a common/generic manpage used by all qemu-system-* binaries
|
||||
qemu-system-common: spare-manual-page [usr/share/man/man1/qemu-system.1.gz]
|
12
debian/qemu-system-data.doc-base
vendored
Normal file
12
debian/qemu-system-data.doc-base
vendored
Normal file
|
@ -0,0 +1,12 @@
|
|||
Document: qemu-system-doc
|
||||
Title: QEMU User Manual
|
||||
Author: Fabrice Bellard
|
||||
Abstract: The QEMU user manual intends to make the user understand what
|
||||
qemu is/does, and to guide them through the first steps of getting
|
||||
the emulator to work, documenting parameters and commands, among other
|
||||
useful things.
|
||||
Section: Emulators
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/qemu-system-common/system/index.html
|
||||
Files: /usr/share/doc/qemu-system-common/system/index.html
|
3
debian/qemu-system-data.docs
vendored
Normal file
3
debian/qemu-system-data.docs
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
docs/multiseat.txt
|
||||
docs/qdev-device-use.txt
|
||||
docs/qemupciserial.inf
|
14
debian/qemu-system-data.install
vendored
Normal file
14
debian/qemu-system-data.install
vendored
Normal file
|
@ -0,0 +1,14 @@
|
|||
# install docs to qemu-system-common so its easier to find:
|
||||
b/docs/system usr/share/doc/qemu-system-common/
|
||||
b/docs/about usr/share/doc/qemu-system-common/
|
||||
b/docs/interop usr/share/doc/qemu-system-common/
|
||||
b/docs/specs usr/share/doc/qemu-system-common/
|
||||
|
||||
docs/config usr/share/doc/qemu-system-common/
|
||||
|
||||
b/docs/tools/qemu-pr-helper.html usr/share/doc/qemu-system-common/
|
||||
b/docs/interop/pr-helper.html usr/share/doc/qemu-system-common/
|
||||
|
||||
docs/multiseat.txt usr/share/doc/qemu-system-common/
|
||||
docs/qdev-device-use.txt usr/share/doc/qemu-system-common/
|
||||
docs/qemupciserial.inf usr/share/doc/qemu-system-common/
|
5
debian/qemu-system-data.lintian-overrides
vendored
Normal file
5
debian/qemu-system-data.lintian-overrides
vendored
Normal file
|
@ -0,0 +1,5 @@
|
|||
# firmware files are arch-dependent binaries and can be statically linked
|
||||
qemu-system-data: arch-dependent-file-in-usr-share *usr/share/qemu/*
|
||||
qemu-system-data: arch-independent-package-contains-binary-or-object *usr/share/qemu/*
|
||||
qemu-system-data: statically-linked-binary *usr/share/qemu/*
|
||||
qemu-system-data: shared-library-lacks-prerequisites *usr/share/qemu/s390-*
|
10
debian/qemu-system-gui.install
vendored
Normal file
10
debian/qemu-system-gui.install
vendored
Normal file
|
@ -0,0 +1,10 @@
|
|||
usr/share/locale/*/LC_MESSAGES/qemu.mo
|
||||
usr/share/qemu/vhost-user/50-qemu-gpu.json
|
||||
usr/lib/qemu/vhost-user-gpu
|
||||
# modules
|
||||
usr/lib/${DEB_HOST_MULTIARCH}/qemu/ui-gtk.so
|
||||
usr/lib/${DEB_HOST_MULTIARCH}/qemu/ui-sdl.so
|
||||
usr/lib/${DEB_HOST_MULTIARCH}/qemu/audio-sdl.so
|
||||
usr/lib/${DEB_HOST_MULTIARCH}/qemu/audio-jack.so
|
||||
usr/lib/${DEB_HOST_MULTIARCH}/qemu/audio-pa.so
|
||||
usr/lib/${DEB_HOST_MULTIARCH}/qemu/audio-pipewire.so
|
1
debian/qemu-system-mips.lintian-overrides
vendored
Normal file
1
debian/qemu-system-mips.lintian-overrides
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
qemu-system-mips: spelling-error-in-binary wtH with *usr/bin/qemu-system-mips64*
|
1
debian/qemu-system-mips.maintscript
vendored
Normal file
1
debian/qemu-system-mips.maintscript
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
dir_to_symlink /usr/share/doc/qemu-system-mips qemu-system-common 1:8.0+dfsg-4~ qemu-system-mips
|
23
debian/qemu-system-misc.NEWS
vendored
Normal file
23
debian/qemu-system-misc.NEWS
vendored
Normal file
|
@ -0,0 +1,23 @@
|
|||
qemu (1:9.1.1+ds-1) unstable; urgency=medium
|
||||
|
||||
In this version of qemu in Debian, qemu-system-s390x binary has been split
|
||||
from qemu-system-misc to its own separate package, qemu-system-s390x, as
|
||||
has been done long ago in Ubuntu.
|
||||
|
||||
Additionally, qemu-system-riscv32 and qemu-system-riscv64 binaries has been
|
||||
split into their own separate package, qemu-system-riscv.
|
||||
|
||||
This makes every CPU family in the list of release architectures in Debian,
|
||||
to be its own separate binary package, with qemu-system-misc containing
|
||||
non-release architectures only.
|
||||
|
||||
If you had installed qemu-system-misc package to have system emulators for
|
||||
s390x, riscv32 or riscv64, please install qemu-system-s390x package or
|
||||
qemu-system-riscv package instead.
|
||||
|
||||
The name `qemu-system-s390x`, with the `x` at the end instead of using a
|
||||
cpu family `s390`, like for all other qemu-system-ARCH packages, has been
|
||||
choosen due to historical compatibility reasons with Ubuntu, where this
|
||||
package has always been named like this.
|
||||
|
||||
-- Michael Tokarev <mjt@tls.msk.ru> Sat, 05 Oct 2024 11:55:24 +0300
|
1
debian/qemu-system-misc.lintian-overrides
vendored
Normal file
1
debian/qemu-system-misc.lintian-overrides
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
qemu-system-misc: spelling-error-in-binary nott not *usr/bin/qemu-*
|
1
debian/qemu-system-misc.maintscript
vendored
Normal file
1
debian/qemu-system-misc.maintscript
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
dir_to_symlink /usr/share/doc/qemu-system-misc qemu-system-common 1:8.0+dfsg-4~ qemu-system-misc
|
8
debian/qemu-system-modules-opengl.install
vendored
Normal file
8
debian/qemu-system-modules-opengl.install
vendored
Normal file
|
@ -0,0 +1,8 @@
|
|||
usr/lib/${DEB_HOST_MULTIARCH}/qemu/ui-opengl.so
|
||||
usr/lib/${DEB_HOST_MULTIARCH}/qemu/ui-egl-headless.so
|
||||
usr/lib/${DEB_HOST_MULTIARCH}/qemu/hw-display-virtio-gpu-pci-gl.so
|
||||
usr/lib/${DEB_HOST_MULTIARCH}/qemu/hw-display-virtio-gpu-gl.so
|
||||
usr/lib/${DEB_HOST_MULTIARCH}/qemu/hw-display-virtio-vga-gl.so
|
||||
# ui-dbus requires ui-opengl
|
||||
usr/lib/${DEB_HOST_MULTIARCH}/qemu/audio-dbus.so
|
||||
usr/lib/${DEB_HOST_MULTIARCH}/qemu/ui-dbus.so
|
3
debian/qemu-system-modules-opengl.lintian-overrides
vendored
Normal file
3
debian/qemu-system-modules-opengl.lintian-overrides
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
# probably false positives
|
||||
qemu-system-modules-opengl: shared-library-lacks-prerequisites [usr/lib/*/qemu/hw-display-virtio-gpu-pci-gl.so]
|
||||
qemu-system-modules-opengl: shared-library-lacks-prerequisites [usr/lib/*/qemu/hw-display-virtio-vga-gl.so]
|
5
debian/qemu-system-modules-spice.install
vendored
Normal file
5
debian/qemu-system-modules-spice.install
vendored
Normal file
|
@ -0,0 +1,5 @@
|
|||
usr/lib/${DEB_HOST_MULTIARCH}/qemu/audio-spice.so
|
||||
usr/lib/${DEB_HOST_MULTIARCH}/qemu/chardev-spice.so
|
||||
usr/lib/${DEB_HOST_MULTIARCH}/qemu/hw-display-qxl.so
|
||||
usr/lib/${DEB_HOST_MULTIARCH}/qemu/ui-spice-app.so
|
||||
usr/lib/${DEB_HOST_MULTIARCH}/qemu/ui-spice-core.so
|
2
debian/qemu-system-ppc.lintian-overrides
vendored
Normal file
2
debian/qemu-system-ppc.lintian-overrides
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
qemu-system-ppc: spelling-error-in-binary buid build *usr/bin/qemu-system-ppc64*
|
||||
qemu-system-ppc: spelling-error-in-binary wTH with *usr/bin/qemu-system-ppc64*
|
1
debian/qemu-system-ppc.maintscript
vendored
Normal file
1
debian/qemu-system-ppc.maintscript
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
dir_to_symlink /usr/share/doc/qemu-system-ppc qemu-system-common 1:8.0+dfsg-4~ qemu-system-ppc
|
2
debian/qemu-system-riscv.links
vendored
Normal file
2
debian/qemu-system-riscv.links
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
usr/lib/riscv32-linux-gnu/opensbi/generic/fw_dynamic.bin usr/share/qemu/opensbi-riscv32-generic-fw_dynamic.bin
|
||||
usr/lib/riscv64-linux-gnu/opensbi/generic/fw_dynamic.bin usr/share/qemu/opensbi-riscv64-generic-fw_dynamic.bin
|
1
debian/qemu-system-riscv.lintian-overrides
vendored
Normal file
1
debian/qemu-system-riscv.lintian-overrides
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
qemu-system-riscv: spelling-error-in-binary addd add *usr/bin/qemu-*
|
1
debian/qemu-system-s390x.maintscript
vendored
Normal file
1
debian/qemu-system-s390x.maintscript
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
dir_to_symlink /usr/share/doc/qemu-system-s390x qemu-system-common 1:8.0+dfsg-4~ qemu-system-s390x
|
1
debian/qemu-system-sparc.maintscript
vendored
Normal file
1
debian/qemu-system-sparc.maintscript
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
dir_to_symlink /usr/share/doc/qemu-system-sparc qemu-system-common 1:8.0+dfsg-4~ qemu-system-sparc
|
1
debian/qemu-system-x86.maintscript
vendored
Normal file
1
debian/qemu-system-x86.maintscript
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
dir_to_symlink /usr/share/doc/qemu-system-x86 qemu-system-common 1:8.0+dfsg-4~ qemu-system-x86
|
5
debian/qemu-system-x86_64-spice
vendored
Executable file
5
debian/qemu-system-x86_64-spice
vendored
Executable file
|
@ -0,0 +1,5 @@
|
|||
#! /bin/sh
|
||||
echo "$0: W: this is an old compat wrapper script for qemu-system-x86_64-spice" >&2
|
||||
echo "$0: W: please use qemu-system-x86_64 instead of $0" >&2
|
||||
|
||||
exec qemu-system-x86_64 "$@"
|
47
debian/qemu-system.NEWS
vendored
Normal file
47
debian/qemu-system.NEWS
vendored
Normal file
|
@ -0,0 +1,47 @@
|
|||
qemu (1.3.0+dfsg-4exp) experimental; urgency=low
|
||||
|
||||
Starting from 1.3.0 release, qemu-system package, which provided
|
||||
QEMU system emulation targets for many architectures, has been
|
||||
split into several packages, each providing a related,
|
||||
per-base-architecture, set of emulators, and qemu-system-misc
|
||||
package which contains some "other" architectures. There are
|
||||
also qemu-system-common package, which provides common files for
|
||||
all other qemu-system-*, packages. Former qemu-system package
|
||||
now become a meta-package which installs emulators for all
|
||||
available targets as before.
|
||||
|
||||
-- Michael Tokarev <mjt@tls.msk.ru> Tue, 22 Jan 2013 01:38:27 +0400
|
||||
|
||||
qemu (0.12.3+dfsg-3) unstable; urgency=low
|
||||
|
||||
Starting with QEMU 0.12.0, KQEMU support has been removed from
|
||||
upstream, as it has not seen active development for a few years now,
|
||||
while causing regressions or limitations for non-KQEMU users.
|
||||
|
||||
-- Aurelien Jarno <aurel32@debian.org> Wed, 24 Mar 2010 23:14:35 +0100
|
||||
|
||||
qemu (0.10.3-2) unstable; urgency=low
|
||||
|
||||
Starting with QEMU 0.10.0, it is possible to control how the host
|
||||
cache is used to access block data, using the cache= suboption of the
|
||||
-drive option. The following suboptions are available:
|
||||
* none: The host page cache is entirely avoided.
|
||||
* writeback (default in QEMU 0.9.x): Writeback caching reports data
|
||||
writes as completed as soon as the data is present in the host page
|
||||
cache. This is safe as long as you trust your host. If your host
|
||||
crashes or loses power, then the guest may experience data
|
||||
corruption.
|
||||
* writethrough (default in QEMU 0.10.x): The host page cache is used
|
||||
to read and write data but write notification is sent to the guest
|
||||
only when the data has been reported as written by the storage
|
||||
subsystem.
|
||||
|
||||
Note that depending on your configuration (filesystem, encryption,
|
||||
kernel version, etc.), disk accesses can be very slow with the default
|
||||
cache policy (writethrough). You can use the writeback cache policy
|
||||
instead, but the data integrity is not assured anymore.
|
||||
|
||||
See qemu(1) for more details.
|
||||
|
||||
-- Aurelien Jarno <aurel32@debian.org> Sun, 03 May 2009 23:22:29 +0200
|
||||
|
15
debian/qemu-user-static.1
vendored
Normal file
15
debian/qemu-user-static.1
vendored
Normal file
|
@ -0,0 +1,15 @@
|
|||
.TH qemu\-user\-static\ 1 2024-08-26 "9.0" Debian
|
||||
.SH NAME
|
||||
qemu\-user\-static\ \- QEMU User Emulator (compatibility symlink)
|
||||
.SH DESCRIPTION
|
||||
.B qemu\-user\-static
|
||||
is a compatibility symlink for old qemu\-user\-static package
|
||||
pointing to qemu\-user binary.
|
||||
Please do not use these compatibility links, instead, switch to using
|
||||
corresponding qemu\-user binaries (without the
|
||||
.B \-static
|
||||
suffix).
|
||||
.SH SEE ALSO
|
||||
.BR qemu-user (1)
|
||||
.SH AUTHOR
|
||||
This manual page was written by Michael Tokarev <mjt@tls.msk.ru>
|
37
debian/qemu-user-static.NEWS
vendored
Normal file
37
debian/qemu-user-static.NEWS
vendored
Normal file
|
@ -0,0 +1,37 @@
|
|||
qemu (1:9.1.0+ds-1) unstable; urgency=medium
|
||||
|
||||
Since this version, the statically-linked qemu-user binaries from
|
||||
qemu-user-static package has been moved to qemu-user package,
|
||||
effectively making it to be what qemu-user-static has been.
|
||||
|
||||
There's no dynamically-linked qemu-user binaries anymore, in no
|
||||
qemu packages provided by Debian. For more information see
|
||||
#1079603.
|
||||
|
||||
When you upgrade from previous version of qemu-user or qemu-user-static
|
||||
packages, there should be no change in behavour. However, new qemu-user
|
||||
does not provide binary names with "-static" suffix, for example, an
|
||||
interpretator for aarch64 is named qemu-aarch64, not qemu-aarch64-static
|
||||
(the same way it has always been in qemu-user, before this version when
|
||||
it has become static, and it still is). In order to retain compatibility
|
||||
with previous version, qemu-user-static package now ships just the
|
||||
compatibility names (symlinks) with -static suffix.
|
||||
|
||||
Also, qemu-user-static now depends on qemu-user-binfmt package, which
|
||||
just enables binfmt registation of qemu-user binary formats with
|
||||
binfmt-misc kernel subsystem (the formats themselves are shipped by
|
||||
qemu-user now, but are not enabled).
|
||||
|
||||
If you only need qemu in context of in-kernel binfmt-misc subsystem
|
||||
(to run foreign binaries automatically), you need just qemu-user-binfmt
|
||||
package (which also installs qemu-user). In this case, you can safely
|
||||
remove this qemu-user-static package.
|
||||
|
||||
However, if you rely on the naming with -static suffix, you might want to
|
||||
keep qemu-user-static package installed.
|
||||
|
||||
Long term, the intent is to drop this qemu-user-static package, which has
|
||||
become just a compatibility wrapper around real work done now in qemu-user
|
||||
and qemu-user-binfmt packages.
|
||||
|
||||
-- Michael Tokarev <mjt@tls.msk.ru> Fri, 06 Sep 2024 13:38:02 +0300
|
3
debian/qemu-user-static.install
vendored
Normal file
3
debian/qemu-user-static.install
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
debian/qemu-user-static.1 usr/share/man/man1/
|
||||
debian/qemu-debootstrap usr/sbin
|
||||
debian/qemu-debootstrap.1 usr/share/man/man1/
|
37
debian/qemu-user.1
vendored
Normal file
37
debian/qemu-user.1
vendored
Normal file
|
@ -0,0 +1,37 @@
|
|||
.TH qemu\-user\ 1 2007-02-08 "0.9.0" Debian
|
||||
.SH NAME
|
||||
qemu\-user\ \- QEMU User Emulator (static version)
|
||||
.SH SYNOPSIS
|
||||
.B qemu\-user\
|
||||
.RI [ options ]
|
||||
.I program
|
||||
.RI [ program-arguments... ]
|
||||
.SH DESCRIPTION
|
||||
The
|
||||
.B qemu\-user\
|
||||
emulator can run binaries for other architectures but with the same operating
|
||||
system as the current one.
|
||||
.SH OPTIONS
|
||||
.TP
|
||||
.BR \-h
|
||||
Print this help.
|
||||
.TP
|
||||
.BR \-g " \fI<port>\fP"
|
||||
Wait gdb connection to port \fIport\fP.
|
||||
.TP
|
||||
.BR \-L " \fI<path>\fP"
|
||||
Set the elf interpreter prefix (default=\fI/etc/qemu\-binfmt/%M\fP).
|
||||
.TP
|
||||
.BR \-s " \fI<size>\fP"
|
||||
Set the stack size in bytes (default=\fI524288\fP).
|
||||
.TP
|
||||
.BR \-d " \fI<options>\fP"
|
||||
Activate log (logfile=\fI/tmp/qemu.log\fP)
|
||||
.TP
|
||||
.BR \-p " \fI<pagesize>\fP"
|
||||
Set the host page size to 'pagesize'.
|
||||
.SH SEE ALSO
|
||||
.BR qemu-system (1)
|
||||
(in qemu-system-common package).
|
||||
.SH AUTHOR
|
||||
This manual page was written by Guillem Jover <guillem@debian.org>.
|
33
debian/qemu-user.README.Debian
vendored
Normal file
33
debian/qemu-user.README.Debian
vendored
Normal file
|
@ -0,0 +1,33 @@
|
|||
Historically, there were different naming in use for the
|
||||
same architectures within different groups/projects. For
|
||||
example, amd64 architecture (Debian name) is also known as
|
||||
x86_64; arm64 and aarch64; and so on. Qemu used one way
|
||||
to name the binaries, debian used another, some architectures
|
||||
are named the same way, while for other architectures there's
|
||||
a difference.
|
||||
|
||||
Starting with debian qemu-user package version 8.0, we
|
||||
provide debian-compatible naming scheme for qemu-$arch
|
||||
binaries, to be used as qemu-${DEB_HOST_ARCH}. For
|
||||
example, qemu-armel is a symlink for qemu-arm.
|
||||
|
||||
In particular, the following extra names are provided:
|
||||
|
||||
amd64 => x86_64
|
||||
arm64 => aarch64
|
||||
armhf => arm
|
||||
armel => arm
|
||||
loong64 => loongarch64
|
||||
powerpc => ppc
|
||||
ppc64el => ppc64
|
||||
|
||||
The other names do match between qemu and debian.
|
||||
|
||||
There's another name which is also provided but which is
|
||||
neither in debian nor in qemu: it is ppc64le, which is
|
||||
the name used for this architecture in the linux kernel.
|
||||
|
||||
starting with version 9.0.2+ds-7, qemu-user provides
|
||||
statically linked binaries which were previously provided
|
||||
by qemu-user-static, while dynamic binaries are not built
|
||||
anymore.
|
3
debian/qemu-user.install
vendored
Normal file
3
debian/qemu-user.install
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
docs/user/main.rst usr/share/doc/qemu-user/
|
||||
b/docs/user/main.html usr/share/doc/qemu-user/
|
||||
debian/qemu-user.1 usr/share/man/man1/
|
7
debian/qemu-user.lintian-overrides
vendored
Normal file
7
debian/qemu-user.lintian-overrides
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
qemu-user: spelling-error-in-binary addd add *usr/bin/qemu-*
|
||||
qemu-user: spelling-error-in-binary nott not *usr/bin/qemu-*
|
||||
qemu-user: spelling-error-in-binary wtH with *usr/bin/qemu-mips*
|
||||
qemu-user: spare-manual-page [usr/share/man/man1/qemu-user.1.gz]
|
||||
# these are static-pic executables, not shared executables:
|
||||
qemu-user: shared-library-lacks-prerequisites *usr/bin/qemu-*
|
||||
qemu-user: statically-linked-binary *usr/bin/qemu-*
|
15
debian/qemu-utils.NEWS
vendored
Normal file
15
debian/qemu-utils.NEWS
vendored
Normal file
|
@ -0,0 +1,15 @@
|
|||
qemu (1:2.2+dfsg-6exp) unstable; urgency=medium
|
||||
|
||||
Since Debian release 2.2+dfsg-6exp, a new package named qemu-block-extra
|
||||
has been created and some less frequently used block backends has been
|
||||
split out of main qemu-system binaries and from qemu-img binary to
|
||||
this new package. The backends which has been split are:
|
||||
curl
|
||||
iscsi
|
||||
rbd (ceph/rados)
|
||||
ssh
|
||||
If you use any of these, please install qemu-block-extra package in
|
||||
addition to qemu-system-* or qemu-utils package, because without it
|
||||
these block backends won't work anymore.
|
||||
|
||||
-- Michael Tokarev <mjt@tls.msk.ru> Mon, 27 Apr 2015 09:29:55 +0300
|
14
debian/qemu-utils.install
vendored
Normal file
14
debian/qemu-utils.install
vendored
Normal file
|
@ -0,0 +1,14 @@
|
|||
usr/bin/qemu-img
|
||||
b/docs/qemu-img.1 usr/share/man/man1/
|
||||
b/docs/tools/qemu-img.html usr/share/doc/qemu-utils/
|
||||
usr/bin/qemu-nbd
|
||||
b/docs/qemu-nbd.8 usr/share/man/man8/
|
||||
b/docs/tools/qemu-nbd.html usr/share/doc/qemu-utils/
|
||||
usr/bin/qemu-io
|
||||
debian/qemu-io.1 usr/share/man/man1/
|
||||
usr/bin/qemu-storage-daemon
|
||||
b/docs/qemu-storage-daemon.1 usr/share/man/man1/
|
||||
b/docs/tools/qemu-storage-daemon.html usr/share/doc/qemu-utils/
|
||||
b/docs/qemu-storage-daemon-qmp-ref.7 usr/share/man/man7/
|
||||
b/docs/interop/qemu-storage-daemon-qmp-ref.html usr/share/doc/qemu-utils/
|
||||
b/docs/qemu-block-drivers.7 usr/share/man/man7/
|
771
debian/rules
vendored
Executable file
771
debian/rules
vendored
Executable file
|
@ -0,0 +1,771 @@
|
|||
#!/usr/bin/make -f
|
||||
SHELL = /bin/sh -e
|
||||
|
||||
# stop python from generating .pyc caches
|
||||
export PYTHONDONTWRITEBYTECODE=1
|
||||
|
||||
# in order to keep output non-intermixed together, disable parallel building
|
||||
# of different targets in this d/rules but allow running parallel submakes
|
||||
.NOTPARALLEL:
|
||||
|
||||
# this includes pkg-info.mk and defines VENDOR (debian|ubuntu):
|
||||
include debian/control.mk
|
||||
|
||||
ifeq ($(and ${DEB_HOST_MULTIARCH},${DEB_HOST_ARCH}),)
|
||||
# Fast version of dpkg/architecture.mk defining all vars in one go
|
||||
$(foreach d, $(shell dpkg-architecture | sed 's/=/?=/'), $(eval export $d))
|
||||
endif
|
||||
|
||||
# we build in a sub-subdir so strip that from file paths too
|
||||
export DEB_CFLAGS_MAINT_APPEND = -ffile-prefix-map=../../=
|
||||
|
||||
# Disable LTO on non-amd64 builds, see:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/qemu/+bug/1921664
|
||||
# https://issues.redhat.com/browse/RHEL-7385
|
||||
ifneq ($(DEB_HOST_ARCH),amd64)
|
||||
export DEB_BUILD_MAINT_OPTIONS += optimize=-lto
|
||||
endif
|
||||
|
||||
# get CFLAGS LDFLAGS etc (should come after DEB_*MAINT*)
|
||||
include /usr/share/dpkg/buildflags.mk
|
||||
|
||||
# DEB_BUILD_OPTIONS=parallel=N
|
||||
MAKEFLAGS += $(subst parallel=,-j,$(filter parallel=%,${DEB_BUILD_OPTIONS}))
|
||||
NUMJOBS := $(lastword 1 $(subst -j,,$(filter -j%,${MAKEFLAGS})))
|
||||
# verbose build
|
||||
V := $(if $(filter terse, ${DEB_BUILD_OPTIONS}),,1)
|
||||
|
||||
NINJA = ninja $(if $V,-v) -j${NUMJOBS}
|
||||
MESON = meson
|
||||
|
||||
# list of packages we're supposed to build
|
||||
BUILD_PACKAGES := $(shell dh_listpackages)
|
||||
|
||||
enable-system = $(if $(filter qemu-system,${BUILD_PACKAGES}),y)
|
||||
enable-user = $(if $(filter qemu-user,${BUILD_PACKAGES}),y)
|
||||
|
||||
QEMU_XEN = /usr/libexec/xen-qemu-system-i386
|
||||
PKGVERSION = Debian ${DEB_VERSION}
|
||||
sysdatadir = /usr/share/qemu
|
||||
sysdataidir = debian/qemu-system-data${sysdatadir}
|
||||
libdir = /usr/lib/${DEB_HOST_MULTIARCH}
|
||||
mandir = /usr/share/man
|
||||
man1dir = ${mandir}/man1
|
||||
FIRMWAREPATH = /usr/share/qemu:/usr/share/seabios:/usr/lib/ipxe/qemu
|
||||
|
||||
export cross_prefix_alpha = alpha-linux-gnu-
|
||||
export cross_prefix_aarch64 = aarch64-linux-gnu-
|
||||
export cross_prefix_arm = arm-linux-gnueabi-
|
||||
export cross_prefix_hppa = hppa-linux-gnu-
|
||||
export cross_prefix_hppa64 = hppa64-linux-gnu-
|
||||
export cross_prefix_i386 = i686-linux-gnu-
|
||||
export cross_prefix_loongarch64 = loongarch64-linux-gnu-
|
||||
export cross_prefix_ppc = powerpc-linux-gnu-
|
||||
export cross_prefix_ppc64 = powerpc64-linux-gnu-
|
||||
export cross_prefix_riscv64 = riscv64-linux-gnu-
|
||||
export cross_prefix_s390x = s390x-linux-gnu-
|
||||
|
||||
extra-cflags = ${CFLAGS} ${CPPFLAGS}
|
||||
extra-ldflags = ${LDFLAGS} -Wl,--as-needed
|
||||
|
||||
# we add another set of configure options from debian/control
|
||||
common_configure_opts = \
|
||||
--with-pkgversion="$(PKGVERSION)" \
|
||||
--prefix=/usr \
|
||||
--sysconfdir=/etc \
|
||||
--libdir=${libdir} \
|
||||
--libexecdir=/usr/lib/qemu \
|
||||
--firmwarepath=${FIRMWAREPATH} \
|
||||
--localstatedir=/var \
|
||||
--mandir=${mandir} \
|
||||
--disable-install-blobs \
|
||||
--disable-strip \
|
||||
--localstatedir=/var \
|
||||
--disable-download \
|
||||
--disable-containers \
|
||||
--disable-relocatable \
|
||||
--disable-docs \
|
||||
${empty}
|
||||
# this disables building of qemu-keymap tool (!)
|
||||
# qemu-keymap might be helpful for qemu-system -k <lang>
|
||||
# but is -k flag useful these days?
|
||||
common_configure_opts += --disable-xkbcommon
|
||||
|
||||
# Cross compiling support
|
||||
ifneq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
|
||||
common_configure_opts += --cross-prefix=$(DEB_HOST_GNU_TYPE)-
|
||||
endif
|
||||
|
||||
comma:=,
|
||||
|
||||
# system-packages, system-archlist-$pkg, system-alias-$arch, system-kvm
|
||||
# are defined in d/control.mk
|
||||
|
||||
# qemu-system subpackages
|
||||
define install-all-system
|
||||
$(foreach p,${system-packages},\
|
||||
$(call install-system,qemu-system-$p,${system-archlist-$p}\
|
||||
,$(strip $(foreach a,${system-archlist-$p},$(if $(filter $a ${system-alias-$a},${DEB_HOST_ARCH_CPU}),$a)))))
|
||||
endef
|
||||
|
||||
# install-system qemu-system-$pkg, ${system-archlist-$pkg}, [native-qemu-arch]
|
||||
# install qemu-arch-list binaries with manpages and aliases into pkg
|
||||
# install kvm link to qemu-system-${kvm-link} if it is not empty
|
||||
# fills in qemu:Provides and qemu:archlist substvars
|
||||
define install-system
|
||||
# ==== installing $1 ===
|
||||
dh_installdirs -p $1 usr/bin ${man1dir}
|
||||
mv -t debian/$1/usr/bin/ $(addprefix debian/tmp/usr/bin/qemu-system-, $2)
|
||||
$(foreach q, $2,\
|
||||
echo ".so man1/qemu-system.1" > debian/$1${man1dir}/qemu-system-$q.1
|
||||
)
|
||||
dh_link -p $1 \
|
||||
$(foreach q, $2, \
|
||||
$(if $(filter $3,${system-kvm}), \
|
||||
usr/bin/qemu-system-$3 usr/bin/kvm \
|
||||
${man1dir}/qemu-system-$3.1 ${man1dir}/kvm.1) \
|
||||
$(foreach a, ${system-alias-$q}, \
|
||||
usr/bin/qemu-system-$q usr/bin/qemu-system-$a \
|
||||
${man1dir}/qemu-system-$q.1 ${man1dir}/qemu-system-$a.1 \
|
||||
))
|
||||
${# note: older make does not understand line-splitting inside $(functions ..)}
|
||||
echo 'qemu:Provides=$(if $3,qemu-system-native (=${DEB_VERSION})${comma})\
|
||||
$(if $(filter $3,${system-kvm}),qemu-kvm (=${DEB_VERSION})${comma})\
|
||||
$(patsubst %,% (=${DEB_VERSION})${comma},$(filter-out $1, $(patsubst %, qemu-system-%, any $2 $(foreach q,$2,${system-alias-$q}))))' \
|
||||
| tr _ - >> debian/$1.substvars
|
||||
echo 'qemu:Conflicts=$(if $(filter $3,${system-kvm}),qemu-kvm)' >> debian/$1.substvars
|
||||
${# construct list `arch1 arch2 (alias) arch3..' for Description and word-wrap it}
|
||||
list='$(foreach q,$2,$q$(if ${system-alias-$q}, (${system-alias-$q})))'; \
|
||||
len2=$$(($${#list}/2)); \
|
||||
if [ $$len2 -gt 36 ]; then \
|
||||
while expr substr "$$list" $$len2 1 != " " >/dev/null; do len2=$$(($$len2+1)); done; \
|
||||
list="$$(expr substr "$$list" 1 $$(($$len2-1)))\$${Newline} $$(expr substr "$$list" $$(($$len2+1)) $$len2)"; \
|
||||
fi; \
|
||||
echo "qemu:archlist=$$list" >> debian/$1.substvars
|
||||
dh_installdocs -p $1 --link-doc=qemu-system-common
|
||||
${# keep empty line at the end }
|
||||
endef
|
||||
|
||||
sysdata-components :=
|
||||
qemu-builds :=
|
||||
|
||||
# several builds of qemu binaries:
|
||||
|
||||
##############################################
|
||||
# main system and tools build
|
||||
configure-qemu: b/qemu/configured
|
||||
b/qemu/configured: configure
|
||||
rm -rf b/qemu; mkdir -p b/qemu
|
||||
cd b/qemu && \
|
||||
../../configure ${common_configure_opts} \
|
||||
--extra-cflags="${extra-cflags}" \
|
||||
--extra-ldflags="${extra-ldflags}" \
|
||||
--$(if ${enable-system},enable,disable)-system \
|
||||
--$(if $(filter qemu-guest-agent,${BUILD_PACKAGES}),enable,disable)-guest-agent \
|
||||
--disable-user --disable-linux-user \
|
||||
--enable-tools \
|
||||
--disable-xen \
|
||||
--enable-modules \
|
||||
$(if ${enable-system},--enable-module-upgrades) \
|
||||
$(shell sh debian/extract-config-opts \
|
||||
$(DEB_HOST_ARCH_OS)-$(DEB_HOST_ARCH) debian/control) \
|
||||
${QEMU_CONFIGURE_OPTIONS} || \
|
||||
{ tail -n20 config.log meson-logs/meson-log.txt && false; }
|
||||
touch $@
|
||||
|
||||
build-qemu: b/qemu/built
|
||||
b/qemu/built: b/qemu/configured
|
||||
${NINJA} -C b/qemu
|
||||
touch $@
|
||||
|
||||
ifeq (,$(findstring nocheck, ${DEB_BUILD_OPTIONS} ${DEB_BUILD_PROFILES}))
|
||||
ifeq (${enable-system},y)
|
||||
ifneq (sparc64,${DEB_HOST_ARCH}) # tests are broken on sparc64
|
||||
build-qemu: b/qemu/tested
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
test-qemu: b/qemu/tested
|
||||
b/qemu/tested: b/qemu/built
|
||||
# ======== begin testing ========
|
||||
rm -rf b/qemu/qemu-bundle
|
||||
QEMU_MODULE_DIR=${CURDIR}/b/qemu \
|
||||
${MESON} test -C b/qemu --suite=block -t2 \
|
||||
--num-processes=${NUMJOBS} --no-rebuild --print-errorlogs
|
||||
# ========= end testing =========
|
||||
touch $@
|
||||
|
||||
install-qemu: build-qemu
|
||||
DESTDIR=${CURDIR}/debian/tmp \
|
||||
${NINJA} -C b/qemu install
|
||||
|
||||
# remove qtest "accel" modules
|
||||
rm -f debian/tmp${libdir}/qemu/accel-qtest-*.so
|
||||
|
||||
ifeq (${enable-system},y)
|
||||
|
||||
$(call install-all-system)
|
||||
|
||||
ifneq ($(filter ${DEB_HOST_ARCH},amd64 i386),)
|
||||
# qemu-vmsr-helper is x86-specific
|
||||
install -m0755 -D -t debian/qemu-system-common/usr/bin/ \
|
||||
debian/tmp/usr/bin/qemu-vmsr-helper
|
||||
rm debian/tmp/usr/bin/qemu-vmsr-helper
|
||||
install -m0644 -p -D -t debian/qemu-system-common/usr/lib/systemd/system/ \
|
||||
contrib/systemd/qemu-vmsr-helper.service \
|
||||
contrib/systemd/qemu-vmsr-helper.socket
|
||||
endif
|
||||
|
||||
ifeq ($(DEB_HOST_ARCH_OS),linux)
|
||||
|
||||
ifeq (${VENDOR},ubuntu)
|
||||
ifneq ($(filter ${DEB_HOST_ARCH},amd64 i386),)
|
||||
# on ubuntu *-spice existed, may be used in libvirt xml and scripts - keep links for compatibility
|
||||
# The sunset for this will be when Ubuntu-Bionic goes out of support which is expected to happen in 2028
|
||||
install -m0644 -p -t debian/qemu-system-x86/usr/bin debian/kvm-spice debian/qemu-system-x86_64-spice
|
||||
install -m0644 -p -t debian/qemu-system-x86/usr/share/man/man1/ debian/kvm-spice.1
|
||||
echo ".so man1/kvm-spice.1" > debian/qemu-system-x86/usr/share/man/man1/qemu-system-x86_64-spice.1
|
||||
endif # x86
|
||||
# apport hook is ubuntu-specific
|
||||
install -m0644 -p -D -t debian/qemu-system-common/usr/share/apport/package-hooks/ \
|
||||
debian/source_qemu.py
|
||||
endif # ubuntu
|
||||
|
||||
endif # linux
|
||||
|
||||
else # !enable-system
|
||||
|
||||
# qemu-system manpage is built regardless of system target
|
||||
rm -fv debian/tmp/usr/share/man/man1/qemu.1
|
||||
# vmsr-helper is built even if --disable-system
|
||||
rm -fv debian/tmp/usr/bin/qemu-vmsr-helper
|
||||
|
||||
endif # enable-system
|
||||
|
||||
ifneq (,$(filter qemu-block-supplemental,${BUILD_PACKAGES}))
|
||||
mkdir -p debian/qemu-block-supplemental/${libdir}/qemu
|
||||
mv \
|
||||
debian/tmp/${libdir}/qemu/block-gluster.so \
|
||||
debian/tmp/${libdir}/qemu/block-blkio.so \
|
||||
debian/qemu-block-supplemental/${libdir}/qemu
|
||||
ifeq (${enable-system},y)
|
||||
sh debian/gen-module-upgrade.sh qemu-block-supplemental "${PKGVERSION}" ${libdir}/qemu
|
||||
endif
|
||||
endif
|
||||
ifneq (,$(filter qemu-block-extra,${BUILD_PACKAGES}))
|
||||
mkdir -p debian/qemu-block-extra/${libdir}/qemu
|
||||
mv debian/tmp/${libdir}/qemu/block-*.so \
|
||||
debian/qemu-block-extra/${libdir}/qemu
|
||||
ifeq (${enable-system},y)
|
||||
sh debian/gen-module-upgrade.sh qemu-block-extra "${PKGVERSION}" ${libdir}/qemu
|
||||
endif
|
||||
endif
|
||||
|
||||
qemu-builds += qemu
|
||||
|
||||
##############################################
|
||||
# microvm build:
|
||||
configure-microvm: b/microvm/configured
|
||||
b/microvm/configured: configure debian/microvm-devices.mak
|
||||
rm -rf b/microvm; mkdir -p b/microvm
|
||||
cp -up debian/microvm-devices.mak configs/devices/x86_64-softmmu/microvm.mak
|
||||
cd b/microvm && \
|
||||
../../configure ${common_configure_opts} \
|
||||
--extra-cflags="${extra-cflags} -DCONFIG_MICROVM_DEFAULT=1" \
|
||||
--extra-ldflags="${extra-ldflags}" \
|
||||
--without-default-features \
|
||||
--target-list=x86_64-softmmu --enable-kvm --disable-tcg \
|
||||
--enable-pixman --enable-vnc \
|
||||
--enable-virtfs \
|
||||
--enable-linux-aio --enable-linux-io-uring \
|
||||
--enable-numa \
|
||||
--enable-attr \
|
||||
--enable-coroutine-pool \
|
||||
--audio-drv-list="" \
|
||||
--without-default-devices \
|
||||
--with-devices-x86_64=microvm \
|
||||
--enable-vhost-kernel --enable-vhost-net \
|
||||
--enable-vhost-vdpa \
|
||||
--enable-vhost-user --enable-vhost-user-blk-server \
|
||||
--enable-vhost-crypto \
|
||||
--enable-seccomp \
|
||||
${QEMU_MICROVM_CONFIGURE_OPTIONS}
|
||||
touch $@
|
||||
build-microvm: b/microvm/qemu-system-x86_64
|
||||
b/microvm/qemu-system-x86_64: b/microvm/configured
|
||||
${NINJA} -C b/microvm qemu-system-x86_64
|
||||
install-microvm: b/microvm/qemu-system-x86_64
|
||||
cp b/microvm/qemu-system-x86_64 debian/qemu-system-x86/usr/bin/qemu-system-x86_64-microvm
|
||||
echo ".so man1/qemu-system.1" > debian/qemu-system-x86/usr/share/man/man1/qemu-system-x86_64-microvm.1
|
||||
# build microvm on amd64 only if system build is enabled
|
||||
qemu-builds += $(if $(filter ${DEB_HOST_ARCH}-${enable-system},amd64-y),microvm)
|
||||
|
||||
##############################################
|
||||
# xen build (amd64 arch only, i386-softmmu target only)
|
||||
configure-xen: b/xen/configured
|
||||
b/xen/configured: configure
|
||||
# system build for qemu-system-xen
|
||||
rm -rf b/xen; mkdir -p b/xen
|
||||
cd b/xen && \
|
||||
../../configure ${common_configure_opts} \
|
||||
--extra-cflags="${extra-cflags}" \
|
||||
--extra-ldflags="${extra-ldflags}" \
|
||||
--disable-tools \
|
||||
--without-default-features \
|
||||
--enable-avx2 \
|
||||
--enable-xen --target-list=i386-softmmu \
|
||||
--enable-xen-pci-passthrough \
|
||||
--disable-tcg --disable-kvm \
|
||||
--audio-drv-list= \
|
||||
--enable-libusb \
|
||||
--enable-pixman --enable-vnc --enable-vnc-jpeg \
|
||||
--enable-spice \
|
||||
--enable-virtfs --enable-attr --enable-cap-ng \
|
||||
${QEMU_XEN_CONFIGURE_OPTIONS}
|
||||
touch $@
|
||||
build-xen: b/xen/built
|
||||
b/xen/built: b/xen/configured
|
||||
${NINJA} -C b/xen qemu-system-i386
|
||||
touch $@
|
||||
install-xen: b/xen/built
|
||||
install -m0755 -D b/xen/qemu-system-i386 \
|
||||
debian/qemu-system-xen${QEMU_XEN}
|
||||
qemu-builds += $(if $(filter qemu-system-xen,${BUILD_PACKAGES}),xen)
|
||||
|
||||
##############################################
|
||||
# user build (static)
|
||||
# user-targets is defined in d/control.mk
|
||||
configure-user: b/user/configured
|
||||
b/user/configured: configure
|
||||
# do not use debian/configure-opts here, all optional stuff will be enabled
|
||||
# automatically, dependencies are already verified in the main build
|
||||
# See LP:#1908331 for --static-pie (the default in qemu) and #1053101
|
||||
# See https://sourceware.org/bugzilla/show_bug.cgi?id=29514
|
||||
# use --disable-pie on i386 for now due to #1056739
|
||||
# (maybe also add arm64 here for gcc12)
|
||||
rm -rf b/user; mkdir -p b/user
|
||||
cd b/user && \
|
||||
../../configure ${common_configure_opts} \
|
||||
--extra-cflags="${extra-cflags} -DPROVIDE_STUBS_FOR_STATIC" \
|
||||
--extra-ldflags="${extra-ldflags} -Wl,-Map=%.map,--no-print-map-discarded" \
|
||||
--static \
|
||||
$(if $(filter i386,${DEB_HOST_ARCH}),--disable-pie) \
|
||||
--disable-plugins \
|
||||
--target-list="$(addsuffix -linux-user,${user-targets})"
|
||||
touch $@
|
||||
build-user: b/user/built
|
||||
b/user/built: b/user/configured
|
||||
# we use this invocation to build just the binaries
|
||||
${NINJA} -C b/user $(addprefix qemu-,${user-targets})
|
||||
touch $@
|
||||
|
||||
# aliases for missing ${DEB_HOST_ARCH} names in qemu-user:
|
||||
user-alias-aarch64 = arm64
|
||||
user-alias-arm = armel armhf
|
||||
user-alias-loongarch64 = loong64
|
||||
user-alias-ppc = powerpc
|
||||
user-alias-ppc64le = ppc64el
|
||||
user-alias-x86_64 = amd64
|
||||
|
||||
install-user: b/user/built
|
||||
install -m0755 -t debian/qemu-user/usr/bin/ -D \
|
||||
$(patsubst %,b/user/qemu-%,${user-targets})
|
||||
dh_link -p qemu-user \
|
||||
$(foreach t,${user-targets},\
|
||||
${man1dir}/qemu-user.1 ${man1dir}/qemu-$t.1 \
|
||||
$(foreach a,${user-alias-$t},\
|
||||
usr/bin/qemu-$t usr/bin/qemu-$a \
|
||||
${man1dir}/qemu-$t.1 ${man1dir}/qemu-$a.1\
|
||||
))
|
||||
dh_installdocs -p qemu-user-binfmt --link-doc=qemu-user
|
||||
./debian/binfmt-install ${user-targets}
|
||||
# build a Built-Using substvar:
|
||||
echo "built-using=$$(\
|
||||
grep -h ^/usr/lib b/user/qemu-*.map ${# all system libs} | \
|
||||
cut -d'(' -f1 ${# strip trailing (file.o)} | \
|
||||
sort -u ${# unique filenames} | \
|
||||
xargs realpath ${# resolve ../} | \
|
||||
xargs dpkg-query -S ${# get package names} | \
|
||||
sed 's/: .*//' ${# strip trailing ': filename'} | \
|
||||
sort -u ${# unique packages} | \
|
||||
xargs dpkg-query -f '$${source:Package} (= $${source:Version}),' -W)" \
|
||||
> debian/qemu-user.substvars
|
||||
# compatibility symlinks for qemu-user-static (no manpage links for aliases):
|
||||
dh_link -p qemu-user-static \
|
||||
$(foreach t,${user-targets}, \
|
||||
usr/bin/qemu-$t usr/bin/qemu-$t-static \
|
||||
${man1dir}/qemu-user-static.1 ${man1dir}/qemu-$t-static.1 \
|
||||
$(foreach a,${user-alias-$t}, \
|
||||
usr/bin/qemu-$t-static usr/bin/qemu-$a-static \
|
||||
))
|
||||
|
||||
qemu-builds += $(if ${enable-user},user)
|
||||
|
||||
##############################################
|
||||
# docs: build it with sphinx directly
|
||||
# two sphinx should not run in parallel!
|
||||
docdir := b/docs
|
||||
sphinx-build = CONFDIR=/etc/qemu sphinx-build -j auto \
|
||||
-Dversion="$$(cat VERSION)" -Drelease="${PKGVERSION}" \
|
||||
-d ${docdir}/manual.p ${CURDIR}/docs ${docdir}
|
||||
${docdir}/qemu-system.1:
|
||||
${sphinx-build} -b man
|
||||
# fixup the q-s-d manpage
|
||||
sed -i 's/\\fBqemu(1)\\fP manual page/\\fBqemu-system(1)\\fP manual page (in qemu-system-common package)/' \
|
||||
${docdir}/qemu-storage-daemon.1
|
||||
mv ${docdir}/qemu.1 ${docdir}/qemu-system.1
|
||||
${docdir}/html-built:
|
||||
${sphinx-build} -b html
|
||||
# remove links to user/* from the main index
|
||||
sed -i '/href="user\//D' ${docdir}/index.html
|
||||
touch $@
|
||||
build-html: ${docdir}/html-built
|
||||
install-html: build-html
|
||||
build-man: ${docdir}/qemu-system.1
|
||||
install-man: build-man
|
||||
|
||||
##############################################
|
||||
# qemu-system-for-host dep-only package
|
||||
# find the qemu-system-foo package which contains the right binary:
|
||||
#qemu-system-for-host=$(strip \
|
||||
# $(foreach p,${system-packages},\
|
||||
# $(if \
|
||||
# $(filter \
|
||||
# ${system-archlist-$p} $(foreach a,${system-archlist-$p},${system-alias-$a}),\
|
||||
# ${DEB_HOST_ARCH_CPU}),\
|
||||
# qemu-system-$p)))
|
||||
install-qemu-system-for-host:
|
||||
# $(if ${qemu-system-for-host},,$(error no qemu-system-for-host found for ${DEB_HOST_ARCH_CPU}))
|
||||
# echo 'qemu-for-host=${qemu-system-for-host}'
|
||||
echo 'qemu:for-host=qemu-system-${DEB_HOST_ARCH_CPU}' \
|
||||
>> debian/qemu-system-for-host.substvars
|
||||
dh_installdocs -p qemu-system-for-host --link-doc=qemu-system-common
|
||||
configure-qemu-system-for-host:
|
||||
build-qemu-system-for-host:
|
||||
qemu-builds += $(filter ${BUILD_PACKAGES},qemu-system-for-host)
|
||||
|
||||
##############################################
|
||||
# common rules
|
||||
|
||||
qemu-builds += man html
|
||||
|
||||
.PHONY: $(addprefix configure-, ${qemu-builds}) \
|
||||
$(addprefix build-, ${qemu-builds}) \
|
||||
$(addprefix install-, ${qemu-builds}) \
|
||||
configure-arch build-arch test-qemu \
|
||||
pre-install-arch install-arch binary-arch
|
||||
configure-arch: $(addprefix configure-, ${qemu-builds})
|
||||
build-arch: $(addprefix build-, ${qemu-builds})
|
||||
|
||||
pre-install-arch:
|
||||
dh_testroot
|
||||
dh_prep -a
|
||||
dh_installdirs -a
|
||||
install-arch: pre-install-arch $(addprefix install-, ${qemu-builds})
|
||||
dh_install -a
|
||||
dh_missing -a
|
||||
dh_installdocs -a
|
||||
dh_installchangelogs -a
|
||||
dh_installman -a
|
||||
dh_link -a
|
||||
dh_installinit -pqemu-guest-agent
|
||||
dh_installsystemd -pqemu-guest-agent --no-enable
|
||||
dh_installudev -pqemu-guest-agent
|
||||
dh_lintian -a
|
||||
dh_strip_nondeterminism -a
|
||||
dh_compress -a
|
||||
dh_fixperms -a
|
||||
dh_dwz -a
|
||||
dh_strip -a
|
||||
# qemu-user contains static binaries only, but they might be built
|
||||
# as static-pie executables and dpkg-shlibdeps complains. Just omit it here.
|
||||
dh_shlibdeps -a -Nqemu-user
|
||||
binary-arch: install-arch binary-helper
|
||||
binary-arch: a=-a
|
||||
|
||||
##############################################
|
||||
### firmware, qemu-user-data package
|
||||
|
||||
### main qemu arch-indep build
|
||||
# we configure qemu in b/data with default options, so that various
|
||||
# subcomponents can be built from the main qemu source
|
||||
b/data/.configured: | b
|
||||
rm -rf b/data; mkdir -p b/data
|
||||
cd b/data && ../../configure --skip-meson
|
||||
touch $@
|
||||
|
||||
### linux-user vdso rules
|
||||
# build vdso-archive containing all our vdso files and include it
|
||||
# in qemu-user-data to be used when building arch-dependent packages,
|
||||
# to avoid requiring all cross-compilers on every host architecture.
|
||||
# Do not remove pre-built vdso files from .orig.tar.gz, because dak
|
||||
# is picky about build-time deps on packages from the same source
|
||||
# (we should be able to build without depending on ourselves).
|
||||
# For this, pkg.qemu.use-upstream-vdso build profile is recognized
|
||||
# (we do not rebuild or embed vdso files if it is enabled).
|
||||
# Alternative is to enable pkg.qemu.omit-vdso-build-dep profile
|
||||
# and build both arch and indep parts in one go, so that a rebuild
|
||||
# of vdso files for arch-indep step is used in arch step too.
|
||||
# ${vdso-files} are defined in d/control.mk
|
||||
vdso-subdirs := $(sort $(dir ${vdso-files}))
|
||||
vdso-archive = linux-user-vdso.tar.gz
|
||||
|
||||
build-vdso: b/${vdso-archive}
|
||||
# build-vdso is to make multi-line expantion, not possible with inline $(foreach)
|
||||
define build-vdso
|
||||
rm -f ${vdso-files}
|
||||
$(foreach d,${vdso-subdirs},\
|
||||
@echo == building vdso for $d:
|
||||
+${MAKE} -f $d/Makefile.vdso BUILD_DIR=b/data SRC_PATH=.
|
||||
)
|
||||
tar -cvzf $@ --owner=0 --group=0 --numeric-owner ${vdso-files}
|
||||
endef
|
||||
b/${vdso-archive}: b/data/.configured
|
||||
$(call build-vdso)
|
||||
install-vdso: b/${vdso-archive}
|
||||
install -m0644 -t ${sysdataidir} $<
|
||||
ifneq (,$(filter $(patsubst %,% %-indep,build install binary), ${MAKECMDGOALS}))
|
||||
# if we were asked to produce both indep and arch targets, use vdso from local build
|
||||
b/vdso-updated: b/${vdso-archive}
|
||||
touch $@
|
||||
else # else update vdso files from system
|
||||
b/vdso-updated: ${sysdatadir}/${vdso-archive}
|
||||
rm -f ${vdso-files}
|
||||
tar -xvf $<
|
||||
touch $@
|
||||
endif
|
||||
|
||||
ifeq (,$(filter pkg.qemu.use-upstream-vdso, ${DEB_BUILD_PROFILES}))
|
||||
sysdata-components += vdso
|
||||
vdso-clean = ${vdso-files}
|
||||
b/user/configured: b/vdso-updated
|
||||
endif # !pkg.qemu.use-upstream-vdso
|
||||
|
||||
### x86 optionrom
|
||||
build-x86-optionrom: b/data/pc-bios/optionrom/.built
|
||||
b/data/pc-bios/optionrom/.built: b/data/.configured
|
||||
env -u ELF_PACKAGE_METADATA \
|
||||
make -C ${@D}
|
||||
touch $@
|
||||
install-x86-optionrom: b/data/pc-bios/optionrom/.built
|
||||
install -m0644 -t ${sysdataidir} ${<D}/*.bin
|
||||
sysdata-components += x86-optionrom
|
||||
|
||||
### s390x firmware in pc-bios/s390-ccw
|
||||
build-s390x-fw: b/data/pc-bios/s390-ccw/.built
|
||||
b/data/pc-bios/s390-ccw/.built: b/data/.configured
|
||||
env -u ELF_PACKAGE_METADATA \
|
||||
make -C ${@D} V=$V
|
||||
touch $@
|
||||
install-s390x-fw: b/data/pc-bios/s390-ccw/.built
|
||||
install -m0644 -t ${sysdataidir} ${<D}/s390*.img
|
||||
sysdata-components += s390x-fw
|
||||
|
||||
### vof.bin
|
||||
build-vof: b/data/pc-bios/vof/vof.bin
|
||||
b/data/pc-bios/vof/vof.bin: b/data/.configured
|
||||
env -u ELF_PACKAGE_METADATA \
|
||||
${MAKE} -C ${@D} V=$V ${@F}
|
||||
install-vof: b/data/pc-bios/vof/vof.bin
|
||||
install -m0644 -t ${sysdataidir} $<
|
||||
sysdata-components += vof
|
||||
|
||||
### openbios rules
|
||||
b/openbios/config-host.mak:
|
||||
mkdir -p b/openbios
|
||||
cd b/openbios && ../../roms/openbios/config/scripts/switch-arch builtin-ppc builtin-sparc32 builtin-sparc64
|
||||
build-openbios: $(patsubst %,b/openbios/obj-%/.built, ppc sparc32 sparc64)
|
||||
b/openbios/obj-%/.built: b/openbios/config-host.mak
|
||||
env -u ELF_PACKAGE_METADATA \
|
||||
${MAKE} -C ${@D} V=${V} EXTRACFLAGS="-ffreestanding -fno-pic -fno-stack-protector"
|
||||
@touch $@
|
||||
|
||||
install-openbios: build-openbios
|
||||
install -m0644 b/openbios/obj-ppc/openbios-qemu.elf ${sysdataidir}/openbios-ppc
|
||||
install -m0644 b/openbios/obj-sparc32/openbios-builtin.elf ${sysdataidir}/openbios-sparc32
|
||||
install -m0644 b/openbios/obj-sparc64/openbios-builtin.elf ${sysdataidir}/openbios-sparc64
|
||||
install -m0644 -t ${sysdataidir} \
|
||||
b/openbios/obj-sparc32/QEMU,tcx.bin \
|
||||
b/openbios/obj-sparc32/QEMU,cgthree.bin \
|
||||
b/openbios/obj-sparc64/QEMU,VGA.bin
|
||||
sysdata-components += openbios
|
||||
|
||||
### powernv firmware in roms/skiboot
|
||||
build-skiboot: b/skiboot/skiboot.lid
|
||||
b/skiboot/skiboot.lid: | roms/skiboot/.version
|
||||
mkdir -p b/skiboot
|
||||
# skiboot makefiles makes it difficult to *add* an option to CFLAGS.
|
||||
# Abuse OPTS= for this, with the default being -Os.
|
||||
grep -q '^OPTS=-Os$$' roms/skiboot/Makefile.main || \
|
||||
{ echo "review OPTS= in skiboot/Makefile.main"; false; }
|
||||
env -u ELF_PACKAGE_METADATA \
|
||||
${MAKE} -C b/skiboot -f ${CURDIR}/roms/skiboot/Makefile \
|
||||
SRC=${CURDIR}/roms/skiboot \
|
||||
OPTS='-Os -ffile-prefix-map="${CURDIR}/roms/skiboot/"=' \
|
||||
CROSS_COMPILE=${cross_prefix_ppc64} V=${V}
|
||||
install-skiboot: b/skiboot/skiboot.lid
|
||||
install -m0644 -t ${sysdataidir} $<
|
||||
sysdata-components += skiboot
|
||||
|
||||
### u-boot-e500 (u-boot.e500)
|
||||
build-u-boot-e500: b/u-boot/build-e500/u-boot
|
||||
b/u-boot/build-e500/u-boot: | b
|
||||
cp -alu roms/u-boot b/
|
||||
${MAKE} -C b/u-boot CROSS_COMPILE=${cross_prefix_ppc} O=build-e500 qemu-ppce500_config
|
||||
env -u ELF_PACKAGE_METADATA \
|
||||
${MAKE} -C b/u-boot CROSS_COMPILE=${cross_prefix_ppc} O=build-e500 V=$V
|
||||
${cross_prefix_ppc}strip $@
|
||||
install-u-boot-e500: b/u-boot/build-e500/u-boot
|
||||
install -m0644 $< ${sysdataidir}/u-boot.e500
|
||||
sysdata-components += u-boot-e500
|
||||
|
||||
### u-boot-sam460 (u-boot-sam460-20100605.bin)
|
||||
build-u-boot-sam460: b/u-boot-sam460ex/u-boot.bin
|
||||
b/u-boot-sam460ex/u-boot.bin: | b
|
||||
cp -alu roms/u-boot-sam460ex b/
|
||||
${MAKE} -C b/u-boot-sam460ex CROSS_COMPILE=${cross_prefix_ppc} Sam460ex_config
|
||||
env -u LDFLAGS -u OBJCFLAGS -u ELF_PACKAGE_METADATA \
|
||||
${MAKE} -C b/u-boot-sam460ex CROSS_COMPILE=${cross_prefix_ppc}
|
||||
# ${cross_prefix_ppc}strip $@
|
||||
install-u-boot-sam460: b/u-boot-sam460ex/u-boot.bin | ${sysdataidir}
|
||||
install -m0644 $< ${sysdataidir}/u-boot-sam460-20100605.bin
|
||||
sysdata-components += u-boot-sam460
|
||||
|
||||
### qboot, aka bios-microvm
|
||||
build-qboot: b/qboot/bios.bin
|
||||
b/qboot/bios.bin: | b
|
||||
rm -rf b/qboot
|
||||
meson setup roms/qboot b/qboot
|
||||
env -u ELF_PACKAGE_METADATA \
|
||||
${NINJA} -C b/qboot
|
||||
install-qboot: b/qboot/bios.bin
|
||||
install -m0644 $< ${sysdataidir}/qboot.rom
|
||||
sysdata-components += qboot
|
||||
|
||||
### alpha firmware in roms/palcode-clipper
|
||||
build-palcode-clipper: b/qemu-palcode/palcode-clipper
|
||||
b/qemu-palcode/palcode-clipper: | b
|
||||
cp -al roms/qemu-palcode b/
|
||||
#XXX #1019011 (remove OPT= alternative when fixed)
|
||||
env -u ELF_PACKAGE_METADATA \
|
||||
${MAKE} -C b/qemu-palcode CROSS=${cross_prefix_alpha} -k || \
|
||||
${MAKE} -C b/qemu-palcode CROSS=${cross_prefix_alpha} OPT=-O1
|
||||
${cross_prefix_alpha}strip b/qemu-palcode/palcode-clipper
|
||||
install-palcode-clipper: b/qemu-palcode/palcode-clipper
|
||||
install -m0644 $< ${sysdataidir}/palcode-clipper
|
||||
sysdata-components += palcode-clipper
|
||||
|
||||
### SLOF
|
||||
build-slof: b/SLOF/boot_rom.bin
|
||||
b/SLOF/boot_rom.bin: | b
|
||||
cp -al roms/SLOF b/
|
||||
env -u LDFLAGS -u CFLAGS -u ELF_PACKAGE_METADATA \
|
||||
$(MAKE) -C b/SLOF qemu CROSS=${cross_prefix_ppc64} V=${V}
|
||||
install-slof: b/SLOF/boot_rom.bin
|
||||
install -m0644 $< ${sysdataidir}/slof.bin
|
||||
sysdata-components += slof
|
||||
|
||||
### hppa-firmware (roms/seabios-hppa)
|
||||
build-hppa-fw: b/hppa-fw/.built
|
||||
b/hppa-fw/.built: | b
|
||||
rm -rf $(dir $@)
|
||||
cp -al roms/seabios-hppa $(dir $@)
|
||||
env -u ELF_PACKAGE_METADATA \
|
||||
${MAKE} PYTHON=python3 OUT=o32/ BITS=32 BIT_SUFFIX= CROSS_PREFIX=${cross_prefix_hppa} -C $(dir $@) -f Makefile.parisc all
|
||||
${cross_prefix_hppa}strip -R.note -R.comment $(dir $@)o32/hppa-firmware.img
|
||||
env -u ELF_PACKAGE_METADATA \
|
||||
${MAKE} PYTHON=python3 OUT=o64/ BITS=64 BIT_SUFFIX=64 CROSS_PREFIX=${cross_prefix_hppa64} -C $(dir $@) -f Makefile.parisc all
|
||||
${cross_prefix_hppa64}strip -R.note -R.comment $(dir $@)o64/hppa-firmware64.img
|
||||
touch $@
|
||||
install-hppa-fw: b/hppa-fw/.built
|
||||
install -m0644 -t ${sysdataidir} \
|
||||
$(dir $<)o32/hppa-firmware.img \
|
||||
$(dir $<)o64/hppa-firmware64.img
|
||||
sysdata-components += hppa-fw
|
||||
|
||||
### vbootrom (npcm7xx, npcm8xx)
|
||||
build-vbootrom: b/vbootrom/.built
|
||||
b/vbootrom/.built: | b
|
||||
cp -pa roms/vbootrom b/
|
||||
env -u ELF_PACKAGE_METADATA \
|
||||
${MAKE} -C b/vbootrom/npcm7xx CROSS_COMPILE=${cross_prefix_arm}
|
||||
env -u ELF_PACKAGE_METADATA \
|
||||
${MAKE} -C b/vbootrom/npcm8xx CROSS_COMPILE=${cross_prefix_aarch64}
|
||||
touch $@
|
||||
install-vbootrom: build-vbootrom
|
||||
install -m0644 \
|
||||
b/vbootrom/npcm7xx/npcm7xx_bootrom.bin \
|
||||
b/vbootrom/npcm8xx/npcm8xx_bootrom.bin \
|
||||
-t ${sysdataidir}/
|
||||
sysdata-components += vbootrom
|
||||
|
||||
### misc firmware
|
||||
build-misc: b/misc/.built
|
||||
b/misc/.built:
|
||||
mkdir -p b/misc
|
||||
dtc -o b/misc/bamboo.dtb pc-bios/bamboo.dts
|
||||
dtc -o b/misc/canyonlands.dtb pc-bios/canyonlands.dts
|
||||
dtc -o b/misc/petalogix-ml605.dtb pc-bios/petalogix-ml605.dts
|
||||
dtc -o b/misc/petalogix-s3adsp1800.dtb pc-bios/petalogix-s3adsp1800.dts
|
||||
touch $@
|
||||
install-misc: build-misc
|
||||
install -m0644 b/misc/bamboo.dtb b/misc/canyonlands.dtb \
|
||||
-D -t ${sysdataidir}
|
||||
install -m0644 b/misc/petalogix-ml605.dtb b/misc/petalogix-s3adsp1800.dtb \
|
||||
-D -t debian/qemu-system-misc/usr/share/qemu/
|
||||
# icon for gtk ui
|
||||
install -Dp -m0644 ui/icons/qemu.svg \
|
||||
-t debian/qemu-system-data/usr/share/icons/hicolor/scalable/apps/
|
||||
install -Dp -m0644 ui/qemu.desktop \
|
||||
-t debian/qemu-system-data/usr/share/applications/
|
||||
# icon for sdl2 ui (non-sdl-image version)
|
||||
install -Dp -m0644 ui/icons/qemu_32x32.bmp \
|
||||
debian/qemu-system-data/usr/share/icons/hicolor/32x32/apps/qemu.bmp
|
||||
install -Dp -m0644 -t debian/qemu-system-data/usr/share/qemu/keymaps/ \
|
||||
$$(ls -1 pc-bios/keymaps/* | fgrep -v /meson.build)
|
||||
sysdata-components += misc
|
||||
|
||||
sysdata-components += html
|
||||
|
||||
${sysdataidir}:
|
||||
mkdir -p -m0755 $@
|
||||
b:
|
||||
mkdir -p $@
|
||||
|
||||
.PHONY: $(addprefix build- , ${sysdata-components}) \
|
||||
$(addprefix install-, ${sysdata-components}) \
|
||||
build-indep pre-install-indep install-indep binary-indep
|
||||
$(addprefix build- , ${sysdata-components}): | b
|
||||
$(addprefix install-, ${sysdata-components}): | ${sysdataidir}
|
||||
build-indep: $(addprefix build-, ${sysdata-components})
|
||||
pre-install-indep:
|
||||
dh_testroot
|
||||
# dh_prep might undo ${sysdataidir} creation, or even some install-foo?
|
||||
dh_prep -i -v
|
||||
mkdir -p -m0755 ${sysdataidir}
|
||||
install-indep: pre-install-indep $(addprefix install-, ${sysdata-components})
|
||||
dh_install -i
|
||||
dh_installdocs -i
|
||||
dh_installchangelogs -i
|
||||
dh_lintian -i
|
||||
dh_compress -i -Xusr/share/doc/qemu-system-common/config
|
||||
dh_fixperms -i
|
||||
binary-indep: install-indep binary-helper
|
||||
binary-indep: a=-i
|
||||
|
||||
build: build-arch build-indep
|
||||
install: install-arch install-indep
|
||||
binary: install-arch install-indep binary-helper
|
||||
binary: a=
|
||||
binary-helper:
|
||||
dh_installdeb $a
|
||||
dh_gencontrol $a
|
||||
dh_md5sums $a
|
||||
dh_builddeb $a
|
||||
|
||||
clean: debian/control
|
||||
dh_clean b/ ${vdso-clean} \
|
||||
configs/devices/x86_64-softmmu/microvm.mak \
|
||||
|
||||
.PHONY: build install binary binary-helper clean
|
1
debian/source/format
vendored
Normal file
1
debian/source/format
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
3.0 (quilt)
|
17
debian/source/lintian-overrides
vendored
Normal file
17
debian/source/lintian-overrides
vendored
Normal file
|
@ -0,0 +1,17 @@
|
|||
# deliberate spacing to align Breaks & Replaces
|
||||
qemu source: debian-control-has-unusual-field-spacing Breaks *
|
||||
qemu source: debian-control-has-unusual-field-spacing Replaces *
|
||||
# we have a ton of files with long lines, just shut up this warning
|
||||
qemu source: very-long-line-length-in-source-file *
|
||||
qemu source: package-does-not-install-examples *roms/*/examples/*
|
||||
# we refer to versioned Provides coming from the same source so it's ok
|
||||
qemu source: version-substvar-for-external-package Depends ${binary:Version} qemu-* -> qemu-system-any *
|
||||
# yes we do NOT use dh sequencer.
|
||||
# dh exports CFLAGS et all, which breaks firmware compilation badly
|
||||
# also, it makes whole thing recursive, uncontrollable and hidden,
|
||||
# hence difficult to debug.
|
||||
qemu source: no-dh-sequencer [debian/rules]
|
||||
# the source is available in linux-user/*/vdso.S:
|
||||
qemu source: source-is-missing [linux-user/*/vdso*.so]
|
||||
# we have long field indeed
|
||||
qemu source: field-too-long Build-Depends-Arch (5*
|
25
debian/source_qemu.py
vendored
Normal file
25
debian/source_qemu.py
vendored
Normal file
|
@ -0,0 +1,25 @@
|
|||
'''apport package hook for qemu
|
||||
|
||||
(c) 2009 Canonical Ltd.
|
||||
'''
|
||||
|
||||
from apport.hookutils import *
|
||||
import subprocess
|
||||
|
||||
def cmd_pipe(command1, command2, input = None, stderr = subprocess.STDOUT, stdin = None):
|
||||
'''Try to pipe command1 into command2.'''
|
||||
try:
|
||||
sp1 = subprocess.Popen(command1, stdin=stdin, stdout=subprocess.PIPE, stderr=stderr, close_fds=True)
|
||||
sp2 = subprocess.Popen(command2, stdin=sp1.stdout, stdout=subprocess.PIPE, stderr=stderr, close_fds=True)
|
||||
except OSError as e:
|
||||
return [127, str(e)]
|
||||
|
||||
out = sp2.communicate(input)[0]
|
||||
return [sp2.returncode,out]
|
||||
|
||||
def add_info(report):
|
||||
attach_hardware(report)
|
||||
attach_related_packages(report, ['kvm*', '*libvirt*', 'virt-manager', 'qemu*'])
|
||||
rc,output = cmd_pipe(['ps', '-eo', 'comm,stat,euid,ruid,pid,ppid,pcpu,args'], ['egrep', '(^COMMAND|^qemu|^kvm)'])
|
||||
if rc == 0:
|
||||
report['KvmCmdLine'] = output
|
11
debian/tests/control
vendored
Normal file
11
debian/tests/control
vendored
Normal file
|
@ -0,0 +1,11 @@
|
|||
Tests: test-qemu-img.sh
|
||||
Depends: qemu-utils
|
||||
Restrictions: superficial
|
||||
|
||||
Tests: test-qemu-system.sh
|
||||
Depends: qemu-system-x86
|
||||
Restrictions: superficial
|
||||
|
||||
Tests: test-qemu-user.sh
|
||||
Depends: qemu-user
|
||||
Restrictions: needs-root, breaks-testbed, skippable
|
37
debian/tests/test-qemu-img.sh
vendored
Executable file
37
debian/tests/test-qemu-img.sh
vendored
Executable file
|
@ -0,0 +1,37 @@
|
|||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
cd "$AUTOPKGTEST_TMP"
|
||||
|
||||
doit() {
|
||||
echo "$1:"
|
||||
shift
|
||||
echo "$1"
|
||||
if [ -n "$2" ]; then
|
||||
out="$($1)"
|
||||
eval "case \"\$out\" in ( $2 ) echo \"\$out\";; (*) echo \"unexpected output:\"; echo \" want $2\"; echo \" got \$out\"; return 1;; esac"
|
||||
else
|
||||
$1
|
||||
fi
|
||||
echo ok.
|
||||
}
|
||||
|
||||
doit "Testing if qemu-img creates images" \
|
||||
"qemu-img create q.raw 12G"
|
||||
|
||||
doit "Testing for correct image size" \
|
||||
"ls -l q.raw" '*\ 12884901888\ *'
|
||||
|
||||
fsblock=$(stat -f --format=%S q.raw)
|
||||
|
||||
doit "Testing if file is sparse" \
|
||||
"ls -s --block-size=$fsblock q.raw" '[01]\ *'
|
||||
|
||||
doit "Testing if conversion to a qcow2 image works" \
|
||||
"qemu-img convert -f raw -O qcow2 q.raw q.qcow2"
|
||||
|
||||
doit "Checking if image is qcow2" \
|
||||
'qemu-img info q.qcow2' "*'file format: qcow2'*'size: 12 GiB (12884901888 bytes)'*"
|
||||
|
||||
rm -f q.raw q.qcow2
|
14
debian/tests/test-qemu-system.sh
vendored
Executable file
14
debian/tests/test-qemu-system.sh
vendored
Executable file
|
@ -0,0 +1,14 @@
|
|||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
architectures=i386
|
||||
if [ -x /usr/bin/qemu-system-x86_64 ]; then
|
||||
architectures="$architectures x86_64"
|
||||
fi
|
||||
|
||||
for ARCH in $architectures; do
|
||||
echo -n "Checking for pc in ${ARCH}..."
|
||||
qemu-system-${ARCH} -M help | grep -qs "pc\s\+Standard PC"
|
||||
echo "done."
|
||||
done
|
||||
|
52
debian/tests/test-qemu-user.sh
vendored
Executable file
52
debian/tests/test-qemu-user.sh
vendored
Executable file
|
@ -0,0 +1,52 @@
|
|||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
host=$(dpkg --print-architecture)
|
||||
|
||||
# test release architectures
|
||||
# test 64bit architectures on 64bit host only
|
||||
release_architectures="amd64 arm64 armel armhf i386 mips64el ppc64el riscv64 s390x"
|
||||
architectures=
|
||||
for arch in $release_architectures; do
|
||||
[ -x /usr/bin/qemu-$arch ] || continue
|
||||
architectures="$architectures $arch"
|
||||
[ $arch = $host ] ||
|
||||
dpkg --add-architecture $arch
|
||||
done
|
||||
|
||||
echo "testing:$architectures"
|
||||
|
||||
apt-get update
|
||||
|
||||
skipped= failed= mismatch= ok=
|
||||
|
||||
for arch in $architectures; do
|
||||
|
||||
if ! apt-get install --no-install-recommends -q -y busybox:$arch 2>&1; then
|
||||
echo "Skipping test for $arch because of busybox:$arch installation problem"
|
||||
skipped="$skipped $arch"
|
||||
continue
|
||||
fi
|
||||
|
||||
f=/usr/bin/qemu-$arch
|
||||
bb=/bin/busybox
|
||||
|
||||
echo "=== Checking if $f can run executables:"
|
||||
echo "glob with sh: $f $bb ash -c \"$f $bb ls -dCFl debian/*[t]*\":"
|
||||
ls="$($f $bb ash -c "$f $bb ls -dCFl debian/*[t]*")" || failed="$failed $arch"
|
||||
echo "$ls"
|
||||
case "$ls" in
|
||||
(*debian/control*) echo "=== ok."; ok="$ok $arch";;
|
||||
(*) echo "Expected output not found" >&2;;
|
||||
esac
|
||||
|
||||
done
|
||||
|
||||
[ -z "$skipped" ] || echo skipped: $skipped
|
||||
[ -z "$failed" ] || echo failed: $failed
|
||||
if [ -n "$ok" ]; then
|
||||
echo succeeded: $ok
|
||||
else
|
||||
exit 77
|
||||
fi
|
44
debian/upstream/signing-key.asc
vendored
Normal file
44
debian/upstream/signing-key.asc
vendored
Normal file
|
@ -0,0 +1,44 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
mQENBFJhQQ8BCAChk4A3y0VfqeGfuhBZK4nvpZP/cSIQntWDheF3Tx7m9CxEGbc+
|
||||
5aHxfrvm45LSjwPCK020WjeqYX2UFQfcvcjoW6iMbth1BLydu11vx6Gk/CJuB7Ss
|
||||
8AbyvEXBcOfHbginUdqr4nwLD9e8qlVxRFbSHfbFRbuybZghke4y1pZzekkqbseT
|
||||
kahkWHxr6o1EGAjyIdjAq1IQxewW6yJ4rkHWsRvfv3sUQTqBU+wT180kdwC8AAv6
|
||||
q6TX4um0HGR46uJ+5SG8DYb00kRMckQtYpTuwuUmlAvNh/qLg2fVVMEiHBpcuIiV
|
||||
h7x8INuq94vc+tgxmr0bomIWIZljMQ7vp8ixABEBAAG0IE1pY2hhZWwgUm90aCA8
|
||||
bWRyb3RoQHV0ZXhhcy5lZHU+iQE4BBMBAgAiBQJSYUEPAhsDBgsJCAcDAgYVCAIJ
|
||||
CgsEFgIDAQIeAQIXgAAKCRAzU8nO8Qi1hAHFB/9XZo74FYIGrSY814qun2wWF1Ui
|
||||
wljt6pLrwJfpn5DQJmMRn6ZMAJxXb7S7NE1jVvo0E85m4tykjidWZvrFtTljDBiV
|
||||
WKA+xHT8ip5+cLIOr5ogwsR7ujC+Rk1u5nb8FIafo3G7V8raXYI6T7sfOCJ+wUUI
|
||||
s0A3Sw7P7GiAQLuafQ+jAUjg7S0REPNBvGamZ+tIAJxL7bAAACTWe4hZUGodXJuV
|
||||
Ofk7ic2p5SpeT0E6/Pd2JtAcQdsdpRB4x5M99neRtyEdZO/3SauoHzIoneRxml1Y
|
||||
rp4hr27Ggr8I9WMomU5E0IMz7HR3fRTQXVd5SsXKLsitUqeKHmTOLn1zuXtUtCFN
|
||||
aWNoYWVsIFJvdGggPGZsdWtzaHVuQGdtYWlsLmNvbT6JATgEEwECACIFAlJhQl4C
|
||||
GwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEDNTyc7xCLWEj2cH/21MIyGv
|
||||
podSPX6e2y6sS0cvZ3rTNTm+qVq3VY2yJlHX8KVcvT6Su9s0yl9J5FdeIkQCqpo4
|
||||
+U/ANDK4R7rcnHl/gEw21932lVESPMMKhxlLluAb054nrqdwpdjtxf+VZcTt4c4B
|
||||
zcF/K9po1LgZoOt6HJPxIC+tqYYQrsmrOZUtCJjgOXO6IkadrBmxoFNFxQ4qWB2u
|
||||
oZ+/HEtceOIb56qNfOj36MtEKVwpScYPAxaePd9lO7P4vlCOx6yIzO3MzEl+Aen7
|
||||
/NYKU8WwwRnshAlW4GTn2XbrEQeJx4HzSzI5r8xfMOH3JLh/ZVANBR7c5cw1MPe7
|
||||
1fAj5WzXrr/scJu0KE1pY2hhZWwgUm90aCA8bWRyb3RoQGxpbnV4LnZuZXQuaWJt
|
||||
LmNvbT6JATgEEwECACIFAlJhQjYCGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheA
|
||||
AAoJEDNTyc7xCLWEltAH/37ADf0YFPrJd3gcZyGC/zvtPhYPZ/kxnqoahoBIRF/s
|
||||
ftGV5XqwwZOGm1Iws/VmTQ0PFBvU+Mw0vNT0HcreRT8PohtRlF+V8umHLVeL6x3C
|
||||
tmJfsfyYBxLoE5/DLyYqBvpCothLm40ND4O6lRdLF5CUScGhgD1IblvmYBs0Uz71
|
||||
tFnHmC+Ov3fNC8YkTNymaxnJGYlPtmwUZ7SWh1XRl8pMQzL+3B9Be6ecO3J5lbFm
|
||||
wL8XYawx0HtayvM5n9VbPy2eawAn++e7bLLywc39YyQ9/ckmSlZqtlUsEuij+h0T
|
||||
qmr9XY7K8WEHqBJXfl8txIm8DTOqq4dcx3j7k+qwQJC5AQ0EUmFBDwEIAJDxMtsu
|
||||
9ie8QN7eepcm+WuaY6Zbg3iDdPOOrQ4Ez+4oLaib5FHiZZjikdTsD7hlwcVuuhyE
|
||||
P2/bT9f29pbsrUVjHRgqJPdcuoOlUzAekgz17895Wh1gRarsbDIJDgs1878OSvIC
|
||||
/ek++qAWkzU4Sy8Psu9eJMTP6F0nPBOvet+iPwWDZO/dxrf+BnBb9wuBZnihpKMa
|
||||
v2gJox0iYrqpnFOFlK/XdSYnZNYpIyBin1e+K2CG+TzF2M+KmdZE7FMhnTz95est
|
||||
AG2kC37VIVkCq8yHNVZqsgyAfMqpB1ayQI2r3FUBM0Hxp6z2+8v/Ezp6zhYCI+Bi
|
||||
UC7VbrWSSuTlp4UAEQEAAYkBHwQYAQIACQUCUmFBDwIbDAAKCRAzU8nO8Qi1hKWY
|
||||
B/0R6ct3W2SEyoNuHTTKd5szIJigHYXrsqBa4XQGaVuFz7XZtcIbFFhEHjMrvTJp
|
||||
BWhuZ091Gp0AjV2ACNi2z+dSpXi16QxdFb1/4us6mFEm86UIu4tcNN1V3WPiODpW
|
||||
fFkEys/vmqQImLjfSsdxzhMdX7Yen1B3fxiKzwzsTlFbnNiBr2Mv7flDiUvMdbHm
|
||||
b/n0/B6a69SRYfVkJ3MZdl0gptJlXhJVdwjwVVl3bjvlQd0aZoLwJ7ntrWeMxOkb
|
||||
f8950vPVxemQ1frblB0zR98fuUNhX4cjrFTI9iJck7xLUwNZfgOz9PodfqUv4riM
|
||||
LczMmw3nwGZO/aJg0m6uWSWk
|
||||
=IvBA
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
9
debian/watch
vendored
Normal file
9
debian/watch
vendored
Normal file
|
@ -0,0 +1,9 @@
|
|||
version=4
|
||||
|
||||
opts=\
|
||||
dversionmangle=auto,\
|
||||
repacksuffix=+ds,\
|
||||
uversionmangle=s/-rc/~rc/,\
|
||||
pgpsigurlmangle=s/$/.sig/,\
|
||||
compression=xz \
|
||||
https://download.qemu.org/ qemu-@ANY_VERSION@@ARCHIVE_EXT@
|
Loading…
Add table
Add a link
Reference in a new issue