db9c3b9
%define _hardened_build 1
5176e38
%global gitcommit 9696ed3
d2f3de2
%global gitname celeron55
5176e38
%global gitgamecommit 87a1e37
d2f3de2
d2f3de2
Name:		minetest
5176e38
Version:	0.4.3
9bb4364
Release:	3%{?dist}
d2f3de2
Summary:	Multiplayer infinite-world block sandbox with survival mode
d2f3de2
d2f3de2
Group:		Amusements/Games
5176e38
License:	LGPLv2+ and CC-BY-SA
d2f3de2
URL:		http://celeron.55.lt/minetest/		
d2f3de2
5176e38
# curl -L -O http://github.com/celeron55/minetest/tarball/0.4.3/minetest-0.4.3.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
5176e38
Source6:	http://github.com/%{gitname}/%{name}_game/tarball/%{version}/%{name}_game-%{version}.tar.gz
5176e38
Source7:	http://www.gnu.org/licenses/lgpl-2.1.txt
d2f3de2
f4286cb
# Fix to build with gcc-4.7.0
5176e38
Patch1:		%{name}-0.4.3-gcc.patch
f4286cb
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
807d46f
BuildRequires:	openal-soft-devel
807d46f
BuildRequires:	libvorbis-devel
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}
f4286cb
%patch1 -p1
d2f3de2
5176e38
pushd games
5176e38
tar xf %{SOURCE6}
5176e38
mv %{gitname}-%{name}_game-%{gitgamecommit} %{name}_game
5176e38
popd
5176e38
5176e38
cp %{SOURCE7} doc/
5176e38
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
# 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
5176e38
# %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
5176e38
# %%files -f %{name}.lang
5176e38
%files
5176e38
%doc doc/lgpl-2.1.txt README.fedora
d2f3de2
%{_bindir}/%{name}
d2f3de2
%{_datadir}/%{name}
d2f3de2
%{_datadir}/applications/%{name}.desktop
d2f3de2
%{_datadir}/icons/hicolor/scalable/apps/%{name}-icon.svg
5176e38
%{_mandir}/man6/minetest.*
d2f3de2
d2f3de2
%files server
5176e38
%doc README.txt doc/lgpl-2.1.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}
5176e38
%{_mandir}/man6/minetestserver.*
d2f3de2
d2f3de2
d2f3de2
%changelog
9bb4364
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.3-3
9bb4364
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
9bb4364
Adam Tkac ac095e4
* Mon Jan 21 2013 Adam Tkac <atkac redhat com> - 0.4.3-2
Adam Tkac ac095e4
- rebuild due to "jpeg8-ABI" feature drop
Adam Tkac ac095e4
5176e38
* Tue Nov 13 2012 Tom Callaway <spot@fedoraproject.org> - 0.4.3-1
5176e38
- update to 0.4.3
5176e38
6796586
* Fri Jul 20 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.3.1-11
6796586
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
6796586
db9c3b9
* Fri Apr 13 2012 Jon Ciesla <limburgher@gmail.com> - 0.3.1-10
db9c3b9
- Added hardened build.
db9c3b9
29f6277
* Tue Feb 28 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.3.1-9
29f6277
- Rebuilt for c++ ABI breakage
29f6277
f4286cb
* Sat Jan 14 2012 Aleksandra Bookwar <alpha@bookwar.info> - 0.3.1-8
f4286cb
- Fixed to build with gcc-4.7.0
f4286cb
486e949
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.3.1-7
486e949
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
486e949
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