added qemu-guest-agent package

switch initscript to systemd service [release 2.4.1-2mamba;Fri Feb 05 2016]
This commit is contained in:
Silvan Calarco 2024-01-05 17:00:30 +01:00
parent cc0f4cc7d3
commit 9b542a88de
5 changed files with 116 additions and 22 deletions

View File

@ -0,0 +1,2 @@
SUBSYSTEM=="virtio-ports", ATTR{name}=="org.qemu.guest_agent.0", \
TAG+="systemd" ENV{SYSTEMD_WANTS}="qemu-guest-agent.service"

19
qemu-ga-sysconfig Normal file
View File

@ -0,0 +1,19 @@
# This is a systemd environment file, not a shell script.
# It provides settings for "/lib/systemd/system/qemu-guest-agent.service".
# Comma-separated blacklist of RPCs to disable, or empty list to enable all.
#
# You can get the list of RPC commands using "qemu-ga --blacklist='?'".
# There should be no spaces between commas and commands in the blacklist.
BLACKLIST_RPC=guest-file-open,guest-file-close,guest-file-read,guest-file-write,guest-file-seek,guest-file-flush
# Fsfreeze hook script specification.
#
# FSFREEZE_HOOK_PATHNAME=/dev/null : disables the feature.
#
# FSFREEZE_HOOK_PATHNAME=/path/to/executable : enables the feature with the
# specified binary or shell script.
#
# FSFREEZE_HOOK_PATHNAME= : enables the feature with the
# default value (invoke "qemu-ga --help" to interrogate).
FSFREEZE_HOOK_PATHNAME=/etc/qemu-ga/fsfreeze-hook

18
qemu-guest-agent.service Normal file
View File

@ -0,0 +1,18 @@
[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]
UMask=0077
EnvironmentFile=/etc/sysconfig/qemu-ga
ExecStart=/usr/bin/qemu-ga \
--method=virtio-serial \
--path=/dev/virtio-ports/org.qemu.guest_agent.0 \
--blacklist=${BLACKLIST_RPC} \
-F${FSFREEZE_HOOK_PATHNAME}
StandardError=syslog
Restart=always
RestartSec=0
[Install]

11
qemu.service Normal file
View File

@ -0,0 +1,11 @@
[Unit]
Description=QEMU configuration for non-native binary formats
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/lib/systemd/scripts/qemu-binfmt start
ExecStop=/usr/lib/systemd/scripts/qemu-binfmt stop
[Install]
WantedBy=multi-user.target

View File

@ -1,6 +1,6 @@
Name: qemu Name: qemu
Version: 2.4.1 Version: 2.4.1
Release: 1mamba Release: 2mamba
Summary: A generic and open source processor emulator Summary: A generic and open source processor emulator
Group: Applications/Emulators Group: Applications/Emulators
Vendor: openmamba Vendor: openmamba
@ -9,6 +9,10 @@ Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
URL: http://qemu.org URL: http://qemu.org
Source: http://wiki.qemu.org/download/qemu-%{version}.tar.bz2 Source: http://wiki.qemu.org/download/qemu-%{version}.tar.bz2
Source1: %{name}-initscript Source1: %{name}-initscript
Source2: qemu-guest-agent.service
Source3: 99-qemu-guest-agent.rules
Source4: qemu-ga-sysconfig
Source5: qemu.service
Patch0: %{name}-0.8.1-build.patch Patch0: %{name}-0.8.1-build.patch
Patch1: %{name}-0.8.0-dyngen.patch Patch1: %{name}-0.8.0-dyngen.patch
Patch2: %{name}-0.8.0-gcc4_x86.patch Patch2: %{name}-0.8.0-gcc4_x86.patch
@ -74,6 +78,7 @@ BuildRequires: libnfs-devel
#BuildRequires: gcc34 #BuildRequires: gcc34
#% endif #% endif
Conflicts: kvm Conflicts: kvm
%systemd_requires
BuildRoot: %{_tmppath}/%{name}-%{version}-root BuildRoot: %{_tmppath}/%{name}-%{version}-root
%description %description
@ -82,6 +87,14 @@ QEMU has two operating modes:
- Full system emulation. In this mode, QEMU emulates a full system (for example a PC or a PowerMac), including a processor and various peripherials. It can be used to launch different Operating Systems without rebooting the PC or to debug system code. - Full system emulation. In this mode, QEMU emulates a full system (for example a PC or a PowerMac), including a processor and various peripherials. It can be used to launch different Operating Systems without rebooting the PC or to debug system code.
- User mode emulation (Linux host only). In this mode, QEMU can launch Linux processes compiled for one CPU on another CPU. - User mode emulation (Linux host only). In this mode, QEMU can launch Linux processes compiled for one CPU on another CPU.
%package guest-agent
Group: Applications/Emullators
Summary: QEMU agent for guest VMs
%systemd_requires
%description guest-agent
QEMU agent for guest VMs.
%package -n libcacard %package -n libcacard
Group: System/Libraries Group: System/Libraries
Summary: QEMU virtual smart card emulator library Summary: QEMU virtual smart card emulator library
@ -168,7 +181,8 @@ make clean
%endif %endif
--audio-drv-list="alsa pa" \ --audio-drv-list="alsa pa" \
--enable-spice \ --enable-spice \
--enable-usb-redir --enable-usb-redir \
--enable-guest-agent
%make %make
@ -177,7 +191,9 @@ make clean
%makeinstall %makeinstall
install -D -m 755 %{S:1} \ install -D -m 755 %{S:1} \
%{buildroot}%{_initrddir}/%{name} %{buildroot}%{_prefix}/lib/systemd/scripts/%{name}-binfmt
install -D -m 0644 %{S:5} \
%{buildroot}%{_unitdir}/qemu.service
cd static cd static
for f in *; do for f in *; do
@ -186,6 +202,13 @@ install -m644 $f %{buildroot}%{_bindir}/$f.static
done done
cd .. cd ..
# guest agent
install -d -m0755 %{buildroot}%{_sysconfdir}/qemu-ga
cp -a scripts/qemu-guest-agent/* %{buildroot}%{_sysconfdir}/qemu-ga/
install -D -m0644 %{SOURCE2} %{buildroot}%{_unitdir}/qemu-guest-agent.service
install -D -m0644 %{SOURCE3} %{buildroot}%{_udevrulesdir}/99-qemu-guest-agent.rules
install -D -m0644 %{SOURCE4} %{buildroot}%{_sysconfdir}/sysconfig/qemu-ga
%find_lang %{name} %find_lang %{name}
%clean %clean
@ -193,28 +216,34 @@ cd ..
%post %post
# new install # new install
if [ $1 -eq 1 ]; then %systemd_post qemu.service
systemctl -q enable %{name} || true
systemctl -q daemon-reload
systemctl start %{name}
fi
: :
%preun %preun
# erase # erase
if [ $1 -eq 0 ]; then %systemd_preun qemu.service
systemctl stop %{name}
systemctl -q disable %{name}
fi
: :
%postun %postun
# upgrade # upgrade
if [ $1 -eq 1 ]; then %systemd_postun_with_restart qemu.service
systemctl -q daemon-reload :
/sbin/chkconfig %{name}
[ $? -eq 0 ] && service %{name} restart %post guest-agent
fi %systemd_post qemu-guest-agent.service
:
%preun guest-agent
%systemd_preun qemu-guest-agent.service
:
%postun guest-agent
%systemd_postun_with_restart qemu-guest-agent.service
:
%posttrans
# clean old sysv broken links
find /etc/rc[0-6].d/ -type l -xtype l -exec rm -f {} \;
: :
%post -n libcacard %post -n libcacard
@ -227,21 +256,32 @@ fi
%files -f %{name}.lang %files -f %{name}.lang
%defattr(-,root,root) %defattr(-,root,root)
#%dir %{_sysconfdir}/qemu
#%config %{_sysconfdir}/qemu/target-x86_64.conf
%{_initrddir}/%{name}
%{_bindir}/%{name}* %{_bindir}/%{name}*
%exclude %{_bindir}/qemu-ga
%{_bindir}/vscclient %{_bindir}/vscclient
%exclude %{_bindir}/%{name}*.static %exclude %{_bindir}/%{name}*.static
%{_bindir}/virtfs-proxy-helper %{_bindir}/virtfs-proxy-helper
%{_unitdir}/qemu.service
%{_prefix}/lib/systemd/scripts/%{name}-binfmt
%{_libexecdir}/qemu-bridge-helper %{_libexecdir}/qemu-bridge-helper
%{_datadir}/%{name} %{_datadir}/%{name}
%{_docdir}/%{name} %{_docdir}/%{name}
%{_mandir}/man1/%{name}* %{_mandir}/man1/%{name}*
%{_mandir}/man1/virtfs-proxy-helper.1.gz %{_mandir}/man1/virtfs-proxy-helper.1*
%{_mandir}/man8/%{name}-nbd.8.gz %{_mandir}/man8/%{name}-nbd.8*
%doc COPYING COPYING.LIB %doc COPYING COPYING.LIB
%files guest-agent
%defattr(-,root,root)
%dir %{_sysconfdir}/qemu-ga
%{_sysconfdir}/qemu-ga/fsfreeze-hook
%dir %{_sysconfdir}/qemu-ga/fsfreeze-hook.d
%{_sysconfdir}/qemu-ga/fsfreeze-hook.d/mysql-flush.sh.sample
%{_sysconfdir}/sysconfig/qemu-ga
%{_bindir}/%{name}-ga
%{_unitdir}/qemu-guest-agent.service
%{_udevrulesdir}/99-qemu-guest-agent.rules
#% ifnarch x86_64 #% ifnarch x86_64
%files -n libcacard %files -n libcacard
%defattr(-,root,root) %defattr(-,root,root)
@ -263,6 +303,10 @@ fi
%attr(0755,root,root) %{_bindir}/%{name}*.static %attr(0755,root,root) %{_bindir}/%{name}*.static
%changelog %changelog
* Fri Feb 05 2016 Silvan Calarco <silvan.calarco@mambasoft.it> 2.4.1-2mamba
- added qemu-guest-agent package
- switch initscript to systemd service
* Wed Nov 04 2015 Automatic Build System <autodist@mambasoft.it> 2.4.1-1mamba * Wed Nov 04 2015 Automatic Build System <autodist@mambasoft.it> 2.4.1-1mamba
- automatic version update by autodist - automatic version update by autodist