d2f3de2
%global gitcommit bc0e5c0
d2f3de2
%global gitname celeron55
d2f3de2
d2f3de2
Name:		minetest
d2f3de2
Version:	0.3.1
d2f3de2
Release:	6%{?dist}
d2f3de2
Summary:	Multiplayer infinite-world block sandbox with survival mode
d2f3de2
d2f3de2
Group:		Amusements/Games
d2f3de2
License:	GPLv2+
d2f3de2
URL:		http://celeron.55.lt/minetest/		
d2f3de2
d2f3de2
# curl -L -O http://github.com/celeron55/minetest/tarball/0.3.1/minetest-0.3.1.tar.gz
d2f3de2
# wget https://raw.github.com/RussianFedora/minetest/fedora/minetest.desktop
d2f3de2
# wget https://raw.github.com/RussianFedora/minetest/fedora/minetest.service
d2f3de2
# wget https://raw.github.com/RussianFedora/minetest/fedora/minetest.rsyslog
d2f3de2
# wget https://raw.github.com/RussianFedora/minetest/fedora/minetest.logrotate
d2f3de2
# wget https://raw.github.com/RussianFedora/minetest/fedora/minetest.README
d2f3de2
d2f3de2
Source0:	http://github.com/%{gitname}/%{name}/tarball/%{version}/%{name}-%{version}.tar.gz
d2f3de2
Source1:	%{name}.desktop
d2f3de2
Source2:	%{name}.service
d2f3de2
Source3:	%{name}.rsyslog
d2f3de2
Source4:	%{name}.logrotate
d2f3de2
Source5:	%{name}.README
d2f3de2
d2f3de2
BuildRequires:	cmake >= 2.6.0
d2f3de2
BuildRequires:	irrlicht-devel
d2f3de2
BuildRequires:	bzip2-devel gettext-devel jthread-devel sqlite-devel
d2f3de2
BuildRequires:	libpng-devel libjpeg-turbo-devel libXxf86vm mesa-libGL-devel
d2f3de2
BuildRequires:	desktop-file-utils
d2f3de2
BuildRequires:	systemd-units
d2f3de2
d2f3de2
Requires:	%{name}-server = %{version}-%{release}
d2f3de2
Requires:	hicolor-icon-theme
d2f3de2
d2f3de2
%description 
d2f3de2
Game of mining, crafting and building in the infinite world of cubic
d2f3de2
blocks with optional hostile creatures, features both single and the
d2f3de2
network multiplayer mode. There are no in-game sounds yet
d2f3de2
d2f3de2
%package	server
d2f3de2
Summary:	Minetest multiplayer server
d2f3de2
Group:		Amusements/Games
d2f3de2
d2f3de2
Requires(pre):		shadow-utils
d2f3de2
Requires(post):		systemd-units
d2f3de2
Requires(preun):	systemd-units
d2f3de2
Requires(postun):	systemd-units
d2f3de2
d2f3de2
d2f3de2
%description	server
d2f3de2
Minetest multiplayer server. This package does not require X Window System
d2f3de2
d2f3de2
%prep
d2f3de2
%setup -q -n %{gitname}-%{name}-%{gitcommit}
d2f3de2
d2f3de2
%build
d2f3de2
%cmake -DJTHREAD_INCLUDE_DIR=%{_includedir}/jthread .
d2f3de2
make %{?_smp_mflags}
d2f3de2
d2f3de2
d2f3de2
%install
d2f3de2
rm -rf $RPM_BUILD_ROOT
d2f3de2
make install DESTDIR=$RPM_BUILD_ROOT
d2f3de2
d2f3de2
# Put icon in the new fdo location
d2f3de2
mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/scalable/apps
d2f3de2
cp -p %{name}-icon.svg $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/scalable/apps
d2f3de2
d2f3de2
# Add desktop file
d2f3de2
desktop-file-install --dir=${RPM_BUILD_ROOT}%{_datadir}/applications %{SOURCE1}
d2f3de2
d2f3de2
# Systemd unit file
d2f3de2
mkdir -p $RPM_BUILD_ROOT%{_unitdir}
d2f3de2
cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_unitdir}
d2f3de2
d2f3de2
# /etc/rsyslog.d/minetest.conf
d2f3de2
mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/rsyslog.d
d2f3de2
cp -p %{SOURCE3} $RPM_BUILD_ROOT/%{_sysconfdir}/rsyslog.d/%{name}.conf
d2f3de2
d2f3de2
# /etc/logrotate.d/minetest
d2f3de2
mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/logrotate.d
d2f3de2
cp -p %{SOURCE4} $RPM_BUILD_ROOT/%{_sysconfdir}/logrotate.d/%{name}-server
d2f3de2
d2f3de2
# /var/lib/minetest directory for server data files
d2f3de2
mkdir -p $RPM_BUILD_ROOT%{_sharedstatedir}/%{name} 
d2f3de2
d2f3de2
# /etc/minetest.conf
d2f3de2
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}
d2f3de2
cp -p minetest.conf.example $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.conf
d2f3de2
d2f3de2
cp -p %{SOURCE5} README.fedora
d2f3de2
d2f3de2
# Move doc directory back to the sources
d2f3de2
mkdir __doc
d2f3de2
mv  $RPM_BUILD_ROOT%{_datadir}/doc/%{name}/* __doc
d2f3de2
rm -rf $RPM_BUILD_ROOT%{_datadir}/doc/%{name}
d2f3de2
d2f3de2
%find_lang %{name}
d2f3de2
d2f3de2
%post
d2f3de2
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
d2f3de2
d2f3de2
%postun
d2f3de2
if [ $1 -eq 0 ] ; then
d2f3de2
    /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
d2f3de2
    /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
d2f3de2
fi
d2f3de2
d2f3de2
%posttrans
d2f3de2
/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
d2f3de2
d2f3de2
%pre server
d2f3de2
getent group %{name} >/dev/null || groupadd -r %{name}
d2f3de2
getent passwd %{name} >/dev/null || \
d2f3de2
    useradd -r -g %{name} -d /var/lib/%{name} -s /sbin/nologin \
d2f3de2
    -c "Minetest multiplayer server" %{name}
d2f3de2
exit 0
d2f3de2
d2f3de2
%post server
d2f3de2
if [ $1 -eq 1 ] ; then 
d2f3de2
    # Initial installation 
d2f3de2
    /bin/systemctl daemon-reload >/dev/null 2>&1 || :
d2f3de2
fi
d2f3de2
d2f3de2
%preun server
d2f3de2
if [ $1 -eq 0 ] ; then
d2f3de2
    # Package removal, not upgrade
d2f3de2
    /bin/systemctl --no-reload disable %{name}.service > /dev/null 2>&1 || :
d2f3de2
    /bin/systemctl stop %{name}.service > /dev/null 2>&1 || :
d2f3de2
fi
d2f3de2
d2f3de2
%postun server
d2f3de2
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
d2f3de2
if [ $1 -ge 1 ] ; then
d2f3de2
    # Package upgrade, not uninstall
d2f3de2
    /bin/systemctl try-restart %{name}.service >/dev/null 2>&1 || :
d2f3de2
fi
d2f3de2
d2f3de2
%files -f %{name}.lang
d2f3de2
%doc doc/changelog.txt doc/gpl-2.0.txt README.fedora
d2f3de2
%{_bindir}/%{name}
d2f3de2
%{_datadir}/%{name}
d2f3de2
%{_datadir}/applications/%{name}.desktop
d2f3de2
%{_datadir}/icons/hicolor/scalable/apps/%{name}-icon.svg
d2f3de2
d2f3de2
%files server
d2f3de2
%doc README.txt doc/changelog.txt doc/gpl-2.0.txt doc/mapformat.txt doc/protocol.txt README.fedora
d2f3de2
%{_bindir}/%{name}server
d2f3de2
%{_unitdir}/%{name}.service
d2f3de2
%config(noreplace) %{_sysconfdir}/%{name}.conf
d2f3de2
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}-server
d2f3de2
%config(noreplace) %{_sysconfdir}/rsyslog.d/%{name}.conf
d2f3de2
%attr(0755,minetest,minetest) %dir %{_sharedstatedir}/%{name}
d2f3de2
d2f3de2
d2f3de2
%changelog
d2f3de2
* Thu Dec  8 2011 Aleksandra Bookwar <alpha@bookwar.info> - 0.3.1-6
d2f3de2
- Fixed docs for minetest package
d2f3de2
d2f3de2
* Mon Dec  5 2011 Aleksandra Bookwar <alpha@bookwar.info> - 0.3.1-5
d2f3de2
- Changed tarball and logrotate names, removed git commit, new README file.
d2f3de2
d2f3de2
* Mon Nov 14 2011 Aleksandra Bookwar <alpha@bookwar.info> - 0.3.1-4.gitbc0e5c0
d2f3de2
- Removed clean section and defattr according to guidelines
d2f3de2
d2f3de2
* Sat Nov 13 2011 Aleksandra Bookwar <alpha@bookwar.info> - 0.3.1-3.gitbc0e5c0
d2f3de2
- Systemd unit file, rsyslog, user/group and other server-related fixes
d2f3de2
- Fixed Release tag for Fedora review
d2f3de2
d2f3de2
* Sat Nov 12 2011 Aleksandra Bookwar <alpha@bookwar.info> - 0.3.1-2.gitbc0e5c0.R
d2f3de2
- Fixed doc directories
d2f3de2
- Split package into main and -server parts
d2f3de2
d2f3de2
* Wed Nov  9 2011 Aleksandra Bookwar <alpha@bookwar.info> - 0.3.1-1.gitbc0e5c0.R
d2f3de2
- Update to stable 0.3.1 version
d2f3de2
d2f3de2
* Thu Nov  3 2011 Aleksandra Bookwar <alpha@bookwar.info> - 0.3.0-1.gitf65d157.R
d2f3de2
- Update to stable 0.3.0 version
d2f3de2
d2f3de2
* Fri Sep 30 2011 Aleksandra Bookwar <alpha@bookwar.info> - 0.2.20110922_2-2.git960009d
d2f3de2
- Desktop file and icon
d2f3de2
d2f3de2
* Fri Sep 30 2011 Aleksandra Bookwar <alpha@bookwar.info> - 0.2.20110922_2-1.git960009d
d2f3de2
- Basic build of the current stable version