Commit Graph

34 Commits

Author SHA1 Message Date
e8ac8f15d3 v0.8.1 2025-05-04 11:48:43 -07:00
52e7a10762 Use Mapnik v4.0.0 for Dockerfiles and GitHub Actions (#452) 2024-06-26 16:37:31 -07:00
1309fdc382 Bumped version to 0.8.0 (#448)
In preparation for future release.
2024-06-19 18:42:39 -07:00
13a198d06d Updated Docs/Dockerfiles/GitHub actions after switching CMake to relative install paths (#412) 2024-03-16 14:57:19 -07:00
19facb07eb Add Arch Linux build documentation and Dockerfile (#389)
_Also_:
* Added more tests
* Moved test code & test-related code into `/tests`
* Run Docker build tests in parallel
2024-02-06 16:14:11 -07:00
4e8334ed54 Bumped to version 0.7.0 2023-12-19 20:49:29 -07:00
d8a0f29cfe Add support for building for Mapnik 4 (#305) 2023-03-01 12:03:03 +00:00
28a3d0faa2 Allow for iniparser.h in either iniparser.h or iniparser/iniparser.h 2023-02-19 08:25:15 +00:00
9d34dd8044 Updated Usage to reflect recent change allowing TCP for tools (#273)
* Updated `Usage` to reflect recent change allowing TCP for tools as well as "description" alignment
2022-05-06 16:10:01 +00:00
a14924a999 Logging Improvements
* Using [`GLib Logging Framework`](https://developer.gnome.org/programming-guidelines/stable/logging.html.en) for logging
  * Created new `g_logger` function for logging
    * Outputs to `stdout`/`stderr` only when running in `foreground`
      * `stderr` for `message`, `warning`, `critical` & `error` levels
      * `stdout` for `debug` & `info` levels
        * Use `G_MESSAGES_DEBUG=all` environment to enable `debug` to print
    * Otherwise, output will be to `syslog` or `systemd journal` (when appropriate)
* Standardized usage of `{LOG_PRIORITY}: ` prefix in log messages
  * Only when using `syslog`, otherwise `GLib Logging` will take care of it
* Changed `fprintf(stderr`, `printf` & `perror` calls to `g_logger` calls
  * You might want to check them out closely to make sure I chose the right levels
  * No changes to `logging/output` were made to "`foreground`" programs (I.E. `render_*`)
* Changed `0`,`1` to `no_argument`,`required_argument` in `getopt_long`'s `long_options`
  * Fixed `renderd`'s `foreground` opt (should be `no_argument` [0] rather than `reguired_argument` [1])
* Basic test for `mod_tile` module
* ~~Extended `renderd` log priority onto Mapnik's logger~~
2021-07-28 14:46:50 +00:00
8833bba9a2 Drop internal iniparser 2021-02-15 17:10:43 +01:00
2b0184a23d Remove unnecessay autoconf for boost, icu, cairo and freetype2
mapnik-config now provides the relevant compile flags for us
2015-05-25 22:08:29 +01:00
4c0ab18b69 Check for presence of iniparser.h
When building against the libiniparser installed on the system, also
check for the presence of iniparser.h. This is essential for
distributions like debian splitting headers into a "-dev" package.
2014-08-17 10:25:09 +02:00
d1aaaaaed7 Merge pull request #79 from rbuch703/autoconf-fix
- fixed an autoconf issue that prevented packages compilation on Launchpad
2014-07-09 12:08:35 -06:00
23c8e156fe - fixed an autoconf issue that prevented automatic packages compilation on Launchpad 2014-07-07 15:19:56 +02:00
6600d38a54 Extend autoconf and automake to use an installed libiniparser
This helps systems with newer (and therefore relying on libiniparser) samba versions installed.
2014-05-29 08:56:52 +02:00
273973ed03 Clean up mod_tile directory by moving source files into a common src/ sub directory
also move includes into includes/
2013-08-09 18:46:10 -06:00
f10e357f55 Fix #38 clock_gettime needs -lrt on some systems 2013-08-09 18:42:37 -06:00
cf68607407 Merge pull request #11 from springmeyer/test-framework
add test framework that can be run with 'make test' - refs #10

This still needs some more cleanup to get it working, but as it doesn't effect anything existing, I'll do that post merge.
2013-04-11 21:11:22 -07:00
2238a5f1a1 Fix compile where cairo is installed in a non standard location
Also work around a bug in cairomm flags in Mapnik 2.0 (#787) that has been fixed upstream
a long time ago, but is still present in the ubuntu mapnik packages.
2013-04-10 17:37:41 -06:00
b635598ad0 add test framework that can be run with 'make test' - refs #10 2013-04-10 12:45:49 -07:00
243d713888 Add two more storage backends ro_http_proxy and ro_composite
Both are read only backends, i.e. they can't be used in renderd, but only in mod_tile

ro_http_proxy is a proxy storage backend that retrieves tiles from a remote http tile server

ro_composite is a storage backend that composits two tiles before passing them up.

Although ro_composite can composite tiles from any two storage backends, conceptually it only
works well, if at least one set of tiles are static non updating tiles, as the updating logic
does not allow for requesting rendering updates for both tilesets
2013-03-31 08:14:36 +00:00
a48fb0fe6d Improve configure script a little bit
- automatically find apxs in addition to apxs2. This should make it easier to configure on more systems
- include freetype2.m4. Otherwise ./autogen.sh already fails with missing macro.
- fail if no C++ compiler was found
2013-03-29 06:09:44 +00:00
e8001c859f Add support for pluggable storage backends to mod_tile / renderd
So far, (meta)tiles could only be stored and retrieved from a locally mounted posix filesystem.  Although, the posix
filesystem API is it self a plugable storage layer into which one can mount many different filsystems, from temporary
filesystems to network filesystems, as mod_tile installations scale up to multi-server environments this might not be sufficient and one
may want to use other storage layers.

This patch therefore abstracts all storage calls out into a separate API that can be implemented by various storage backends to fit the needs of different
installations. 

Three storage backends are included in this commit:

- file backend: This is the equivalent of what existed before in mod_tile / renderd. This uses a posix filesystem to store (meta)tiles
- memcached: This stores tiles in a memcached store
- rados: This stores tiles in a rados / ceph cluster

The memcached and rados backends should currently still be considered as experimental

There are also other refactoring and cleanups in this commit
2013-03-23 22:19:30 +00:00
23be0365a9 Revert previous commit as it broke builds under some conditions.
The following errors appeared on Ubuntu builds:

cc1: warning: command line option '-ftemplate-depth=300' is valid for C++/ObjC++ but not for C [enabled by default]
In file included from store.h:9:0,
                 from store.c:21:
render_config.h:6:1: error: expected identifier or '(' before '/' token
render_config.h:15:1: error: stray '#' in program
...

As I don't know why this broke, or how to fix it, I am reverting this patch for now. It also only triggeres after a make distclean
2013-03-02 15:37:30 +00:00
80cd238d06 no need to check for mapnik dependencies, just check for mapnik 2013-02-26 17:53:32 +00:00
d27101ee6f [mod_tile] Add some configure compatibility fixes for solaris 2012-09-15 18:35:50 +00:00
697fcd9d3f [renderd] fixup the previouse daemon_compat.c commit for solaris 2012-09-02 22:16:44 +00:00
3acfc86c6b [renderd] Some operating systems don't have the "daemon" function
Include a compatibility version of the daemon function for these cases
2012-09-02 02:27:01 +00:00
5e92c90ab2 [mod_tile] mod_tile appears to only need icu version 4.2 which is installed in Ubuntu 10.04 2012-01-26 20:20:42 +00:00
48e8aefd61 [mod_tile] make libicu configurable if it is installed in a non-standard place 2012-01-22 19:07:04 +00:00
a408752555 [mod_tile] improve autoconf settings to be more portable
Libraries under Solaris weren't correctly found beforehand
2012-01-22 18:00:15 +00:00
be36f26688 [mod_tile] improve autoconf detection of mapnik libraries
mapnik 0.7 does not have a mapnik-config utility. Use other means to determin flags for mapnik library
2012-01-22 06:26:01 +00:00
070df38706 use autoconf / automake to find libraries and make it more portable 2012-01-15 07:23:52 +00:00