BLOG

Feb 07 2010
Posted by chl @ 8:59pm UTC

I’ve built RPM packages for MongoDB 1.2.2 that are native to RHEL5 / CentOS5 systems. They’re in my Yum repository now. Note that I’ve also built newer packages for the Boost libraries because Mongo likes newer versions than the ones bundled with the distro. Packages are available for i386 as well as x86_64, and there are source packages of course as well. Enjoy.

3 Responses to “MongoDB 1.2.2 for CentOS 5”

  1. [...] systems (which provide structured schemas and powerful queries).This guide uses EPEL-repository and Chris Lea’s Yum Repository where you can find MongoDB RPM packages for CentOS and Red Hat (RHE….Install MongoDB on Fedora, CentOS and Red Hat (RHEL) LinuxChange to root Usersu – ## OR ## sudo [...]

  2. Steve says:

    Are you going to send it up to Fedora/CentOS proper? I could see this being very helpful!

  3. Steve says:

    Updated spec for 1.2.4. If you can get this work into Fedora/EPEL then I’ll be able to submit my pymongo spec.

    ========

    Name: mongo
    Version: 1.2.4
    Release: 1%{?dist}
    Summary: mongo client shell and tools
    License: AGPL 3.0
    URL: http://www.mongodb.org
    Group: Applications/Databases

    Source0: %{name}db-src-r%{version}.tar.gz
    BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
    BuildRequires: js-devel, readline-devel, boost-devel >= 1.35, pcre-devel
    BuildRequires: gcc-c++, scons
    Requires: boost >= 1.35

    %description
    Mongo (from “huMONGOus”) is a schema-free document-oriented database.
    It features dynamic profileable queries, full indexing, replication
    and fail-over support, efficient storage of large binary data objects,
    and auto-sharding.

    This package provides the mongo shell, import/export tools, and other
    client utilities.

    %package server
    Summary: mongo server, sharding server, and support scripts
    Group: Applications/Databases

    %description server
    Mongo (from “huMONGOus”) is a schema-free document-oriented database.

    This package provides the mongo server software, mongo sharding server
    softwware, default configuration files, and init.d scripts.

    %package devel
    Summary: Headers and libraries for mongo development.
    Group: Applications/Databases

    %description devel
    Mongo (from “huMONGOus”) is a schema-free document-oriented database.

    This package provides the mongo static library and header files needed
    to develop mongo client software.

    %prep
    %setup -n %{name}db-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/usr/share/man/man1
    cp debian/*.1 $RPM_BUILD_ROOT/usr/share/man/man1/
    mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d
    cp rpm/init.d-mongod $RPM_BUILD_ROOT/etc/rc.d/init.d/mongod
    chmod a+x $RPM_BUILD_ROOT/etc/rc.d/init.d/mongod
    mkdir -p $RPM_BUILD_ROOT/etc
    cp rpm/mongod.conf $RPM_BUILD_ROOT/etc/mongod.conf
    mkdir -p $RPM_BUILD_ROOT/var/lib/mongo
    mkdir -p $RPM_BUILD_ROOT/var/log
    touch $RPM_BUILD_ROOT/var/log/mongo

    %clean
    scons -c
    rm -rf $RPM_BUILD_ROOT

    %pre server
    #/usr/sbin/useradd -M -o -r -d /var/mongo -s /bin/bash \
    # -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 GNU-AGPL-3.0.txt
    %{_bindir}/mongo
    %{_bindir}/mongodump
    %{_bindir}/mongoexport
    %{_bindir}/mongofiles
    %{_bindir}/mongoimport
    %{_bindir}/mongorestore

    %{_mandir}/man1/mongo.1*
    %{_mandir}/man1/mongodump.1*
    %{_mandir}/man1/mongoexport.1*
    %{_mandir}/man1/mongofiles.1*
    %{_mandir}/man1/mongoimport.1*
    %{_mandir}/man1/mongorestore.1*
    %{_mandir}/man1/mongos.1*

    %files server
    %defattr(-,root,root,-)
    %config(noreplace) /etc/mongod.conf
    %{_bindir}/mongod
    %{_bindir}/mongos
    %{_mandir}/man1/mongod.1*
    %{_mandir}/man1/mongos.1*
    %{_mandir}/man1/mongosniff.1.gz
    /etc/rc.d/init.d/mongod
    #/etc/sysconfig/mongod
    #/etc/rc.d/init.d/mongos
    %attr(0755,root,root) %dir /var/lib/mongo
    %attr(0640,root,root) %config(noreplace) %verify(not md5 size mtime) /var/log/mongo

    %files devel
    /usr/include/mongo
    %{_libdir}/libmongoclient.a
    #%{_libdir}/libmongotestfiles.a

    %changelog
    * Sat Mar 13 2010 Steve ‘Ashcrow’ Milner – 1.2.4-1
    - Upgrade for upstream release.

    * Tue Feb 02 2010 Chris Lea – 1.2.2
    - Depend on boost >= 1.35

    * Thu Jan 28 2010 Chris Lea – 1.2.2
    - Bump to 1.2.2

    * Sat Jan 02 2010 Chris Lea – 1.2.1
    - Bump to 1.2.1

    * Sat Oct 24 2009 Joe Miklojcik -
    - Wrote mongo.spec.

Leave a Reply

3 Comments

chrislea.com is proudly powered by wordpress
entries (rss) and comments (rss).

Switch to our mobile site