Sophie

Sophie

distrib > Mandriva > 10.2 > x86_64 > by-pkgid > 8cb10b1e397faad3c3ca752b5ff90052 > files > 4

mol-0.9.70-7mdk.src.rpm

%define kversion %(rpm -q --qf '%%{version}-%%{release}' kernel-source-2.6) 
%define krelease %(rpm -q --qf '%%{release}' kernel-source-2.6) 
%define kname %(rpm -q --qf '%%{version}.%%{release}' kernel-source-2.6)
%define kernel_tree $RPM_BUILD_DIR/mol-%{source_version}/linux-%{kversion}
# default is to build mol and build kmods
# use --without mol to disable mol build
# use --without kmods to disable kmods build
%define build_kmods 1
%define build_mol 1
%{?_without_mol: %global build_mol 0}
%{?_without_kmods: %global build_kmods 0}
%{?_with_mol: %global build_mol 1}
%{?_with_kmods: %global build_kmods 1}

%define source_version 0.9.71
%define source_pre -pre1
%define package_version 0.9.70

Summary:	Native MacOS emulator
Name:		mol
Version:	%{package_version}
Release:	7mdk
License:	GPL
Group:		Emulators
Source:		http://www.maconlinux.com/downloads/%{name}-%{source_version}%{source_pre}.tar.bz2
Source1: 	mol_16.png
Source2: 	mol_32.png
Source3: 	mol_48.png
Patch1:		mol-0.9.71-skbuff-mac-fix.patch.bz2
Patch2:		mol-0.9.71-kmod-unresolved-symbols.patch.bz2
URL:		http://www.maconlinux.com/
BuildRoot:	%_tmppath/%{name}-%{version}-root
BuildRequires:	XFree86-devel
Requires: 	mol-kernel-modules
ExclusiveArch:	ppc

%description

With MOL you can run MacOS under Linux - in full speed!
All PowerPC versions of MacOS are supported, including OS/X.

%package kmods
Summary:        Mac-on-Linux kernel modules
Group:          Emulators
Provides:       mol-kernel-modules
BuildRequires:	kernel-source-2.6
BuildRequires:	bison flex
BuildConflicts:	kernel-source-stripped-2.6
Requires:	kernel-%{kname}

%description kmods

This package contains the Mac-on-Linux kernel module
needed by MOL. It also contains the networking kernel
modules. Built for: kernel-%{kname}.

%prep

%setup -q -n %{name}-%{source_version}
%patch1 -p1 -b .skbuff-mac-fix
%patch2 -p1 -b .unresolved-symbols

# (sb) copy kernel-source tree, so we can build as a normal user
# this will fail if permissions are too restrictive on kernel-source
%if %build_kmods
cp -ar %{_prefix}/src/linux-%{kversion} .
perl -pi -e 's|mdkcustom|mdk|' linux-%{kversion}/Makefile 
#pushd linux-%{kversion}
#make oldconfig
#make dep
#popd
%endif

#change default molrc.video to disable console mode for automagic setup
perl -pi -e 's|enable_console_video:\tyes|enable_console_video:\tno|g' Doc/config/molrc.video

%build
./configure \
        --prefix=/usr \
        --exec-prefix=/usr \
        --bindir=/usr/bin \
        --sbindir=/usr/sbin \
        --sysconfdir=/etc \
        --datadir=/usr/share \
        --includedir=/usr/include \
        --libdir=%{_libdir} \
        --libexecdir=%{_libdir} \
        --localstatedir=/var/lib \
        --sharedstatedir=/usr/com \
        --mandir=/usr/share/man \
        --infodir=/usr/share/info
make defconfig
make clean

%if build_mol
%make BUILD_MODS=n prefix=%{_prefix}
%endif

# (sb) kernel modules build
# (cjw) build for all 2.6 flavors except *BOOT
%if %build_kmods
if [ -d "%kernel_tree" ]
then
	rm -f %{kernel_tree}/arch/ppc/defconfig-maximum
	rm -f %{kernel_tree}/arch/ppc/defconfig-BOOT
	rm -f %{kernel_tree}/arch/ppc/defconfig-power4BOOT
	rm -rf $RPM_BUILD_DIR/ktrees
	mkdir $RPM_BUILD_DIR/ktrees
	for i in  %{kernel_tree}/arch/ppc/defconfig* ; do
		base=`basename $i`
		ver=`echo $base |awk -F- '{print $2 }'`;
		cp -al %{kernel_tree} $RPM_BUILD_DIR/ktrees/$base
		pushd $RPM_BUILD_DIR/ktrees/$base
        perl -p -i -e "s/^EXTRAVERSION[^.]*(\.[0-9]+)?-.*\$/EXTRAVERSION = \$1-%{krelease}$ver/" Makefile 
		make mrproper > /dev/null
		cp $i .config
		make oldconfig > /dev/null 2>&1
		make include/linux/version.h
		make include/asm
		make scripts
		popd
		make modules NETMODS=y KERNEL_TREES=$RPM_BUILD_DIR/ktrees/$base
	done
	rm -rf $RPM_BUILD_DIR/ktrees %{kernel_tree}
fi
%endif 

%install
rm -fr %buildroot
%if build_mol
%makeinstall_std prefix=%{_prefix}
# (sb) move the docs and let rpm install them
rm -fr moldoc
mv -f $RPM_BUILD_ROOT/usr/share/doc/mol-%{source_version} moldoc

mkdir -p $RPM_BUILD_ROOT%{_menudir}

cat << EOF > $RPM_BUILD_ROOT%{_menudir}/%{name}
?package(%{name}):command="%{_bindir}/startmol" \
needs="x11" section="Applications/Emulators" title="MOL" \
longtitle="MOL - Mac On Linux" icon="%{name}.png"
EOF

cat << EOF > $RPM_BUILD_ROOT%{_menudir}/%{name}OSX
?package(%{name}):command="%{_bindir}/startmol -X" \
needs="x11" section="Applications/Emulators" title="MOL - OSX" \
longtitle="MOL - Mac On Linux" icon="%{name}.png"
EOF

mkdir -p  $RPM_BUILD_ROOT%{_miconsdir} $RPM_BUILD_ROOT%{_liconsdir}
cp %{SOURCE1} $RPM_BUILD_ROOT%{_miconsdir}/%{name}.png
cp %{SOURCE2} $RPM_BUILD_ROOT%{_iconsdir}/%{name}.png
cp %{SOURCE3} $RPM_BUILD_ROOT%{_liconsdir}/%{name}.png
%endif

%if %build_kmods
# (sb) install kernel modules if we built them
make install-modules DESTDIR=$RPM_BUILD_ROOT prefix=%{_prefix}
%endif

# (sb) unpackaged files
%if !%build_mol
rm -fr $RPM_BUILD_ROOT/%{_bindir}
rm -fr $RPM_BUILD_ROOT/%{_datadir}
rm -fr $RPM_BUILD_ROOT/%{_localstatedir}
rm -fr $RPM_BUILD_ROOT/%{_sysconfdir}
rm -fr $RPM_BUILD_ROOT/%{_menudir}
rm -fr $RPM_BUILD_ROOT/%{_libdir}/%{name}/%{source_version}/bin
rm -fr $RPM_BUILD_ROOT/%{_libdir}/%{name}/%{source_version}/%{name}*
%endif
%if !%build_kmods
rm -fr $RPM_BUILD_ROOT/%{_libdir}/%{name}/%{source_version}/modules/*
%endif

%post
%update_menus

%postun
%clean_menus

%post kmods
if [ ! -e /dev/sheep_net ]; then
mknod /dev/sheep_net c 10 198
fi

%clean
rm -fr %buildroot

%define _mol_libdir             %{_libdir}/mol/%{source_version}
%define _mol_datadir            %{_datadir}/mol/%{source_version}
%define _mol_localstatedir      /var/lib/mol

%if %build_mol
%files
%defattr(-,root,root)
%doc moldoc
%dir %_sysconfdir/mol
%config(noreplace) %_sysconfdir/mol/session.map
%config(noreplace) %_sysconfdir/mol/tunconfig
%config(noreplace) %_sysconfdir/mol/dhcpd-mol.conf
%config(noreplace) %_sysconfdir/mol/molrc.input
%config(noreplace) %_sysconfdir/mol/molrc.linux
%config(noreplace) %_sysconfdir/mol/molrc.macos
%config(noreplace) %_sysconfdir/mol/molrc.video
%config(noreplace) %_sysconfdir/mol/molrc.net
%config(noreplace) %_sysconfdir/mol/molrc.ow
%config(noreplace) %_sysconfdir/mol/molrc.osx
%config(noreplace) %_sysconfdir/mol/yaboot.conf
%config(noreplace) %_sysconfdir/mol/molrc.sound

%_mol_localstatedir/nvram.nw

%_mandir/man?/*

%_bindir/startmol
%_bindir/molvconfig
#%_bindir/mol
%_bindir/molrcget

%dir %_mol_libdir/modules
%_mol_libdir/bin
%_mol_libdir/mol.symbols

%_mol_datadir/images
%_mol_datadir/oftrees
%_mol_datadir/drivers
%_mol_datadir/syms
%_mol_datadir/vmodes
%_mol_datadir/nvram
%_mol_datadir/graphics
%_mol_datadir/startboing

%dir %_mol_datadir/config
%_mol_datadir/config/molrc.sys
%_mol_datadir/config/molrc.post

%dir %_mol_localstatedir

%{_menudir}/mol
%{_menudir}/molOSX
%{_iconsdir}/*.png
%{_miconsdir}/*.png
%{_liconsdir}/*.png
%endif

%if %build_kmods
%files kmods
%defattr(-,root,root)
%_mol_libdir/modules/*
%endif

%changelog
* Mon Mar 28 2005 Christiaan Welvaart <cjw@daneel.dyndns.org> 0.9.70-7mdk
- rebuild for kernel 2.6.11-6mdk

* Mon Mar 14 2005 Christiaan Welvaart <cjw@daneel.dyndns.org> 0.9.70-6mdk
- add BuildRequires: bison flex, BuildConflicts: kernel-source-stripped
  for kmods
- add BuildRequires: XFree86-devel
- kernel 2.6.11-2mdk

* Sun Feb 06 2005 Christiaan Welvaart <cjw@daneel.dyndns.org> 0.9.70-5mdk
- patch2: fix unresolved symbols in kernel modules

* Sun Feb 06 2005 Christiaan Welvaart <cjw@daneel.dyndns.org> 0.9.70-4mdk
- kernel 2.6.10-1mdk
- patch1: fix build

* Sat Oct 23 2004 Christiaan Welvaart <cjw@daneel.dyndns.org> 0.9.70-3mdk

- kernel 2.6.8.1-12.2mdk

* Tue Sep 14 2004 Christiaan Welvaart <cjw@daneel.dyndns.org> 0.9.70-2mdk
- 0.9.71-pre1
- build mol-kmods for all kernels except *BOOT

* Wed May  5 2004 Stew Benedict <sbenedict@mandrakesoft.com> 0.9.70-1mdk
- 0.9.70
- merge mol-kmods into this spec
- use switches to build kmods, mol, or both (default is mol only)
- use existing kernel-source, deps on mol-kmods to this kernel

* Fri Jan  2 2004 Stew Benedict <sbenedict@mandrakesoft.com> 0.9.68-6mdk
- not sure why this src rpm got lost, couple of spec fixes

* Thu Mar 27 2003 Stew Benedict <sbenedict@mandrakesoft.com> 0.9.68-5mdk
- menu entry for OS/X

* Wed Mar 26 2003 Stew Benedict <sbenedict@mandrakesoft.com> 0.9.68-4mdk
- don't use %%configure macro - fix OS/X keyboard repeat issue

* Mon Mar 17 2003 Stew Benedict <sbenedict@mandrakesoft.com> 0.9.68-3mdk
- disable console mode for default install
- add menu entry

* Tue Mar 11 2003 Stew Benedict <sbenedict@mandrakesoft.com> 0.9.68-2mdk
- fix file attributes

* Mon Mar 10 2003 Stew Benedict <sbenedict@mandrakesoft.com> 0.9.68-1mdk
- new release

* Sat Dec 28 2002 Stew Benedict <sbenedict@mandrakesoft.com> 0.9.66-1mdk
- new release

* Tue Oct 29 2002 Stew Benedict <sbenedict@mandrakesoft.com> 0.9.65-1mdk
- new release, patch for expand_stack (thx Samuel)  (patch0)

* Thu Mar 28 2002 Stew Benedict <sbenedict@mandrakesoft.com> 0.9.60-5mdk
- fix build with latest headers

* Tue Jan  8 2002 Stew Benedict <sbenedict@mandrakesoft.com> 0.9.60-4mdk
- add BenH patch to fix altivec/G4 mode

* Mon Nov 12 2001 Stew Benedict <sbenedict@mandrakesoft.com> 0.9.60-3mdk
- make clear in description that OS/X is not supported

* Thu Nov  1 2001 Stew Benedict <sbenedict@mandrakesoft.com> 0.9.60-2mdk
- new version for cooker, cleanup .spec, modify default molrc for safe mode
- kernel modules now built in mol-kmods package

* Wed Aug 15 2001 Stew Benedict <sbenedict@mandrakesoft.com> 0.9.60-1mdk
- new version courtesy of Samuel Rydh <samuel@ibrium.se>

* Mon Aug 13 2001 Stew Benedict <sbenedict@mandrakesoft.com> 0.8.58.1.1mdk
- build against 2.4.4-6.2mdk kernel

* Mon May 14 2001 David BAUDENS <baudens@mandrakesoft.com> 0.9.58-1mdk
- 0.9.58

* Wed Apr 18 2001 David BAUDENS <baudens@mandrakesoft.Com> 0.9.57-1mdk
- 0.9.57

* Tue Oct 31 2000 David BAUDENS <baudens@mandrakesoft.com> 0.9.53-2_1mdk
- O.9.53-2

* Thu Oct 26 2000 David BAUDENS <baudens@mandrakesoft.com> 0.9.52-1mdk
- 0.9.52

* Mon Oct 23 2000 David BAUDENS <baudens@mandrakesoft.con> 0.9.51-1mdk
- 0.9.51

* Fri Oct 21 2000 David BAUDENS <baudens@mandrakesoft.com> 0.9.50-1mdk
- First spec for Linux-Mandrake distribution