Commit dea860c
0
plików
+0
dodanych
-0
usuniętych
@@ -9,9 +9,14 @@ depends:
9
9
- ovmf
10
10
11
11
makedepends:
12
+- meson
13
+- ninja
14
+- pkg-config
15
+- flex
16
+- bison
12
17
- dtc
13
18
- gtk3
14
-- sdl
19
+- sdl2
15
20
- libseccomp
16
21
- 'libcap-ng'
17
22
- 'xorg-pixman'
@@ -60,52 +65,68 @@ sha256sums:
60
65
61
66
hooks:
62
67
'post-install': |
63
- name=qemu
64
- version=11.1.0
65
- release=1
66
- systemctl daemon-reload
67
- systemctl enable --now qemu-guest-agent
68
-
69
- echo "Qemu agent has been enabled and started. To stop or disable it, check the systemd service
70
- named: qemu-guest-agent.service"
68
+ if [ -d /run/systemd/system ]; then
69
+ systemctl daemon-reload || true
70
+ systemctl enable qemu-guest-agent || true
71
+ fi
72
+ echo "QEMU guest agent service is available as qemu-guest-agent.service"
71
73
72
74
build: |
73
- for i in configvm startvm
74
- do
75
- install -D -m755 $i ${PKGDIR}/usr/bin/$i
76
- done
75
+ bsdtar -xf qemu-${pkgver}.tar.xz -C .
77
76
cd qemu-${pkgver}
78
77
79
78
mkdir -vp build
80
79
cd build
81
80
82
- ../configure --prefix=/usr \
83
- --sysconfdir=/etc \
84
- --enable-modules \
81
+ ../configure --prefix=/usr \
82
+ --sysconfdir=/etc \
83
+ --localstatedir=/var \
84
+ --libexecdir=/usr/libexec \
85
+ --enable-modules \
85
86
--audio-drv-list=alsa,pa \
86
- --enable-opengl \
87
+ --enable-opengl \
87
88
--enable-virglrenderer \
88
- --enable-spice \
89
+ --enable-spice \
90
+ --enable-slirp \
91
+ --enable-kvm \
89
92
--docdir=/usr/share/doc/${pkgname}
90
93
91
94
make
92
- make DESTDIR=${PKGDIR} install
93
95
94
- ln -svf qemu-system-x86_64 ${PKGDIR}/usr/bin/qemu
96
+package: |
97
+ cd qemu-${pkgver}/build
98
+ make DESTDIR="${PKGDIR}" install
99
+
100
+ # Instalacja własnych skryptów pomocniczych z root katalogu źródeł
101
+ for i in configvm startvm; do
102
+ install -D -m 755 "../../${i}" "${PKGDIR}/usr/bin/${i}"
103
+ done
104
+
105
+ # Symlink dla domyślnego pliku wykonywalnego
106
+ ln -svf qemu-system-x86_64 "${PKGDIR}/usr/bin/qemu"
95
107
96
- install -vDm 644 ../../99-${pkgname}-guest-agent.rules -t \
97
- ${PKGDIR}/usr/lib/udev/rules.d/
108
+ # Pliki konfiguracyjne i reguły udev
109
+ install -vDm 644 ../../99-qemu-guest-agent.rules "${PKGDIR}/usr/lib/udev/rules.d/99-qemu-guest-agent.rules"
110
+ install -vDm 644 ../../qemu-sysusers.conf "${PKGDIR}/usr/lib/sysusers.d/qemu.conf"
111
+ install -vDm 644 ../../qemu-ga.conf "${PKGDIR}/etc/qemu/qemu-ga.conf"
98
112
99
- cat > ${PKGDIR}/usr/lib/udev/rules.d/65-kvm.rules << "EOF"
113
+ # Konfiguracja udev dla KVM
114
+ install -d "${PKGDIR}/usr/lib/udev/rules.d"
115
+ cat > "${PKGDIR}/usr/lib/udev/rules.d/65-kvm.rules" << "EOF"
100
116
KERNEL=="kvm", GROUP="kvm", MODE="0660"
101
117
EOF
102
- chgrp kvm ${PKGDIR}/usr/libexec/qemu-bridge-helper
103
- chmod 4750 ${PKGDIR}/usr/libexec/qemu-bridge-helper
104
- install -vDm 644 ../../${pkgname}-sysusers.conf ${PKGDIR}/usr/lib/sysusers.d/${pkgname}.conf
105
- install -vDm 644 ../../${pkgname}-ga.conf -t ${PKGDIR}/etc/${pkgname}/
106
- install -vDm 755 ../scripts/${pkgname}-guest-agent/fsfreeze-hook -t ${PKGDIR}/etc/${pkgname}/
107
- install -vDm 644 ../contrib/systemd/${pkgname}-guest-agent.service -t ${PKGDIR}/usr/lib/systemd/system/
108
- echo "WantedBy=multi-user.target" >> ${PKGDIR}/usr/lib/systemd/system/${pkgname}-guest-agent.service
109
118
110
-package: |
111
- true
119
+ # Pomoce i usługi guest-agenta
120
+ if [ -f ../scripts/qemu-guest-agent/fsfreeze-hook ]; then
121
+ install -vDm 755 ../scripts/qemu-guest-agent/fsfreeze-hook -t "${PKGDIR}/etc/qemu/"
122
+ fi
123
+
124
+ if [ -f ../contrib/systemd/qemu-guest-agent.service ]; then
125
+ install -vDm 644 ../contrib/systemd/qemu-guest-agent.service -t "${PKGDIR}/usr/lib/systemd/system/"
126
+ sed -i '/\[Install\]/a WantedBy=multi-user.target' "${PKGDIR}/usr/lib/systemd/system/qemu-guest-agent.service"
127
+ fi
128
+
129
+ # Uprawnienia dla qemu-bridge-helper (bez twardego chgrp na hoście)
130
+ if [ -f "${PKGDIR}/usr/libexec/qemu-bridge-helper" ]; then
131
+ chmod 4750 "${PKGDIR}/usr/libexec/qemu-bridge-helper"
132
+ fi