%define name mongodb %define version %{dynamic_version} %define release %{dynamic_release} Name: %{name} Version: %{version} Release: %{release} Summary: MongoDB client shell and tools License: SSPL URL: http://www.mongodb.org Group: Databases Source0: http://downloads.mongodb.org/src/%{name}-src-r%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: js-devel, readline-devel, boost-devel, pcre-devel BuildRequires: gcc-c++, scons %description MongoDB is built for scalability, performance and high availability, scaling from single server deployments to large, complex multi-site architectures. By leveraging in-memory computing, MongoDB provides high performance for both reads and writes. MongoDB’s native replication and automated failover enable enterprise-grade reliability and operational flexibility. MongoDB is an open-source database used by companies of all sizes, across all industries and for a wide variety of applications. It is an agile database that allows schemas to change quickly as applications evolve, while still providing the functionality developers expect from traditional databases, such as secondary indexes, a full query language and strict consistency. MongoDB has a rich client ecosystem including hadoop integration, officially supported drivers for 10 programming languages and environments, as well as 40 drivers supported by the user community. MongoDB features: * JSON Data Model with Dynamic Schemas * Auto-Sharding for Horizontal Scalability * Built-In Replication for High Availability * Rich Secondary Indexes, including geospatial * TTL indexes * Text Search * Aggregation Framework & Native MapReduce This package contains the mongo shell, import/export tools, and other client utilities. %package server Summary: MongoDB server, sharding server, and support scripts Group: Databases Requires: mongodb %description server MongoDB is built for scalability, performance and high availability, scaling from single server deployments to large, complex multi-site architectures. By leveraging in-memory computing, MongoDB provides high performance for both reads and writes. MongoDB’s native replication and automated failover enable enterprise-grade reliability and operational flexibility. MongoDB is an open-source database used by companies of all sizes, across all industries and for a wide variety of applications. It is an agile database that allows schemas to change quickly as applications evolve, while still providing the functionality developers expect from traditional databases, such as secondary indexes, a full query language and strict consistency. MongoDB has a rich client ecosystem including hadoop integration, officially supported drivers for 10 programming languages and environments, as well as 40 drivers supported by the user community. MongoDB features: * JSON Data Model with Dynamic Schemas * Auto-Sharding for Horizontal Scalability * Built-In Replication for High Availability * Rich Secondary Indexes, including geospatial * TTL indexes * Text Search * Aggregation Framework & Native MapReduce This package contains the MongoDB server software, MongoDB sharded cluster query router, default configuration files, and init.d scripts. %package devel Summary: Headers and libraries for MongoDB development Group: Databases %description devel MongoDB is built for scalability, performance and high availability, scaling from single server deployments to large, complex multi-site architectures. By leveraging in-memory computing, MongoDB provides high performance for both reads and writes. MongoDB’s native replication and automated failover enable enterprise-grade reliability and operational flexibility. MongoDB is an open-source database used by companies of all sizes, across all industries and for a wide variety of applications. It is an agile database that allows schemas to change quickly as applications evolve, while still providing the functionality developers expect from traditional databases, such as secondary indexes, a full query language and strict consistency. MongoDB has a rich client ecosystem including hadoop integration, officially supported drivers for 10 programming languages and environments, as well as 40 drivers supported by the user community. MongoDB features: * JSON Data Model with Dynamic Schemas * Auto-Sharding for Horizontal Scalability * Built-In Replication for High Availability * Rich Secondary Indexes, including geospatial * TTL indexes * Text Search * Aggregation Framework & Native MapReduce This package provides the MongoDB static library and header files needed to develop MongoDB client software. %prep %setup -n %{name}-src-r%{version} %build scons --prefix=$RPM_BUILD_ROOT/usr all # XXX really should have shared library here %install scons --prefix=$RPM_BUILD_ROOT%{_usr} install mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1 cp debian/*.1 $RPM_BUILD_ROOT%{_mandir}/man1/ mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/init.d cp rpm/init.d-mongod $RPM_BUILD_ROOT%{_sysconfdir}/init.d/mongod chmod a+x $RPM_BUILD_ROOT%{_sysconfdir}/init.d/mongod mkdir -p $RPM_BUILD_ROOT%{_sysconfdir} cp rpm/mongod.conf $RPM_BUILD_ROOT%{_sysconfdir}/mongod.conf mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig cp rpm/mongod.sysconfig $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/mongod mkdir -p $RPM_BUILD_ROOT%{_var}/lib/mongo mkdir -p $RPM_BUILD_ROOT%{_var}/log/mongo touch $RPM_BUILD_ROOT%{_var}/log/mongo/mongod.log %clean scons -c rm -rf $RPM_BUILD_ROOT %pre server %{_sbindir}/useradd -M -r -U -d %{_var}/lib/mongo -s /bin/false \ -c mongod mongod > /dev/null 2>&1 %post server if test $1 = 1 then /sbin/chkconfig --add mongod fi %preun server if test $1 = 0 then /sbin/chkconfig --del mongod fi %postun server if test $1 -ge 1 then /sbin/service mongod stop >/dev/null 2>&1 || : fi %files %defattr(-,root,root,-) %doc README %{_bindir}/install_compass %{_bindir}/mongo %{_mandir}/man1/mongo.1* %{_mandir}/man1/mongod.1* %files server %defattr(-,root,root,-) %config(noreplace) %{_sysconfdir}/mongod.conf %{_bindir}/mongod %{_bindir}/mongos %{_mandir}/man1/mongos.1* %{_sysconfdir}/init.d/mongod %{_sysconfdir}/sysconfig/mongod %attr(0755,mongod,mongod) %dir %{_var}/lib/mongo %attr(0755,mongod,mongod) %dir %{_var}/log/mongo %attr(0640,mongod,mongod) %config(noreplace) %verify(not md5 size mtime) %{_var}/log/mongo/mongod.log %files devel %{_includedir}/mongo %{_libdir}/libmongoclient.a #%{_libdir}/libmongotestfiles.a %changelog * Sun Mar 21 2010 Ludovic Bellière - Update mongo.spec for mandriva packaging * Thu Jan 28 2010 Richard M Kreuter - Minor fixes. * Sat Oct 24 2009 Joe Miklojcik - - Wrote mongo.spec.