%define kversion 2.4.17 %define mosixver 1.5.7 #%define version %{kversion}_%{mosixver} %define version %kversion %define release 1mdk Summary: The Linux kernel with the MOSIX patch (process migration). Name: kernel-mosix Version: %kversion Release: %release %define srcversion %kversion %define KVERREL %kversion-%release License: GPL Group: System/Kernel and hardware URL: http://www.mosix.org/ ExclusiveArch: %{ix86} Requires: mosix-utils => 1.0.0 Obsoletes: kernel-modules, kernel-sparc Provides: kernel-modules, kernel-sparc Source0: ftp://ftp.kernel.org/pub/linux/kernel/v2.4/linux-%{srcversion}.tar.bz2 Source18: boot_logo.ppm.bz2 Source19: linux_logo.h.bz2 Source20: kernel-mosix-%version-i586.config Source21: rhkmvtag.c # MOSIX Source100: ftp://ftp.cs.huji.ac.il/users/mosix/MOSIX-%{mosixver}%{?subver:-%subver}.tar.bz2 Source101: mosix.map Patch0: openMosix1.5.4moshe.bz2 Patch1: kernel-mosix-tvfix.diff.bz2 Patch5: kernel-mosix-tvfix2.diff.bz2 # Add boot logo patches Patch481: linux-2.4.10-ac2-mdk-bootlogo.patch.bz2 Patch488: linux-2.4.3-ac3-bootlogo-leave-message.patch.bz2 Patch489: linux-2.4.3-ac4-nologo.patch.bz2 BuildRequires: egcs BuildRoot: %{_tmppath}/%{name}-buildroot PreReq: /sbin/installkernel %define _builddir %{_topdir}/BUILD/%name/ %define __spec_prep_pre mkdir -p %_builddir||true %define mosix_src MOSIX-%mosixver %define libname libmosix0 %description The kernel package contains the Linux kernel (vmlinuz), the core of your Mandrake Linux operating system. The kernel handles the basic functions of the operating system: memory allocation, process allocation, device input and output, etc. This version of kernel is a version with the MOSIX patch to allow process migration in a cluster of MOSIX nodes. %package -n mosix-utils Summary: The utilities to manage MOSIX clusters Group: System/Kernel and hardware Version: %{mosixver} Requires: %libname = %mosixver %description -n mosix-utils MOSIX utils %package -n %{libname} Summary: Dynamic MOSIX lib Group: Development/C Version: %{mosixver} %description -n %libname MOSIX dynamic library. %package -n %{libname}-devel Summary: Static lib and includes for MOSIX Group: Development/C Version: %{mosixver} Obsoletes: mosix-utils-devel Provides: mosix-utils-devel libmosix-devel Requires: %libname = %mosixver %description -n %{libname}-devel MOSIX static library and include files for C programmers. %prep %setup -q -n linux -a100 #%patch0 -p0 mv include/linux/linux_logo.h include/linux/linux_logo.h.logomdk bzcat %{SOURCE19} > include/linux/linux_logo.h cp %SOURCE21 . patch -p0 -s < %mosix_src/patches.%kversion #%patch0 -p1 tar xvf %mosix_src/manuals.tar mkdir MOSIX tar xvf %mosix_src/user.tar -C MOSIX #%patch102 -p0 -b .fred #%patch4 -p0 #%patch1 -p0 %patch5 -p0 %patch1 -p0 # Install bootlogo. install -m644 %{SOURCE18} Documentation/ # Make the Mandrake Logo as default logo %patch481 -p1 %patch488 -p1 %patch489 -p1 find . -name "*.orig" -o -name "*~" |xargs rm -f perl -pi -e "s/gcc/kgcc/" Makefile %define dir lib/moslib bin/mosrun sbin/{setpe,tune} usr.bin/{migrate,mon,mosctl} %build rm -rf $RPM_BUILD_ROOT Config=%{_target_cpu} KernelVer=%{KVERREL} perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -%{release}mosix/" Makefile # compile mosix utils top=`pwd` for d in %{dir}; do cd $top/MOSIX/$d make CPPFLAGS="-I$top/include -I$top/MOSIX/lib/moslib" INCS="-I$top/include -I$top/MOSIX/lib/moslib" done cd $top mv MOSIX/sbin/tune/testloop.s MOSIX/sbin/tune/testloop.s.saved make mrproper mv MOSIX/sbin/tune/testloop.s.saved MOSIX/sbin/tune/testloop.s cp %SOURCE20 .config -f make oldconfig make dep make include/linux/version.h make bzImage CC='kgcc -D__KERNEL__ -I$(HPATH)' make modules CC='kgcc -D__KERNEL__ -I$(HPATH)' find include/linux/modules -size 0 | while read file ; do echo > $file; done %install rm -rf $RPM_BUILD_ROOT perl -pi -e 's!/sbin/ldconfig!/sbin/ldconfig -n '$RPM_BUILD_ROOT/%{_libdir}'!g' MOSIX/lib/moslib/Makefile KernelVer=%{KVERREL} # MOSIX mkdir -p $RPM_BUILD_ROOT/usr/{bin,lib,include,man/man1} $RPM_BUILD_ROOT/{bin,sbin} $RPM_BUILD_ROOT/etc/rc.d/init.d top=`pwd` for d in %{dir}; do cd $top/MOSIX/$d make install ROOT=$RPM_BUILD_ROOT CPPFLAGS=-I$top/include INCS=-I$top/include done cd $top mkdir -p $RPM_BUILD_ROOT/usr/man/man7 install -m 644 man7/mosix.7 $RPM_BUILD_ROOT/usr/man/man7 mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d install -m 755 MOSIX-%mosixver/mosix.init $RPM_BUILD_ROOT/etc/rc.d/init.d/mosix install -m 644 %{SOURCE101} $RPM_BUILD_ROOT/etc/ # kernel mkdir -p $RPM_BUILD_ROOT/boot install -m 644 System.map $RPM_BUILD_ROOT/boot/System.map-${KernelVer}mosix %ifarch i386 i486 i586 i686 k6 k7 cp arch/i386/boot/bzImage $RPM_BUILD_ROOT/boot/vmlinuz-${KernelVer}mosix %else # Only copy the raw version cp vmlinux $RPM_BUILD_ROOT/boot/vmlinux-${KernelVer}mosix %endif mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/{block,cdrom,fs,ipv4,misc,net,scsi,video} make INSTALL_MOD_PATH=$RPM_BUILD_ROOT modules_install KERNELRELEASE=${KernelVer}mosix||true %ifnarch sparc64 cc -o rhkmvtag rhkmvtag.c init/version.o ./rhkmvtag > $RPM_BUILD_ROOT/lib/modules/$KernelVer/.rhkmvtag rm -f rhkmvtag %endif #$RPM_BUILD_ROOT/sbin/versionate ${KernelVer}mosix -d$RPM_BUILD_ROOT/lib/modules/${KernelVer}mosix/misc mkdir -p $RPM_BUILD_ROOT%_mandir mv $RPM_BUILD_ROOT/usr/man/* $RPM_BUILD_ROOT%_mandir rm -f $RPM_BUILD_ROOT/lib/modules/*/build %clean rm -rf $RPM_BUILD_ROOT %post cd /boot ln -sf vmlinuz-%{KVERREL}mosix vmlinuz ln -sf config-%{KVERREL}mosix config if [ -x /sbin/installkernel ];then /sbin/installkernel -a -c %{KVERREL}mosix fi depmod -a -F /boot/System.map-%{KVERREL}mosix %{KVERREL}mosix %postun cd /boot if [ -f initrd-%{KVERREL}mosix.img ];then rm -f initrd-%{KVERREL}mosix.img fi if [ -f /etc/sysconfig/system ];then source /etc/sysconfig/system if [[ "$CLASS" = "beginner" ]];then /sbin/installkernel -a -R -c %{KVERREL}mosix fi fi %post -n %libname -p /sbin/ldconfig %postun -n %libname if [ "$1" = 0 ]; then /sbin/ldconfig fi %post -n mosix-utils %_post_service mosix %preun -n mosix-utils %_preun_service mosix %files %defattr(-,root,root) %doc MOSIX/COPYING MOSIX-%mosixver/README %ifarch %{ix86} /boot/vmlinuz-%{KVERREL}mosix %else /boot/vmlinux-%{KVERREL}mosix %endif /boot/System.map-%{KVERREL}mosix /lib/modules/%{KVERREL}mosix %doc Documentation/MFS %doc Documentation/DFSA %files -n mosix-utils %defattr(-,root,root) %_bindir/* /bin/* /sbin/* %_mandir/*/* %config(noreplace) /etc/rc.d/init.d/mosix %config(noreplace) /etc/mosix.map %files -n %libname-devel %defattr(-,root,root) %doc MOSIX/COPYING %_includedir/* %_libdir/*.a %_libdir/*.so %files -n %libname %defattr(-,root,root) %doc MOSIX/COPYING %_libdir/*.so.* %changelog * Tue Feb 12 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 2.4.17-1mdk - resync with main kernel config - reforce SMP - Mosix-1.5.7 for linux kernel 2.4.17 * Mon Feb 11 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 2.4.16-1mdk - OpenMOSIX-1.5.4 for linux kernek 2.4.16 * Thu Dec 13 2001 Thierry Vignaud <tvignaud@mandrakesoft.com> 2.4.13-2mdk - MOSIX-1.5.2 (do not mix with previous mosix releases) * Thu Nov 08 2001 Thierry Vignaud <tvignaud@mandrakesoft.com> 2.4.13-1mdk - MOSIX-1.5.1 (do not mix with previous mosix releases) * Thu Oct 18 2001 Thierry Vignaud <tvignaud@mandrakesoft.com> 2.4.10-1mdk - MOSIX-1.4.0 (do not mix with previous mosix releases) - macro-ize() - libify * Wed Aug 01 2001 Thierry Vignaud <tvignaud@mandrakesoft.com> 2.4.7-4mdk - mosix 1.1.2 (incompatible with mosix 1.0.x) * Tue Jul 31 2001 Thierry Vignaud <tvignaud@mandrakesoft.com> 2.4.7-3mdk - mosix 1.1.1 (incompatible with mosix 1.0.x) * Tue Jul 24 2001 Thierry Vignaud <tvignaud@mandrakesoft.com> 2.4.7-1mdk - kernel 2.4.7 - mosix 1.1.0 (incompatible with mosix 1.0.x) * Fri Jul 06 2001 Thierry Vignaud <tvignaud@mandrakesoft.com> 2.4.6-1mdk - kernel 2.4.6 - mosix 1.0.6 - add mdk logo * Tue Jun 19 2001 Thierry Vignaud <tvignaud@mandrakesoft.com> 2.4.5-2mdk - mosix-1.0.4 * Tue Jun 12 2001 Thierry Vignaud <tvignaud@mandrakesoft.com> 2.4.5-1mdk - mosix-1.0.3 * Tue May 08 2001 Thierry Vignaud <tvignaud@mandrakesoft.com> 2.4.4-1mdk - fix mainstream kernel url - final release... er 1.0.1 - fix mosix source url - fix compilation * Tue Apr 10 2001 Thierry Vignaud <tvignaud@mandrakesoft.com> 2.4.3-0.3mdk - really MOSIX 1.0.0-alpha3 - various spec cleaning * Mon Apr 09 2001 Thierry Vignaud <tvignaud@mandrakesoft.com> 2.4.3-0.2mdk - MOSIX 1.0.0-alpha3 - require last version of mosix-utils * Mon Apr 09 2001 Thierry Vignaud <tvignaud@mandrakesoft.com> 2.4.3-0.1mdk - MOSIX 1.0.0-alpha2 - fix its build - rsync installation with kernel-2.4 - include my fixes from kernel-linus-2.4 - adapt init script to kernel-2.4 * Wed Dec 20 2000 Frederic Lepied <flepied@mandrakesoft.com> 2.2.18-1mdk - correct syntax error in init.d script (thanks to Stephen Lawrence Jr.) - added symlink to System.map (thanks to Stephen Lawrence Jr.). - MOSIX 0.97.10 * Thu Nov 2 2000 Frederic Lepied <flepied@mandrakesoft.com> 2.2.17-3mdk - MOSIX 0.97.9 - use egcs to compile the kernel. * Fri Sep 15 2000 Frederic Lepied <flepied@mandrakesoft.com> 2.2.17-2mdk - use installkernel in %%post. - deconfigured experimental MOSIX options (MFS and DFSA). - use /var/lock/subsys in init script to allow the stop target to waork. * Fri Sep 8 2000 Frederic Lepied <flepied@mandrakesoft.com> 2.2.17-1mdk - MOSIX 0.97.8 * Thu Jul 6 2000 Frederic Lepied <flepied@mandrakesoft.com> 2.2.16-5mdk - MOSIX 0.97.7: Many bug fixes and improvements to the MFS/DFSA. * Wed Jul 5 2000 Frederic Lepied <flepied@mandrakesoft.com> 2.2.16-4mdk - use mosrun in various config files. - compiled with egcs. * Mon Jun 26 2000 Frederic Lepied <flepied@mandrakesoft.com> 2.2.16-3mdk - updated quota patch from author. * Thu Jun 22 2000 Frederic Lepied <flepied@mandrakesoft.com> 2.2.16-2mdk - applied patch from the author to avoid oops when quota is compiled in. * Tue Jun 13 2000 Frederic Lepied <flepied@mandrakesoft.com> 2.2.16-1mdk - MOSIX 0.97.6 * Wed Jun 7 2000 Frederic Lepied <flepied@mandrakesoft.com> 2.2.15-3mdk - MOSIX 0.97.5 * Fri May 5 2000 Frederic Lepied <flepied@mandrakesoft.com> 2.2.15-2mdk - new MOSIX 0.97.4 ! * Fri May 5 2000 Frederic Lepied <flepied@mandrakesoft.com> 2.2.15-1mdk - MOSIX 0.97.4 - kernel 2.2.15 * Thu Apr 27 2000 Frederic Lepied <flepied@jedi.mandrakesoft.com> 2.2.14-2mdk - MOSIX 0.97.3 * Wed Apr 12 2000 Frederic Lepied <flepied@jedi.mandrakesoft.com> 2.2.14-1mdk - first release based on kernel-linus.