Bug 210147

Summary: New port: databases/tile38 In-memory geolocation data store, spatial index, and realtime geofence
Product: Ports & Packages Reporter: Oleg Ginzburg <olevole>
Component: Individual Port(s)Assignee: Dmitry Marakasov <amdmi3>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
new port: databases/tile38
none
adding tile38 user in /usr/ports/UIDs
none
adding tile38 group in /usr/ports/GIDs
none
new port: databases/tile38
none
adding tile38 user in /usr/ports/UIDs
none
new port: databases/tile38 none

Description Oleg Ginzburg 2016-06-08 18:31:33 UTC
Created attachment 171212 [details]
new port: databases/tile38

New port: databases/tile38 In-memory geolocation data store, spatial index, and realtime geofence
Comment 1 Oleg Ginzburg 2016-06-08 18:33:20 UTC
Created attachment 171213 [details]
adding tile38 user in /usr/ports/UIDs

adding tile38 user in /usr/ports/UIDs
Comment 2 Oleg Ginzburg 2016-06-08 18:34:16 UTC
Created attachment 171214 [details]
adding tile38 group in /usr/ports/GIDs

adding tile38 group in /usr/ports/GIDs
Comment 3 Dmitry Marakasov freebsd_committer freebsd_triage 2016-06-09 14:18:16 UTC
Makefile:
- += is not needed for SUB_LIST and PLIST_SUB, just =
- do-build doesn't seem to be needed. Use ALL_TARGET= # empty if `make all` doesn't work
- ${MKDIR} ${STAGEDIR}${PREFIX}/bin - unneeded
- ${CHOWN} ${USERS}:${GROUPS} ${STAGEDIR}${TILE38_DBDIR} ${STAGEDIR}${TILE38_RUNDIR} - unneeded, all ownership changes must be done through plist (as they are)

rc script:
- should use TILE38_DBDIR, TILE38_RUNDIR, TILE38_USER substitutions as long as you let them be overridden and supply in SUB_LIST.
- is tile38_stop needed? rc has it's own routine for killing processes which should work fine as log as pidfile is defined
- is su really needed? daemon has -u argument. May also help to set tile38 user shell to nologin
- command_args which just duplicates ${tile38_flags} looks redundant
Comment 4 Oleg Ginzburg 2016-06-10 06:58:23 UTC
Agreed with you except ALL_TARGET=  - it doesn't work
Comment 5 Oleg Ginzburg 2016-06-10 07:00:24 UTC
Created attachment 171255 [details]
new port: databases/tile38
Comment 6 Oleg Ginzburg 2016-06-10 07:01:13 UTC
Created attachment 171256 [details]
adding tile38 user in /usr/ports/UIDs
Comment 7 Oleg Ginzburg 2016-06-10 07:05:19 UTC
Created attachment 171257 [details]
new port: databases/tile38
Comment 8 commit-hook freebsd_committer freebsd_triage 2016-06-23 23:16:44 UTC
A commit references this bug:

Author: amdmi3
Date: Thu Jun 23 23:16:04 UTC 2016
New revision: 417404
URL: https://svnweb.freebsd.org/changeset/ports/417404

Log:
  - Add databases/tile38

  Tile38 is an open source (MIT licensed), in-memory geolocation data store,
  spatial index, and realtime geofence. It supports a variety of object types
  including lat/lon points, bounding boxes, XYZ tiles, Geohashes, and GeoJSON.

  Features:

      Spatial index with search methods such as NEARBY, WITHIN, and INTERSECTS.
      Realtime geofencing through persistent sockets or webhooks.
      Object types of lat/lon, bbox, Geohash, GeoJSON, QuadKey, and XYZ tile.
      Support for lots of Clients Libraries written in many different langauges.
      Variety of client protocols, including http (curl), websockets, telnet,
          and the Redis RESP.
      Server responses are RESP or JSON.
      Full command line interface.
      Leader / follower replication.
      In-memory database that persists on disk.

  WWW: http://tile38.com/

  PR:		210147
  Submitted by:	olevole@olevole.ru

Changes:
  head/GIDs
  head/UIDs
  head/databases/Makefile
  head/databases/tile38/
  head/databases/tile38/Makefile
  head/databases/tile38/distinfo
  head/databases/tile38/files/
  head/databases/tile38/files/tile38.in
  head/databases/tile38/pkg-descr
  head/databases/tile38/pkg-plist