124 lines
4.5 KiB
RPMSpec
124 lines
4.5 KiB
RPMSpec
%global have_xen 0
|
|
Summary: Virtualization host metrics daemon
|
|
Name: vhostmd
|
|
Version: 1.1
|
|
Release: 1
|
|
License: GPLv2+
|
|
URL: https://github.com/vhostmd/vhostmd
|
|
Source0: https://github.com/vhostmd/vhostmd/archive/v%{version}/%{name}-%{version}.tar.gz
|
|
Source1: vhostmd.conf
|
|
Patch0001: 0001-Relax-virtio-requirement-in-config-file.patch
|
|
Patch0002: 0002-libmetrics-Set-pointer-NULL-after-free.patch
|
|
Patch0003: 0003-libmetrics-Initialize-local-variable-ret-to-failure.patch
|
|
Patch0004: 0004-libmetrics-Check-return-value-of-asprintf.patch
|
|
Patch0005: 0005-libmetrics-Remove-unsafe-XML_PARSE_NOENT-option.patch
|
|
Patch0006: 0006-libmetrics-Ensure-libmetrics-mutex-is-unlocked-in-er.patch
|
|
Patch0007: 0007-libmetrics-Fix-potential-memory-leak.patch
|
|
Patch0008: 0008-libmetrics-Use-proper-conversion-specifier-when-call.patch
|
|
Patch0009: 0009-libmetrics-Fix-potential-leak-of-FILE-pointer.patch
|
|
Patch0010: 0010-util-Add-missing-call-to-va_end.patch
|
|
Patch0011: 0011-util-Fix-potential-memory-leak.patch
|
|
Patch0012: 0012-util-Check-return-value-of-strstr.patch
|
|
Patch0013: 0013-Check-return-value-of-asprintf.patch
|
|
Patch0014: 0014-vhostmd-Fix-memory-leak-in-parse_transports.patch
|
|
Patch0015: 0015-vhostmd-Remove-unsafe-XML_PARSE_NOENT-option.patch
|
|
Patch0016: 0016-vhostmd-Check-return-value-of-file-functions.patch
|
|
Patch0017: 0017-vhostmd-Check-for-valide-file-handle-before-calling-.patch
|
|
Patch0018: 0018-vhostmd-Fix-memory-leak-in-vhostmd_run.patch
|
|
Patch0019: 0019-virtio-Fix-strncpy-length-parameter.patch
|
|
BuildRequires: make
|
|
BuildRequires: gcc
|
|
BuildRequires: chrpath
|
|
BuildRequires: perl-generators
|
|
BuildRequires: pkgconfig
|
|
BuildRequires: libxml2-devel
|
|
BuildRequires: libvirt-devel
|
|
BuildRequires: autoconf, automake, libtool
|
|
BuildRequires: git
|
|
%{?systemd_requires}
|
|
BuildRequires: systemd
|
|
%if %{have_xen}
|
|
BuildRequires: xen-devel
|
|
%endif
|
|
Requires: libvirt
|
|
%description
|
|
vhostmd provides a "metrics communication channel" between a host and
|
|
its hosted virtual machines, allowing limited introspection of host
|
|
resource usage from within virtual machines.
|
|
%package -n vm-dump-metrics
|
|
Summary: Virtualization host metrics dump
|
|
%description -n vm-dump-metrics
|
|
Executable to dump all available virtualization host metrics to stdout
|
|
or a file.
|
|
%package -n vm-dump-metrics-devel
|
|
Summary: Virtualization host metrics dump development
|
|
Requires: vm-dump-metrics = %{version}-%{release}
|
|
Requires: pkgconfig
|
|
%description -n vm-dump-metrics-devel
|
|
Header and libraries necessary for metrics gathering development
|
|
%prep
|
|
%autosetup -S git
|
|
%build
|
|
autoreconf -i
|
|
%configure \
|
|
%if %{have_xen} == 0
|
|
--without-xenstore \
|
|
%endif
|
|
--with-init-script=systemd \
|
|
--enable-shared --disable-static
|
|
make %{_smp_mflags}
|
|
%install
|
|
rm -rf $RPM_BUILD_ROOT
|
|
make DESTDIR=$RPM_BUILD_ROOT install
|
|
rm $RPM_BUILD_ROOT%{_libdir}/libmetrics.la
|
|
chrpath --delete $RPM_BUILD_ROOT%{_sbindir}/vm-dump-metrics
|
|
# Remove docdir - we'll make a proper one ourselves.
|
|
rm -r $RPM_BUILD_ROOT%{_docdir}/vhostmd
|
|
# Remove metric.dtd from /etc.
|
|
rm $RPM_BUILD_ROOT%{_sysconfdir}/vhostmd/metric.dtd
|
|
|
|
# The default configuration file is great for Xen, not so great
|
|
# for anyone else. Replace it with one which is better for libvirt
|
|
# users.
|
|
rm $RPM_BUILD_ROOT%{_sysconfdir}/vhostmd/vhostmd.conf
|
|
cp %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/vhostmd/vhostmd.conf
|
|
%pre
|
|
getent group vhostmd >/dev/null || groupadd -g 112 -r vhostmd
|
|
getent passwd vhostmd >/dev/null || \
|
|
useradd -u 112 -r -g vhostmd -d %{_datadir}/vhostmd -s /sbin/nologin \
|
|
-c "Virtual Host Metrics Daemon" vhostmd
|
|
exit 0
|
|
%post
|
|
%systemd_post vhostmd.service
|
|
%preun
|
|
%systemd_preun vhostmd.service
|
|
%postun
|
|
%systemd_postun_with_restart vhostmd.service
|
|
%files
|
|
%doc AUTHORS ChangeLog COPYING README
|
|
%doc mdisk.xml metric.dtd vhostmd.dtd vhostmd.xml
|
|
%{_sbindir}/vhostmd
|
|
%dir %{_sysconfdir}/vhostmd
|
|
%config(noreplace) %{_sysconfdir}/vhostmd/vhostmd.conf
|
|
%config %{_sysconfdir}/vhostmd/vhostmd.dtd
|
|
%{_unitdir}/vhostmd.service
|
|
%dir %{_datadir}/vhostmd
|
|
%dir %{_datadir}/vhostmd/scripts
|
|
%{_datadir}/vhostmd/scripts/pagerate.pl
|
|
%{_mandir}/man8/vhostmd.8.gz
|
|
%files -n vm-dump-metrics
|
|
%doc COPYING
|
|
%{_sbindir}/vm-dump-metrics
|
|
%{_libdir}/libmetrics.so.0
|
|
%{_libdir}/libmetrics.so.0.0.0
|
|
%{_mandir}/man1/vm-dump-metrics.1.gz
|
|
|
|
%files -n vm-dump-metrics-devel
|
|
%doc README
|
|
%{_libdir}/libmetrics.so
|
|
%dir %{_includedir}/vhostmd
|
|
%{_includedir}/vhostmd/libmetrics.h
|
|
%changelog
|
|
* Tue Agu 31 2021 shenhongyi <shenhongyi2@huawei.com> - 1.1-1
|
|
- Package init
|