Skip to content

Commit

Permalink
dev-db/mongodb: [QA] Revert "drop 2.4 series"
Browse files Browse the repository at this point in the history
Revert the removal of last ebuilds satisfying
dev-db/mongodb[sharedclient] as required by sci-chemistry/mongochem.
  • Loading branch information
mgorny committed Jan 1, 2016
1 parent 4300ad9 commit ea24e4c
Show file tree
Hide file tree
Showing 9 changed files with 428 additions and 0 deletions.
2 changes: 2 additions & 0 deletions dev-db/mongodb/Manifest
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
DIST 20140409-mms-monitoring-agent.zip 40122 SHA256 9c4f89cfba10b4604512ab21eb082248104aeabe7e813b852db2b86f47d7ecb2 SHA512 5290a813c407251b5e4def813ce6fe7e09d6c3a1907fd409e326b15b07aed39f7db3a28710ecdaffe2771136c9433253c5d1857c823844a4b75dd38f1d15eefd WHIRLPOOL ce80870e2618f3d9ed80af41b1069ed5bd97af475089564eed1bc111e820c048bc5cbaa03f859349e772fe232f876127e0627c75c135a9b2e196ab13258ed9f1
DIST mongodb-src-r2.4.13.tar.gz 14183056 SHA256 9ad8a3b58457c35b6dd020ca2364ee605e30b839f5475449a229fdcd4115866c SHA512 26256410593f2072e8a8728fbb2665bb98d4c73f3601136e8306d1d6b421421827f66e4073515fea7dfbc0a27f5615cd30f8a85e5980ea3dd46f2f06366946cb WHIRLPOOL 6e64a8ba466da74342f7eabd41b8eb86a3d1cd99c5665e54872642230ec0ed86216c0e533b08d21e0c6b6c20b7d7887a34aad0679ba32523dd3ca0e464190348
DIST mongodb-src-r2.4.14.tar.gz 15120808 SHA256 f5ed949cf7c9669267e6f426f3dc30bf6c0e2d68ba7df9e29f16799e8212e7ce SHA512 6811f27a57a2df07f59215f544948708cd5846237c24df6eb14bf09384db4136d964587d82008ff2b0a4dea94d6869fc1dcf2ccd07e5f285da5012a0a091a74f WHIRLPOOL c89b2f4f1a77523f895b3fa21ec82813a4859391c82e3934952b25ab8602c30ac13b9e6b2a00082bbe7bace32edacdb3270e46ac0f3a8c0ab10ea48b5911e019
DIST mongodb-src-r2.6.11.tar.gz 16461163 SHA256 e1a64a1ef7114f3e8ed3c7acaa4e97ffe30e2b57a1a5f2a40f0018bad3b8d12f SHA512 43b8c5e1ffde2c7f4bead392a95fdb34169419b8296acf04a17894379647c09bbec91be88037ab447da399f03a2c7c54c9d7613df0baa6e9e48e1267327ca937 WHIRLPOOL 083c897f83992c64a89e595058b7695671ca7e9339be2a54d14cf8a200d5063f4a33c320c02e45f5d3bd6367b5acf67a80677c92abba9a92a647d7310a2e6316
DIST mongodb-src-r2.6.8.tar.gz 14545274 SHA256 1997f60d9de17320f22c604d8aa1cbe5f38d877142cd0e9130fe3dae7b311a06 SHA512 6fa69750debb40d0be4d5d057125320d97e882e30c43c664fcb6ec6a9e6a8bff5e63637fc8952a6d898556b2c2ce84254d135387dc0879bf65dbd5e91b8732ef WHIRLPOOL ba87ca07258ad4df90c92bc300da6cc661117a98f254a8ba62ac362a857ecc2462eb9ddf1d929a6e2187853233053e975aa02139f880d736e47e542a9504bd28
DIST mongodb-src-r3.0.5.tar.gz 26332788 SHA256 05b16a7991aa65b1d396a3dc622107fba3216fffa8b9ed0817e76ae95f5f7fdb SHA512 17c66f9501e6517feba069f85bb468a421c45300306977ebfed71e6ce120e2bed64f14698e470c644360e23f40132171d64ac85f0962aa3ba824a48cf228775a WHIRLPOOL 7ed1f2b0daf7cb9ff081e69823e79504b8c99a221c74c2a541d673febacad9e555ef34eb4f2e97effe7e6fddafb81b903ab5a4ac8c4e8951640a0f2c6828ba14
Expand Down
13 changes: 13 additions & 0 deletions dev-db/mongodb/files/mongodb-2.2-r1-fix-boost.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
--- mongodb-src-r2.2.0/SConstruct.old 2012-10-09 12:41:25.000000000 -0400
+++ mongodb-src-r2.2.0/SConstruct 2012-10-09 12:41:41.000000000 -0400
@@ -171,8 +171,8 @@
add_option( "extrapathdyn", "comma separated list of add'l paths (--extrapath /opt/foo/,/foo) dynamic linking" , 1 , True )
add_option( "extralib", "comma separated list of libraries (--extralib js_static,readline" , 1 , True )

-add_option( "boost-compiler", "compiler used for boost (gcc41)" , 1 , True , "boostCompiler" )
-add_option( "boost-version", "boost version for linking(1_38)" , 1 , True , "boostVersion" )
+add_option( "boost-compiler", "compiler used for boost (gcc41)" , 1 , False , "boostCompiler" )
+add_option( "boost-version", "boost version for linking(1_38)" , 1 , False , "boostVersion" )

add_option( "no-glibc-check" , "don't check for new versions of glibc" , 0 , False )

33 changes: 33 additions & 0 deletions dev-db/mongodb/files/mongodb-2.4-fix-sasl.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
--- a/src/mongo/client/sasl_client_session.cpp 2014-10-15 00:40:29.000000000 +0400
+++ b/src/mongo/client/sasl_client_session.cpp 2015-02-07 18:56:02.287762467 +0300
@@ -29,17 +29,26 @@
* doesn't initialize the library for us.
*/

- void* saslOurMalloc(unsigned long sz) {
+// Version 2.1.26 is the first version to use size_t in the allocator signatures
+#if (SASL_VERSION_FULL >= ((2 << 16) | (1 << 8) | 26))
+ typedef size_t SaslAllocSize;
+#else
+ typedef unsigned long SaslAllocSize;
+#endif
+
+ typedef int(*SaslCallbackFn)();
+
+ void* saslOurMalloc(SaslAllocSize sz) {
return ourmalloc(sz);
}

- void* saslOurCalloc(unsigned long count, unsigned long size) {
+ void* saslOurCalloc(SaslAllocSize count, SaslAllocSize size) {
void* ptr = calloc(count, size);
- if (!ptr) printStackAndExit(0);
+ if (!ptr) abort();
return ptr;
}

- void* saslOurRealloc(void* ptr, unsigned long sz) {
+ void* saslOurRealloc(void* ptr, SaslAllocSize sz) {
return ourrealloc(ptr, sz);
}

23 changes: 23 additions & 0 deletions dev-db/mongodb/files/mongodb-2.4.11-fix-scons.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
--- b/SConstruct 2014-09-01 19:12:24.289585592 +0200
+++ a/SConstruct 2014-09-01 19:14:12.550312261 +0200
@@ -704,7 +704,6 @@
# -Winvalid-pch Warn if a precompiled header (see Precompiled Headers) is found in the search path but can't be used.
env.Append( CCFLAGS=["-fPIC",
"-fno-strict-aliasing",
- "-ggdb",
"-pthread",
"-Wall",
"-Wsign-compare",
@@ -719,9 +718,10 @@
env.Append( CCFLAGS=["-fno-builtin-memcmp"] ) # glibc's memcmp is faster than gcc's

env.Append( CPPDEFINES=["_FILE_OFFSET_BITS=64"] )
- env.Append( CXXFLAGS=["-Wnon-virtual-dtor", "-Woverloaded-virtual"] )
+ env.Append( CXXFLAGS=os.environ['CXXFLAGS'] )
+ env.Append( LINKFLAGS=os.environ['LDFLAGS'] )
env.Append( LINKFLAGS=["-fPIC", "-pthread", "-rdynamic"] )
- env.Append( LIBS=[] )
+ env.Append( LIBS=['pcre', 'pcrecpp', 'snappy'] )

#make scons colorgcc friendly
for key in ('HOME', 'TERM'):
14 changes: 14 additions & 0 deletions dev-db/mongodb/files/mongodb.confd
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Mongodb essentials
MONGODB_EXEC="/usr/bin/mongod"
MONGODB_RUN="/var/run/mongodb"
MONGODB_DATA="/var/lib/mongodb"
MONGODB_USER="mongodb"

# Listen to specified IP, comment this to listen to all
MONGODB_IP="127.0.0.1"

# Listen to specified port
MONGODB_PORT="27017"

# Set extra options here, such as disabling the admin web server
MONGODB_OPTIONS="--journal"
40 changes: 40 additions & 0 deletions dev-db/mongodb/files/mongodb.initd-r1
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
#!/sbin/runscript
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

depend() {
use net
}

start() {
checkpath -d -m 0750 -o "${MONGODB_USER}":mongodb "${MONGODB_RUN}"

# Listen to MONGODB_IP if configured
[ -z "${MONGODB_IP}" ] || MONGODB_OPTIONS="--bind_ip ${MONGODB_IP} ${MONGODB_OPTIONS}"

# Baselayout-1 user should use --chuid instead of --user
local USEROPT="--user"
if [ ! -f /etc/init.d/sysfs ]; then
USEROPT="--chuid"
fi

ebegin "Starting ${SVCNAME}"
start-stop-daemon --background --start --make-pidfile \
--pidfile ${MONGODB_RUN:-/var/run/mongodb}/${SVCNAME}.pid \
${USEROPT} ${MONGODB_USER:-mongodb} \
--exec ${MONGODB_EXEC:-/usr/bin/mongod} \
-- \
--port ${MONGODB_PORT:-27017} \
--dbpath ${MONGODB_DATA:-/var/lib/mongodb} \
--unixSocketPrefix ${MONGODB_RUN:-/var/run/mongodb} \
--logappend --logpath /var/log/mongodb/${SVCNAME}.log \
${MONGODB_OPTIONS}
eend $?
}

stop() {
ebegin "Stopping ${SVCNAME}"
start-stop-daemon --stop --pidfile ${MONGODB_RUN:-/var/run/mongodb}/${SVCNAME}.pid
eend $?
}
3 changes: 3 additions & 0 deletions dev-db/mongodb/metadata.xml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@
</longdescription>
<use>
<flag name="mms-agent">Install the MongoDB Monitoring Service agent</flag>
<flag name="sharedclient">build client shared library libmongoclient.so</flag>
<flag name="spidermonkey">Use embedded SpiderMonkey engine
(<pkg>dev-lang/spidermonkey</pkg>) instead of v8</flag>
<flag name="tools">Install the MongoDB tools (mongoimport, mongodump...)
from <pkg>app-admin/mongo-tools</pkg></flag>
</use>
Expand Down
150 changes: 150 additions & 0 deletions dev-db/mongodb/mongodb-2.4.13.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,150 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

EAPI=4
SCONS_MIN_VERSION="1.2.0"
CHECKREQS_DISK_BUILD="2400M"
CHECKREQS_DISK_USR="512M"

inherit eutils flag-o-matic multilib pax-utils scons-utils systemd user versionator check-reqs

MY_P=${PN}-src-r${PV/_rc/-rc}

DESCRIPTION="A high-performance, open source, schema-free document-oriented database"
HOMEPAGE="http://www.mongodb.org"
SRC_URI="http://downloads.mongodb.org/src/${MY_P}.tar.gz
mms-agent? ( https://dev.gentoo.org/~ultrabug/20140409-mms-monitoring-agent.zip )"

LICENSE="AGPL-3 Apache-2.0"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="kerberos mms-agent sharedclient spidermonkey ssl static-libs"

PDEPEND="mms-agent? ( dev-python/pymongo app-arch/unzip )"
RDEPEND="
>=dev-libs/boost-1.50[threads(+)]
dev-libs/libpcre[cxx]
dev-util/google-perftools[-minimal]
net-libs/libpcap
app-arch/snappy
ssl? ( >=dev-libs/openssl-1.0.1c )"
DEPEND="${RDEPEND}
sys-libs/readline
sys-libs/ncurses
kerberos? ( dev-libs/cyrus-sasl[kerberos] )"

S=${WORKDIR}/${MY_P}

pkg_setup() {
enewgroup mongodb
enewuser mongodb -1 -1 /var/lib/${PN} mongodb

scons_opts=" --disable-warnings-as-errors --cc=$(tc-getCC) --cxx=$(tc-getCXX)"
scons_opts+=" --use-system-tcmalloc"
scons_opts+=" --use-system-pcre"
scons_opts+=" --use-system-snappy"
scons_opts+=" --use-system-boost"

if use prefix; then
scons_opts+=" --cpppath=${EPREFIX}/usr/include"
scons_opts+=" --libpath=${EPREFIX}/usr/$(get_libdir)"
fi

if use kerberos; then
scons_opts+=" --use-sasl-client"
fi

if use sharedclient; then
scons_opts+=" --sharedclient"
fi

if use spidermonkey; then
scons_opts+=" --usesm"
else
scons_opts+=" --usev8"
fi

if use ssl; then
scons_opts+=" --ssl"
fi
}

src_prepare() {
epatch "${FILESDIR}/${PN}-2.4.11-fix-scons.patch"
epatch "${FILESDIR}/${PN}-2.2-r1-fix-boost.patch"
epatch "${FILESDIR}/${PN}-2.4-fix-v8-pythonpath.patch"
epatch "${FILESDIR}/${PN}-2.4-fix-sasl.patch"

# bug #462606
sed -i -e "s@\$INSTALL_DIR/lib@\$INSTALL_DIR/$(get_libdir)@g" src/SConscript.client || die

# bug #482576
sed -i -e "/-Werror/d" src/third_party/v8/SConscript || die
}

src_compile() {
escons ${scons_opts} all
}

src_install() {
escons ${scons_opts} --full --nostrip install --prefix="${ED}"/usr

use static-libs || find "${ED}"/usr/ -type f -name "*.a" -delete

if ! use spidermonkey; then
pax-mark m "${ED}"/usr/bin/{mongo,mongod}
fi

for x in /var/{lib,log}/${PN}; do
keepdir "${x}"
fowners mongodb:mongodb "${x}"
done

doman debian/mongo*.1
dodoc README docs/building.md

newinitd "${FILESDIR}/${PN}.initd-r1" ${PN}
newconfd "${FILESDIR}/${PN}.confd" ${PN}
newinitd "${FILESDIR}/${PN/db/s}.initd-r1" ${PN/db/s}
newconfd "${FILESDIR}/${PN/db/s}.confd" ${PN/db/s}
systemd_dounit "${FILESDIR}"/${PN}.service
insinto /etc
doins "${FILESDIR}"/${PN}.conf

insinto /etc/logrotate.d/
newins "${FILESDIR}/${PN}.logrotate" ${PN}

if use mms-agent; then
local MY_PN="mms-agent"
local MY_D="/opt/${MY_PN}"
insinto ${MY_D}
doins "${WORKDIR}/${MY_PN}/"*
fowners -R mongodb:mongodb ${MY_D}
newinitd "${FILESDIR}/${MY_PN}.initd-r1" ${MY_PN}
fi
}

pkg_preinst() {
# wrt bug #461466
if [[ "$(get_libdir)" == "lib64" ]]; then
rmdir "${ED}"/usr/lib/ &>/dev/null
fi
}

src_test() {
escons ${scons_opts} test
"${S}"/test --dbpath=unittest || die
}

pkg_postinst() {
if [[ ${REPLACING_VERSIONS} < 2.4 ]]; then
ewarn "You just upgraded from a previous version of mongodb !"
ewarn "Make sure you run 'mongod --upgrade' before using this version."
fi
elog "Journaling is now enabled by default, see /etc/conf.d/${PN}"
if use mms-agent; then
elog "You have to configure MMS Agent yourself :"
elog "Edit the settings.py file in the /opt/mms-agent/ folder."
fi
}
Loading

0 comments on commit ea24e4c

Please sign in to comment.