Blame SPECS/mongodb.spec

28a3cc
%global _hardened_build 1
28a3cc
# for better compatibility with SCL spec file
28a3cc
%{?scl:%scl_package mongodb}
28a3cc
%{!?scl:%global pkg_name %{name}}
28a3cc
# mongod daemon
28a3cc
%global daemon mongod
28a3cc
# mongos daemon
28a3cc
%global daemonshard mongos
28a3cc
28a3cc
# Arches officially supported by MongoDB upstream
28a3cc
%global upstream_arches x86_64 ppc64le aarch64 s390x
28a3cc
# Working storage engines - used for testing
28a3cc
%ifarch s390x ppc64
28a3cc
  %global storageEngines wiredTiger
28a3cc
%else
28a3cc
  %global storageEngines wiredTiger mmapv1
28a3cc
%endif
28a3cc
# MozJS version
28a3cc
%global mozjsVersion 45
28a3cc
28a3cc
# Regression tests may take a long time (many cores recommended), skip them by
28a3cc
# passing --nocheck to rpmbuild or by setting runselftest to 0 if defining
28a3cc
# --nocheck is not possible (e.g. in koji build)
28a3cc
%{!?runselftest:%global runselftest 1}
28a3cc
# To disable unit testing (need to be built -> it slows build)
28a3cc
# ('runselftest' has to be enabled)
28a3cc
%{!?rununittests:%global rununittests 0}
28a3cc
# Do we want to package install_tests
28a3cc
%bcond_without install_tests
28a3cc
# Do we want to package install_unit_tests
28a3cc
# ('rununittests' is needed)
28a3cc
%bcond_with install_unit_tests
28a3cc
28a3cc
%global MONGO_DISTNAME mongo-r%{version}
28a3cc
28a3cc
# Python SCL (to run scons with python3; test subpackage)
28a3cc
%global scl_python rh-python36
28a3cc
%global scl_python_prefix %{scl_python}-
28a3cc
28a3cc
%global devtoolset devtoolset-7
28a3cc
%global devtoolset_prefix %{devtoolset}-
28a3cc
28a3cc
# Convert SCL name into uppercase including - to _ conversion
28a3cc
%if 0%{?scl:1}
28a3cc
%global scl_upper %{lua:print(string.upper(string.gsub(rpm.expand("%{scl}"), "-", "_")))}
28a3cc
%global buildscls %{scl} %{devtoolset} %{scl_python}
28a3cc
%endif
28a3cc
28a3cc
Name:           %{?scl_prefix}mongodb
28a3cc
Version:        3.6.3
28a3cc
Release:        2%{?dist}
28a3cc
Summary:        High-performance, schema-free document-oriented database
28a3cc
Group:          Applications/Databases
28a3cc
License:        AGPLv3 and zlib and ASL 2.0
28a3cc
# util/md5 is under the zlib license
28a3cc
# manpages and bson are under ASL 2.0
28a3cc
# everything else is AGPLv3
28a3cc
URL:            http://www.mongodb.org
28a3cc
28a3cc
Source0:        https://github.com/mongodb/mongo/archive/r%{version}.tar.gz
28a3cc
Source1:        %{pkg_name}-tmpfile
28a3cc
Source2:        %{pkg_name}.logrotate
28a3cc
Source3:        %{daemon}.conf
28a3cc
Source4:        %{daemon}.init
28a3cc
Source5:        %{daemon}.service
28a3cc
Source6:        %{daemon}.sysconf
28a3cc
Source7:        %{daemonshard}.conf
28a3cc
Source8:        %{daemonshard}.init
28a3cc
Source9:        %{daemonshard}.service
28a3cc
Source10:       %{daemonshard}.sysconf
28a3cc
Source11:       README
28a3cc
Source12:       daemon-scl-helper.sh
28a3cc
28a3cc
# Convert build scripts and testsuite to support python3
28a3cc
# https://jira.mongodb.org/browse/SERVER-32295
28a3cc
Patch1:         python3-buildscripts-tests.patch
28a3cc
28a3cc
# Few tests fail because of error in altivec implementation of ByteVector
28a3cc
# https://jira.mongodb.org/browse/SERVER-33395
28a3cc
Patch2:         ppc64le-disable-altivec.patch
28a3cc
28a3cc
28a3cc
BuildRequires:  %{?devtoolset_prefix}gcc-c++ >= 5.3.0
28a3cc
BuildRequires:  %{?scl_prefix}boost-devel >= 1.56
28a3cc
# Provides tcmalloc
28a3cc
BuildRequires:  %{?scl_prefix}gperftools-devel
28a3cc
BuildRequires:  libpcap-devel
28a3cc
BuildRequires:  %{?scl_prefix}libstemmer-devel
28a3cc
BuildRequires:  openssl-devel
28a3cc
BuildRequires:  pcre-devel
28a3cc
BuildRequires:  scons
28a3cc
BuildRequires:  snappy-devel
28a3cc
BuildRequires:  %{?scl_prefix}yaml-cpp-devel
28a3cc
BuildRequires:  zlib-devel
28a3cc
BuildRequires:  valgrind-devel
28a3cc
%if 0%{?fedora} >= 15 || 0%{?rhel} >= 7
28a3cc
BuildRequires:  systemd
28a3cc
%endif
28a3cc
BuildRequires:  %{?scl_python_prefix}python-devel
28a3cc
BuildRequires:  %{?scl_python_prefix}python-yaml
28a3cc
BuildRequires:  %{?scl_prefix}python-requests
28a3cc
# Required by test suite
28a3cc
%if %runselftest
28a3cc
BuildRequires:  %{?scl_python_prefix}python-pymongo
28a3cc
%endif
28a3cc
BuildRequires:  %{?scl_prefix}python-cheetah
28a3cc
28a3cc
%{?scl:Requires:%scl_runtime}
28a3cc
28a3cc
# Mongodb must run on a 64-bit CPU (see bug #630898)
28a3cc
ExcludeArch:    ppc %{sparc} s390
28a3cc
28a3cc
%description
28a3cc
Mongo (from "humongous") is a high-performance, open source, schema-free
28a3cc
document-oriented database. MongoDB is written in C++ and offers the following
28a3cc
features:
28a3cc
    * Collection oriented storage: easy storage of object/JSON-style data
28a3cc
    * Dynamic queries
28a3cc
    * Full index support, including on inner objects and embedded arrays
28a3cc
    * Query profiling
28a3cc
    * Replication and fail-over support
28a3cc
    * Efficient storage of binary data including large objects (e.g. photos
28a3cc
    and videos)
28a3cc
    * Auto-sharding for cloud-level scalability (currently in early alpha)
28a3cc
    * Commercial Support Available
28a3cc
28a3cc
A key goal of MongoDB is to bridge the gap between key/value stores (which are
28a3cc
fast and highly scalable) and traditional RDBMS systems (which are deep in
28a3cc
functionality).
28a3cc
28a3cc
28a3cc
%package server
28a3cc
Summary:        MongoDB server, sharding server and support scripts
28a3cc
Group:          Applications/Databases
28a3cc
Requires(pre):  shadow-utils
28a3cc
%if 0%{?fedora} >= 15 || 0%{?rhel} >= 7
28a3cc
Requires(post): systemd-units
28a3cc
Requires(preun): systemd-units
28a3cc
Requires(postun): systemd-units
28a3cc
%else
28a3cc
Requires(post): chkconfig
28a3cc
Requires(preun): chkconfig
28a3cc
Requires(postun): initscripts
28a3cc
%endif
28a3cc
28a3cc
# Same upstream - wiredtiger is primarilly developed for MongoDB
28a3cc
Provides: bundled(wiredtiger) = %{version}
28a3cc
# MongoDB bundles development release of asio 1.11
28a3cc
# This is not in Fedora yet (only asio-1.10)
28a3cc
Provides: bundled(asio) = 1.11.0
28a3cc
# MongoDB stores version of icu into database (if using collators)
28a3cc
# - mongod with using different icu version can't cooperate
28a3cc
Provides: bundled(icu) = 57.1
28a3cc
# https://software.intel.com/en-us/articles/intel-decimal-floating-point-math-library
28a3cc
Provides: bundled(IntelRDFPMathLib) = 20U1
28a3cc
# https://github.com/derickr/timelib
28a3cc
Provides: bundled(timelib) = 2017.05beta10
28a3cc
%ifarch %{upstream_arches}
28a3cc
# MongoDB does provides mozjs customization to recover from OOM
28a3cc
Provides: bundled(mozjs45) = 45.5.0
28a3cc
%endif
28a3cc
28a3cc
%{?scl:Requires:%scl_runtime}
28a3cc
28a3cc
%description server
28a3cc
This package provides the mongo server software, mongo sharding server
28a3cc
software, default configuration files, and init scripts.
28a3cc
28a3cc
28a3cc
%if %{with install_tests}
28a3cc
%package test
28a3cc
Summary:          MongoDB test suite
28a3cc
Group:            Applications/Databases
28a3cc
Requires:         %{name}%{?_isa} = %{version}-%{release}
28a3cc
Requires:         %{name}-server%{?_isa} = %{version}-%{release}
28a3cc
Requires:         %{?scl_python_prefix}python-pymongo
28a3cc
Requires:         %{?scl_python_prefix}python-yaml
28a3cc
Requires:         %{?scl_prefix}python-requests
28a3cc
28a3cc
%{?scl:Requires:%scl_runtime}
28a3cc
28a3cc
%description test
28a3cc
This package contains the regression test suite distributed with
28a3cc
the MongoDB sources.
28a3cc
%endif
28a3cc
28a3cc
# syspath subpackages
28a3cc
%if 0%{?scl:1}
28a3cc
%scl_syspaths_package server -d
28a3cc
%scl_syspaths_package -d
28a3cc
%endif
28a3cc
28a3cc
%prep
28a3cc
%setup -q -n %{MONGO_DISTNAME}
28a3cc
28a3cc
%patch1 -p1
28a3cc
%patch2 -p1
28a3cc
28a3cc
# CRLF -> LF
28a3cc
sed -i 's/\r//' README
28a3cc
28a3cc
# Disable optimization for s2 library
28a3cc
# https://jira.mongodb.org/browse/SERVER-17511
28a3cc
sed -i -r "s|(env.Append\(CCFLAGS=\['-DDEBUG_MODE=false')(\]\))|\1,'-O0'\2|"  src/third_party/s2/SConscript
28a3cc
28a3cc
#TODO - removed unused bundles
28a3cc
# Use system versions of header files (bundled does not differ)
28a3cc
sed -i -r "s|third_party/libstemmer_c/include/libstemmer.h|libstemmer.h|" src/mongo/db/fts/stemmer.h
28a3cc
sed -i -r "s|third_party/yaml-cpp-0.5.1/include/yaml-cpp/yaml.h|yaml-cpp/yaml.h|" src/mongo/util/options_parser/options_parser.cpp
28a3cc
28a3cc
# by default use system mongod, mongos and mongo binaries in resmoke.py
28a3cc
sed -i -r "s|os.curdir(, \"mongo\")|\"%{_bindir}\"\1|"   buildscripts/resmokelib/config.py
28a3cc
sed -i -r "s|os.curdir(, \"mongod\")|\"%{_bindir}\"\1|"   buildscripts/resmokelib/config.py
28a3cc
sed -i -r "s|os.curdir(, \"mongos\")|\"%{_bindir}\"\1|"   buildscripts/resmokelib/config.py
28a3cc
# set default data prefix in resmoke.py
28a3cc
sed -i -r "s|/data/db|%{_datadir}/%{pkg_name}-test/var|"   buildscripts/resmokelib/config.py
28a3cc
28a3cc
sed -i -r "s|env python|env python3|" buildscripts/resmoke.py
28a3cc
28a3cc
# set default storage engine for non 64-bit arches - RHBZ#1303846
28a3cc
%ifnarch %{upstream_arches} ppc64
28a3cc
sed -i 's|engine = "wiredTiger"|engine = "mmapv1"|' src/mongo/db/storage/storage_options.h
28a3cc
%endif
28a3cc
28a3cc
# copy them (we will change their content)
28a3cc
cp %{SOURCE1} %{SOURCE2} %{SOURCE3} %{SOURCE4} %{SOURCE5} \
28a3cc
  %{SOURCE6} %{SOURCE7} %{SOURCE8} %{SOURCE9} %{SOURCE10} %{SOURCE11} ./
28a3cc
28a3cc
for f in %{SOURCE4} %{SOURCE8}; do
28a3cc
  sed -i -r -e "s|/usr/bin|%{_bindir}|g" \
28a3cc
    -e "s|/var(/run/mongodb)|%{_localstatedir}\1|g" \
28a3cc
    -e "s|/var(/log/mongodb)|%{_localstatedir}\1|g" \
28a3cc
    -e "s|/etc(/mongo[ds]\.conf)|%{_sysconfdir}\1|g" \
28a3cc
    -e "s|/etc(/sysconfig)|%{_sysconfdir}\1|g" \
28a3cc
    -e "s|/var(/lock)|%{_localstatedir}\1|g" \
28a3cc
    -e "s|__SCL_SCRIPTS__|%{?_scl_scripts}|g" \
28a3cc
    -e "s|__list of scls__|\$%{scl_upper}_SCLS_ENABLED|g" \
28a3cc
      "$(basename "$f")"
28a3cc
done
28a3cc
28a3cc
sed -i -r -e "s|/var(/log/mongodb)|%{_localstatedir}\1|g" \
28a3cc
  -e "s|/var(/run/mongodb)|%{_localstatedir}\1|g" \
28a3cc
  "$(basename %{SOURCE2})"
28a3cc
28a3cc
for f in %{SOURCE3} %{SOURCE7}; do
28a3cc
  sed -i -r -e "s|/var/lib(/mongodb)|%{_sharedstatedir}\1|g" \
28a3cc
    -e "s|/var(/run/mongodb)|%{_localstatedir}\1|g" \
28a3cc
    -e "s|/var(/log/mongodb)|%{_localstatedir}\1|g" \
28a3cc
    "$(basename "$f")"
28a3cc
done
28a3cc
28a3cc
for f in %{SOURCE6} %{SOURCE10}; do
28a3cc
  sed -i -r -e "s|/etc(/mongo[ds]\.conf)|%{_sysconfdir}\1|g" \
28a3cc
    "$(basename "$f")"
28a3cc
done
28a3cc
28a3cc
sed -i -r -e "s|(/run/mongodb)|%{_localstatedir}\1|g" \
28a3cc
  "$(basename %{SOURCE1})"
28a3cc
28a3cc
for f in %{SOURCE5} %{SOURCE9}; do
28a3cc
  #FIXME check if the _SCLS_ENABLED var isn't empty!
28a3cc
  sed -i -r -e "s|/var(/run/mongodb)|%{_localstatedir}\1|g" \
28a3cc
    -e "s|/etc(/sysconfig)|%{_sysconfdir}\1|g" \
28a3cc
    -e "s|/usr/bin(/mongo[ds])|%{_bindir}\1|g" \
28a3cc
    -e "s|__SCL_SCRIPTS__|%{?_scl_scripts}|g" \
28a3cc
    -e "s|__list of scls__|\$%{scl_upper}_SCLS_ENABLED|g" \
28a3cc
    -e "s|@libexecdir@|%{_libexecdir}|" \
28a3cc
      "$(basename "$f")"
28a3cc
done
28a3cc
28a3cc
sed -i -r -e "s|(/usr/share)|%{_datarootdir}|g" \
28a3cc
  "$(basename %{SOURCE11})"
28a3cc
28a3cc
28a3cc
%build
28a3cc
export LANG="en_US.UTF-8"
28a3cc
%{?scl:scl enable %{buildscls} - << "SCLEOF"}
28a3cc
set -ex
28a3cc
# Prepare variables for building
28a3cc
cat > variables.list << EOF
28a3cc
CCFLAGS="%{?optflags} -fvisibility=hidden"
28a3cc
LINKFLAGS="%{?__global_ldflags} -Wl,-z,noexecstack -Wl,--reduce-memory-overheads,--no-keep-memory"
28a3cc
VERBOSE=1
28a3cc
MONGO_VERSION="%{version}"
28a3cc
VARIANT_DIR="rhscl"
28a3cc
ENV=$(python -c 'import os; print(dict(os.environ))')
28a3cc
28a3cc
%ifarch aarch64
28a3cc
# Needed for CRC32 instructions in third_party/wiredtiger/src/checksum/arm64/crc32-arm64.c
28a3cc
CCFLAGS+=" -march=armv8-a+crc"
28a3cc
%endif
28a3cc
EOF
28a3cc
cat variables.list
28a3cc
28a3cc
# Define build options
28a3cc
cat > build-options << EOF
28a3cc
 %{?_smp_mflags} \
28a3cc
 --use-system-pcre \
28a3cc
 --use-system-boost \
28a3cc
 --use-system-snappy \
28a3cc
 --use-system-valgrind \
28a3cc
 --use-system-zlib \
28a3cc
 --use-system-stemmer \
28a3cc
 --use-system-tcmalloc \
28a3cc
 --use-system-yaml \
28a3cc
%ifarch s390x ppc64
28a3cc
 --mmapv1=off
28a3cc
%else
28a3cc
 --mmapv1=on \
28a3cc
%endif
28a3cc
 --wiredtiger=on \
28a3cc
%ifarch s390x
28a3cc
 --use-s390x-crc32=off \
28a3cc
%endif
28a3cc
 --ssl \
28a3cc
 --nostrip \
28a3cc
 --disable-warnings-as-errors \
28a3cc
 --variables-files=variables.list
28a3cc
EOF
28a3cc
# --use-system-asio \
28a3cc
28a3cc
cat > build-target << EOF
28a3cc
core tools \
28a3cc
%if 0%{rununittests}
28a3cc
unittests \
28a3cc
%endif
28a3cc
28a3cc
EOF
28a3cc
28a3cc
# see output of "scons --help" for options
28a3cc
#scons --debug=memory --debug=count all $(cat build-options) || (df -h; cat /proc/meminfo; exit 1)
28a3cc
scons $(cat build-target) $(cat build-options)
28a3cc
%{?scl:SCLEOF}
28a3cc
28a3cc
28a3cc
%install
28a3cc
install -p -D -m 755 mongod %{buildroot}%{_bindir}/mongod
28a3cc
install -p -D -m 755 mongos %{buildroot}%{_bindir}/mongos
28a3cc
install -p -D -m 755 mongo %{buildroot}%{_bindir}/mongo
28a3cc
install -p -D -m 755 build/*/mongo/mongoperf %{buildroot}%{_bindir}/mongoperf
28a3cc
install -p -D -m 755 build/*/mongo/tools/mongobridge %{buildroot}%{_bindir}/mongobridge
28a3cc
28a3cc
# Compass isn't open sourced, so not in Fedora
28a3cc
#rm %{buildroot}%{_bindir}/install_compass
28a3cc
28a3cc
mkdir -p %{buildroot}%{_sharedstatedir}/%{pkg_name}
28a3cc
mkdir -p %{buildroot}%{_localstatedir}/log/%{pkg_name}
28a3cc
mkdir -p %{buildroot}%{_localstatedir}/run/%{pkg_name}
28a3cc
mkdir -p %{buildroot}%{_sysconfdir}/sysconfig
28a3cc
28a3cc
%if 0%{?fedora} >= 15 || 0%{?rhel} >= 7
28a3cc
install -p -D -m 644 "$(basename %{SOURCE1})"  %{buildroot}%{_tmpfilesdir}/%{?scl_prefix}%{pkg_name}.conf
28a3cc
install -p -D -m 644 "$(basename %{SOURCE5})"  %{buildroot}%{_unitdir}/%{?scl_prefix}%{daemon}.service
28a3cc
install -p -D -m 644 "$(basename %{SOURCE9})"  %{buildroot}%{_unitdir}/%{?scl_prefix}%{daemonshard}.service
28a3cc
28a3cc
mkdir -p %{buildroot}%{_libexecdir}
28a3cc
install -p -m 755     %{SOURCE12}              %{buildroot}%{_libexecdir}/mongodb-scl-helper
28a3cc
%else
28a3cc
install -p -D -m 755 "$(basename %{SOURCE4})"  %{buildroot}%{_initddir}/%{?scl_prefix}%{daemon}
28a3cc
install -p -D -m 755 "$(basename %{SOURCE8})"  %{buildroot}%{_initddir}/%{?scl_prefix}%{daemonshard}
28a3cc
%endif
28a3cc
install -p -D -m 644 "$(basename %{SOURCE2})"  %{buildroot}%{?scl:%_root_sysconfdir}%{!?scl:%_sysconfdir}/logrotate.d/%{?scl_prefix}%{pkg_name}
28a3cc
install -p -D -m 644 "$(basename %{SOURCE3})"  %{buildroot}%{_sysconfdir}/%{daemon}.conf
28a3cc
install -p -D -m 644 "$(basename %{SOURCE7})"  %{buildroot}%{_sysconfdir}/%{daemonshard}.conf
28a3cc
install -p -D -m 644 "$(basename %{SOURCE6})"  %{buildroot}%{_sysconfdir}/sysconfig/%{daemon}
28a3cc
install -p -D -m 644 "$(basename %{SOURCE10})" %{buildroot}%{_sysconfdir}/sysconfig/%{daemonshard}
28a3cc
# Enable WiredTiger for 64-bit architectures by default
28a3cc
%ifarch %{upstream_arches} ppc64
28a3cc
sed -i -r "s|(engine: )mmapv1|\1wiredTiger|" %{buildroot}%{_sysconfdir}/%{daemon}.conf
28a3cc
%endif
28a3cc
28a3cc
#TODO - create man page for mongobridge
28a3cc
install -d -m 755                     %{buildroot}%{_mandir}/man1
28a3cc
install -p -m 644 debian/mongo.1      %{buildroot}%{_mandir}/man1/
28a3cc
install -p -m 644 debian/mongoperf.1  %{buildroot}%{_mandir}/man1/
28a3cc
install -p -m 644 debian/mongod.1     %{buildroot}%{_mandir}/man1/
28a3cc
install -p -m 644 debian/mongos.1     %{buildroot}%{_mandir}/man1/
28a3cc
28a3cc
%if %{with install_tests}
28a3cc
mkdir -p %{buildroot}%{_datadir}/%{pkg_name}-test
28a3cc
mkdir -p %{buildroot}%{_datadir}/%{pkg_name}-test/var
28a3cc
mkdir -p %{buildroot}%{_datadir}/%{pkg_name}-test/buildscripts
28a3cc
install -p -D -m 755 buildscripts/resmoke.py   %{buildroot}%{_datadir}/%{pkg_name}-test/
28a3cc
install -p -D -m 444 buildscripts/__init__.py  %{buildroot}%{_datadir}/%{pkg_name}-test/buildscripts/
28a3cc
28a3cc
cp -R     buildscripts/resmokeconfig     %{buildroot}%{_datadir}/%{pkg_name}-test/buildscripts/
28a3cc
cp -R     buildscripts/resmokelib        %{buildroot}%{_datadir}/%{pkg_name}-test/buildscripts/
28a3cc
cp -R     jstests                        %{buildroot}%{_datadir}/%{pkg_name}-test/
28a3cc
# Remove executable flag from JS tests
28a3cc
for file in `find %{buildroot}%{_datadir}/%{pkg_name}-test/jstests -type f`; do
28a3cc
  chmod a-x $file
28a3cc
done
28a3cc
28a3cc
install -p -D -m 444    "$(basename %{SOURCE11})"           %{buildroot}%{_datadir}/%{pkg_name}-test/
28a3cc
%endif
28a3cc
%if %{with install_unit_tests}
28a3cc
mkdir -p %{buildroot}%{_datadir}/%{pkg_name}-test/unittests
28a3cc
while read unittest
28a3cc
do
28a3cc
    install -p -D $unittest %{buildroot}%{_datadir}/%{pkg_name}-test/unittests/
28a3cc
done < ./build/unittests.txt
28a3cc
%endif
28a3cc
28a3cc
# syspath subpackages
28a3cc
%if 0%{?scl:1}
28a3cc
server_binaries='mongod mongos'
28a3cc
binaries='mongo mongoperf'
28a3cc
binaries_no_man='mongobridge'
28a3cc
for pkg in '' server; do
28a3cc
       mans= sep= pkg_name=mongodb${pkg:+-$pkg}
28a3cc
       eval "list=\$${pkg:+${pkg}_}binaries"
28a3cc
       for bin in $list; do mans+="${sep}man1/$bin.1.gz" ; sep=' '; done
28a3cc
       %scl_syspaths_install_wrappers -n $pkg_name -m script -p bin $list
28a3cc
       %scl_syspaths_install_wrappers -n $pkg_name -m link -p man $mans
28a3cc
done
28a3cc
%scl_syspaths_install_wrappers -n mongodb-server -m script -p bin $binaries_no_man
28a3cc
28a3cc
%scl_syspaths_install_wrapper -n mongodb-server -m link %{_sysconfdir}/%{daemon}.conf %{_root_sysconfdir}/%{scl_prefix}%{daemon}.conf
28a3cc
%scl_syspaths_install_wrapper -n mongodb-server -m link %{_sysconfdir}/%{daemonshard}.conf %{_root_sysconfdir}/%{scl_prefix}%{daemonshard}.conf
28a3cc
28a3cc
%scl_syspaths_install_wrapper -n mongodb-server -m link %{_localstatedir}/log/%{pkg_name} %{_root_localstatedir}/log/%{name}
28a3cc
%scl_syspaths_install_wrapper -n mongodb-server -m link %{_sharedstatedir}/%{pkg_name} %{_root_localstatedir}/lib/%{name}
28a3cc
28a3cc
%if 0%{?fedora} >= 15 || 0%{?rhel} >= 7
28a3cc
%scl_syspaths_install_wrapper -n mongodb-server -m link %{_unitdir}/%{?scl_prefix}%{daemon}.service %{_unitdir}/%{daemon}.service
28a3cc
%scl_syspaths_install_wrapper -n mongodb-server -m link %{_unitdir}/%{?scl_prefix}%{daemonshard}.service %{_unitdir}/%{daemonshard}.service
28a3cc
%else
28a3cc
%scl_syspaths_install_wrapper -n mongodb-server -m link %{_initddir}/%{?scl_prefix}%{daemon} %{_initddir}/%{daemon}
28a3cc
%scl_syspaths_install_wrapper -n mongodb-server -m link %{_initddir}/%{?scl_prefix}%{daemonshard} %{_initddir}/%{daemonshard}
28a3cc
%endif
28a3cc
%endif
28a3cc
28a3cc
28a3cc
%check
28a3cc
export LANG="en_US.UTF-8"
28a3cc
%if %runselftest
28a3cc
%{?scl:scl enable %{buildscls} - << "SCLEOF"}
28a3cc
set -ex
28a3cc
# More info about testing:
28a3cc
# http://www.mongodb.org/about/contributors/tutorial/test-the-mongodb-server/
28a3cc
cd %{_builddir}/%{MONGO_DISTNAME}
28a3cc
mkdir ./var
28a3cc
28a3cc
# Run old-style heavy unit tests (dbtest binary)
28a3cc
#mkdir ./var/dbtest
28a3cc
#./dbtest --dbpath `pwd`/var/dbtest
28a3cc
28a3cc
%if 0%{rununittests}
28a3cc
#TODO - failed on x86_64 and aarch64
28a3cc
sed -i "/session_catalog_migration_destination_test/d" build/unittests.txt
28a3cc
sed -i "/connection_string_test/d" build/unittests.txt
28a3cc
sed -i "/dns_query_test/d" build/unittests.txt
28a3cc
sed -i "/mongo_uri_test/d" build/unittests.txt
28a3cc
28a3cc
# Run new-style unit tests (*_test files)
28a3cc
./buildscripts/resmoke.py --dbpathPrefix `pwd`/var --continueOnFailure --mongo=%{buildroot}%{_bindir}/mongo --mongod=%{buildroot}%{_bindir}/%{daemon} --mongos=%{buildroot}%{_bindir}/%{daemonshard} --nopreallocj --suites unittests
28a3cc
%endif
28a3cc
28a3cc
%ifarch ppc64le
28a3cc
rm -f jstests/core/shelltypes.js
28a3cc
%endif
28a3cc
28a3cc
for engine in %{storageEngines}; do
28a3cc
  # Run JavaScript integration tests
28a3cc
  ./buildscripts/resmoke.py --dbpathPrefix `pwd`/var --continueOnFailure --mongo=%{buildroot}%{_bindir}/mongo --mongod=%{buildroot}%{_bindir}/%{daemon} --mongos=%{buildroot}%{_bindir}/%{daemonshard} --nopreallocj --suites core --storageEngine=$engine
28a3cc
done
28a3cc
28a3cc
rm -Rf ./var
28a3cc
%{?scl:SCLEOF}
28a3cc
%endif
28a3cc
28a3cc
%post -p /sbin/ldconfig
28a3cc
28a3cc
28a3cc
%postun -p /sbin/ldconfig
28a3cc
28a3cc
28a3cc
%pre server
28a3cc
getent group  %{pkg_name} >/dev/null || groupadd -f -g 184 -r %{pkg_name}
28a3cc
if ! getent passwd %{pkg_name} >/dev/null ; then
28a3cc
    if ! getent passwd 184 >/dev/null ; then
28a3cc
      useradd -r -u 184 -g %{pkg_name} -d /var/lib/%{pkg_name} \
28a3cc
      -s /sbin/nologin -c "MongoDB Database Server" %{pkg_name}
28a3cc
    else
28a3cc
      useradd -r -g %{pkg_name} -d /var/lib/%{pkg_name} \
28a3cc
      -s /sbin/nologin -c "MongoDB Database Server" %{pkg_name}
28a3cc
    fi
28a3cc
fi
28a3cc
exit 0
28a3cc
28a3cc
28a3cc
%post server
28a3cc
%if 0%{?scl:1}
28a3cc
# handle SELinux context for files outside of normal location
28a3cc
%if 0%{?fedora} >= 15 || 0%{?rhel} >= 7
28a3cc
semanage fcontext -a -e %{_unitdir}/%{daemon}.service %{_unitdir}/%{?scl_prefix}%{daemon}.service >/dev/null 2>&1 || :
28a3cc
semanage fcontext -a -e %{_unitdir}/%{daemonshard}.service %{_unitdir}/%{?scl_prefix}%{daemonshard}.service >/dev/null 2>&1 || :
28a3cc
selinuxenabled && load_policy || :
28a3cc
restorecon %{_unitdir}/%{?scl_prefix}* >/dev/null 2>&1 || :
28a3cc
%else
28a3cc
semanage fcontext -a -e %{_initddir}/%{daemon} %{_initddir}/%{?scl_prefix}%{daemon} >/dev/null 2>&1 || :
28a3cc
semanage fcontext -a -e %{_initddir}/%{daemon} %{_initddir}/%{?scl_prefix}%{daemonshard} >/dev/null 2>&1 || :
28a3cc
selinuxenabled && load_policy || :
28a3cc
restorecon %{_initddir}/%{?scl_prefix}* >/dev/null 2>&1 || :
28a3cc
%endif
28a3cc
restorecon -r %{?_scl_root}/ >/dev/null 2>&1 || :
28a3cc
restorecon -R %{_sharedstatedir}/%{pkg_name}
28a3cc
restorecon -R %{_localstatedir}/log/%{pkg_name}
28a3cc
restorecon -R %{_localstatedir}/run/%{pkg_name}
28a3cc
%endif
28a3cc
28a3cc
%if 0%{?fedora} >= 15 || 0%{?rhel} >= 7
28a3cc
  # https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Systemd
28a3cc
  # daemon-reload
28a3cc
  %systemd_postun
28a3cc
%else
28a3cc
  /sbin/chkconfig --add %{?scl_prefix}%{daemon}
28a3cc
  /sbin/chkconfig --add %{?scl_prefix}%{daemonshard}
28a3cc
%endif
28a3cc
28a3cc
28a3cc
%preun server
28a3cc
if [ "$1" = 0 ]; then
28a3cc
%if 0%{?fedora} >= 15 || 0%{?rhel} >= 7
28a3cc
  # --no-reload disable; stop
28a3cc
  %systemd_preun %{?scl_prefix}%{daemon}.service
28a3cc
  %systemd_preun %{?scl_prefix}%{daemonshard}.service
28a3cc
%else
28a3cc
  /sbin/service %{?scl_prefix}%{daemon}       stop >/dev/null 2>&1
28a3cc
  /sbin/service %{?scl_prefix}%{daemonshard}  stop >/dev/null 2>&1
28a3cc
  /sbin/chkconfig --del %{?scl_prefix}%{daemon}
28a3cc
  /sbin/chkconfig --del %{?scl_prefix}%{daemonshard}
28a3cc
%endif
28a3cc
fi
28a3cc
28a3cc
28a3cc
%postun server
28a3cc
%if 0%{?fedora} >= 15 || 0%{?rhel} >= 7
28a3cc
  # daemon-reload
28a3cc
  %systemd_postun
28a3cc
%endif
28a3cc
if [ "$1" -ge 1 ] ; then
28a3cc
%if 0%{?fedora} >= 15 || 0%{?rhel} >= 7
28a3cc
  # try-restart
28a3cc
  %systemd_postun_with_restart %{?scl_prefix}%{daemon}.service
28a3cc
  %systemd_postun_with_restart %{?scl_prefix}%{daemonshard}.service
28a3cc
%else
28a3cc
  /sbin/service %{?scl_prefix}%{daemon}       condrestart >/dev/null 2>&1 || :
28a3cc
  /sbin/service %{?scl_prefix}%{daemonshard}  condrestart >/dev/null 2>&1 || :
28a3cc
%endif
28a3cc
fi
28a3cc
28a3cc
28a3cc
%files
28a3cc
%{!?_licensedir:%global license %%doc}
28a3cc
%license GNU-AGPL-3.0.txt APACHE-2.0.txt
28a3cc
%doc README
28a3cc
%{_bindir}/mongo
28a3cc
%{_bindir}/mongoperf
28a3cc
%{_bindir}/mongobridge
28a3cc
28a3cc
%{_mandir}/man1/mongo.1*
28a3cc
%{_mandir}/man1/mongoperf.1*
28a3cc
28a3cc
28a3cc
%files server
28a3cc
%{_bindir}/mongod
28a3cc
%{_bindir}/mongos
28a3cc
%{_mandir}/man1/mongod.1*
28a3cc
%{_mandir}/man1/mongos.1*
28a3cc
28a3cc
%dir %attr(0750, %{pkg_name}, root) %{_sharedstatedir}/%{pkg_name}
28a3cc
%dir %attr(0755, %{pkg_name}, root) %{_localstatedir}/log/%{pkg_name}
28a3cc
%dir %attr(0755, %{pkg_name}, root) %{_localstatedir}/run/%{pkg_name}
28a3cc
%config(noreplace) %{?scl:%_root_sysconfdir}%{!?scl:%_sysconfdir}/logrotate.d/%{?scl_prefix}%{pkg_name}
28a3cc
%config(noreplace) %{_sysconfdir}/%{daemon}.conf
28a3cc
%config(noreplace) %{_sysconfdir}/%{daemonshard}.conf
28a3cc
%config(noreplace) %{_sysconfdir}/sysconfig/%{daemon}
28a3cc
%config(noreplace) %{_sysconfdir}/sysconfig/%{daemonshard}
28a3cc
%if 0%{?fedora} >= 15 || 0%{?rhel} >= 7
28a3cc
%{_tmpfilesdir}/%{?scl_prefix}%{pkg_name}.conf
28a3cc
%{_unitdir}/%{?scl_prefix}*.service
28a3cc
%{_libexecdir}/mongodb-scl-helper
28a3cc
%else
28a3cc
%{_initddir}/%{?scl_prefix}%{daemon}
28a3cc
%{_initddir}/%{?scl_prefix}%{daemonshard}
28a3cc
%endif
28a3cc
28a3cc
28a3cc
%if %{with install_tests}
28a3cc
%files test
28a3cc
%doc %{_datadir}/%{pkg_name}-test/README
28a3cc
%defattr(-,%{pkg_name},root)
28a3cc
%dir %attr(0755, %{pkg_name}, root) %{_datadir}/%{pkg_name}-test
28a3cc
%dir %attr(0755, %{pkg_name}, root) %{_datadir}/%{pkg_name}-test/var
28a3cc
%{_datadir}/%{pkg_name}-test/jstests
28a3cc
%{_datadir}/%{pkg_name}-test/buildscripts
28a3cc
%{_datadir}/%{pkg_name}-test/resmoke.*
28a3cc
%{_datadir}/%{pkg_name}-test/__pycache__
28a3cc
%if %{with install_unit_tests}
28a3cc
%{_datadir}/%{pkg_name}-test/unittests
28a3cc
%endif
28a3cc
%endif
28a3cc
28a3cc
# syspath subpackages
28a3cc
%if 0%{?scl:1}
28a3cc
%scl_syspaths_files
28a3cc
%scl_syspaths_files server
28a3cc
%endif
28a3cc
28a3cc
28a3cc
%changelog
28a3cc
* Wed Feb 28 2018 Marek Skalický <mskalick@redhat.com> - 3.6.3-2
28a3cc
- Fix using numactl in service files
28a3cc
28a3cc
* Fri Feb 23 2018 Marek Skalický <mskalick@redhat.com> - 3.6.3-1
28a3cc
- Update to latest upstream minor version
28a3cc
28a3cc
* Thu Feb 22 2018 Marek Skalický <mskalick@redhat.com> - 3.6.2-3
28a3cc
- Use numactl for service starting
28a3cc
28a3cc
* Wed Feb 21 2018 Marek Skalický <mskalick@redhat.com> - 3.6.2-2
28a3cc
- Workaround for unicode test fails on ppc64le
28a3cc
28a3cc
* Mon Feb 19 2018 Marek Skalický <mskalick@redhat.com> - 3.6.2-1
28a3cc
- Rebase to latest minor version
28a3cc
28a3cc
* Tue Jan 09 2018 Marek Skalický <mskalick@redhat.com> - 3.6.0-3
28a3cc
- Fix wrong -test requires
28a3cc
28a3cc
* Mon Jan 08 2018 Marek Skalický <mskalick@redhat.com> - 3.6.0-2
28a3cc
- Add macro to disable running of unittests
28a3cc
- Install python3 __pycache__ directory
28a3cc
28a3cc
* Fri Dec 15 2017 Marek Skalický <mskalick@redhat.com> - 3.6.0-1
28a3cc
- Rebase to mongodb 3.6.0 from Fedora 28
28a3cc
28a3cc
* Mon Sep 25 2017 Marek Skalický <mskalick@redhat.com> - 3.4.9-1
28a3cc
- Update to latest minor version
28a3cc
  Resolves: RHBZ#1474252
28a3cc
28a3cc
* Mon Aug 28 2017 Marek Skalický <mskalick@redhat.com> - 3.4.7-1
28a3cc
- Update to latest minor version
28a3cc
28a3cc
* Tue Aug 22 2017 Marek Skalický <mskalick@redhat.com> - 3.4.6-3
28a3cc
- Fix HOME directory of mongodb user
28a3cc
  Resolves: RHBZ#1482018
28a3cc
28a3cc
* Tue Aug 08 2017 Marek Skalický <mskalick@redhat.com> - 3.4.6-2
28a3cc
- Don't include syspaths systemd services into mongodb-server package
28a3cc
28a3cc
* Fri Jul 21 2017 Marek Skalický <mskalick@redhat.com> - 3.4.6-1
28a3cc
- Update to 3.4.6 minor version
28a3cc
  Resolves: RHBZ#1474252
28a3cc
28a3cc
* Fri Jun 23 2017 Marek Skalický <mskalick@redhat.com> - 3.4.3-3
28a3cc
- Add -syspath subpackages
28a3cc
28a3cc
* Tue Jun 20 2017 Marek Skalický <mskalick@redhat.com> - 3.4.3-2
28a3cc
- Use gcc from devtoolset for compilation
28a3cc
- Fix dependencies
28a3cc
28a3cc
* Mon Jun 5 2017 Marek Skalicky <mskalick@redhat.com> - 3.4.3-1
28a3cc
- Convert mongodb 3.4.3 from Fedora to SCL
28a3cc
28a3cc
* Wed Oct 19 2016 Marek Skalický <mskalick@redhat.com> - 3.2.10-1
28a3cc
- Update to latest upstream minor version (3.2.10)
28a3cc
   Resolves: RHBZ#1386229
28a3cc
28a3cc
* Fri Sep 16 2016 Marek Skalický <mskalick@redhat.com> - 3.2.9-1
28a3cc
- Update to latest upstream minor version (3.2.9)
28a3cc
   Resolves: RHBZ#1376475
28a3cc
28a3cc
* Tue May 10 2016 Marek Skalicky <mskalick@redhat.com> - 3.2.6-2
28a3cc
- Disable executable stack (since MongoDB 3.2.5)
28a3cc
  Resolves: #1333660
28a3cc
28a3cc
* Fri May 6 2016 Marek Skalicky <mskalick@redhat.com> - 3.2.6-1
28a3cc
- Upgrade to MongoDB 3.2.6
28a3cc
  Resolves: #1333660
28a3cc
28a3cc
* Wed Apr 6 2016 Marek Skalicky <mskalick@redhat.com> - 3.2.4-1
28a3cc
- Upgrade to version 3.2.4
28a3cc
28a3cc
* Wed Apr 6 2016 Marek Skalicky <mskalick@redhat.com> - 3.2.1-2
28a3cc
- Fixed permissions in test subpackage
28a3cc
28a3cc
* Wed Dec 9 2015 Marek Skalicky <mskalick@redhat.com> - 3.2.1-1
28a3cc
- Configuration files updated
28a3cc
  (mongod and mongos also listen on ipv6 localhost by default)
28a3cc
- test subpackage contains resmoke.py tool instead of smoke.py
28a3cc
- Upgrade to latest minor upgrade 3.2.1
28a3cc
28a3cc
* Wed Dec 9 2015 Marek Skalicky <mskalick@redhat.com> - 3.2.0-1
28a3cc
- Upgrade to latest stable version 3.2.0
28a3cc
  (merged changes from Fedora 24)
28a3cc
28a3cc
* Wed May 13 2015 Marek Skalicky <mskalick@redhat.com> 2.6.9-1
28a3cc
- Correct SELinux type for slc-helper script 
28a3cc
  Resolves: #1202013
28a3cc
- Fix mongodb user HOME (Resolves: #1206157)
28a3cc
- Upgrade to latest minor release 2.6.9 (Resolves: #1207118)
28a3cc
28a3cc
* Thu Mar 19 2015 Marek Skalicky <mskalick@redhat.com> 2.6.8-4
28a3cc
- Use mongod_initrc_exex_t SELinux type for slc-helper script
28a3cc
28a3cc
* Thu Mar 19 2015 Marek Skalicky <mskalick@redhat.com> 2.6.8-3
28a3cc
- Fixed SELinux context
28a3cc
- Renamed scl-helper script
28a3cc
28a3cc
* Thu Mar 19 2015 Marek Skalicky <mskalick@redhat.com> 2.6.8-2
28a3cc
- Resolves: #1202013 (Daemon run with proper SELinux context)
28a3cc
28a3cc
* Mon Mar 2 2015 Marek Skalicky <mskalick@redhat.com> 2.6.8-1
28a3cc
- Upgrade to version 2.6.8
28a3cc
- Resolves: #1194412 (MongoDB Security & Defaults)
28a3cc
28a3cc
* Fri Feb 27 2015 Honza Horak <hhorak@redhat.com> - 2.6.7-9
28a3cc
- Remove NFS register feature for questionable usage for DBs
28a3cc
- Allow to skip tests during build
28a3cc
- Simplify few SCL macros
28a3cc
28a3cc
* Thu Feb 26 2015 Marek Skalicky <mskalick@redhat.com> 2.6.7-8
28a3cc
- Resolves: #1075736 (initscript doesn't respect LSB)
28a3cc
28a3cc
* Tue Jan 27 2015 Honza Horak <hhorak@redhat.com> - 2.6.7-7
28a3cc
- Use 0755 on var directory for tests, mark README as doc
28a3cc
28a3cc
* Tue Jan 27 2015 Honza Horak <hhorak@redhat.com> - 2.6.7-6
28a3cc
- Run selinux magic in post, not preun
28a3cc
- Create lock file directory
28a3cc
28a3cc
* Tue Jan 27 2015 Honza Horak <hhorak@redhat.com> - 2.6.7-5
28a3cc
- Add removed $ by mistake
28a3cc
- Create dir for config files and data in scl register
28a3cc
28a3cc
* Tue Jan 27 2015 Honza Horak <hhorak@redhat.com> - 2.6.7-4
28a3cc
- Implement scl register support
28a3cc
28a3cc
* Mon Jan 26 2015 Honza Horak <hhorak@redhat.com> - 2.6.7-3
28a3cc
- Convert - to _ when translating to uppercase scl name
28a3cc
- Do not use & in the init script if daemon call is used
28a3cc
28a3cc
* Fri Jan 23 2015 Marek Skalicky <mskalick@redhat.com> 2.6.7-2
28a3cc
- Changed name of conf and log files
28a3cc
- Added service-environment into mongodb package
28a3cc
- Changed location of log files
28a3cc
28a3cc
* Mon Jan 19 2015 Marek Skalicky <mskalick@redhat.com> 2.6.7-1
28a3cc
- Merged changes from Fedora Rawhide
28a3cc
28a3cc
* Tue Nov 18 2014 Marek Skalicky <mskalick@redhat.com> 2.6.5-5
28a3cc
- Changed and cleaned up requirements
28a3cc
28a3cc
* Fri Nov 14 2014 Marek Skalicky <mskalick@redhat.com> 2.6.5-4
28a3cc
- Changed v8 dependency to SCL v8314
28a3cc
- Added MONGODB_OPTIONS options variable into *.init files
28a3cc
28a3cc
* Fri Nov 7 2014 Marek Skalicky <mskalick@redhat.com> 2.6.5-3
28a3cc
- Ported to SCL
28a3cc
28a3cc
* Thu Oct 9 2014 Marek Skalicky <mskalick@redhat.com> 2.6.5-2
28a3cc
- Corrected/Finished renaming services and pid files
28a3cc
- Changed default mongos ports
28a3cc
28a3cc
* Thu Oct 9 2014 Marek Skalicky <mskalick@redhat.com> 2.6.5-1
28a3cc
- Updated to version 2.6.5
28a3cc
- Renamed sysmted service files (to reflect mainstream names)
28a3cc
28a3cc
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.6.3-2
28a3cc
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
28a3cc
28a3cc
* Wed Jul  9 2014 Jan Pacner <jpacner@redhat.com> - 2.6.3-1
28a3cc
- Resolves: #1103163 new major release with major differences
28a3cc
- add sharding server daemon init/unit files (and rename existing)
28a3cc
- use ld library path from env
28a3cc
- spec cleanup/clarification
28a3cc
- Resolves: #1047858 (RFE: Turn on PrivateTmp and relocate unix socket file)
28a3cc
- Related: #963824 (bloated binaries; splitting according to latest upstream)
28a3cc
28a3cc
* Sat Jun  7 2014 Peter Robinson <pbrobinson@fedoraproject.org> 2.4.9-7
28a3cc
- aarch64 now has gperftools
28a3cc
28a3cc
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.4.9-6
28a3cc
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
28a3cc
28a3cc
* Fri May 23 2014 Petr Machata <pmachata@redhat.com> - 2.4.9-5
28a3cc
- Rebuild for boost 1.55.0
28a3cc
28a3cc
* Fri May 23 2014 David Tardon <dtardon@redhat.com> - 2.4.9-4
28a3cc
- rebuild for boost 1.55.0
28a3cc
28a3cc
28a3cc
* Fri Feb 14 2014 T.C. Hollingsworth <tchollingsworth@gmail.com> - 2.4.9-3
28a3cc
- rebuild for icu-53 (via v8)
28a3cc
28a3cc
* Tue Feb 04 2014 Matthias Saou <matthias@saou.eu> 2.4.9-2
28a3cc
- Merge el6 branch changes (we shouldn't start diverging now).
28a3cc
- Re-introduce conditionals, but to still support EL6.
28a3cc
- Include run directory only for EL6.
28a3cc
- Don't own the /usr/include directory.
28a3cc
- Make libmongodb requirement arch specific (#1010535).
28a3cc
- Fix multiple_occurrences error from duplicate --quiet options (#1022476).
28a3cc
- Fix broken v8 version specific requirement (#1027157).
28a3cc
28a3cc
* Sun Jan 19 2014 Peter Robinson <pbrobinson@fedoraproject.org> 2.4.9-1
28a3cc
- Update to 2.4.9
28a3cc
- Drop old < F-15 conditionals
28a3cc
- Cleanup Spec
28a3cc
- Run ldconfig for the lib package, not binary package
28a3cc
- Don't make some directories world readable (RHBZ 857926)
28a3cc
28a3cc
* Mon Jan 06 2014 Jan Pacner <jpacner@redhat.com> - 2.4.6-3
28a3cc
- Resolves: #1027157 (mongo shell sefgaults when using arbitrary v8 version)
28a3cc
28a3cc
* Thu Nov 28 2013 Jan Pacner <jpacner@redhat.com> - 2.4.8-1
28a3cc
- new release
28a3cc
- Resolves: #1010712 (LimitNOFILE)
28a3cc
- make sysconf options being respected
28a3cc
28a3cc
* Wed Aug 21 2013 Troy Dawson <tdawson@redhat.com> - 2.4.6-1
28a3cc
- Updated to 2.4.6
28a3cc
- Added Requires: v8  (#971595)
28a3cc
28a3cc
* Sun Jul 28 2013 Petr Machata <pmachata@redhat.com> - 2.4.5-6
28a3cc
- Rebuild for boost 1.54.0
28a3cc
28a3cc
* Sat Jul 27 2013 pmachata@redhat.com - 2.4.5-5
28a3cc
- Rebuild for boost 1.54.0
28a3cc
28a3cc
* Fri Jul 12 2013 Troy Dawson <tdawson@redhat.com> - 2.4.5-4
28a3cc
- Added Provides: mongodb-devel to libmongodb-devel
28a3cc
28a3cc
* Fri Jul 12 2013 Troy Dawson <tdawson@redhat.com> - 2.4.5-3
28a3cc
- Removed hardening section.  Currently doesn't work with 2.4.x
28a3cc
  Wasn't really being applied when we thought it was.
28a3cc
- Cleaned up RHEL5 spec leftovers
28a3cc
28a3cc
* Thu Jul 11 2013 David Marlin <dmarlin@redhat.com> - 2.4.5-2
28a3cc
- Updated arm patches to work with 2.4.x
28a3cc
28a3cc
* Mon Jul 08 2013 Troy Dawson <tdawson@redhat.com> - 2.4.5-1
28a3cc
- Update to version 2.4.5 to fix CVE-2013-4650
28a3cc
- Patch3 fixed upstream - https://jira.mongodb.org/browse/SERVER-5575
28a3cc
- Patch4 fixed upstream - https://jira.mongodb.org/browse/SERVER-6514
28a3cc
- Put lib dir in correct place
28a3cc
- no longer have to remove duplicate headers
28a3cc
28a3cc
* Sun Jul 07 2013 Johan Hedin <johan.o.hedin@gmail.com> - 2.4.4-4
28a3cc
- Added patch to make mongodb compile with gcc 4.8
28a3cc
28a3cc
* Wed Jul 03 2013 Johan Hedin <johan.o.hedin@gmail.com> - 2.4.4-3
28a3cc
- Added missing daemon name to the preun script for the server
28a3cc
- Fixed init script so that it does not kill the server on shutdown
28a3cc
- Renamed mongodb-devel to libmongdb-devel
28a3cc
- Dependency cleanup between the sub packages
28a3cc
- Moved Requires for the server to the server sub package
28a3cc
- Using %%{_unitdir} macro for where to put systemd unit files
28a3cc
- Fixed rpmlint warnings regarding %% in comments and mixed tabs/spaces
28a3cc
- Run systemd-tmpfiles --create mongodb.conf in post server
28a3cc
28a3cc
* Mon Jul 01 2013 Troy Dawson <tdawson@redhat.com> - 2.4.4-2
28a3cc
- Turn on hardened build (#958014)
28a3cc
- Apply patch to accept env flags
28a3cc
28a3cc
* Sun Jun 30 2013 Johan Hedin <johan.o.hedin@gmail.com> - 2.4.4-1
28a3cc
- Bumped version up to 2.4.4
28a3cc
- Rebased the old 2.2 patches that are still needed to 2.4.4
28a3cc
- Added some new patches to build 2.4.4 properly
28a3cc
28a3cc
* Sat May 04 2013 David Marlin <dmarlin@redhat.com> - 2.2.4-2
28a3cc
- Updated patch to work on both ARMv5 and ARMv7 (#921226)
28a3cc
28a3cc
* Thu May 02 2013 Troy Dawson <tdawson@redhat.com> - 2.2.4-1
28a3cc
- Bumped version up to 2.2.4
28a3cc
- Refreshed all patches to 2.2.4
28a3cc
28a3cc
* Fri Apr 26 2013 David Marlin <dmarlin@redhat.com> - 2.2.3-5
28a3cc
- Patch to build on ARM (#921226)
28a3cc
28a3cc
* Wed Mar 27 2013 Troy Dawson <tdawson@redhat.com> - 2.2.3-4
28a3cc
- Fix for CVE-2013-1892
28a3cc
28a3cc
* Sun Feb 10 2013 Denis Arnaud <denis.arnaud_fedora@m4x.org> - 2.2.3-3
28a3cc
- Rebuild for Boost-1.53.0
28a3cc
28a3cc
* Sat Feb 09 2013 Denis Arnaud <denis.arnaud_fedora@m4x.org> - 2.2.3-2
28a3cc
- Rebuild for Boost-1.53.0
28a3cc
28a3cc
* Tue Feb 05 2013 Troy Dawson <tdawson@redhat.com> - 2.2.3-1
28a3cc
- Update to version 2.2.3
28a3cc
28a3cc
* Mon Jan 07 2013 Troy Dawson <tdawson@redhat.com> - 2.2.2-2
28a3cc
- remove duplicate headers (#886064)
28a3cc
28a3cc
* Wed Dec 05 2012 Troy Dawson <tdawson@redhat.com> - 2.2.2-1
28a3cc
- Updated to version 2.2.2
28a3cc
28a3cc
* Tue Nov 27 2012 Troy Dawson <tdawson@redhat.com> - 2.2.1-3
28a3cc
- Add ssl build option
28a3cc
- Using the reserved mongod UID for the useradd
28a3cc
- mongod man page in server package (#880351)
28a3cc
- added optional MONGODB_OPTIONS to init script
28a3cc
28a3cc
* Wed Oct 31 2012 Nathaniel McCallum <nathaniel@natemccallum.com> - 2.2.1-2
28a3cc
- Make sure build and install flags are the same
28a3cc
- Actually remove the js patch file
28a3cc
28a3cc
* Wed Oct 31 2012 Nathaniel McCallum <nathaniel@natemccallum.com> - 2.2.1-1
28a3cc
- Remove fork fix patch (fixed upstream)
28a3cc
- Remove pcre patch (fixed upstream)
28a3cc
- Remove mozjs patch (now using v8 upstream)
28a3cc
- Update to 2.2.1
28a3cc
28a3cc
* Tue Oct 02 2012 Troy Dawson <tdawson@redhat.com> - 2.2.0-6
28a3cc
- full flag patch to get 32 bit builds to work
28a3cc
28a3cc
* Tue Oct 02 2012 Troy Dawson <tdawson@redhat.com> - 2.2.0-5
28a3cc
- shared libraries patch
28a3cc
- Fix up minor %%files issues
28a3cc
28a3cc
* Fri Sep 28 2012 Troy Dawson <tdawson@redhat.com> - 2.2.0-4
28a3cc
- Fix spec files problems
28a3cc
28a3cc
* Fri Sep 28 2012 Troy Dawson <tdawson@redhat.com> - 2.2.0-3
28a3cc
- Updated patch to use system libraries
28a3cc
- Update init script to use a pidfile
28a3cc
28a3cc
* Thu Sep 27 2012 Troy Dawson <tdawson@redhat.com> - 2.2.0-2
28a3cc
- Added patch to use system libraries
28a3cc
28a3cc
* Wed Sep 19 2012 Troy Dawson <tdawson@redhat.com> - 2.2.0-1
28a3cc
- Updated to 2.2.0
28a3cc
- Updated patches that were still needed
28a3cc
- use v8 instead of spider_monkey due to bundled library issues
28a3cc
28a3cc
* Tue Aug 21 2012 Nathaniel McCallum <nathaniel@natemccallum.com> - 2.0.7-1
28a3cc
- Update to 2.0.7
28a3cc
- Don't patch for boost-filesystem version 3 on EL6
28a3cc
28a3cc
* Mon Aug 13 2012 Nathaniel McCallum <nathaniel@natemccallum.com> - 2.0.6-3
28a3cc
- Remove EL5 support
28a3cc
- Add patch to use boost-filesystem version 3
28a3cc
28a3cc
* Wed Aug 01 2012 Nathaniel McCallum <nathaniel@natemccallum.com> - 2.0.6-2
28a3cc
- Don't apply fix-xtime patch on EL5
28a3cc
28a3cc
* Wed Aug 01 2012 Nathaniel McCallum <nathaniel@natemccallum.com> - 2.0.6-1
28a3cc
- Update to 2.0.6
28a3cc
- Update no-term patch
28a3cc
- Add fix-xtime patch for new boost
28a3cc
28a3cc
* Fri Jul 20 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.4-2
28a3cc
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
28a3cc
28a3cc
* Tue Apr 17 2012 Nathaniel McCallum <nathaniel@natemccallum.com> - 2.0.4-1
28a3cc
- Update to 2.0.4
28a3cc
- Remove oldpython patch (fixed upstream)
28a3cc
- Remove snappy patch (fixed upstream)
28a3cc
28a3cc
* Tue Feb 28 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.2-10
28a3cc
- Rebuilt for c++ ABI breakage
28a3cc
28a3cc
* Fri Feb 10 2012 Petr Pisar <ppisar@redhat.com> - 2.0.2-9
28a3cc
- Rebuild against PCRE 8.30
28a3cc
28a3cc
* Fri Feb 03 2012 Nathaniel McCallum <nathaniel@natemccallum.com> - 2.0.2-8
28a3cc
- Disable HTTP interface by default (#752331)
28a3cc
28a3cc
* Fri Feb 03 2012 Nathaniel McCallum <nathaniel@natemccallum.com> - 2.0.2-7
28a3cc
- Enable journaling by default (#656112)
28a3cc
- Remove BuildRequires on unittest (#755081)
28a3cc
28a3cc
* Fri Feb 03 2012 Nathaniel McCallum <nathaniel@natemccallum.com> - 2.0.2-6
28a3cc
- Clean up mongodb-src-r2.0.2-js.patch and fix #787246
28a3cc
28a3cc
* Tue Jan 17 2012 Nathaniel McCallum <nathaniel@natemccallum.com> - 2.0.2-5
28a3cc
- Enable build using external snappy
28a3cc
28a3cc
* Tue Jan 17 2012 Nathaniel McCallum <nathaniel@natemccallum.com> - 2.0.2-4
28a3cc
- Patch buildsystem for building on older pythons (RHEL5)
28a3cc
28a3cc
* Mon Jan 16 2012 Nathaniel McCallum <nathaniel@natemccallum.com> - 2.0.2-3
28a3cc
- Merge the 2.0.2 spec file with EPEL
28a3cc
- Merge mongodb-sm-pkgconfig.patch into mongodb-src-r2.0.2-js.patch
28a3cc
28a3cc
* Mon Jan 16 2012 Nathaniel McCallum <nathaniel@natemccallum.com> - 2.0.2-2
28a3cc
- Add pkg-config enablement patch
28a3cc
28a3cc
* Sat Jan 14 2012 Nathaniel McCallum <nathaniel@natemccallum.com> - 2.0.2-1
28a3cc
- Update to 2.0.2
28a3cc
- Add new files (mongotop and bsondump manpage)
28a3cc
- Update mongodb-src-r1.8.2-js.patch => mongodb-src-r2.0.2-js.patch
28a3cc
- Update mongodb-fix-fork.patch
28a3cc
- Fix pcre linking
28a3cc
28a3cc
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.8.2-11
28a3cc
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
28a3cc
28a3cc
* Sun Nov 20 2011 Chris Lalancette <clalancette@gmail.com> - 1.8.2-10
28a3cc
- Rebuild for rawhide boost update
28a3cc
28a3cc
* Thu Sep 22 2011 Chris Lalancette <clalance@redhat.com> - 1.8.2-9
28a3cc
- Copy the right source file into place for tmpfiles.d
28a3cc
28a3cc
* Tue Sep 20 2011 Chris Lalancette <clalance@redhat.com> - 1.8.2-8
28a3cc
- Add a tmpfiles.d file to create the /var/run/mongodb subdirectory
28a3cc
28a3cc
* Mon Sep 12 2011 Chris Lalancette <clalance@redhat.com> - 1.8.2-7
28a3cc
- Add a patch to fix the forking to play nice with systemd
28a3cc
- Make the /var/run/mongodb directory owned by mongodb
28a3cc
28a3cc
* Thu Jul 28 2011 Chris Lalancette <clalance@redhat.com> - 1.8.2-6
28a3cc
- BZ 725601 - fix the javascript engine to not hang (thanks to Eduardo Habkost)
28a3cc
28a3cc
* Mon Jul 25 2011 Chris Lalancette <clalance@redhat.com> - 1.8.2-5
28a3cc
- Fixes to post server, preun server, and postun server to use systemd
28a3cc
28a3cc
* Thu Jul 21 2011 Chris Lalancette <clalance@redhat.com> - 1.8.2-4
28a3cc
- Update to use systemd init
28a3cc
28a3cc
* Thu Jul 21 2011 Chris Lalancette <clalance@redhat.com> - 1.8.2-3
28a3cc
- Rebuild for boost ABI break
28a3cc
28a3cc
* Wed Jul 13 2011 Chris Lalancette <clalance@redhat.com> - 1.8.2-2
28a3cc
- Make mongodb-devel require boost-devel (BZ 703184)
28a3cc
28a3cc
* Fri Jul 01 2011 Chris Lalancette <clalance@redhat.com> - 1.8.2-1
28a3cc
- Update to upstream 1.8.2
28a3cc
- Add patch to ignore TERM
28a3cc
28a3cc
* Fri Jul 01 2011 Chris Lalancette <clalance@redhat.com> - 1.8.0-3
28a3cc
- Bump release to build against new boost package
28a3cc
28a3cc
* Sat Mar 19 2011 Nathaniel McCallum <nathaniel@natemccallum.com> - 1.8.0-2
28a3cc
- Make mongod bind only to 127.0.0.1 by default
28a3cc
28a3cc
* Sat Mar 19 2011 Nathaniel McCallum <nathaniel@natemccallum.com> - 1.8.0-1
28a3cc
- Update to 1.8.0
28a3cc
- Remove upstreamed nonce patch
28a3cc
28a3cc
* Wed Feb 16 2011 Nathaniel McCallum <nathaniel@natemccallum.com> - 1.7.5-5
28a3cc
- Add nonce patch
28a3cc
28a3cc
* Sun Feb 13 2011 Nathaniel McCallum <nathaniel@natemccallum.com> - 1.7.5-4
28a3cc
- Manually define to use boost-fs v2
28a3cc
28a3cc
* Sat Feb 12 2011 Nathaniel McCallum <nathaniel@natemccallum.com> - 1.7.5-3
28a3cc
- Disable extra warnings
28a3cc
28a3cc
* Fri Feb 11 2011 Nathaniel McCallum <nathaniel@natemccallum.com> - 1.7.5-2
28a3cc
- Disable compilation errors on warnings
28a3cc
28a3cc
* Fri Feb 11 2011 Nathaniel McCallum <nathaniel@natemccallum.com> - 1.7.5-1
28a3cc
- Update to 1.7.5
28a3cc
- Remove CPPFLAGS override
28a3cc
- Added libmongodb package
28a3cc
28a3cc
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.6.4-4
28a3cc
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
28a3cc
28a3cc
* Mon Dec 06 2010 Nathaniel McCallum <nathaniel@natemccallum.com> - 1.6.4-3
28a3cc
- Add post/postun ldconfig... oops!
28a3cc
28a3cc
* Mon Dec 06 2010 Nathaniel McCallum <nathaniel@natemccallum.com> - 1.6.4-2
28a3cc
- Enable --sharedclient option, remove static lib
28a3cc
28a3cc
* Sat Dec 04 2010 Nathaniel McCallum <nathaniel@natemccallum.com> - 1.6.4-1
28a3cc
- New upstream release
28a3cc
28a3cc
* Fri Oct 08 2010 Nathaniel McCallum <nathaniel@natemccallum.com> - 1.6.3-4
28a3cc
- Put -fPIC onto both the build and install scons calls
28a3cc
28a3cc
* Fri Oct 08 2010 Nathaniel McCallum <nathaniel@natemccallum.com> - 1.6.3-3
28a3cc
- Define _initddir when it doesn't exist for el5 and others
28a3cc
28a3cc
* Fri Oct 08 2010 Nathaniel McCallum <nathaniel@natemccallum.com> - 1.6.3-2
28a3cc
- Added -fPIC build option which was dropped by accident
28a3cc
28a3cc
* Thu Oct  7 2010 Ionuț C. Arțăriși <mapleoin@fedoraproject.org> - 1.6.3-1
28a3cc
- removed js Requires
28a3cc
- new upstream release
28a3cc
- added more excludearches: sparc s390, s390x and bugzilla pointer
28a3cc
28a3cc
* Tue Sep  7 2010 Ionuț C. Arțăriși <mapleoin@fedoraproject.org> - 1.6.2-2
28a3cc
- added ExcludeArch for ppc
28a3cc
28a3cc
* Fri Sep  3 2010 Ionuț C. Arțăriși <mapleoin@fedoraproject.org> - 1.6.2-1
28a3cc
- new upstream release 1.6.2
28a3cc
- send mongod the USR1 signal when doing logrotate
28a3cc
- use config options when starting the daemon from the initfile
28a3cc
- removed dbpath patch: rely on config
28a3cc
- added pid directory to config file and created the dir in the spec
28a3cc
- made the init script use options from the config file
28a3cc
- changed logpath in mongodb.conf
28a3cc
28a3cc
* Wed Sep  1 2010 Ionuț C. Arțăriși <mapleoin@fedoraproject.org> - 1.6.1-1
28a3cc
- new upstream release 1.6.1
28a3cc
- patched SConstruct to allow setting cppflags
28a3cc
- stopped using sed and chmod macros
28a3cc
28a3cc
* Fri Aug  6 2010 Ionuț C. Arțăriși <mapleoin@fedoraproject.org> - 1.6.0-1
28a3cc
- new upstream release: 1.6.0
28a3cc
- added -server package
28a3cc
- added new license file to %%docs
28a3cc
- fix spurious permissions and EOF encodings on some files
28a3cc
28a3cc
* Tue Jun 15 2010 Ionuț C. Arțăriși <mapleoin@fedoraproject.org> - 1.4.3-2
28a3cc
- added explicit js requirement
28a3cc
- changed some names
28a3cc
28a3cc
* Wed May 26 2010 Ionuț C. Arțăriși <mapleoin@fedoraproject.org> - 1.4.3-1
28a3cc
- updated to 1.4.3
28a3cc
- added zlib license for util/md5
28a3cc
- deleted upstream deb/rpm recipes
28a3cc
- made scons not strip binaries
28a3cc
- made naming more consistent in logfile, lockfiles, init scripts etc.
28a3cc
- included manpages and added corresponding license
28a3cc
- added mongodb.conf to sources
28a3cc
28a3cc
* Fri Oct  2 2009 Ionuț Arțăriși <mapleoin@fedoraproject.org> - 1.0.0-3
28a3cc
- fixed libpath issue for 64bit systems
28a3cc
28a3cc
* Thu Oct  1 2009 Ionuț Arțăriși <mapleoin@fedoraproject.org> - 1.0.0-2
28a3cc
- added virtual -static package
28a3cc
28a3cc
* Mon Aug 31 2009 Ionuț Arțăriși <mapleoin@fedoraproject.org> - 1.0.0-1
28a3cc
- Initial release.