← recipes

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