%define kernel %(echo `uname -r`) %define pkgrel 2 %define module kqemu.ko %define kqemu_name kmod-kqemu # See http://fedoraproject.org/wiki/PackageNamingGuidelines %define kqemu_version 1.3.0pre11 %define kqemu_release %{pkgrel}%{?dist}.%(echo %{kernel} | sed -e s/-/_/g) %define qemu_version 0.9.0 %define qemu_release %{pkgrel}%{?dist} %define gcc_ver 34 Name : qemu Version : %{qemu_version} Release : %{qemu_release} # See http://fedoraproject.org/wiki/DistTag License : GPL Summary : A generic and open source processor emulator. Group : Applications/Emulators # See http://fedoraproject.org/wiki/RPMGroups for valid RPM GROUPS URL : http://fabrice.bellard.free.fr/qemu/ Vendor : Fabrice Bellard Packager : Thomas Chung BuildRoot : %{_tmppath}/%{name}-buildroot Source0 : %{name}-%{version}.tar.gz Source1 : kqemu-%{kqemu_version}.tar.gz Source2 : kqemu.init Source3 : kqemu.rules #Patch0 : qemu-Makefile.patch #Patch1 : qemu-configure.patch #Patch2 : qemu-usb-linux.patch Requires : SDL BuildRequires : SDL-devel BuildRequires : kernel-devel # compat-gcc-32 for FC5 # compat-gcc-34 for FC6 BuildRequires : compat-gcc-%{gcc_ver} # texi2html for FC5 and FC6 BuildRequires : texi2html AutoReq : no AutoProv : no %description QEMU is processor and system emulator which achieves a good emulation speed by using dynamic translation. It emulates a full system (for example a PC or a PowerMac) or runs Linux processes compiled for one processor on another. %prep rm -rf %{buildroot} ####################################################################### # setup macro # -a num : Only unpack source number after changing to the directory # -b num : Only unpack source number before changing to the directory # -c : Create directory before unpacking. # -D : Do not delete the directory before unpacking # -n name : Name the directory as name # -q : Run quiety with minimum output # -T : Disable the automatic unpacking of the archives. ####################################################################### %setup -q #%patch0 #%patch1 #%patch2 tar zxf %{SOURCE1} -C %{_builddir}/%{name}-%{version} ######################################################### # Common Red Hat RPM macros (rpm --showrc for more info) # {_sourcedir} : /usr/src/redhat/SOURCES # {_builddir} : /usr/src/redhat/BUILD # {_tmppath} : /var/tmp # {_libdir} : /usr/lib # {_bindir} : /usr/bin # {_datadir} : /usr/share/ # {_mandir} : /usr/share/man # {_docdir} : /usr/share/doc # {_sysconfdir} : /etc # {_initrddir} : /etc/rc.d/init.d ########################################################## %build ./configure --prefix=/usr --cc=gcc%{gcc_ver} --host-cc=gcc%{gcc_ver} --target-list=i386-softmmu make %{?_smp_mflags} # See http://fedoraproject.org/wiki/PackagingGuidelines#parallelmake cd kqemu-%{kqemu_version} ./configure --prefix=/usr --cc=gcc%{gcc_ver} --host-cc=gcc%{gcc_ver} make mv %{module} %{kernel}-%{module} %install mkdir -p %{buildroot}/usr/lib/debug make install prefix=%{buildroot}/usr bindir=%{buildroot}/usr/bin \ datadir=%{buildroot}/usr/share/qemu docdir=%{buildroot}/usr/share/doc/qemu mandir=%{buildroot}/usr/share/man mkdir -p %{buildroot}/lib/modules/%{kernel}/misc install -m 644 kqemu-%{kqemu_version}/%{kernel}-%{module} %{buildroot}/lib/modules/%{kernel}/misc/%{module} mkdir -p %{buildroot}/etc/rc.d/init.d install -m 755 %{SOURCE2} %{buildroot}/etc/rc.d/init.d/kqemu mkdir -p %{buildroot}/etc/udev/rules.d install -m 644 %{SOURCE3} %{buildroot}/etc/udev/rules.d/90-kqemu.rules %clean rm -rf %{buildroot} %files ##################################################### # defattr sets the default attributes for all files ##################################################### %defattr(-,root,root) %doc Changelog COPYING COPYING.LIB LICENSE README TODO VERSION %{_bindir}/qemu* %{_docdir}/qemu %{_mandir}/man1/qemu* %{_datadir}/qemu ################################# # subpackage : kmod-kqemu ################################# %package -n %{kqemu_name} Version : %{kqemu_version} Release : %{kqemu_release} License : GPL Summary : The QEMU Accelerator Module (KQEMU) Group : Applications/Emulators Requires : qemu Obsoletes : kernel-modules-qemu kernel-module-qemu kernel-module-kqemu %description -n %{kqemu_name} The QEMU Accelerator Module increases the speed of QEMU when a PC is emulated on a PC. It runs most of the target application code directly on the host processor to achieve near native performance. %post -n %{kqemu_name} /sbin/chkconfig --add kqemu /sbin/service kqemu restart > /dev/null 2>&1 || : %preun -n %{kqemu_name} if [ "$1" = 0 ]; then /sbin/service kqemu stop > /dev/null 2>&1 || : /sbin/chkconfig --del kqemu fi %files -n %{kqemu_name} %defattr(-,root,root) %doc kqemu-%{kqemu_version}/LICENSE kqemu-%{kqemu_version}/README /lib/modules/*/misc/%{module} /etc/rc.d/init.d/kqemu /etc/udev/rules.d/90-kqemu.rules %changelog * Sat Feb 17 2007 Thomas Chung 0.9.0-2 - add kqemu.rules * Thu Feb 15 2007 Thomas Chung 0.9.0-1 - qemu 0.9.0 - kqemu 1.3.0pre11 - remove qemu-linux-usb.patch * Mon Jan 22 2007 Thomas Chung 0.8.2-5 - rebuild and increase release number * Wed Nov 29 2006 Thomas Chung 0.8.2-2 - update spec for FC6 - add qemu-linux-usb.patch * Thu Sep 07 2006 Thomas Chung 0.8.2-1 - qemu version 0.8.2 - kqemu version 1.3.0pre9 * Sat May 06 2006 Thomas Chung 0.8.1-1 - qemu version 0.8.1 - kqemu version 1.3.0pre7 - no need for patch0 (qemu-Makefile.patch) - no need for patch1 (qemu-configure.path) - fix configure/make/install for new kqemu - add texi2html BuildRequires for Documentation * Sat May 06 2006 Thomas Chung 0.8.0-6 - sync release number with qemu 0.8.0-6 - rebuild kmod-kqemu for kernel 2.6.16-1.2111_FC5smp * Thu Apr 20 2006 Thomas Chung 0.8.0-3 - Rename kernel-module-qemu to kmod-kqmu * Wed Apr 19 2006 Thomas Chung 0.8.0-2 - Initial build for FC5 - Remove fc4 option - BuildRequires kernel-devel * Wed Dec 21 2005 Thomas Chung 0.8.0-1 - qemu version 0.8.0 * Thu Oct 20 2005 Thomas Chung 0.7.2-4 - Sync {qemu_release} and {kqemu_release} * Fri Oct 07 2005 Robin Green 0.7.2-3 - Made x86_64 support conditional - Fixed bug that kqemu was not remade for SMP kernels * Sat Sep 24 2005 Thomas Chung 0.7.2-2 - Fix kqemu init script starting issue * Sun Sep 04 2005 Thomas Chung 0.7.2-1 - Version 0.7.2 - Patch #2 (kqemu-linux.patch) no longer needed * Fri Sep 02 2005 Thomas Chung 0.7.1-3 - Use {?smp} to define SMP kernel or not - Use {?fc4} to defind FC4 system or not * Thu Jul 28 2005 Thomas Chung 0.7.1-2 - Patch qemu-configure to use gcc32 for FC4 - Patch kqemu-linux.c to fix Unknown symbol __PAGE_KERNEL_EXEC - Use {?_smp_mflags} to speed up builds and especially on SMP machines * Wed Jul 27 2005 Thomas Chung 0.7.1-1 - Version 0.7.1 - Change kernel-modules-qemu to kernel-module-qemu to comply with Fedora Project Package Naming Guidelines See http://fedoraproject.org/wiki/PackageNamingGuidelines - Use Obsoletes kernel-modules-qemu * Mon Jun 20 2005 Thomas Chung 0.7.0-5 - Use {?dist} in qemu release - Requires SDL - BuildRequires SDL-devel * Sun May 22 2005 Thomas Chung 0.7.0-4 - Create an init script for kqemu - Build kernel-modules-qemu for the latest installed kernels * Thu May 19 2005 Thomas Chung 0.7.0-3 - Rename qemu-accelerator to kernel-modules-qemu * Wed May 18 2005 Thomas Chung 0.7.0-2 - Splits package into subpackage qemu-accelerator * Tue May 17 2005 Thomas Chung 0.7.0-1 - Includes QEMU Accelerator Module * Mon May 16 2005 Thomas Chung 0.7.0-0 - Initial RPM build