# Xen Makefiles)
# - fix %doc - some files are installed in docdir both by make install and %d,
# other are installed once
+# - mini-os objects are relinked on install (because of .PHONY rules used to make them)
#
# Conditional build:
%bcond_without qemu_traditional # without qemu-xen-traditional
%undefine with_stubdom
%endif
-# from Config.mk:
-%define seabios_version 1.6.3.2
-
# from ./stubdom/configure.ac
%define polarssl_version 1.1.4
%define tpm_emulator_version 0.7.4
Summary: Xen - a virtual machine monitor
Summary(pl.UTF-8): Xen - monitor maszyny wirtualnej
Name: xen
-Version: 4.4.0
-Release: 0.1
+Version: 4.4.2
+Release: 1
License: GPL v2, interface parts on BSD-like
Group: Applications/System
Source0: http://bits.xensource.com/oss-xen/release/%{version}/%{name}-%{version}.tar.gz
-# Source0-md5: fd9031d499af38c5d04108681734027e
+# Source0-md5: 1812261459564147e6b9105115c511aa
# used by stubdoms
Source10: %{xen_extfiles_url}/lwip-1.3.0.tar.gz
# Source10-md5: 36cc57650cffda9a0269493be2a169bb
# Source14-md5: cd3f3eb54446be6003156158d51f4884
Source15: http://xenbits.xen.org/xen-extfiles/ipxe-git-9a93db3f0947484e30e753bbd61a10b17336e20e.tar.gz
# Source15-md5: 7496268cebf47d5c9ccb0696e3b26065
-# http://xenbits.xen.org/git-http/seabios.git/
-# git archive --prefix=tools/firmware/seabios/ --format=tar rel-%{seabios_version} | xz > seabios-%{seabios_version}.tar.xz
-Source16: seabios-%{seabios_version}.tar.xz
-# Source16-md5: 145e07ff5618a3999f94f2e830d06b05
Source17: %{xen_extfiles_url}/polarssl-%{polarssl_version}-gpl.tgz
# Source17-md5: 7b72caf22b01464ee7d6165f2fd85f44
Source18: http://xenbits.xen.org/xen-extfiles/tpm_emulator-%{tpm_emulator_version}.tar.gz
Source42: xen-dom0-modules-load.conf
Source43: xendomains.sh
Source44: xendomains.service
+Source45: xen-qemu-dom0-disk-backend.service
+Source46: xen-qemu-dom0-disk-backend.init
# sysvinit scripts
Source50: xend.init
Source51: xenconsoled.init
# Warning: this disables ingress filtering implemented in xen scripts!
Patch7: %{name}-net-disable-iptables-on-bridge.patch
Patch8: %{name}-configure-xend.patch
+Patch9: %{name}-gawk.patch
Patch10: %{name}-qemu.patch
Patch11: %{name}-ulong.patch
Patch12: %{name}-doc.patch
Patch13: %{name}-paths.patch
Patch14: %{name}-no_fetcher.patch
-Patch15: odd-glib2-fix.patch
+Patch15: odd-glib2-fix.patch
+Patch16: %{name}-gmp-abi.patch
+# based on: http://xenbits.xen.org/xsa/xsa99.patch
+Patch17: xsa99.patch
+Patch18: %{name}-make.patch
+Patch19: %{name}-no_Werror.patch
URL: http://www.xen.org/products/xenhyp.html
%if %{with qemu_traditional}
%{?with_opengl:BuildRequires: OpenGL-devel}
%endif
BuildRequires: e2fsprogs-devel
BuildRequires: gcc >= 6:4.1
-BuildRequires: gettext-devel
+%ifarch %{x8664}
+BuildRequires: gcc-multilib-32 >= 6:4.1
+%endif
+BuildRequires: gettext-tools
BuildRequires: glib2-devel >= 1:2.12
-BuildRequires: glusterfs-devel >= 3.4
BuildRequires: gnutls-devel
BuildRequires: keyutils-devel
BuildRequires: latex2html >= 2008
BuildRequires: libaio-devel
BuildRequires: libcap-devel
-BuildRequires: libcap-ng-devel
-BuildRequires: libiscsi-devel
BuildRequires: libjpeg-devel
BuildRequires: libpng-devel
-BuildRequires: libseccomp-devel >= 1.0.0
BuildRequires: libuuid-devel
BuildRequires: lzo-devel >= 2
BuildRequires: ncurses-devel
BuildRequires: pciutils-devel
BuildRequires: perl-base
BuildRequires: perl-tools-pod
-BuildRequires: pixman-devel
BuildRequires: pkgconfig
BuildRequires: python-devel
BuildRequires: rpm-pythonprov
BuildRequires: rpmbuild(macros) >= 1.647
+BuildRequires: seabios
BuildRequires: texi2html
BuildRequires: texlive-dvips
BuildRequires: texlive-latex-psnfss
BuildRequires: texlive-xetex
BuildRequires: transfig
-BuildRequires: usbredir-devel >= 0.5.3
-BuildRequires: vde2-devel
+%{?with_qemu_traditional:BuildRequires: vde2-devel}
BuildRequires: which
# for xfsctl (<xfs/xfs.h>)
BuildRequires: xfsprogs-devel
(U)EFI, bez potrzeby oddzielnego bootloadera.
%prep
-%setup -q -a 16
+%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
+%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
%patch14 -p1
%patch15 -p1
+%patch16 -p1
+%patch17 -p1
+%patch18 -p1
+%patch19 -p1
# stubdom sources
ln -s %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14} stubdom
%{__enable_disable qemu_traditional qemu-traditional} \
%{__enable_disable blktap1 blktap1} \
%{__enable_disable xend xend} \
+ --with-system-seabios=/usr/share/seabios/bios.bin \
%ifarch %{x8664}
--with-system-qemu=/usr/bin/qemu-system-x86_64 \
%else
install %{SOURCE42} $RPM_BUILD_ROOT/etc/modules-load.d/xen-dom0.conf
install %{SOURCE43} $RPM_BUILD_ROOT%{_prefix}/lib/%{name}/bin/xendomains.sh
install %{SOURCE44} $RPM_BUILD_ROOT%{systemdunitdir}/xendomains.service
+install %{SOURCE45} $RPM_BUILD_ROOT%{systemdunitdir}/xen-qemu-dom0-disk-backend.service
# sysvinit scripts
%{__rm} $RPM_BUILD_ROOT/etc/rc.d/init.d/*
%{__rm} $RPM_BUILD_ROOT/etc/sysconfig/xencommons
install %{SOURCE52} $RPM_BUILD_ROOT/etc/rc.d/init.d/xenstored
install %{SOURCE53} $RPM_BUILD_ROOT/etc/rc.d/init.d/xen-watchdog
install %{SOURCE54} $RPM_BUILD_ROOT/etc/rc.d/init.d/xendomains
+install %{SOURCE46} $RPM_BUILD_ROOT/etc/rc.d/init.d/xen-qemu-dom0-disk-backend
install %{SOURCE55} $RPM_BUILD_ROOT/etc/logrotate.d/xen
install %{SOURCE56} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/xen.conf
/sbin/chkconfig --add xenconsoled
/sbin/chkconfig --add xenstored
/sbin/chkconfig --add xendomains
+/sbin/chkconfig --add xen-qemu-dom0-disk-backend
NORESTART=1
-%systemd_post xen-watchdog.service xenconsoled.service xenstored.service xendomains.service
+%systemd_post xen-watchdog.service xenconsoled.service xenstored.service xendomains.service xen-qemu-dom0-disk-backend.service
%preun
if [ "$1" = "0" ]; then
%service xen-watchdog stop
/sbin/chkconfig --del xen-watchdog
+
+ %service xen-qemu-dom0-disk-backend stop
+ /sbin/chkconfig --del xen-qemu-dom0-disk-backend
fi
-%systemd_preun xen-watchdog.service xenconsoled.service xenstored.service xendomains.service
+%systemd_preun xen-watchdog.service xenconsoled.service xenstored.service xendomains.service xen-qemu-dom0-disk-backend.service
%postun
%systemd_reload
%attr(754,root,root) /etc/rc.d/init.d/xenconsoled
%attr(754,root,root) /etc/rc.d/init.d/xenstored
%attr(754,root,root) /etc/rc.d/init.d/xendomains
+%attr(754,root,root) /etc/rc.d/init.d/xen-qemu-dom0-disk-backend
%config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/xen-dom0.conf
%{systemdunitdir}/proc-xen.mount
%{systemdunitdir}/var-lib-xenstored.mount
%{systemdunitdir}/xenconsoled.service
%{systemdunitdir}/xenstored.service
%{systemdunitdir}/xendomains.service
+%{systemdunitdir}/xen-qemu-dom0-disk-backend.service
%dir %{_sysconfdir}/xen
%dir %{_sysconfdir}/xen/auto
%dir %{_sysconfdir}/xen/examples
%files libs
%defattr(644,root,root,755)
+%if %{with blktap1}
%attr(755,root,root) %{_libdir}/libblktap.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libblktap.so.3.0
+%endif
%attr(755,root,root) %{_libdir}/libblktapctl.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libblktapctl.so.1.0
%attr(755,root,root) %{_libdir}/libfsimage.so.*.*.*
%files devel
%defattr(644,root,root,755)
+%if %{with blktap1}
%attr(755,root,root) %{_libdir}/libblktap.so
+%endif
%attr(755,root,root) %{_libdir}/libblktapctl.so
%attr(755,root,root) %{_libdir}/libfsimage.so
%attr(755,root,root) %{_libdir}/libvhd.so
%{_includedir}/_libxl_list.h
%{_includedir}/_libxl_types.h
%{_includedir}/_libxl_types_json.h
+%if %{with blktap1}
%{_includedir}/blktaplib.h
+%endif
%{_includedir}/fsimage*.h
%{_includedir}/libxenvchan.h
%{_includedir}/libxl*.h
%files static
%defattr(644,root,root,755)
+%if %{with blktap1}
%{_libdir}/libblktap.a
+%endif
%{_libdir}/libblktapctl.a
%{_libdir}/libvhd.a
%{_libdir}/libxenctrl.a