qemu/qemu.spec

502 lines
15 KiB
RPMSpec
Raw Permalink Normal View History

Name: qemu
Version: 2.6.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: http://qemu.org
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
License: GPL, LGPL
## AUTOBUILDREQ-BEGIN
BuildRequires: glibc-devel
BuildRequires: libaio-devel
BuildRequires: libalsa-devel
BuildRequires: libatk-devel
BuildRequires: libbluetooth-devel
BuildRequires: libcairo-devel
BuildRequires: libcap-devel
BuildRequires: libcap-ng-devel
BuildRequires: libcares-devel
BuildRequires: libcurl-devel
BuildRequires: libfontconfig-devel
BuildRequires: libfreetype-devel
BuildRequires: libgcrypt-devel
BuildRequires: libgdk-pixbuf-devel
BuildRequires: libGL-devel
BuildRequires: libglib-devel
BuildRequires: libgnutls-devel
BuildRequires: libgpg-error-devel
BuildRequires: libgss-devel
BuildRequires: libgtk2-devel
BuildRequires: libidn-devel
BuildRequires: libjpeg-devel
BuildRequires: libncurses-devel
BuildRequires: libnspr-devel
BuildRequires: libnss-devel
BuildRequires: libopenldap-devel
BuildRequires: libopenssl-devel
BuildRequires: libpango-devel
BuildRequires: libpixman-devel
BuildRequires: libpng-devel
BuildRequires: librtmp-devel
BuildRequires: libsasl-devel
%if "%{stage1}" != "1"
BuildRequires: libSDL-devel
%endif
BuildRequires: libssh2-devel
BuildRequires: libusbx-devel
BuildRequires: libuuid-devel
BuildRequires: libvte0-devel
BuildRequires: libX11-devel
BuildRequires: libxen-devel
BuildRequires: libXext-devel
BuildRequires: libz-devel
## AUTOBUILDREQ-END
BuildRequires: libxen-devel >= 4.7
BuildRequires: libadplug-devel >= 1.5.1
BuildRequires: libglib-static >= 2.34.1-2mamba
BuildRequires: libspice-devel
BuildRequires: spice-protocol-devel
BuildRequires: libusbredir-devel
BuildRequires: libcelt051-devel
BuildRequires: libnfs-devel
#% if "%{_build_cpu}" != "ppc"
#BuildRequires: gcc34
#% endif
Conflicts: kvm
%systemd_requires
BuildRoot: %{_tmppath}/%{name}-%{version}-root
%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.
%prep
%setup -q
#-D -T
#:<< ___EOF
#%if "%{_build_cpu}" == "ppc"
#%patch0 -p1
#%patch1
#%patch2
#%patch3
#%patch4 -p1
#%endif
#%patch5 -p1
#%patch6 -p1
%build
#:<< ___EOF
# static build for usermode emulation targets only
# used by cross platform installation tools like makedist
./configure \
--sysconfdir=%{_sysconfdir} \
--prefix=%{_prefix} \
--cc=%{_build}-gcc \
--host-cc=%{_host}-gcc \
--cpu=%{_host_cpu} \
--static \
--disable-sdl \
--disable-curl \
--disable-bluez \
--disable-system \
--disable-strip \
--disable-libssh2 \
--disable-libnfs \
--enable-linux-user
# --disable-smartcard-nss \
# --disable-usb-redir \
# --disable-vde \
%make
mkdir static
find *-linux-user -name qemu-\* -exec mv {} static/ \;
make clean
#___EOF
# dynamic build
./configure \
--sysconfdir=%{_sysconfdir} \
--prefix=%{_prefix} \
--libdir=%{_libdir} \
--libexecdir=%{_libexecdir} \
--cc=%{_build}-gcc \
--host-cc=%{_host}-gcc \
--cpu=%{_host_cpu} \
%if "%{_build_cpu}" == "ppc"
--disable-gcc-check \
#% else
# --cc=%{_target_platform}-gcc34 \
%endif
--audio-drv-list="alsa pa" \
--enable-spice \
--enable-usb-redir \
--enable-guest-agent
%make
%install
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
%makeinstall
install -D -m 755 %{S:1} \
%{buildroot}%{_prefix}/lib/systemd/scripts/%{name}-binfmt
install -D -m 0644 %{S:5} \
%{buildroot}%{_unitdir}/qemu.service
cd static
for f in *; do
# disable stripping static binaries by installing without -x
install -m644 $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
# new install
%systemd_post qemu
if [ $1 -gt 1 ]; then
systemctl --no-reload preset qemu >/dev/null 2>&1 || :
fi
:
%preun
# erase
%systemd_preun qemu
:
%postun
# upgrade
%systemd_postun_with_restart qemu.service
:
%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}*
%exclude %{_bindir}/qemu-ga
%{_bindir}/ivshmem-client
%{_bindir}/ivshmem-server
#%{_bindir}/vscclient
%exclude %{_bindir}/%{name}*.static
%{_bindir}/virtfs-proxy-helper
%{_unitdir}/qemu.service
%{_prefix}/lib/systemd/scripts/%{name}-binfmt
%{_libexecdir}/qemu-bridge-helper
%{_datadir}/%{name}
%{_docdir}/%{name}
%{_mandir}/man1/%{name}*
%{_mandir}/man1/virtfs-proxy-helper.1*
%{_mandir}/man8/%{name}-nbd.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}/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
* 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