Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 9 May 2017 15:34:01 +0000 (UTC)
From:      Boris Samorodov <bsam@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r440504 - in head/databases: . mongodb34-rocks mongodb34-rocks/files
Message-ID:  <201705091534.v49FY14N012159@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: bsam
Date: Tue May  9 15:34:01 2017
New Revision: 440504
URL: https://svnweb.freebsd.org/changeset/ports/440504

Log:
  New port: databases/mongodb34-rocks.
  This is a port of a MongoDB database with a RocksDB storage engine.
  
  PR:		210570
  Submitted by:	 Šimun Mikecin <numisemis@yahoo.com>

Added:
  head/databases/mongodb34-rocks/
     - copied from r440431, head/databases/mongodb34/
Modified:
  head/databases/Makefile
  head/databases/mongodb34-rocks/Makefile
  head/databases/mongodb34-rocks/distinfo
  head/databases/mongodb34-rocks/files/mongod.in
  head/databases/mongodb34-rocks/files/patch-rpm_mongod.conf
  head/databases/mongodb34-rocks/files/patch-src_mongo_db_fts_unicode_string.cpp
  head/databases/mongodb34-rocks/pkg-descr
  head/databases/mongodb34-rocks/pkg-plist

Modified: head/databases/Makefile
==============================================================================
--- head/databases/Makefile	Tue May  9 14:23:26 2017	(r440503)
+++ head/databases/Makefile	Tue May  9 15:34:01 2017	(r440504)
@@ -189,6 +189,7 @@
     SUBDIR += mongodb32
     SUBDIR += mongodb32-tools
     SUBDIR += mongodb34
+    SUBDIR += mongodb34-rocks
     SUBDIR += mongodb34-tools
     SUBDIR += mrtg-mysql-load
     SUBDIR += mtools-mongodb

Modified: head/databases/mongodb34-rocks/Makefile
==============================================================================
--- head/databases/mongodb34/Makefile	Mon May  8 13:01:47 2017	(r440431)
+++ head/databases/mongodb34-rocks/Makefile	Tue May  9 15:34:01 2017	(r440504)
@@ -1,18 +1,20 @@
 # $FreeBSD$
 
 PORTNAME=	mongodb
+PORTVERSION=	3.4.4
 DISTVERSIONPREFIX=	r
-DISTVERSION=	3.4.4
-PORTREVISION=	1
 CATEGORIES=	databases net
-MASTER_SITES=	https://fastdl.mongodb.org/src/ \
-		http://fastdl.mongodb.org/src/ \
-		http://download.mongodb.org/src/
-PKGNAMESUFFIX=	${PORTVERSION:R:S/.//}
-DISTNAME=	mongodb-src-${DISTVERSIONPREFIX}${DISTVERSION}
+MASTER_SITES=	https://fastdl.mongodb.org/src/:main \
+		http://fastdl.mongodb.org/src/:main \
+		http://download.mongodb.org/src/:main \
+		https://github.com/mongodb-partners/mongo-rocks/archive/:module
+PKGNAMESUFFIX=	${PORTVERSION:R:S/.//}-rocks
+DISTNAME=	mongodb-src-${DISTVERSIONPREFIX}${PORTVERSION}
+DISTFILES=	mongodb-src-r${PORTVERSION}.tar.gz:main \
+		r${PORTVERSION}.tar.gz:module
 
-MAINTAINER=	eric@camachat.org
-COMMENT=	Distributed document-oriented "NoSQL" database
+MAINTAINER=	numisemis@yahoo.com
+COMMENT=	Distributed document-oriented database with a RocksDB Storage Engine
 
 # mongodb is AGPLv3, C++ driver is APACHE20
 LICENSE=	AGPLv3 APACHE20
@@ -20,7 +22,9 @@ LICENSE_COMB=	multi
 
 LIB_DEPENDS=	libpcre.so:devel/pcre \
 		libsnappy.so:archivers/snappy \
-		libboost_system.so:devel/boost-libs
+		libboost_system.so:devel/boost-libs \
+		librocksdb.so:databases/rocksdb \
+		liblz4.so:archivers/liblz4
 TEST_DEPENDS=	${PYTHON_PKGNAMEPREFIX}yaml>=3.11:devel/py-yaml \
 		${PYTHON_PKGNAMEPREFIX}pymongo>=3.0:databases/pymongo
 
@@ -47,13 +51,14 @@ MAKE_ARGS=	--prefix=${STAGEDIR}${PREFIX}
 		--use-system-boost --use-system-zlib \
 		--cxx-std=14 --libc++ \
 		--runtime-hardening=on \
-    --disable-warnings-as-errors \
-    VERBOSE=on
+		--disable-warnings-as-errors \
+		VERBOSE=on
 
 USERS=	mongodb
 GROUPS=	mongodb
 
-USE_RC_SUBR=	mongod
+USE_RC_SUBR=	mongod \
+		mongos
 
 ALL_TARGET=	core
 TEST_TARGET=	unittests
@@ -66,11 +71,15 @@ USES+=	ssl
 
 .include <bsd.port.pre.mk>
 
+post-patch:
+	@${MKDIR} ${WRKSRC}/src/mongo/db/modules/
+	@${LN} -sf ${WRKDIR}/mongo-rocks-r${PORTVERSION} ${WRKSRC}/src/mongo/db/modules/rocks
+
 post-install:
 .for f in mongo mongod mongoperf mongos
 	${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${f}
 .endfor
-	${CP} ${WRKSRC}/rpm/mongod.conf ${STAGEDIR}${PREFIX}/etc/mongodb.conf.sample
+	${CP} ${WRKSRC}/rpm/mongod.conf ${STAGEDIR}${PREFIX}/etc/mongod.conf.sample
 
 do-test:
 	@cd ${BUILD_WRKSRC} && ${SETENV} ${MAKE_ENV} \

Modified: head/databases/mongodb34-rocks/distinfo
==============================================================================
--- head/databases/mongodb34/distinfo	Mon May  8 13:01:47 2017	(r440431)
+++ head/databases/mongodb34-rocks/distinfo	Tue May  9 15:34:01 2017	(r440504)
@@ -1,3 +1,5 @@
-TIMESTAMP = 1493043221
+TIMESTAMP = 1493235174
 SHA256 (mongodb-src-r3.4.4.tar.gz) = 09e962bf3428474b9790bbd464cb6176817f9da6121c30e096240dbb4d51c9f6
 SIZE (mongodb-src-r3.4.4.tar.gz) = 39867133
+SHA256 (r3.4.4.tar.gz) = ec8ca07013672dad538b0e64c7645fa61ce2f464f8912d412fc89e7649dc3fdc
+SIZE (r3.4.4.tar.gz) = 56756

Modified: head/databases/mongodb34-rocks/files/mongod.in
==============================================================================
--- head/databases/mongodb34/files/mongod.in	Mon May  8 13:01:47 2017	(r440431)
+++ head/databases/mongodb34-rocks/files/mongod.in	Tue May  9 15:34:01 2017	(r440504)
@@ -15,7 +15,7 @@
 # mongod_dbpath (str):   Default to "/var/db/mongodb"
 #                        Base database directory.
 # mongod_flags (str):    Custom additional arguments to be passed to mongod.
-#                        Default to "--logpath ${mongod_dbpath}/mongod.log --logappend".
+#                        Default to "--logpath /var/log/mongodb/mongod.log --logappend".
 # mongod_config (str):	 Default to "%%PREFIX%%/etc/mongodb.conf"
 #                        Path to config file
 #
@@ -30,12 +30,13 @@ load_rc_config $name
 : ${mongod_enable="NO"}
 : ${mongod_limits="NO"}
 : ${mongod_dbpath="/var/db/mongodb"}
-: ${mongod_flags="--logpath ${mongod_dbpath}/mongod.log --logappend"}
+: ${mongod_logpath="/var/log/mongodb"}
+: ${mongod_flags="--logpath ${mongod_logpath}/mongod.log --logappend"}
 : ${mongod_user="mongodb"}
 : ${mongod_group="mongodb"}
-: ${mongod_config="%%PREFIX%%/etc/mongodb.conf"}
+: ${mongod_config="%%PREFIX%%/etc/mongod.conf"}
 
-pidfile="${mongod_dbpath}/mongod.lock"
+pidfile="/var/run/mongodb/mongod.pid"
 command=%%PREFIX%%/bin/${name}
 command_args="--config $mongod_config --dbpath $mongod_dbpath --fork >/dev/null 2>/dev/null"
 start_precmd="${name}_prestart"
@@ -43,12 +44,13 @@ start_precmd="${name}_prestart"
 mongod_create_dbpath()
 {
         mkdir ${mongod_dbpath} >/dev/null 2>/dev/null
-        [ $? -eq 0 ] && chown -R ${mongod_user}:${mongod_group} ${mongod_dbpath}
+        mkdir ${mongod_logpath} >/dev/null 2>/dev/null
+        [ $? -eq 0 ] && chown -R ${mongod_user}:${mongod_group} ${mongod_dbpath} ${mongod_logpath}
 }
 
 mongod_prestart()
 {
-        if [ ! -d ${mongod_dbpath} ]; then
+        if [ ! -d ${mongod_dbpath} -o ! -d ${mongod_logpath} ]; then
                 mongod_create_dbpath || return 1
         fi
         if checkyesno mongod_limits; then

Modified: head/databases/mongodb34-rocks/files/patch-rpm_mongod.conf
==============================================================================
--- head/databases/mongodb34/files/patch-rpm_mongod.conf	Mon May  8 13:01:47 2017	(r440431)
+++ head/databases/mongodb34-rocks/files/patch-rpm_mongod.conf	Tue May  9 15:34:01 2017	(r440504)
@@ -1,17 +1,6 @@
 --- rpm/mongod.conf.orig	2017-04-20 21:43:42 UTC
 +++ rpm/mongod.conf
-@@ -1,4 +1,4 @@
--# mongod.conf
-+# mongodb.conf
- 
- # for documentation of all options, see:
- #   http://docs.mongodb.org/manual/reference/configuration-options/
-@@ -7,11 +7,11 @@
- systemLog:
-   destination: file
-   logAppend: true
--  path: /var/log/mongodb/mongod.log
-+  path: /var/db/mongodb/mongod.log
+@@ -11,7 +11,7 @@ systemLog:
  
  # Where and how to store data.
  storage:
@@ -20,12 +9,3 @@
    journal:
      enabled: true
  #  engine:
-@@ -21,7 +21,7 @@ storage:
- # how the process runs
- processManagement:
-   fork: true  # fork and run in background
--  pidFilePath: /var/run/mongodb/mongod.pid  # location of pidfile
-+  pidFilePath: /var/db/mongodb/mongod.lock  # location of pidfile
- 
- # network interfaces
- net:

Modified: head/databases/mongodb34-rocks/files/patch-src_mongo_db_fts_unicode_string.cpp
==============================================================================
--- head/databases/mongodb34/files/patch-src_mongo_db_fts_unicode_string.cpp	Mon May  8 13:01:47 2017	(r440431)
+++ head/databases/mongodb34-rocks/files/patch-src_mongo_db_fts_unicode_string.cpp	Tue May  9 15:34:01 2017	(r440504)
@@ -1,6 +1,6 @@
 --- src/mongo/db/fts/unicode/string.cpp.orig	2017-04-20 21:43:42 UTC
 +++ src/mongo/db/fts/unicode/string.cpp
-@@ -274,7 +274,7 @@ bool String::substrMatch(const std::string& str,
+@@ -274,7 +274,7 @@ bool String::substrMatch(const std::stri
  
      // Case sensitive and diacritic sensitive.
      return boost::algorithm::boyer_moore_search(

Modified: head/databases/mongodb34-rocks/pkg-descr
==============================================================================
--- head/databases/mongodb34/pkg-descr	Mon May  8 13:01:47 2017	(r440431)
+++ head/databases/mongodb34-rocks/pkg-descr	Tue May  9 15:34:01 2017	(r440504)
@@ -2,4 +2,6 @@ Mongo (from "humongous") is a high-perfo
 schema-free, document-oriented database. A common name in the
 "NOSQL" community.
 
+This port uses a RocksDB Storage Engine as a MongoDB backend.
+
 WWW: http://www.mongodb.org/

Modified: head/databases/mongodb34-rocks/pkg-plist
==============================================================================
--- head/databases/mongodb34/pkg-plist	Mon May  8 13:01:47 2017	(r440431)
+++ head/databases/mongodb34-rocks/pkg-plist	Tue May  9 15:34:01 2017	(r440504)
@@ -1,4 +1,4 @@
-@sample etc/mongodb.conf.sample
+@sample etc/mongod.conf.sample
 bin/mongo
 bin/mongod
 bin/mongoperf



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201705091534.v49FY14N012159>