qemu/qemu.spec

563 lines
18 KiB
RPMSpec
Raw Permalink Normal View History

Name: qemu
Version: 5.2.0
Release: 1mamba
Summary: A generic and open source processor emulator
Group: Applications/Emulators
Vendor: openmamba
Distribution: openmamba
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
URL: https://qemu.org
Source: https://download.qemu.org/qemu-%{version}.tar.xz
#Source: http://wiki.qemu.org/download/qemu-%{version}.tar.bz2
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
Patch1: %{name}-0.8.0-dyngen.patch
Patch2: %{name}-0.8.0-gcc4_x86.patch
Patch3: %{name}-0.8.0-gcc4_ppc.patch
Patch4: %{name}-0.8.0-ldscript_ppc.patch
Patch5: qemu-1.4.1-texinfo-5.patch
Patch6: qemu-1.7.0-virtfs-ftbfs.patch
Patch7: qemu-5.2.0-STATX_MNT_ID-missing-workaround.patch
License: GPL, LGPL
## AUTOBUILDREQ-BEGIN
BuildRequires: glibc-devel
BuildRequires: libSDL2-devel
BuildRequires: libX11-devel
BuildRequires: libaio-devel
BuildRequires: libalsa-devel
BuildRequires: libbrltty-devel
BuildRequires: libbzip2-devel
BuildRequires: libcacard-devel
BuildRequires: libcairo-devel
BuildRequires: libcap-ng-devel
BuildRequires: libcurl-devel
BuildRequires: libepoxy-devel
BuildRequires: libgcc
BuildRequires: libgdk-pixbuf-devel
BuildRequires: libglib-devel
BuildRequires: libgnutls-devel
BuildRequires: libgtk3-devel
BuildRequires: libjpeg-devel
BuildRequires: liblzo-devel
BuildRequires: libmesa-devel
BuildRequires: libmultipath-tools-devel
BuildRequires: libndctl-devel
BuildRequires: libnettle-devel
BuildRequires: libnfs-devel
BuildRequires: libnuma-devel
BuildRequires: libpam-devel
BuildRequires: libpixman-devel
BuildRequires: libpng-devel
BuildRequires: libpulseaudio-devel
BuildRequires: libsasl2-devel
BuildRequires: libsdl2_image-devel
BuildRequires: libseccomp-devel
BuildRequires: libsnappy-devel
BuildRequires: libspice-devel
BuildRequires: libssh-devel
BuildRequires: libstdc++6-devel
BuildRequires: libudev-devel
BuildRequires: libusb-devel
BuildRequires: libusbredir-devel
BuildRequires: libvte-devel
%ifarch x86_64 %{ix86}
BuildRequires: libxen-devel
%endif
BuildRequires: libxkbcommon-devel
BuildRequires: libz-devel
BuildRequires: libzstd-devel
## AUTOBUILDREQ-END
BuildRequires: libadplug-devel >= 1.5.1
BuildRequires: libglib-static >= 2.34.1-2mamba
BuildRequires: spice-protocol-devel
BuildRequires: libcelt051-devel
BuildRequires: libopenssl-static
BuildRequires: libbrltty-devel >= 6.1
#% if "%{_build_cpu}" != "ppc"
#BuildRequires: gcc34
#% endif
Conflicts: kvm
%systemd_requires
%description
QEMU is a generic and open source processor emulator which achieves a good emulation speed by using dynamic translation.
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.
- 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/Emulators
Summary: QEMU agent for guest VMs
%systemd_requires
%description guest-agent
QEMU agent for guest VMs.
%package -n libcacard
Group: System/Libraries
Summary: QEMU virtual smart card emulator library
%description -n libcacard
QEMU virtual smart card emulator library.
%package -n libcacard-devel
Group: Development/Libraries
Summary: Development files for libcacard
Requires: libcacard = %{?epoch:%epoch:}%{version}-%{release}
Requires: pkg-config
%description -n libcacard-devel
This package contains libraries and header files for developing applications that use %{name}.
%package static
Summary: Static QEMU user mode emulators
Group: Applications/Emulators
Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release}
%description static
QEMU is a generic and open source processor emulator which achieves a good emulation speed by using dynamic translation.
This package contains static user mode emulators. In this mode, QEMU can launch Linux processes compiled for one CPU on another CPU.
%debug_package
%prep
%setup -q
#-D -T
#:<< ___EOF
#%if "%{_build_cpu}" == "ppc"
#%patch0 -p1
#%patch1
#%patch2
#%patch3
#%patch4 -p1
#%endif
#%patch5 -p1
#%patch6 -p1
%patch7 -p1
%build
#:<< ___EOF
# static build for usermode emulation targets only
# used by cross platform installation tools like makedist
mkdir build-static
cd build-static
../configure \
--sysconfdir=%{_sysconfdir} \
--prefix=%{_prefix} \
--cc=%{_build}-gcc \
--host-cc=%{_host}-gcc \
--cpu=%{_host_cpu} \
--static \
--disable-sdl \
--disable-curl \
--disable-system \
--disable-strip \
--disable-libnfs \
--disable-libxml2 \
--disable-gnutls \
--enable-linux-user
# --disable-bluez \
# --disable-libssh2 \
# --disable-smartcard-nss \
# --disable-usb-redir \
# --disable-vde \
#LIBSSH_LIBS="-lssh -lcrypto -ldl -lgss"
%make
cd ..
#___EOF
mkdir build-dynamic
cd build-dynamic
# dynamic build
../configure \
--sysconfdir=%{_sysconfdir} \
--prefix=%{_prefix} \
--libdir=%{_libdir} \
--libexecdir=%{_libexecdir} \
--cc=%{_build}-gcc \
--host-cc=%{_host}-gcc \
--cpu=%{_host_cpu} \
--audio-drv-list="alsa pa" \
--enable-spice \
--enable-usb-redir \
--enable-guest-agent
%make LDFLAGS_NOPIE=""
%install
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
%makeinstall -C build-dynamic
#install -D -m 755 %{S:1} \
# %{buildroot}%{_prefix}/lib/systemd/scripts/%{name}-binfmt
#install -D -m 0644 %{S:5} \
# %{buildroot}%{_unitdir}/qemu.service
install -d -m0755 %{buildroot}%{_binfmtdir}
scripts/qemu-binfmt-conf.sh --exportdir %{buildroot}%{_binfmtdir}/ \
--systemd ALL --qemu-path %{_bindir}
cd build-static
find *-linux-user -name qemu-\* | while read f; do
cp -L ${f} %{buildroot}%{_bindir}/`basename $f`.static
## (obsolete?) disable stripping static binaries by installing without -x
#install -m755 $f %{buildroot}%{_bindir}/$f.static
done
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}
%clean
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
#%post
#% binfmt_apply
#:
%post guest-agent
%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
/sbin/ldconfig
:
%postun -n libcacard
/sbin/ldconfig
:
%files -f %{name}.lang
%defattr(-,root,root)
%{_bindir}/%{name}*
%{_bindir}/elf2dmp
%exclude %{_bindir}/qemu-ga
#%{_bindir}/ivshmem-client
#%{_bindir}/ivshmem-server
%exclude %{_bindir}/%{name}*.static
%{_datadir}/applications/qemu.desktop
%{_datadir}/icons/hicolor/*/apps/qemu.png
%{_datadir}/icons/hicolor/*/apps/qemu.bmp
%{_datadir}/icons/hicolor/scalable/apps/qemu.svg
%{_libexecdir}/qemu-bridge-helper
#%{_libexecdir}/qemu-pr-helper
%{_libexecdir}/virtfs-proxy-helper
%{_libexecdir}/virtiofsd
%{_datadir}/%{name}
%{_binfmtdir}/*.conf
%{_docdir}/%{name}
%{_mandir}/man1/qemu*
%{_mandir}/man1/virtfs-proxy-helper.1*
%{_mandir}/man1/virtiofsd.1*
%{_mandir}/man7/qemu-qmp-ref.7*
%{_mandir}/man7/qemu-block-drivers.7*
%{_mandir}/man7/qemu-cpu-models.7*
%{_mandir}/man8/qemu-nbd.8*
%{_mandir}/man8/qemu-pr-helper.8*
%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
%{_mandir}/man7/%{name}-ga-ref.7*
%{_mandir}/man8/qemu-ga.8*
#% ifnarch x86_64
#%files -n libcacard
#%defattr(-,root,root)
#%{_libdir}/libcacard.so.*
#%files -n libcacard-devel
#%defattr(-,root,root)
#%dir %{_includedir}/cacard
#%{_includedir}/cacard/*.h
#%{_libdir}/libcacard.a
#%{_libdir}/libcacard.la
#%{_libdir}/libcacard.so
#%{_libdir}/pkgconfig/libcacard.pc
#%doc LICENSE README
##% endif
%files static
%defattr(-,root,root)
%attr(0755,root,root) %{_bindir}/%{name}*.static
%changelog
* Mon May 03 2021 Silvan Calarco <silvan.calarco@mambasoft.it> 5.2.0-1mamba
- update to 5.2.0
* Fri Oct 09 2020 Silvan Calarco <silvan.calarco@mambasoft.it> 5.1.0-2mamba
- rebuilt with libbrltty 6.1
* Thu Aug 13 2020 Automatic Build System <autodist@mambasoft.it> 5.1.0-1mamba
- automatic version update by autodist
* Mon May 04 2020 Automatic Build System <autodist@mambasoft.it> 5.0.0-1mamba
- automatic version update by autodist
* Wed Mar 04 2020 Silvan Calarco <silvan.calarco@mambasoft.it> 4.2.0-2mamba
- rebuilt with debug package
* Tue Jan 28 2020 Silvan Calarco <silvan.calarco@mambasoft.it> 4.2.0-1mamba
- update to 4.2.0
* Wed Apr 24 2019 Automatic Build System <autodist@mambasoft.it> 4.0.0-1mamba
- automatic version update by autodist
* Mon Feb 11 2019 Silvan Calarco <silvan.calarco@mambasoft.it> 3.1.0-1mamba
- update to 3.1.0
* Sun Sep 09 2018 Automatic Build System <autodist@mambasoft.it> 3.0.0-1mamba
- automatic version update by autodist
* Fri Feb 16 2018 Automatic Build System <autodist@mambasoft.it> 2.11.1-1mamba
- automatic version update by autodist
* Sat Jan 06 2018 Automatic Build System <autodist@mambasoft.it> 2.11.0-1mamba
- automatic version update by autodist
* Sun Oct 08 2017 Automatic Build System <autodist@mambasoft.it> 2.10.1-1mamba
- automatic version update by autodist
* Sat Sep 23 2017 Automatic Build System <autodist@mambasoft.it> 2.10.0-1mamba
- automatic version update by autodist
* Fri Dec 23 2016 Automatic Build System <autodist@mambasoft.it> 2.8.0-1mamba
- automatic version update by autodist
* Sat Dec 10 2016 Silvan Calarco <silvan.calarco@mambasoft.it> 2.7.0-2mamba
- rebuilt by autoport with build requirements: libxen-devel>=4.8.0-1mamba
* Sat Sep 03 2016 Automatic Build System <autodist@mambasoft.it> 2.7.0-1mamba
- automatic version update by autodist
* Thu Aug 18 2016 Automatic Build System <autodist@mambasoft.it> 2.6.1-1mamba
- automatic version update by autodist
* Fri Jul 22 2016 Silvan Calarco <silvan.calarco@mambasoft.it> 2.6.0-1mamba
- update to 2.6.0
* 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
- automatic version update by autodist
* Wed Sep 23 2015 Automatic Build System <autodist@mambasoft.it> 2.4.0.1-1mamba
- automatic version update by autodist
* Sat Sep 12 2015 Automatic Build System <autodist@mambasoft.it> 2.4.0-1mamba
- automatic version update by autodist
* Tue Apr 28 2015 Automatic Build System <autodist@mambasoft.it> 2.3.0-1mamba
- automatic version update by autodist
* Tue Mar 17 2015 Automatic Build System <autodist@mambasoft.it> 2.2.1-1mamba
- automatic update by autodist
* Wed Dec 10 2014 Automatic Build System <autodist@mambasoft.it> 2.2.0-1mamba
- automatic version update by autodist
* Fri Sep 26 2014 Automatic Build System <autodist@mambasoft.it> 2.1.2-1mamba
- automatic version update by autodist
* Thu Sep 11 2014 Automatic Build System <autodist@mambasoft.it> 2.1.1-1mamba
- automatic version update by autodist
* Sat Aug 02 2014 Automatic Build System <autodist@mambasoft.it> 2.1.0-1mamba
- automatic version update by autodist
* Wed Jun 04 2014 Automatic Build System <autodist@mambasoft.it> 2.0.0-1mamba
- automatic update by autodist
* Mon May 12 2014 Silvan Calarco <silvan.calarco@mambasoft.it> 1.7.0-3mamba
- enabled usb redirection (--enable-usb-redir)
* Sun May 11 2014 Silvan Calarco <silvan.calarco@mambasoft.it> 1.7.0-2mamba
- rebuilt with --enable-spice for libvirt support
* Thu Nov 28 2013 Automatic Build System <autodist@mambasoft.it> 1.7.0-1mamba
- automatic version update by autodist
* Fri Aug 16 2013 Automatic Build System <autodist@mambasoft.it> 1.6.0-1mamba
- automatic version update by autodist
* Thu Aug 01 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 1.5.2-2mamba
- rebuilt to fix usermode binaries crash
* Sat Jul 27 2013 Automatic Build System <autodist@mambasoft.it> 1.5.2-1mamba
- automatic version update by autodist
* Thu May 30 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 1.4.2-1mamba
- update to 1.4.2
* Thu May 09 2013 Automatic Build System <autodist@mambasoft.it> 1.4.1-1mamba
- automatic version update by autodist
* Mon Feb 18 2013 Automatic Build System <autodist@mambasoft.it> 1.4.0-1mamba
- automatic version update by autodist
* Tue Jan 29 2013 Automatic Build System <autodist@mambasoft.it> 1.3.1-1mamba
- automatic version update by autodist
* Tue Dec 04 2012 Automatic Build System <autodist@mambasoft.it> 1.3.0-1mamba
- automatic version update by autodist
* Tue Nov 27 2012 Silvan Calarco <silvan.calarco@mambasoft.it> 1.2.1-2mamba
- rebuiilt with libxen 4.1.2
* Tue Nov 20 2012 Automatic Build System <autodist@mambasoft.it> 1.2.1-1mamba
- update to 1.2.1
* Fri Oct 19 2012 Silvan Calarco <silvan.calarco@mambasoft.it> 1.2.0-2mamba
- rebuilt after fixing glib static libraries by removing dconf/systemtap support
- don't strip static qemu-*.static binaries to make them work again
* Tue Sep 11 2012 Automatic Build System <autodist@mambasoft.it> 1.2.0-1mamba
- update to 1.2.0
* Tue Jul 17 2012 Automatic Build System <autodist@mambasoft.it> 1.1.1-1mamba
- automatic version update by autodist
* Sat Jul 07 2012 Automatic Build System <autodist@mambasoft.it> 1.1.0-1mamba
- update to 1.1.0
* Sun Apr 15 2012 Automatic Build System <autodist@mambasoft.it> 1.0.1-1mamba
- automatic version update by autodist
* Fri Apr 06 2012 Silvan Calarco <silvan.calarco@mambasoft.it> 0.15.1-2mamba
- initscript: fix cpu detection under x86_64 and don't configure qemu to do emulation for x86 binfmt
* Wed Oct 26 2011 Automatic Build System <autodist@mambasoft.it> 0.15.1-1mamba
- update to 0.15.1
* Sat May 07 2011 Automatic Build System <autodist@mambasoft.it> 0.14.1-1mamba
- automatic update by autodist
* Thu Feb 17 2011 Automatic Build System <autodist@mambasoft.it> 0.14.0-1mamba
- automatic update by autodist
* Sat Nov 06 2010 Silvan Calarco <silvan.calarco@mambasoft.it> 0.13.0-1mamba
- update to 0.13.0
* Tue Sep 14 2010 Silvan Calarco <silvan.calarco@mambasoft.it> 0.12.5-5mamba
- added conflict with kvm
* Wed Aug 11 2010 Silvan Calarco <silvan.calarco@mambasoft.it> 0.12.5-4mamba
- initscript updated with support for more archs: x86_64, m64k, mips
* Sun Aug 01 2010 Silvan Calarco <silvan.calarco@mambasoft.it> 0.12.5-3mamba
- initscript: mount binfmt_misc before registering entries
* Tue Jul 27 2010 Silvan Calarco <silvan.calarco@mambasoft.it> 0.12.5-2mamba
- qemu-arm binary mask previous fix was incorrect (?); refixing
* Fri Jul 23 2010 Automatic Build System <autodist@mambasoft.it> 0.12.5-1mamba
- automatic update to 0.12.5 by autodist
* Wed Jul 14 2010 Silvan Calarco <silvan.calarco@mambasoft.it> 0.12.4-4mamba
- initscript: fixed binfmt_misc mask for arm platform
* Thu Jun 17 2010 Silvan Calarco <silvan.calarco@mambasoft.it> 0.12.4-3mamba
- initscript: remove check for /usr/qemu-* existence to register non native binary handlers
* Thu Jun 17 2010 Silvan Calarco <silvan.calarco@mambasoft.it> 0.12.4-2mamba
- rebuilt with gcc 4.5 (dropped use of legacy gcc 3.4)
- added static package with statically built user mode emulators (qemu-*.static)
* Wed May 05 2010 Automatic Build System <autodist@mambasoft.it> 0.12.4-1mamba
- automatic update to 0.12.4 by autodist
* Sun Feb 28 2010 Automatic Build System <autodist@mambasoft.it> 0.12.3-1mamba
- automatic update to 0.12.3 by autodist
* Sat Jan 16 2010 Automatic Build System <autodist@mambasoft.it> 0.12.2-1mamba
- automatic update to 0.12.2 by autodist
* Tue Jan 05 2010 Automatic Build System <autodist@mambasoft.it> 0.12.1-1mamba
- automatic update to 0.12.1 by autodist
* Wed Sep 30 2009 Automatic Build System <autodist@mambasoft.it> 0.11.0-1mamba
- automatic update by autodist
* Sun Jul 19 2009 Automatic Build System <autodist@mambasoft.it> 0.10.6-1mamba
- automatic update by autodist
* Fri May 22 2009 Automatic Build System <autodist@mambasoft.it> 0.10.5-1mamba
- automatic update to 0.10.5 by autodist
* Wed May 13 2009 Automatic Build System <autodist@mambasoft.it> 0.10.4-1mamba
- automatic update to 0.10.4 by autodist
* Sat May 02 2009 Automatic Build System <autodist@mambasoft.it> 0.10.3-1mamba
- automatic update to 0.10.3 by autodist
* Wed Apr 08 2009 Silvan Calarco <silvan.calarco@mambasoft.it> 0.10.2-1mamba
- automatic update to 0.10.2 by autodist
* Sun Mar 22 2009 Silvan Calarco <silvan.calarco@mambasoft.it> 0.10.1-1mamba
- automatic update to 0.10.1 by autodist
* Sun Mar 08 2009 Silvan Calarco <silvan.calarco@mambasoft.it> 0.10.0-1mamba
- update to 0.10.0
* Wed Jun 04 2008 Silvan Calarco <silvan.calarco@mambasoft.it> 0.9.1-1mamba
- update to 0.9.1
* Sat Mar 10 2007 Silvan Calarco <silvan.calarco@mambasoft.it> 0.9.0-1qilnx
- update to version 0.9.0 by autospec
- removed requirement for gcc34
* Mon Jun 26 2006 Stefano Cotta Ramusino <stefano.cotta@qilinux.it> 0.8.1-1qilnx
- update to version 0.8.1 by autospec
- added initscript for user emulation
* Fri Mar 10 2006 Stefano Cotta Ramusino <stefano.cotta@qilinux.it> 0.8.0-3qilnx
- fixed for ppc build
* Sat Jan 28 2006 Stefano Cotta Ramusino <stefano.cotta@qilinux.it> 0.8.0-2qilnx
- added ALSA audio driver support
* Fri Jan 20 2006 Stefano Cotta Ramusino <stefano.cotta@qilinux.it> 0.8.0-1qilnx
- update to version 0.8.0 by autospec
* Thu Aug 18 2005 Stefano Cotta Ramusino <whitone@gmail.com> 0.7.1-1qilnx
- package created by autospec