Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
Q
qemu-base
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
pkg
obextra
qemu-base
Commits
84a94450
Commit
84a94450
authored
2 years ago
by
Eric Vidal
Browse files
Options
Downloads
Patches
Plain Diff
upgpkg: 7.1.0-5
parent
113b7641
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Pipeline
#1630
failed
2 years ago
Stage: build
Stage: commit
Changes
2
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
trunk/PKGBUILD
+220
-173
220 additions, 173 deletions
trunk/PKGBUILD
trunk/qemu-7.0.0-glibc-2.36.patch
+0
-43
0 additions, 43 deletions
trunk/qemu-7.0.0-glibc-2.36.patch
with
220 additions
and
216 deletions
trunk/PKGBUILD
+
220
−
173
View file @
84a94450
...
...
@@ -8,8 +8,8 @@
# DESCRIPTION ]
pkgbase
=
qemu
pkgver
=
7.
0
.0
pkgrel
=
11
pkgver
=
7.
1
.0
pkgrel
=
5
pkgdesc
=
"A generic and open source machine emulator and virtualizer"
url
=
'https://www.qemu.org/'
...
...
@@ -24,11 +24,11 @@ pkgname=(
qemu-hw-s390x-virtio-gpu-ccw
qemu-hw-usb-
{
host,redirect,smartcard
}
qemu-img
qemu-system-
{
aarch64,alpha,arm,avr,cris,hppa,m68k,microblaze,mips,nios2,or1k,ppc,riscv,rx,s390x,sh4,sparc,tricore,x86,xtensa
}
qemu-system-
{
aarch64,alpha,arm,avr,cris,hppa,
loongarch64,
m68k,microblaze,mips,nios2,or1k,ppc,riscv,rx,s390x,sh4,sparc,tricore,x86,xtensa
}
qemu-tests
qemu-tools
qemu-ui-
{
curses,dbus,egl-headless,gtk,opengl,sdl,spice-
{
app,core
}}
qemu-user
qemu-user
{
,-static
}
qemu-vhost-user-gpu
qemu-virtiofsd
qemu-
{
base,desktop,emulators-full,full
}
...
...
@@ -41,20 +41,20 @@ source=(
qemu-sysusers.conf
65-kvm.rules
99-qemu-guest-agent.rules
qemu-7.0.0-virtio-scsi_fix_ctrl_and_event_handler_functions_in_dataplane_mode.patch::https://github.com/qemu/qemu/commit/2f743ef6366c2df4ef51ef3ae318138cdc0125ab.patch
qemu-7.0.0-virtio-scsi_dont_waste_cpu_polling_the_eventvirtqueue.patch::https://github.com/qemu/qemu/commit/38738f7dbbda90fbc161757b7f4be35b52205552.patch
qemu-7.0.0-glibc-2.36.patch
)
#--------------------
# BUILD PREPARATION ]
prepare
()
{
mkdir
build-
{
full,headless
}
mkdir
-p
extra-arch-
{
full,headless
}
/usr/
{
bin,share/qemu
}
# extract licenses for TCG
sed
-n
'1,23p'
$pkgbase
-
$pkgver
/tcg/tcg-internal.h
>
tcg.LICENSE.MIT
sed
-n
'1,23p'
$pkgbase
-
$pkgver
/tcg/arm/tcg-target.c.inc
>
tcg-arm.LICENSE.MIT
sed
-n
'1,23p'
$pkgbase
-
$pkgver
/tcg/tci/tcg-target.h
>
tci.LICENSE.MIT
cd
$pkgname
-
$pkgver
patch
-p1
< ../fix_unix_sockets.diff
# FS#72115
# create build dir
mkdir
-vp
build
mkdir
-vp
build-static
}
#----------------------
...
...
@@ -65,6 +65,7 @@ makedepends=(
brltty
bzip2
cairo
capstone
curl
dtc
fuse3
...
...
@@ -120,6 +121,7 @@ makedepends=(
# BUILD PREPARE ]
_qemu_system_deps
=(
capstone
dtc
fuse3
gcc-libs
...
...
@@ -149,7 +151,7 @@ _qemu_system_deps=(
libpam.so
pixman
libpixman-1.so
qemu-common
qemu-common
=
$pkgver
-
$pkgrel
snappy
vde2
zlib
...
...
@@ -217,6 +219,7 @@ _qemu_optdepends=(
'qemu-ui-spice-app: for spice app UI driver'
'qemu-ui-spice-core: for spice core UI driver'
'qemu-user: for user mode emulation of QEMU targets'
'qemu-user-static: for static user mode emulation of QEMU targets'
'qemu-vhost-user-gpu: for vhost-user-gpu display device'
'qemu-virtiofsd: for virtio-fs shared filesystem daemon'
'samba: for SMB/CIFS server support'
...
...
@@ -243,75 +246,108 @@ prepare() {
mkdir
-vp
build-static
# fix issues with virtio-scsi https://lists.gnu.org/archive/html/qemu-devel/2022-04/msg04724.html
patch
-Np1
-d
$pkgbase
-
$pkgver
-i
../qemu-7.0.0-virtio-scsi_fix_ctrl_and_event_handler_functions_in_dataplane_mode.patch
patch
-Np1
-d
$pkgbase
-
$pkgver
-i
../qemu-7.0.0-virtio-scsi_dont_waste_cpu_polling_the_eventvirtqueue.patch
patch
-Np1
-d
$pkgbase
-
$pkgver
-i
../qemu-7.0.0-glibc-2.36.patch
patch
-Np1
-d
$pkgbase
-
$pkgver
-i
../
patch
-Np1
-d
$pkgbase
-
$pkgver
-i
../
}
#--------
# BUILD ]
build
()
{
_build full
_build headless
\
--disable-sdl
\
--disable-gtk
\
--disable-vte
\
--disable-brlapi
\
--disable-opengl
\
--disable-virglrenderer
\
--disable-alsa
\
--disable-jack
\
--disable-oss
\
--disable-pa
\
--disable-sdl
}
_build
()
(
# Build only minimal debug info to reduce size
CFLAGS+
=
' -g1'
CXXFLAGS+
=
' -g1'
(
cd
build
../
$pkgbase
-
$pkgver
/configure
\
--prefix
=
/usr
\
--sysconfdir
=
/etc
\
--libexecdir
=
/usr/lib/qemu
\
--localstatedir
=
/var
\
--docdir
=
/usr/share/doc/qemu
\
--enable-modules
\
--enable-sdl
\
--enable-slirp
=
system
\
--enable-tpm
\
--smbd
=
/usr/bin/smbd
\
--tls-priority
=
@QEMU,SYSTEM
\
--with-coroutine
=
ucontext
ninja
)
)
(
cd
build-static
../
$pkgbase
-
$pkgver
/configure
\
--prefix
=
/usr
\
--sysconfdir
=
/etc
\
--libexecdir
=
/usr/lib/qemu
\
--enable-attr
\
--enable-linux-user
\
--enable-tcg
\
--disable-bpf
\
--disable-bsd-user
\
--disable-capstone
\
--disable-docs
\
--disable-fdt
\
--disable-gcrypt
\
--disable-glusterfs
\
--disable-gnutls
\
--disable-gtk
\
--disable-install-blobs
\
--disable-kvm
\
--disable-libiscsi
\
--disable-libnfs
\
--disable-libssh
\
--disable-linux-io-uring
\
--disable-nettle
\
--disable-opengl
\
--disable-qom-cast-debug
\
--disable-sdl
\
--disable-system
\
--disable-tools
\
--disable-tpm
\
--disable-vde
\
--disable-vhost-crypto
\
--disable-vhost-kernel
\
--disable-vhost-net
\
--disable-vhost-user
\
--disable-vnc
\
--disable-werror
\
--disable-xen
\
--disable-zstd
\
--static
ninja
)
# Build only minimal debug info to reduce size
CFLAGS+
=
' -g1'
CXXFLAGS+
=
' -g1'
(
cd
build
../
$pkgbase
-
$pkgver
/configure
\
--prefix
=
/usr
\
--sysconfdir
=
/etc
\
--libexecdir
=
/usr/lib/qemu
\
--localstatedir
=
/var
\
--docdir
=
/usr/share/doc/qemu
\
--enable-modules
\
--enable-sdl
\
--enable-slirp
=
system
\
--enable-tpm
\
--smbd
=
/usr/bin/smbd
\
--with-coroutine
=
ucontext
ninja
)
}
package_qemu-common
()
{
license+
=(
BSD MIT
)
depends
=(
gcc-libs glib2 libglib-2.0.so libgmodule-2.0.so hicolor-icon-theme libcap-ng libcap-ng.so
)
install
=
$pkgname
.install
options
=(!
strip
)
backup
=(
etc/
$pkgbase
/bridge.conf
etc/sasl2/
$pkgbase
.conf
)
meson
install
-C
build-static
--destdir
"
$pkgdir
"
install
-vdm
755
"
$pkgdir
/usr/lib/binfmt.d/"
$pkgbase
-
$pkgver
/scripts/qemu-binfmt-conf.sh ALL
--exportdir
"
$pkgdir
/usr/lib/binfmt.d/"
--qemu-path
"/usr/bin"
# rename static binaries to prevent name conflicts
for
_src
in
"
$pkgdir
/usr/bin/qemu-"
*
;
do
mv
-v
"
$_src
"
"
$pkgdir
/usr/bin/
$(
basename
"
$_src
"
)
-static"
done
# modify and rename binfmt.d configs to prevent name conflicts
for
_conf
in
"
$pkgdir
/usr/lib/binfmt.d/"
*
;
do
cat
"
$_conf
"
|
tr
-d
'\n'
|
sed
"s/:
$/
-static:F/"
>
"
${
_conf
//.conf/-static.conf
}
"
done
# install default binaries
meson
install
-C
build
--destdir
"
$pkgdir
"
install
-vdm
755
"
$pkgdir
/usr/lib/binfmt.d/"
$pkgbase
-
$pkgver
/scripts/qemu-binfmt-conf.sh
--systemd
ALL
--exportdir
"
$pkgdir
/usr/lib/binfmt.d/"
--qemu-path
"/usr/bin"
# TODO: qemu-user-static
# for _conf in "$pkgdir/usr/lib/binfmt.d/"*; do
# cat "$_conf" | tr -d '\n' | sed "s/:$/-static:F/" > "${_conf//.conf/-static.conf}"
# done
#
# meson install -C build-static --destdir "$pkgdir"
# for _src in "$pkgdir/usr/bin/qemu-"*; do
# mv -v "$_src" "$pkgdir/usr/bin/$(basename "$_src")-static"
# done
$pkgbase
-
$pkgver
/scripts/qemu-binfmt-conf.sh ALL
--exportdir
"
$pkgdir
/usr/lib/binfmt.d/"
--qemu-path
"/usr/bin"
install
-vDm
644 bridge.conf
-t
"
$pkgdir
/etc/
$pkgbase
/"
install
-vDm
644
$pkgbase
-
$pkgver
/
$pkgbase
.sasl
"
$pkgdir
/etc/sasl2/
$pkgbase
.conf"
...
...
@@ -386,6 +422,9 @@ package_qemu-common() {
_pick qemu-img usr/share/man/man7/qemu-storage-daemon-qmp-ref.7
*
_pick qemu-img usr/share/man/man8/qemu-nbd.8
*
_pick qemu-pr-helper usr/bin/qemu-pr-helper
_pick qemu-pr-helper usr/share/man/man8/qemu-pr-helper.8
*
_pick qemu-hw-s390x-virtio-gpu-ccw usr/lib/qemu/hw-s390x-virtio-gpu-ccw.so
_pick qemu-system-aarch64 usr/bin/qemu-system-aarch64
...
...
@@ -409,6 +448,7 @@ package_qemu-common() {
_pick qemu-system-hppa usr/share/qemu/hppa-firmware.img
_pick qemu-system-hppa usr/share/man/man1/qemu-system-hppa.1
*
_pick qemu-system-loongarch64 usr/bin/qemu-system-loongarch64
_pick qemu-system-m68k usr/bin/qemu-system-m68k
_pick qemu-system-m68k usr/share/man/man1/qemu-system-m68k.1
*
...
...
@@ -485,10 +525,10 @@ package_qemu-common() {
_pick qemu-ui-spice-app usr/lib/qemu/ui-spice-app.so
_pick qemu-ui-spice-core usr/lib/qemu/ui-spice-core.so
#
_pick qemu-user-static usr/bin/qemu-*-static
#
_pick qemu-user-static usr/lib/binfmt.d/*-static.conf
_pick qemu-user-static usr/bin/qemu-
*
-static
_pick qemu-user-static usr/lib/binfmt.d/
*
-static
.conf
_pick qemu-user usr/bin/qemu-
{
aarch64
{
,_be
}
,alpha,arm
{
,eb
}
,cris,hexagon,hppa,i386,m68k,microblaze
{
,el
}
,mips
{
,64,64el,el,n32,n32el
}
,nios2,or1k,ppc
{
,64,64le
}
,riscv
{
32,64
}
,s390x,sh4
{
,eb
}
,sparc
{
,32plus,64
}
,x86_64,xtensa
{
,eb
}}
_pick qemu-user usr/bin/qemu-
{
aarch64
{
,_be
}
,alpha,arm
{
,eb
}
,cris,hexagon,hppa,i386,
loongarch64,
m68k,microblaze
{
,el
}
,mips
{
,64,64el,el,n32,n32el
}
,nios2,or1k,ppc
{
,64,64le
}
,riscv
{
32,64
}
,s390x,sh4
{
,eb
}
,sparc
{
,32plus,64
}
,x86_64,xtensa
{
,eb
}}
_pick qemu-user usr/lib/binfmt.d/
*
.conf
_pick qemu-vhost-user-gpu usr/lib/qemu/vhost-user-gpu
...
...
@@ -502,91 +542,91 @@ package_qemu-common() {
package_qemu-audio-alsa
()
{
pkgdesc
=
"QEMU ALSA audio driver"
depends
=(
alsa-lib libasound.so glibc qemu-common
)
depends
=(
alsa-lib libasound.so glibc qemu-common
=
$pkgver
-
$pkgrel
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
package_qemu-audio-dbus
()
{
pkgdesc
=
"QEMU D-Bus audio driver"
depends
=(
gcc-libs glib2 libgio-2.0.so libgobject-2.0.so libglib-2.0.so glibc qemu-common
)
depends
=(
gcc-libs glib2 libgio-2.0.so libgobject-2.0.so libglib-2.0.so glibc qemu-common
=
$pkgver
-
$pkgrel
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
package_qemu-audio-jack
()
{
pkgdesc
=
"QEMU JACK audio driver"
depends
=(
jack libjack.so glibc qemu-common
)
depends
=(
jack libjack.so glibc qemu-common
=
$pkgver
-
$pkgrel
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
package_qemu-audio-oss
()
{
pkgdesc
=
"QEMU OSS audio driver"
depends
=(
glibc qemu-common
)
depends
=(
glibc qemu-common
=
$pkgver
-
$pkgrel
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
package_qemu-audio-pa
()
{
pkgdesc
=
"QEMU PulseAudio audio driver"
depends
=(
glibc libpulse libpulse.so qemu-common
)
depends
=(
glibc libpulse libpulse.so qemu-common
=
$pkgver
-
$pkgrel
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
package_qemu-audio-sdl
()
{
pkgdesc
=
"QEMU SDL audio driver"
depends
=(
glibc qemu-common sdl2
)
depends
=(
glibc qemu-common
=
$pkgver
-
$pkgrel
sdl2
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
package_qemu-audio-spice
()
{
pkgdesc
=
"QEMU spice audio driver"
depends
=(
glibc qemu-common qemu-ui-spice-core spice libspice-server.so
)
depends
=(
glibc qemu-common
=
$pkgver
-
$pkgrel
qemu-ui-spice-core
=
$pkgver
-
$pkgrel
spice libspice-server.so
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
package_qemu-block-curl
()
{
pkgdesc
=
"QEMU curl block driver"
depends
=(
curl libcurl.so gcc-libs glibc qemu-common
)
depends
=(
curl libcurl.so gcc-libs glibc qemu-common
=
$pkgver
-
$pkgrel
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
package_qemu-block-dmg
()
{
pkgdesc
=
"QEMU DMG block driver"
depends
=(
bzip2 libbz2.so glibc qemu-common
)
depends
=(
bzip2 libbz2.so glibc qemu-common
=
$pkgver
-
$pkgrel
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
package_qemu-block-gluster
()
{
pkgdesc
=
"QEMU Gluster block driver"
depends
=(
glibc glusterfs qemu-common
)
depends
=(
glibc glusterfs qemu-common
=
$pkgver
-
$pkgrel
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
package_qemu-block-iscsi
()
{
pkgdesc
=
"QEMU iSCSI block driver"
depends
=(
gcc-libs glibc libiscsi qemu-common
)
depends
=(
gcc-libs glibc libiscsi qemu-common
=
$pkgver
-
$pkgrel
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
package_qemu-block-nfs
()
{
pkgdesc
=
"QEMU NFS block driver"
depends
=(
gcc-libs glibc libnfs qemu-common
)
depends
=(
gcc-libs glibc libnfs qemu-common
=
$pkgver
-
$pkgrel
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
package_qemu-block-ssh
()
{
pkgdesc
=
"QEMU SSH block driver"
depends
=(
gcc-libs glibc libssh libssh.so qemu-common
)
depends
=(
gcc-libs glibc libssh libssh.so qemu-common
=
$pkgver
-
$pkgrel
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
package_qemu-chardev-baum
()
{
pkgdesc
=
"QEMU Baum chardev driver"
depends
=(
brltty libbrlapi.so glibc qemu-common
)
depends
=(
brltty libbrlapi.so glibc qemu-common
=
$pkgver
-
$pkgrel
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
package_qemu-chardev-spice
()
{
pkgdesc
=
"QEMU spice chardev driver"
depends
=(
libspice-server.so glibc qemu-common qemu-ui-spice-core
)
depends
=(
libspice-server.so glibc qemu-common
=
$pkgver
-
$pkgrel
qemu-ui-spice-core
=
$pkgver
-
$pkgrel
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
...
...
@@ -602,59 +642,59 @@ package_qemu-guest-agent() {
etc/
$pkgbase
/
$pkgbase
-ga
.conf
etc/
$pkgbase
/fsfreeze-hook
)
install
=
$pkgname
.install
mv
-v
$pkgname
/
*
"
$pkgdir
"
install
-vDm
644 99-
$pkgname
.rules
-t
"
$pkgdir
/usr/lib/udev/rules.d/"
install
-vDm
644
$pkgbase
-ga
.conf
-t
"
$pkgdir
/etc/
$pkgbase
/"
install
-vDm
644
$pkgbase
-
$pkgver
/scripts/
$pkgname
/fsfreeze-hook
-t
"
$pkgdir
/etc/
$pkgbase
/"
install
-vDm
755
$pkgbase
-
$pkgver
/scripts/
$pkgname
/fsfreeze-hook
-t
"
$pkgdir
/etc/
$pkgbase
/"
install
-vdm
755
"
$pkgdir
/etc/
$pkgbase
/fsfreeze-hook.d"
}
package_qemu-hw-display-qxl
()
{
pkgdesc
=
"QEMU QXL display device"
depends
=(
gcc-libs glibc pixman libpixman-1.so qemu-common qemu-ui-spice-core spice libspice-server.so
)
depends
=(
gcc-libs glibc pixman libpixman-1.so qemu-common
=
$pkgver
-
$pkgrel
qemu-ui-spice-core
=
$pkgver
-
$pkgrel
spice libspice-server.so
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
package_qemu-hw-display-virtio-gpu
()
{
pkgdesc
=
"QEMU virtio-gpu display device"
depends
=(
glibc pixman libpixman-1.so qemu-common
)
depends
=(
glibc pixman libpixman-1.so qemu-common
=
$pkgver
-
$pkgrel
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
package_qemu-hw-display-virtio-gpu-gl
()
{
pkgdesc
=
"QEMU virtio-gpu-gl display device"
depends
=(
glibc qemu-common virglrenderer
)
depends
=(
glibc qemu-common
=
$pkgver
-
$pkgrel
virglrenderer
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
package_qemu-hw-display-virtio-gpu-pci
()
{
pkgdesc
=
"QEMU virtio-gpu-pci display device"
depends
=(
qemu-common
)
depends
=(
qemu-common
=
$pkgver
-
$pkgrel
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
package_qemu-hw-display-virtio-gpu-pci-gl
()
{
pkgdesc
=
"QEMU virtio-gpu-pci-gl display device"
depends
=(
qemu-common
)
depends
=(
qemu-common
=
$pkgver
-
$pkgrel
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
package_qemu-hw-display-virtio-vga
()
{
pkgdesc
=
"QEMU virtio-vga display device"
depends
=(
qemu-common
)
depends
=(
qemu-common
=
$pkgver
-
$pkgrel
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
package_qemu-hw-display-virtio-vga-gl
()
{
pkgdesc
=
"QEMU virtio-vga-gl display device"
depends
=(
qemu-common
)
depends
=(
qemu-common
=
$pkgver
-
$pkgrel
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
package_qemu-hw-s390x-virtio-gpu-ccw
()
{
pkgdesc
=
"QEMU s390x-virtio-gpu-ccw display device"
depends
=(
qemu-common
)
depends
=(
qemu-common
=
$pkgver
-
$pkgrel
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
...
...
@@ -667,14 +707,12 @@ package_qemu-system-aarch64() {
package_qemu-system-alpha
()
{
pkgdesc
=
"QEMU system emulator for Alpha"
depends
=(
"
${
_qemu_system_deps
[@]
}
"
libudev.so
)
options
=(!
strip
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
package_qemu-system-arm
()
{
pkgdesc
=
"QEMU system emulator for ARM"
depends
=(
"
${
_qemu_system_deps
[@]
}
"
libudev.so
)
options
=(!
strip
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
...
...
@@ -693,7 +731,12 @@ package_qemu-system-cris() {
package_qemu-system-hppa
()
{
pkgdesc
=
"QEMU system emulator for HPPA"
depends
=(
"
${
_qemu_system_deps
[@]
}
"
libudev.so
)
options
=(!
strip
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
package_qemu-system-loongarch64
()
{
pkgdesc
=
"QEMU system emulator for LoongArch64"
depends
=(
"
${
_qemu_system_deps
[@]
}
"
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
...
...
@@ -731,14 +774,12 @@ package_qemu-system-ppc() {
pkgdesc
=
"QEMU system emulator for PPC"
# NOTE: will require openbios
depends
=(
"
${
_qemu_system_deps
[@]
}
"
libudev.so
)
options
=(!
strip
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
package_qemu-system-riscv
()
{
pkgdesc
=
"QEMU system emulator for RISC-V"
depends
=(
"
${
_qemu_system_deps
[@]
}
"
libudev.so
)
options
=(!
strip
)
depends
=(
"
${
_qemu_system_deps
[@]
}
"
libudev.so
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
...
...
@@ -751,21 +792,19 @@ package_qemu-system-rx() {
package_qemu-system-s390x
()
{
pkgdesc
=
"QEMU system emulator for S390"
depends
=(
"
${
_qemu_system_deps
[@]
}
"
)
options
=(!
strip
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
package_qemu-system-sh4
()
{
pkgdesc
=
"QEMU system emulator for SH4"
depends
=(
"
${
_qemu_system_deps
[@]
}
"
libudev.so
)
depends
=(
"
${
_qemu_system_deps
[@]
}
"
libudev.so
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
package_qemu-system-sparc
()
{
pkgdesc
=
"QEMU system emulator for SPARC"
# NOTE: will require openbios
depends
=(
"
${
_qemu_system_deps
[@]
}
"
libudev.so
)
options
=(!
strip
)
depends
=(
"
${
_qemu_system_deps
[@]
}
"
libudev.so
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
...
...
@@ -777,32 +816,31 @@ package_qemu-system-tricore() {
package_qemu-system-x86
()
{
pkgdesc
=
"QEMU system emulator for x86"
depends
=(
"
${
_qemu_system_deps
[@]
}
"
edk2-ovmf seabios libudev.so
)
options
=(!
strip
)
depends
=(
"
${
_qemu_system_deps
[@]
}
"
edk2-ovmf seabios libudev.so
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
package_qemu-system-xtensa
()
{
pkgdesc
=
"QEMU system emulator for Xtensa"
depends
=(
"
${
_qemu_system_deps
[@]
}
"
libudev.so
)
depends
=(
"
${
_qemu_system_deps
[@]
}
"
libudev.so
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
package_qemu-hw-usb-host
()
{
pkgdesc
=
"QEMU USB host device"
depends
=(
glibc libusb libusb-1.0.so qemu-common
)
depends
=(
glibc libusb libusb-1.0.so qemu-common
=
$pkgver
-
$pkgrel
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
package_qemu-hw-usb-redirect
()
{
pkgdesc
=
"QEMU usbredir device"
depends
=(
gcc-libs glibc qemu-common usbredir
)
depends
=(
gcc-libs glibc qemu-common
=
$pkgver
-
$pkgrel
usbredir
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
package_qemu-hw-usb-smartcard
()
{
pkgdesc
=
"QEMU USB smartcard device"
depends
=(
gcc-libs libcacard glib2 libglib-2.0.so glibc qemu-common
)
depends
=(
gcc-libs libcacard glib2 libglib-2.0.so glibc qemu-common
=
$pkgver
-
$pkgrel
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
...
...
@@ -812,15 +850,21 @@ package_qemu-img() {
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
package_qemu-pr-helper
()
{
pkgdesc
=
"QEMU persistent reservation utility"
depends
=(
gcc-libs glib2 libglib-2.0.so libgmodule-2.0.so glibc gnutls libcap-ng libcap-ng.so liburing liburing.so multipath-tools pam libpam.so qemu-common
=
$pkgver
-
$pkgrel
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
package_qemu-tests
()
{
pkgdesc
=
"QEMU tests"
depends
=(
qemu-common
)
depends
=(
qemu-common
=
$pkgver
-
$pkgrel
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
package_qemu-tools
()
{
pkgdesc
=
"QEMU tools"
depends
=(
curl libcurl.so gcc-libs glib2 libglib-2.0.so libgmodule-2.0.so glibc libxkbcommon libxkbcommon.so python qemu-common
)
depends
=(
curl libcurl.so gcc-libs glib2 libglib-2.0.so libgmodule-2.0.so glibc libxkbcommon libxkbcommon.so python qemu-common
=
$pkgver
-
$pkgrel
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
install
-vDm
644
$pkgbase
-
$pkgver
/scripts/dump-guest-memory.py
-t
"
$pkgdir
/usr/share/
$pkgbase
/"
install
-vDm
755
$pkgbase
-
$pkgver
/scripts/simpletrace.py
-t
"
$pkgdir
/usr/share/
$pkgbase
/"
...
...
@@ -831,19 +875,19 @@ package_qemu-tools() {
package_qemu-ui-curses
()
{
pkgdesc
=
"QEMU curses UI driver"
depends
=(
gcc-libs glib2 libglib-2.0.so glibc ncurses libncursesw.so qemu-common
)
depends
=(
gcc-libs glib2 libglib-2.0.so glibc ncurses libncursesw.so qemu-common
=
$pkgver
-
$pkgrel
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
package_qemu-ui-dbus
()
{
pkgdesc
=
"QEMU D-Bus UI driver"
depends
=(
gcc-libs glib2 libgio-2.0.so libgobject-2.0.so libglib-2.0.so glibc libepoxy pixman libpixman-1.so qemu-common
)
depends
=(
gcc-libs glib2 libgio-2.0.so libgobject-2.0.so libglib-2.0.so glibc libepoxy pixman libpixman-1.so qemu-common
=
$pkgver
-
$pkgrel
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
package_qemu-ui-egl-headless
()
{
pkgdesc
=
"QEMU EGL headless UI driver"
depends
=(
glibc libepoxy qemu-common
qemu-ui-openg
l
)
depends
=(
glibc libepoxy qemu-common
=
$pkgver
-
$pkgrel
qemu-ui-opengl
=
$pkgver
-
$pkgre
l
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
...
...
@@ -859,7 +903,7 @@ package_qemu-ui-gtk() {
libepoxy
libx11
pixman libpixman-1.so
qemu-common
qemu-common
=
$pkgver
-
$pkgrel
qemu-ui-opengl
vte3 libvte-2.91.so
)
...
...
@@ -868,68 +912,69 @@ package_qemu-ui-gtk() {
package_qemu-ui-opengl
()
{
pkgdesc
=
"QEMU OpenGL UI driver"
depends
=(
glibc libepoxy mesa pixman libpixman-1.so qemu-common
)
depends
=(
glibc libepoxy mesa pixman libpixman-1.so qemu-common
=
$pkgver
-
$pkgrel
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
package_qemu-ui-sdl
()
{
pkgdesc
=
"QEMU SDL UI driver"
depends
=(
glib2 libglib-2.0.so glibc libx11 pixman libpixman-1.so qemu-common sdl2_image sdl2
)
depends
=(
glib2 libglib-2.0.so glibc libx11 pixman libpixman-1.so qemu-common
=
$pkgver
-
$pkgrel
sdl2_image sdl2
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
package_qemu-ui-spice-app
()
{
pkgdesc
=
"QEMU spice app UI driver"
depends
=(
glib2 libgio-2.0.so libglib-2.0.so glibc qemu-common qemu-chardev-spice qemu-ui-spice-core
)
depends
=(
glib2 libgio-2.0.so libglib-2.0.so glibc qemu-common
=
$pkgver
-
$pkgrel
qemu-chardev-spice
=
$pkgver
-
$pkgrel
qemu-ui-spice-core
=
$pkgver
-
$pkgrel
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
package_qemu-ui-spice-core
()
{
pkgdesc
=
"QEMU spice core UI driver"
depends
=(
gcc-libs glibc pixman libpixman-1.so qemu-common
qemu-ui-openg
l spice libspice-server.so
)
depends
=(
gcc-libs glibc pixman libpixman-1.so qemu-common
=
$pkgver
-
$pkgrel
qemu-ui-opengl
=
$pkgver
-
$pkgre
l
spice libspice-server.so
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
package_qemu-user
()
{
pkgdesc
=
"QEMU user mode emulation"
depends
=(
gcc-libs glib2 libglib-2.0.so libgmodule-2.0.so glibc gnutls liburing liburing.so qemu-common zlib
)
depends
=(
capstone
gcc-libs glib2 libglib-2.0.so libgmodule-2.0.so glibc gnutls liburing liburing.so qemu-common
=
$pkgver
-
$pkgrel
zlib
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
#
package_qemu-user-static() {
#
pkgdesc="QEMU static user mode emulation"
#
depends=(glibc)
#
mv -v $pkgname/* "$pkgdir"
#
}
package_qemu-user-static
()
{
pkgdesc
=
"QEMU static user mode emulation"
depends
=(
glibc
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
package_qemu-vhost-user-gpu
()
{
pkgdesc
=
"QEMU vhost-user-gpu display device"
depends
=(
gcc-libs glib2 libglib-2.0.so libgmodule-2.0.so glibc pixman libpixman-1.so mesa qemu-common virglrenderer
)
depends
=(
gcc-libs glib2 libglib-2.0.so libgmodule-2.0.so glibc pixman libpixman-1.so mesa qemu-common
=
$pkgver
-
$pkgrel
virglrenderer
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
package_qemu-virtiofsd
()
{
pkgdesc
=
"QEMU virtio-fs shared filesystem daemon"
depends
=(
gcc-libs glib2 libglib-2.0.so libgmodule-2.0.so glibc libcap-ng libcap-ng.so libseccomp libseccomp.so qemu-common
)
depends
=(
gcc-libs glib2 libglib-2.0.so libgmodule-2.0.so glibc libcap-ng libcap-ng.so libseccomp libseccomp.so qemu-common
=
$pkgver
-
$pkgrel
)
mv
-v
$pkgname
/
*
"
$pkgdir
"
}
package_qemu-base
()
{
pkgdesc
=
"A basic QEMU setup for headless environments"
depends
=(
qemu-common
qemu-audio-spice
qemu-block-
{
curl,dmg,nfs,ssh
}
qemu-chardev-spice
qemu-hw-display-
{
qxl,virtio-gpu
{
,-
{
gl,pci,pci-gl
}}}
qemu-hw-display-virtio-vga
{
,-gl
}
qemu-hw-s390x-virtio-gpu-ccw
qemu-hw-usb-
{
host,redirect,smartcard
}
qemu-img
qemu-system-x86
qemu-tools
qemu-ui-
{
curses,spice-
{
app,core
}}
qemu-virtiofsd
qemu-common
=
$pkgver
-
$pkgrel
qemu-audio-spice
=
$pkgver
-
$pkgrel
qemu-block-
{
curl,dmg,nfs,ssh
}=
$pkgver
-
$pkgrel
qemu-chardev-spice
=
$pkgver
-
$pkgrel
qemu-hw-display-
{
qxl,virtio-gpu
{
,-
{
gl,pci,pci-gl
}}}=
$pkgver
-
$pkgrel
qemu-hw-display-virtio-vga
{
,-gl
}=
$pkgver
-
$pkgrel
qemu-hw-s390x-virtio-gpu-ccw
=
$pkgver
-
$pkgrel
qemu-hw-usb-
{
host,redirect,smartcard
}=
$pkgver
-
$pkgrel
qemu-img
=
$pkgver
-
$pkgrel
qemu-pr-helper
=
$pkgver
-
$pkgrel
qemu-system-x86
=
$pkgver
-
$pkgrel
qemu-tools
=
$pkgver
-
$pkgrel
qemu-ui-
{
curses,spice-
{
app,core
}}=
$pkgver
-
$pkgrel
qemu-virtiofsd
=
$pkgver
-
$pkgrel
)
optdepends
=(
"
${
_qemu_optdepends
[@]
}
"
)
# TODO: remove conflicts/provides/replaces for qemu-headless after 2022-10-01
...
...
@@ -941,20 +986,21 @@ package_qemu-base() {
package_qemu-desktop
()
{
pkgdesc
=
"A QEMU setup for desktop environments"
depends
=(
qemu-common
qemu-audio-
{
alsa,dbus,jack,oss,pa,sdl,spice
}
qemu-block-
{
curl,dmg,nfs,ssh
}
qemu-chardev-spice
qemu-hw-display-
{
qxl,virtio-gpu
{
,-
{
gl,pci,pci-gl
}}}
qemu-hw-display-virtio-vga
{
,-gl
}
qemu-hw-s390x-virtio-gpu-ccw
qemu-hw-usb-
{
host,redirect,smartcard
}
qemu-img
qemu-system-x86
qemu-tools
qemu-ui-
{
curses,dbus,egl-headless,gtk,opengl,sdl,spice-
{
app,core
}}
qemu-vhost-user-gpu
qemu-virtiofsd
qemu-common
=
$pkgver
-
$pkgrel
qemu-audio-
{
alsa,dbus,jack,oss,pa,sdl,spice
}=
$pkgver
-
$pkgrel
qemu-block-
{
curl,dmg,nfs,ssh
}=
$pkgver
-
$pkgrel
qemu-chardev-spice
=
$pkgver
-
$pkgrel
qemu-hw-display-
{
qxl,virtio-gpu
{
,-
{
gl,pci,pci-gl
}}}=
$pkgver
-
$pkgrel
qemu-hw-display-virtio-vga
{
,-gl
}=
$pkgver
-
$pkgrel
qemu-hw-s390x-virtio-gpu-ccw
=
$pkgver
-
$pkgrel
qemu-hw-usb-
{
host,redirect,smartcard
}=
$pkgver
-
$pkgrel
qemu-img
=
$pkgver
-
$pkgrel
qemu-pr-helper
=
$pkgver
-
$pkgrel
qemu-system-x86
=
$pkgver
-
$pkgrel
qemu-tools
=
$pkgver
-
$pkgrel
qemu-ui-
{
curses,dbus,egl-headless,gtk,opengl,sdl,spice-
{
app,core
}}=
$pkgver
-
$pkgrel
qemu-vhost-user-gpu
=
$pkgver
-
$pkgrel
qemu-virtiofsd
=
$pkgver
-
$pkgrel
)
optdepends
=(
"
${
_qemu_optdepends
[@]
}
"
)
conflicts
=(
qemu
)
...
...
@@ -965,8 +1011,8 @@ package_qemu-desktop() {
package_qemu-emulators-full
()
{
pkgdesc
=
"All QEMU user mode and system emulators"
depends
=(
qemu-system-
{
aarch64,alpha,arm,avr,cris,hppa,m68k,microblaze,mips,nios2,or1k,ppc,riscv,rx,s390x,sh4,sparc,tricore,x86,xtensa
}
qemu-user
qemu-system-
{
aarch64,alpha,arm,avr,cris,hppa,
loongarch64,
m68k,microblaze,mips,nios2,or1k,ppc,riscv,rx,s390x,sh4,sparc,tricore,x86,xtensa
}
=
$pkgver
-
$pkgrel
qemu-user
=
$pkgver
-
$pkgrel
)
# TODO: remove conflicts/provides/replaces after 2022-10-01
conflicts
=(
qemu-arch-extra qemu-headless-arch-extra
)
...
...
@@ -977,22 +1023,23 @@ package_qemu-emulators-full() {
package_qemu-full
()
{
pkgdesc
=
"A full QEMU setup"
depends
=(
qemu-common
qemu-audio-
{
alsa,dbus,jack,oss,pa,sdl,spice
}
qemu-block-
{
curl,dmg,gluster,iscsi,nfs,ssh
}
qemu-chardev-
{
baum,spice
}
qemu-docs
qemu-hw-display-
{
qxl,virtio-
{
gpu
{
,-
{
gl,pci,pci-gl
}}
,vga
{
,-gl
}}}
qemu-hw-s390x-virtio-gpu-ccw
qemu-hw-usb-
{
host,redirect,smartcard
}
qemu-img
qemu-system-
{
aarch64,alpha,arm,avr,cris,hppa,m68k,microblaze,mips,nios2,or1k,ppc,riscv,rx,s390x,sh4,sparc,tricore,x86,xtensa
}
qemu-tests
qemu-tools
qemu-ui-
{
curses,dbus,egl-headless,gtk,opengl,sdl,spice-
{
app,core
}}
qemu-user
qemu-vhost-user-gpu
qemu-virtiofsd
qemu-common
=
$pkgver
-
$pkgrel
qemu-audio-
{
alsa,dbus,jack,oss,pa,sdl,spice
}=
$pkgver
-
$pkgrel
qemu-block-
{
curl,dmg,gluster,iscsi,nfs,ssh
}=
$pkgver
-
$pkgrel
qemu-chardev-
{
baum,spice
}=
$pkgver
-
$pkgrel
qemu-docs
=
$pkgver
-
$pkgrel
qemu-hw-display-
{
qxl,virtio-
{
gpu
{
,-
{
gl,pci,pci-gl
}}
,vga
{
,-gl
}}}=
$pkgver
-
$pkgrel
qemu-hw-s390x-virtio-gpu-ccw
=
$pkgver
-
$pkgrel
qemu-hw-usb-
{
host,redirect,smartcard
}=
$pkgver
-
$pkgrel
qemu-img
=
$pkgver
-
$pkgrel
qemu-pr-helper
=
$pkgver
-
$pkgrel
qemu-system-
{
aarch64,alpha,arm,avr,cris,hppa,loongarch64,m68k,microblaze,mips,nios2,or1k,ppc,riscv,rx,s390x,sh4,sparc,tricore,x86,xtensa
}=
$pkgver
-
$pkgrel
qemu-tests
=
$pkgver
-
$pkgrel
qemu-tools
=
$pkgver
-
$pkgrel
qemu-ui-
{
curses,dbus,egl-headless,gtk,opengl,sdl,spice-
{
app,core
}}=
$pkgver
-
$pkgrel
qemu-user
=
$pkgver
-
$pkgrel
qemu-vhost-user-gpu
=
$pkgver
-
$pkgrel
qemu-virtiofsd
=
$pkgver
-
$pkgrel
)
optdepends
=(
"
${
_qemu_optdepends
[@]
}
"
)
conflicts
=(
qemu
)
...
...
This diff is collapsed.
Click to expand it.
trunk/qemu-7.0.0-glibc-2.36.patch
deleted
100644 → 0
+
0
−
43
View file @
113b7641
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index b27a6552aa..52d178afe7 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -95,7 +95,25 @@
#include <linux/soundcard.h>
#include <linux/kd.h>
#include <linux/mtio.h>
+
+#ifdef HAVE_SYS_MOUNT_FSCONFIG
+/*
+ * glibc >= 2.36 linux/mount.h conflicts with sys/mount.h,
+ * which in turn prevents use of linux/fs.h. So we have to
+ * define the constants ourselves for now.
+ */
+#define FS_IOC_GETFLAGS _IOR('f', 1, long)
+#define FS_IOC_SETFLAGS _IOW('f', 2, long)
+#define FS_IOC_GETVERSION _IOR('v', 1, long)
+#define FS_IOC_SETVERSION _IOW('v', 2, long)
+#define FS_IOC_FIEMAP _IOWR('f', 11, struct fiemap)
+#define FS_IOC32_GETFLAGS _IOR('f', 1, int)
+#define FS_IOC32_SETFLAGS _IOW('f', 2, int)
+#define FS_IOC32_GETVERSION _IOR('v', 1, int)
+#define FS_IOC32_SETVERSION _IOW('v', 2, int)
+#else
#include <linux/fs.h>
+#endif
#include <linux/fd.h>
#if defined(CONFIG_FIEMAP)
#include <linux/fiemap.h>
diff --git a/meson.build b/meson.build
index 294e9a8f32..30a380752c 100644
--- a/meson.build
+++ b/meson.build
@@ -1963,6 +1963,8 @@
config_host_data.set('HAVE_OPTRESET',
cc.has_header_symbol('getopt.h', 'optreset'))
config_host_data.set('HAVE_IPPROTO_MPTCP',
cc.has_header_symbol('netinet/in.h', 'IPPROTO_MPTCP'))
+config_host_data.set('HAVE_SYS_MOUNT_FSCONFIG',
+ cc.has_header_symbol('sys/mount.h', 'FSCONFIG_SET_FLAG'))
# has_member
config_host_data.set('HAVE_SIGEV_NOTIFY_THREAD_ID',
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment