%define base_name xsw %define major_version 1.34 %define name %{base_name}%{major_version} %define version 1.34.0 %define release 5mdk %define branch (stable version) %define summary The XShipWars kickass game ! %{branch} %define summary_server XShipWars universe server %{branch} %define summary_monitor XShipWars universe monitor %{branch} %define summary_unvedit XShipWars universe editor %{branch} %define clientdir %{_datadir}/games/xshipwars %define serverdatadir %{_localstatedir}/swserv%{major_version} %define serverconfdir %{_sysconfdir}/swserv%{major_version} %define serverlogdir /var/log/swserv%{major_version} Name: %{name} Version: %{version} Release: %{release} Summary: %{summary} License: GPL Group: Games/Other Source0: http://www.battlefieldlinux.com/download/%{base_name}-%{version}.tar.bz2 Source1: %{name}.server.script.bz2 Source2: %{name}.xsw-16.png.bz2 Source3: %{name}.xsw-32.png.bz2 Source4: %{name}.xsw-48.png.bz2 Source5: %{name}.xsw-unvedit-16.png.bz2 Source6: %{name}.xsw-unvedit-32.png.bz2 Source7: %{name}.xsw-unvedit-48.png.bz2 Source8: %{name}.xsw-monitor-16.png.bz2 Source9: %{name}.xsw-monitor-32.png.bz2 Source10: %{name}.xsw-monitor-48.png.bz2 Patch0: %{name}.server.conf.patch.bz2 Patch1: %{name}.build.patch.bz2 Url: http://wolfpack.twu.net/ShipWars/XShipWars Requires: xsw-data xsw-images xsw-sounds BuildRequires: libjsw1-devel libY2-devel libesound0-devel libxpm4-devel libdb3.3-devel BuildRoot: %{_tmppath}/%{name}-buildroot %description XShipWars is a highly customizable and massively multiplayer space gaming system designed for play entirly over the Internet. It is the first completed and stable game for Linux written on Linux and has been ported to a variety of other platforms. %package monitor Group: Games/Other Summary: %{summary_monitor} Requires: xsw-data-monitor %description monitor This is the universe monitor part of XShipWars game. %package unvedit Group: Games/Other Summary: %{summary_unvedit} Requires: xsw-data-unvedit %description unvedit This is the universe editor part of XShipWars game. %package server Group: Games/Other Summary: %{summary_server} %description server This is the server part of XShipWars game. %prep rm -rf $RPM_BUILD_ROOT %setup -n %{base_name}-%{version} bzcat %{SOURCE1} > swserv bzcat %{SOURCE2} > %{base_name}-16.png bzcat %{SOURCE3} > %{base_name}-32.png bzcat %{SOURCE4} > %{base_name}-48.png bzcat %{SOURCE5} > %{base_name}-unvedit-16.png bzcat %{SOURCE6} > %{base_name}-unvedit-32.png bzcat %{SOURCE7} > %{base_name}-unvedit-48.png bzcat %{SOURCE8} > %{base_name}-monitor-16.png bzcat %{SOURCE9} > %{base_name}-monitor-32.png bzcat %{SOURCE10} > %{base_name}-monitor-48.png %patch0 %patch1 %build export CFLAGS=$RPM_OPT_FLAGS ./configure.client Linux -v --prefix=%{_prefix} --disable=arch-i686 ./configure.server Linux -v --prefix=%{_prefix} --disable=arch-i686 ./configure.monitor Linux -v --prefix=%{_prefix} --disable=arch-i686 ./configure.unvedit Linux -v --prefix=%{_localstatedir} --disable=arch-i686 make -f Makefile.client all make -f Makefile.server all make -f Makefile.monitor all make -f Makefile.unvedit all %install make -f Makefile.client PREFIX=$RPM_BUILD_ROOT%{_prefix} install make -f Makefile.monitor PREFIX=$RPM_BUILD_ROOT%{_prefix} install make -f Makefile.unvedit PREFIX=$RPM_BUILD_ROOT%{_prefix} install # custom server installation install -d -m 755 $RPM_BUILD_ROOT%{_sysconfdir}/init.d install -d -m 755 $RPM_BUILD_ROOT%{_sbindir} install -d -m 755 $RPM_BUILD_ROOT%{serverconfdir} install -d -m 755 $RPM_BUILD_ROOT%{serverlogdir} install -d -m 755 $RPM_BUILD_ROOT%{serverdatadir}/db install -d -m 755 $RPM_BUILD_ROOT%{serverdatadir}/plugins install -m 755 swserv $RPM_BUILD_ROOT%{_sysconfdir}/init.d/swserv%{major_version} install -m 755 server/swserv $RPM_BUILD_ROOT%{_sbindir}/swserv%{major_version} install -m 644 server/default.conf $RPM_BUILD_ROOT%{serverconfdir} install -m 644 server/generic_in.unv $RPM_BUILD_ROOT%{serverdatadir}/db install -m 644 server/default.ocs $RPM_BUILD_ROOT%{serverdatadir}/db install -m 644 server/default.opm $RPM_BUILD_ROOT%{serverdatadir}/db # script versionning perl -pi -e 's/^(.*=.*\/swserv)$/${1}%{major_version}/' $RPM_BUILD_ROOT%{_sysconfdir}/init.d/swserv%{major_version} # files versionning for file in $RPM_BUILD_ROOT%{_gamesbindir}/* $RPM_BUILD_ROOT%{clientdir}/etc/*; do mv $file $file"%{major_version}" done # icons install -D -m 644 %{base_name}-48.png $RPM_BUILD_ROOT%{_liconsdir}/%{name}.png install -D -m 644 %{base_name}-32.png $RPM_BUILD_ROOT%{_iconsdir}/%{name}.png install -D -m 644 %{base_name}-16.png $RPM_BUILD_ROOT%{_miconsdir}/%{name}.png install -D -m 644 %{base_name}-monitor-48.png $RPM_BUILD_ROOT%{_liconsdir}/%{name}-monitor.png install -D -m 644 %{base_name}-monitor-32.png $RPM_BUILD_ROOT%{_iconsdir}/%{name}-monitor.png install -D -m 644 %{base_name}-monitor-16.png $RPM_BUILD_ROOT%{_miconsdir}/%{name}-monitor.png install -D -m 644 %{base_name}-unvedit-48.png $RPM_BUILD_ROOT%{_liconsdir}/%{name}-unvedit.png install -D -m 644 %{base_name}-unvedit-32.png $RPM_BUILD_ROOT%{_iconsdir}/%{name}-unvedit.png install -D -m 644 %{base_name}-unvedit-16.png $RPM_BUILD_ROOT%{_miconsdir}/%{name}-unvedit.png # menu entry mkdir -p $RPM_BUILD_ROOT%{_libdir}/menu cat >$RPM_BUILD_ROOT%{_menudir}/%{name} <<EOF ?package(%{name}):\\ command="%{_gamesbindir}/xsw%{major_version}"\\ needs="X11"\\ icon="%{name}.png"\\ section="Amusement/Other"\\ title="XShipWars" \ longtitle="%{summary}" EOF cat >$RPM_BUILD_ROOT%{_menudir}/%{name}-monitor <<EOF ?package(%{name}-monitor):\\ command="%{_gamesbindir}/monitor%{major_version}"\\ needs="X11"\\ icon="%{name}-monitor.png"\\ section="Amusement/Other"\\ title="Monitor" \ longtitle="%{summary_monitor}" EOF cat >$RPM_BUILD_ROOT%{_menudir}/%{name}-unvedit <<EOF ?package(%{name}-unvedit):\\ command="%{_gamesbindir}/unvedit%{major_version}"\\ needs="X11"\\ icon="%{name}-unvedit.png"\\ section="Amusement/Other"\\ title="Unvedit" \ longtitle="%{summary_unvedit}" EOF %clean rm -rf $RPM_BUILD_ROOT %post %{update_menus} %postun %{clean_menus} %post monitor %{update_menus} %postun monitor %{clean_menus} %post unvedit %{update_menus} %postun unvedit %{clean_menus} %post server # add swserv service chkconfig --add swserv%{major_version} %preun server # stop swserv if running if [ -f /var/lock/subsys/swserv%{major_version} ]; then %{_sysconfdir}/init.d/swserv%{major_version} stop fi # remove swserv service chkconfig --del swserv%{major_version} %files %defattr(-,root,root) %doc CREDITS INSTALL LICENSE README TODO %{_gamesbindir}/xsw%{major_version} %{clientdir}/etc/* %{_menudir}/%{name} %{_miconsdir}/%{name}.png %{_iconsdir}/%{name}.png %{_liconsdir}/%{name}.png %files monitor %defattr(-,root,root) %{_gamesbindir}/monitor%{major_version} %{_menudir}/%{name}-monitor %{_miconsdir}/%{name}-monitor.png %{_iconsdir}/%{name}-monitor.png %{_liconsdir}/%{name}-monitor.png %files unvedit %defattr(-,root,root) %{_gamesbindir}/unvedit%{major_version} %{_menudir}/%{name}-unvedit %{_miconsdir}/%{name}-unvedit.png %{_iconsdir}/%{name}-unvedit.png %{_liconsdir}/%{name}-unvedit.png %files server %defattr(-,root,root) %config(noreplace) %{serverconfdir} %config(noreplace) %{_sysconfdir}/init.d/* %{_sbindir}/* %attr(-,games,games) %{serverdatadir} %attr(-,games,games) %{serverlogdir} %changelog * Fri Sep 06 2002 Lenny Cartier <lenny@mandrakesoft.com> 1.34.0-5mdk - rebuild * Sat Jun 01 2002 Guillaume Rousse <g.rousse@linux-mandrake.com> 1.34.0-4mdk - build with gcc3.1 - png icons - one archive per additional source * Sat Oct 27 2001 Guillaume Rousse <g.rousse@linux-mandrake.com> 1.34.0-3mdk - buildrequires libdb3.3-devel - used games user instead of specific user - rewrote init script * Sat Oct 20 2001 Guillaume Rousse <g.rousse@linux-mandrake.com> 1.34.0-2mdk - corrected a bug in server %pre * Thu Oct 04 2001 Guillaume Rousse <g.rousse@linux-mandrake.com> 1.34.0-1mdk - first Mandrake stable branch release