Files
rpms/fedora/SPECS/mod_tile.spec

128 lines
4.2 KiB
RPMSpec

Name: mod_tile
Version: 0.6.1
Release: 2%{?dist}
Summary: A program to efficiently render and serve map tiles for www.openstreetmap.org map using Apache and Mapnik.
%define geo_user geo
%define daemon_name renderd
License: GPLv2
URL: https://github.com/openstreetmap/mod_tile
Source0: %{name}-%{version}.tar.gz
Source1: 10-tile.conf
Source2: mod_tile.conf
Source3: mod_tile_renderd.service
Source4: mod_tile_tmp_d.conf
BuildRequires: httpd-devel, apr
BuildRequires: mapnik-devel
BuildRequires: libcurl-devel
BuildRequires: iniparser-devel
BuildRequires: sqlite-devel
%description
The rendering is implemented in a multithreaded process
called renderd which opens either a unix or tcp socket
and listens for requests to render tiles. It uses Mapnik
to render tiles using the rendering rules defined in
the configuration file /etc/renderd.conf. Its configuration
also allows to specify the number of rendering
threads.
The render daemon implements a queuing mechanism with multiple
priority levels to provide an as up-to-date viewing experience
given the available rendering resources. The highest priority
is for on the fly rendering of tiles not yet in the tile cache,
two priority levels for re-rendering out of date tiles on the fly
and two background batch rendering queues. The on the fly rendering
queues are limited to a short 32 metatile size to minimize latency.
The size of the main background queue is determined
at compile time, see: render_config.h
%prep
%setup -q -n %{name}-%{version}
%build
./autogen.sh
%configure \
--with-apxs \
--with-libmapnik \
--with-libcurl
%{__make}
%install
%{__make} install DESTDIR=%{buildroot}
%{__make} install-%{name} DESTDIR=%{buildroot}
%{__install} -D %{S:1} %{buildroot}%{_sysconfdir}/httpd/conf.modules.d/10-tile.conf
%{__install} -D %{S:2} %{buildroot}%{_sysconfdir}/httpd/conf.d/mod_tile.conf
%{__install} -D %{S:3} %{buildroot}%{_systemd_util_dir}/system/%{daemon_name}.service
%{__install} -D %{S:4} %{buildroot}%{_sysconfdir}/tmpfiles.d/%{daemon_name}.conf
%{__install} -d %{S:4} %{buildroot}%{_rundir}%{daemon_name}
%{__install} -d %{S:4} %{buildroot}/geodata/mod_tile
%pre
if [ $1 -eq 1 ]; then
getent group %{geo_user} > /dev/null || groupadd -r %{geo_user}
getent passwd %{geo_user} > /dev/null || \
useradd -r -d %{_localstatedir}/lib/nginx -g %{geo_user} \
-s /sbin/nologin -c "Nginx web server" %{geo_user}
exit 0
fi
%post
if [ $1 -eq 1 ]; then
/usr/bin/systemctl reload httpd.service >/dev/null 2>&1 || :
%systemd_post %{daemon_name}.service
fi
%postun
if [ $1 -eq 1 ]; then
/usr/bin/systemctl reload httpd.service >/dev/null 2>&1 || :
fi
%preun
if [ $1 -eq 0 ]; then
%systemd_preun %{daemon_name}.service
fi
%clean
[ "%{buildroot}" != "/" ] && [ -d "%{buildroot}" ] && rm -rf %{buildroot}
[ "%{_builddir}" != "/" ] && [ -d "%{_builddir}" ] && rm -rf %{_builddir}/*
%files
%doc COPYING
%config(noreplace) %{_sysconfdir}/%{daemon_name}.conf
%config %{_sysconfdir}/httpd/conf.modules.d/10-tile.conf
%config(noreplace) %{_sysconfdir}/httpd/conf.d/mod_tile.conf
%config %{_sysconfdir}/tmpfiles.d/%{daemon_name}.conf
%config(noreplace) %{buildroot}%{_sysconfdir}/tmpfiles.d/%{daemon_name}.conf
%{_bindir}/render*
%{_libdir}/httpd/modules/%{name}.so
%{_mandir}/man1/*
%attr(0755, %{geo_user}, %{geo_user}) %dir /geodata/mod_tile
%attr(0775, %{geo_user}, %{geo_user}) %dir %{_rundir}%{daemon_name}
%changelog
* Thu Jan 6 2022 Daniel Steiner <daniel.steiner@dsteiner.ch>
- Add systemd startup config. Add socket dir. Add tmpfiles.d config.
- Create cache directory, which is not default.
* Tue Jan 4 2022 Daniel Steiner <daniel.steiner@dsteiner.ch>
- Update to latest (0.6.1).
* Fri May 21 2020 Daniel Steiner <daniel.steiner@daniel-steiner.org>
- First build on Fedora 34.
* Sat Oct 31 2020 Daniel Steiner <daniel.steiner@daniel-steiner.org>
- First build on Fedora 33.
* Thu Jul 23 2020 Daniel Steiner <daniel.steiner@daniel-steiner.org>
- Patch for duplicated variables definition added, this compiles now on Fedora 32 and gcc 10.
* Sat Nov 9 2019 Daniel Steiner <daniel.steiner@daniel-steiner.org>
- Fix for modules config path.
* Fri Nov 8 2019 Daniel Steiner <daniel.steiner@daniel-steiner.org>
- First build on Fedora 31 httpd-2.4.41.