summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErnie Hershey <ernie.hershey@10gen.com>2015-04-01 17:48:20 -0400
committerErnie Hershey <ernie.hershey@10gen.com>2015-12-06 18:27:53 -0500
commit7ecff41d2fb6983abe8061b303720d3d14f9c6cc (patch)
tree31840bef99484df23f73ec2246ef47e56f87bd1d
parentcf619006bb4de2194b4c1eed3d3fdec072b12321 (diff)
downloadmongo-7ecff41d2fb6983abe8061b303720d3d14f9c6cc.tar.gz
SERVER-19893, SERVER-14036, SERVER-8770 - Packaging improvements
* Signing RPM's * Signing .DEB's with organization key instead of Richard's key * Generating packages on individual platforms in compile tasks * Trimming redundant Enterprise packaging python code * Miscellaenous cleanup, mostly to support the above goals (cherry picked from commit ed856e8865097d996894f50893b2be479c5644fc)
-rwxr-xr-xbuildscripts/packager-enterprise.py244
-rwxr-xr-xbuildscripts/packager.py101
-rw-r--r--etc/evergreen.yml123
-rw-r--r--rpm/mongodb-enterprise-unstable.spec5
-rw-r--r--rpm/mongodb-enterprise.spec5
-rw-r--r--rpm/mongodb-org-unstable.spec5
-rw-r--r--rpm/mongodb-org.spec5
7 files changed, 209 insertions, 279 deletions
diff --git a/buildscripts/packager-enterprise.py b/buildscripts/packager-enterprise.py
index 81c168cf2a4..b4a7b8f34dc 100755
--- a/buildscripts/packager-enterprise.py
+++ b/buildscripts/packager-enterprise.py
@@ -30,7 +30,7 @@ import argparse
import errno
import getopt
from glob import glob
-from packager import httpget, is_valid_file, ensure_dir, backtick, sysassert, crossproduct
+import packager
import os
import re
import shutil
@@ -224,9 +224,9 @@ class Distro(object):
def make_pkg(self, build_os, arch, spec, srcdir):
if re.search("^(debian|ubuntu)", self.n):
- return make_deb(self, build_os, arch, spec, srcdir)
+ return packager.make_deb(self, build_os, arch, spec, srcdir)
elif re.search("^(suse|centos|redhat|fedora)", self.n):
- return make_rpm(self, build_os, arch, spec, srcdir)
+ return packager.make_rpm(self, build_os, arch, spec, srcdir)
else:
raise Exception("BUG: unsupported platform?")
@@ -254,34 +254,21 @@ class Distro(object):
def main(argv):
- # --distros must be "build_os" value, not actual distro name ("ubuntu1404" vs. "ubuntu")
- #
distros=[Distro(distro) for distro in DISTROS]
- DISTRO_CHOICES=[]
- for distro in distros:
- DISTRO_CHOICES.extend(distro.build_os())
-
- parser = argparse.ArgumentParser(description='Build MongoDB Packages')
- parser.add_argument("-s", "--server-version", help="Server version to build (e.g. 2.7.8-rc0)")
- parser.add_argument("-m", "--metadata-gitspec", help="Gitspec to use for package metadata files", required=False)
- parser.add_argument("-r", "--release-number", help="RPM release number base", type=int, required=False)
- parser.add_argument("-d", "--distros", help="Distros to build for", choices=DISTRO_CHOICES, required=False, default=[], action='append')
- parser.add_argument("-a", "--arches", help="Architecture to build", choices=DEFAULT_ARCHES, default=DEFAULT_ARCHES, required=False, action='append')
- parser.add_argument("-t", "--tarball", help="Local tarball to package instead of downloading (only valid with one distro/arch combination)", required=False, type=lambda x: is_valid_file(parser, x))
- args = parser.parse_args()
-
- if len(args.distros) * len(args.arches) > 1 and args.tarball:
- parser.error("Can only specify local tarball with one distro/arch combination")
+ args = packager.get_args(distros)
spec = Spec(args.server_version, args.metadata_gitspec, args.release_number)
oldcwd=os.getcwd()
srcdir=oldcwd+"/../"
- # We do all our work in a randomly-created directory. You can set
- # TEMPDIR to influence where this program will do stuff.
- prefix=tempfile.mkdtemp()
+ # Where to do all of our work. Use a randomly-created directory if one
+ # is not passed in.
+ prefix = args.prefix
+ if prefix is None:
+ prefix=tempfile.mkdtemp()
+
print "Working in directory %s" % prefix
os.chdir(prefix)
@@ -291,17 +278,17 @@ def main(argv):
# Build a package for each distro/spec/arch tuple, and
# accumulate the repository-layout directories.
- for (distro, arch) in crossproduct(distros, args.arches):
+ for (distro, arch) in packager.crossproduct(distros, args.arches):
for build_os in distro.build_os():
if build_os in args.distros or not args.distros:
if args.tarball:
filename = tarfile(build_os, arch, spec)
- ensure_dir(filename)
+ packager.ensure_dir(filename)
shutil.copyfile(args.tarball,filename)
else:
- httpget(urlfmt % (arch, build_os, spec.version()), ensure_dir(tarfile(build_os, arch, spec)))
+ packager.httpget(urlfmt % (arch, build_os, spec.version()), packager.ensure_dir(tarfile(build_os, arch, spec)))
repo = make_package(distro, build_os, arch, spec, srcdir)
make_repo(repo, distro, build_os, spec)
@@ -326,14 +313,14 @@ def setupdir(distro, build_os, arch, spec):
def unpack_binaries_into(build_os, arch, spec, where):
"""Unpack the tarfile for (build_os, arch, spec) into directory where."""
rootdir=os.getcwd()
- ensure_dir(where)
+ packager.ensure_dir(where)
# Note: POSIX tar doesn't require support for gtar's "-C" option,
# and Python's tarfile module prior to Python 2.7 doesn't have the
# features to make this detail easy. So we'll just do the dumb
# thing and chdir into where and run tar there.
os.chdir(where)
try:
- sysassert(["tar", "xvzf", rootdir+"/"+tarfile(build_os, arch, spec)])
+ packager.sysassert(["tar", "xvzf", rootdir+"/"+tarfile(build_os, arch, spec)])
release_dir = glob('mongodb-linux-*')[0]
for releasefile in "bin", "snmp", "LICENSE.txt", "README", "THIRD-PARTY-NOTICES":
os.rename("%s/%s" % (release_dir, releasefile), releasefile)
@@ -350,14 +337,14 @@ def make_package(distro, build_os, arch, spec, srcdir):
suffixes"""
sdir=setupdir(distro, build_os, arch, spec)
- ensure_dir(sdir)
+ packager.ensure_dir(sdir)
# Note that the RPM packages get their man pages from the debian
# directory, so the debian directory is needed in all cases (and
# innocuous in the debianoids' sdirs).
for pkgdir in ["debian", "rpm"]:
print "Copying packaging files from %s to %s" % ("%s/%s" % (srcdir, pkgdir), sdir)
# FIXME: sh-dash-cee is bad. See if tarfile can do this.
- sysassert(["sh", "-c", "(cd \"%s\" && git archive %s %s/ ) | (cd \"%s\" && tar xvf -)" % (srcdir, spec.metadata_gitspec(), pkgdir, sdir)])
+ packager.sysassert(["sh", "-c", "(cd \"%s\" && git archive %s %s/ ) | (cd \"%s\" && tar xvf -)" % (srcdir, spec.metadata_gitspec(), pkgdir, sdir)])
# Splat the binaries and snmp files under sdir. The "build" stages of the
# packaging infrastructure will move the files to wherever they
# need to go.
@@ -373,75 +360,24 @@ def make_repo(repodir, distro, build_os, spec):
if re.search("(debian|ubuntu)", repodir):
make_deb_repo(repodir, distro, build_os, spec)
elif re.search("(suse|centos|redhat|fedora)", repodir):
- make_rpm_repo(repodir)
+ packager.make_rpm_repo(repodir)
else:
raise Exception("BUG: unsupported platform?")
-def make_deb(distro, build_os, arch, spec, srcdir):
- # I can't remember the details anymore, but the initscript/upstart
- # job files' names must match the package name in some way; and
- # see also the --name flag to dh_installinit in the generated
- # debian/rules file.
- suffix=spec.suffix()
- sdir=setupdir(distro, build_os, arch, spec)
- if re.search("debian", distro.name()):
- os.link(sdir+"debian/init.d", sdir+"debian/%s%s-server.mongod.init" % (distro.pkgbase(), suffix))
- os.unlink(sdir+"debian/mongod.upstart")
- elif re.search("ubuntu", distro.name()):
- os.link(sdir+"debian/mongod.upstart", sdir+"debian/%s%s-server.mongod.upstart" % (distro.pkgbase(), suffix))
- os.unlink(sdir+"debian/init.d")
- else:
- raise Exception("unknown debianoid flavor: not debian or ubuntu?")
- # Rewrite the control and rules files
- write_debian_changelog(sdir+"debian/changelog", spec, srcdir)
- distro_arch=distro.archname(arch)
- sysassert(["cp", "-v", srcdir+"debian/%s%s.control" % (distro.pkgbase(), suffix), sdir+"debian/control"])
- sysassert(["cp", "-v", srcdir+"debian/%s%s.rules" % (distro.pkgbase(), suffix), sdir+"debian/rules"])
-
-
- # old non-server-package postinst will be hanging around for old versions
- #
- if os.path.exists(sdir+"debian/postinst"):
- os.unlink(sdir+"debian/postinst")
-
- # copy our postinst files
- #
- sysassert(["sh", "-c", "cp -v \"%sdebian/\"*.postinst \"%sdebian/\""%(srcdir, sdir)])
-
- # Do the packaging.
- oldcwd=os.getcwd()
- try:
- os.chdir(sdir)
- sysassert(["dpkg-buildpackage", "-a"+distro_arch, "-k Richard Kreuter <richard@10gen.com>"])
- finally:
- os.chdir(oldcwd)
- r=distro.repodir(arch, build_os, spec)
- ensure_dir(r)
- # FIXME: see if shutil.copyfile or something can do this without
- # much pain.
- sysassert(["sh", "-c", "cp -v \"%s/../\"*.deb \"%s\""%(sdir, r)])
- return r
-
def make_deb_repo(repo, distro, build_os, spec):
# Note: the Debian repository Packages files must be generated
# very carefully in order to be usable.
oldpwd=os.getcwd()
os.chdir(repo+"../../../../../../")
try:
- dirs=set([os.path.dirname(deb)[2:] for deb in backtick(["find", ".", "-name", "*.deb"]).split()])
+ dirs=set([os.path.dirname(deb)[2:] for deb in packager.backtick(["find", ".", "-name", "*.deb"]).split()])
for d in dirs:
- s=backtick(["dpkg-scanpackages", d, "/dev/null"])
- f=open(d+"/Packages", "w")
- try:
+ s=packager.backtick(["dpkg-scanpackages", d, "/dev/null"])
+ with open(d+"/Packages", "w") as f:
f.write(s)
- finally:
- f.close()
- b=backtick(["gzip", "-9c", d+"/Packages"])
- f=open(d+"/Packages.gz", "wb")
- try:
+ b=packager.backtick(["gzip", "-9c", d+"/Packages"])
+ with open(d+"/Packages.gz", "wb") as f:
f.write(b)
- finally:
- f.close()
finally:
os.chdir(oldpwd)
# Notes: the Release{,.gpg} files must live in a special place,
@@ -461,24 +397,11 @@ Description: MongoDB packages
os.unlink(repo+"../../Release.gpg")
oldpwd=os.getcwd()
os.chdir(repo+"../../")
- s2=backtick(["apt-ftparchive", "release", "."])
+ s2=packager.backtick(["apt-ftparchive", "release", "."])
try:
- f=open("Release", 'w')
- try:
+ with open("Release", 'w') as f:
f.write(s)
f.write(s2)
- finally:
- f.close()
-
- arg=None
- for line in backtick(["gpg", "--list-keys"]).split("\n"):
- tokens=line.split()
- if len(tokens)>0 and tokens[0] == "uid":
- arg=tokens[-1]
- break
- # Note: for some reason, I think --no-tty might be needed
- # here, but maybe not.
- sysassert(["gpg", "-r", arg, "--no-secmem-warning", "-abs", "--output", "Release.gpg", "Release"])
finally:
os.chdir(oldpwd)
@@ -507,7 +430,7 @@ def move_repos_into_place(src, dst):
# Put the stuff in our new directory.
for r in os.listdir(src):
- sysassert(["cp", "-rv", src + "/" + r, dname])
+ packager.sysassert(["cp", "-rv", src + "/" + r, dname])
# Make a symlink to the new directory; the symlink will be renamed
# to dst shortly.
@@ -546,120 +469,5 @@ def move_repos_into_place(src, dst):
if oldnam:
os.rename(oldnam, dst+".old")
-
-def write_debian_changelog(path, spec, srcdir):
- oldcwd=os.getcwd()
- os.chdir(srcdir)
- preamble=""
- try:
- s=preamble+backtick(["sh", "-c", "git archive %s debian/changelog | tar xOf -" % spec.metadata_gitspec()])
- finally:
- os.chdir(oldcwd)
- f=open(path, 'w')
- lines=s.split("\n")
- # If the first line starts with "mongodb", it's not a revision
- # preamble, and so frob the version number.
- lines[0]=re.sub("^mongodb \\(.*\\)", "mongodb (%s)" % (spec.pversion(Distro("debian"))), lines[0])
- # Rewrite every changelog entry starting in mongodb<space>
- lines=[re.sub("^mongodb ", "mongodb%s " % (spec.suffix()), l) for l in lines]
- lines=[re.sub("^ --", " --", l) for l in lines]
- s="\n".join(lines)
- try:
- f.write(s)
- finally:
- f.close()
-
-def make_rpm(distro, build_os, arch, spec, srcdir):
- # Create the specfile.
- suffix=spec.suffix()
- sdir=setupdir(distro, build_os, arch, spec)
-
- # Use special suse init script if we're building for SUSE
- #
- if distro.name() == "suse":
- os.unlink(sdir+"rpm/init.d-mongod")
- os.link(sdir+"rpm/init.d-mongod.suse", sdir+"rpm/init.d-mongod")
-
- specfile=srcdir+"rpm/mongodb%s.spec" % suffix
- topdir=ensure_dir('%s/rpmbuild/%s/' % (os.getcwd(), build_os))
- for subdir in ["BUILD", "RPMS", "SOURCES", "SPECS", "SRPMS"]:
- ensure_dir("%s/%s/" % (topdir, subdir))
- distro_arch=distro.archname(arch)
- # RPM tools take these macro files that define variables in
- # RPMland. Unfortunately, there's no way to tell RPM tools to use
- # a given file *in addition* to the files that it would already
- # load, so we have to figure out what it would normally load,
- # augment that list, and tell RPM to use the augmented list. To
- # figure out what macrofiles ordinarily get loaded, older RPM
- # versions had a parameter called "macrofiles" that could be
- # extracted from "rpm --showrc". But newer RPM versions don't
- # have this. To tell RPM what macros to use, older versions of
- # RPM have a --macros option that doesn't work; on these versions,
- # you can put a "macrofiles" parameter into an rpmrc file. But
- # that "macrofiles" setting doesn't do anything for newer RPM
- # versions, where you have to use the --macros flag instead. And
- # all of this is to let us do our work with some guarantee that
- # we're not clobbering anything that doesn't belong to us. Why is
- # RPM so braindamaged?
- macrofiles=[l for l in backtick(["rpm", "--showrc"]).split("\n") if l.startswith("macrofiles")]
- flags=[]
- macropath=os.getcwd()+"/macros"
-
- write_rpm_macros_file(macropath, topdir, distro.release_dist(build_os))
- if len(macrofiles)>0:
- macrofiles=macrofiles[0]+":"+macropath
- rcfile=os.getcwd()+"/rpmrc"
- write_rpmrc_file(rcfile, macrofiles)
- flags=["--rpmrc", rcfile]
- else:
- # This hard-coded hooey came from some box running RPM
- # 4.4.2.3. It may not work over time, but RPM isn't sanely
- # configurable.
- flags=["--macros", "/usr/lib/rpm/macros:/usr/lib/rpm/%s-linux/macros:/etc/rpm/macros.*:/etc/rpm/macros:/etc/rpm/%s-linux/macros:~/.rpmmacros:%s" % (distro_arch, distro_arch, macropath)]
- # Put the specfile and the tar'd up binaries and stuff in
- # place. FIXME: see if shutil.copyfile can do this without too
- # much hassle.
- sysassert(["cp", "-v", specfile, topdir+"SPECS/"])
- oldcwd=os.getcwd()
- os.chdir(sdir+"/../")
- try:
- sysassert(["tar", "-cpzf", topdir+"SOURCES/mongodb%s-%s.tar.gz" % (suffix, spec.pversion(distro)), os.path.basename(os.path.dirname(sdir))])
- finally:
- os.chdir(oldcwd)
- # Do the build.
- flags.extend(["-D", "dynamic_version " + spec.pversion(distro), "-D", "dynamic_release " + spec.prelease()])
- sysassert(["rpmbuild", "-ba", "--target", distro_arch] + flags + ["%s/SPECS/mongodb%s.spec" % (topdir, suffix)])
- r=distro.repodir(arch, build_os, spec)
- ensure_dir(r)
- # FIXME: see if some combination of shutil.copy<hoohah> and glob
- # can do this without shelling out.
- sysassert(["sh", "-c", "cp -v \"%s/RPMS/%s/\"*.rpm \"%s\""%(topdir, distro_arch, r)])
- return r
-
-def make_rpm_repo(repo):
- oldpwd=os.getcwd()
- os.chdir(repo+"../")
- try:
- sysassert(["createrepo", "."])
- finally:
- os.chdir(oldpwd)
-
-
-def write_rpmrc_file(path, string):
- f=open(path, 'w')
- try:
- f.write(string)
- finally:
- f.close()
-
-def write_rpm_macros_file(path, topdir, release_dist):
- f=open(path, 'w')
- try:
- f.write("%%_topdir %s\n" % topdir)
- f.write("%%dist .%s\n" % release_dist)
- f.write("%_use_internal_dependency_generator 0\n")
- finally:
- f.close()
-
if __name__ == "__main__":
main(sys.argv)
diff --git a/buildscripts/packager.py b/buildscripts/packager.py
index c1da01b552a..4587182b105 100755
--- a/buildscripts/packager.py
+++ b/buildscripts/packager.py
@@ -248,36 +248,44 @@ class Distro(object):
else:
return re.sub(r'^rh(el\d).*$', r'\1', build_os)
-def main(argv):
+def get_args(distros):
- # --distros must be "build_os" value, not actual distro name ("ubuntu1404" vs. "ubuntu")
- #
- distros=[Distro(distro) for distro in DISTROS]
DISTRO_CHOICES=[]
for distro in distros:
DISTRO_CHOICES.extend(distro.build_os())
parser = argparse.ArgumentParser(description='Build MongoDB Packages')
- parser.add_argument("-s", "--server-version", help="Server version to build (e.g. 2.7.8-rc0)")
+ parser.add_argument("-s", "--server-version", help="Server version to build (e.g. 2.7.8-rc0)", required=True)
parser.add_argument("-m", "--metadata-gitspec", help="Gitspec to use for package metadata files", required=False)
parser.add_argument("-r", "--release-number", help="RPM release number base", type=int, required=False)
parser.add_argument("-d", "--distros", help="Distros to build for", choices=DISTRO_CHOICES, required=False, default=[], action='append')
+ parser.add_argument("-p", "--prefix", help="Directory to build into", required=False)
parser.add_argument("-a", "--arches", help="Architecture to build", choices=DEFAULT_ARCHES, default=DEFAULT_ARCHES, required=False, action='append')
parser.add_argument("-t", "--tarball", help="Local tarball to package instead of downloading (only valid with one distro/arch combination)", required=False, type=lambda x: is_valid_file(parser, x))
+
args = parser.parse_args()
if len(args.distros) * len(args.arches) > 1 and args.tarball:
parser.error("Can only specify local tarball with one distro/arch combination")
+ return args
+
+def main(argv):
+
+ distros=[Distro(distro) for distro in DISTROS]
+
+ args = get_args(distros)
spec = Spec(args.server_version, args.metadata_gitspec, args.release_number)
oldcwd=os.getcwd()
srcdir=oldcwd+"/../"
- # We do all our work in a randomly-created directory. You can set
- # TEMPDIR to influence where this program will do stuff.
- prefix=tempfile.mkdtemp()
+ # Where to do all of our work. Use a randomly-created directory if one
+ # is not passed in.
+ prefix = args.prefix
+ if prefix is None:
+ prefix = tempfile.mkdtemp()
print "Working in directory %s" % prefix
os.chdir(prefix)
@@ -360,11 +368,8 @@ def httpget(url, filename):
resp, content = h.request(url, "GET")
t=filename+'.TMP'
if resp.status==200:
- f = open(t, 'w')
- try:
+ with open(t, 'w') as f:
f.write(content)
- finally:
- f.close()
else:
raise Exception("HTTP error %d" % resp.status)
os.rename(t, filename)
@@ -463,7 +468,7 @@ def make_deb(distro, build_os, arch, spec, srcdir):
oldcwd=os.getcwd()
try:
os.chdir(sdir)
- sysassert(["dpkg-buildpackage", "-a"+distro_arch, "-k Richard Kreuter <richard@10gen.com>"])
+ sysassert(["dpkg-buildpackage", "-uc", "-us", "-a" + distro_arch])
finally:
os.chdir(oldcwd)
r=distro.repodir(arch, build_os, spec)
@@ -482,17 +487,11 @@ def make_deb_repo(repo, distro, build_os, spec):
dirs=set([os.path.dirname(deb)[2:] for deb in backtick(["find", ".", "-name", "*.deb"]).split()])
for d in dirs:
s=backtick(["dpkg-scanpackages", d, "/dev/null"])
- f=open(d+"/Packages", "w")
- try:
+ with open(d+"/Packages", "w") as f:
f.write(s)
- finally:
- f.close()
b=backtick(["gzip", "-9c", d+"/Packages"])
- f=open(d+"/Packages.gz", "wb")
- try:
+ with open(d+"/Packages.gz", "wb") as f:
f.write(b)
- finally:
- f.close()
finally:
os.chdir(oldpwd)
# Notes: the Release{,.gpg} files must live in a special place,
@@ -514,22 +513,9 @@ Description: MongoDB packages
os.chdir(repo+"../../")
s2=backtick(["apt-ftparchive", "release", "."])
try:
- f=open("Release", 'w')
- try:
+ with open("Release", 'w') as f:
f.write(s)
f.write(s2)
- finally:
- f.close()
-
- arg=None
- for line in backtick(["gpg", "--list-keys"]).split("\n"):
- tokens=line.split()
- if len(tokens)>0 and tokens[0] == "uid":
- arg=tokens[-1]
- break
- # Note: for some reason, I think --no-tty might be needed
- # here, but maybe not.
- sysassert(["gpg", "-r", arg, "--no-secmem-warning", "-abs", "--output", "Release.gpg", "Release"])
finally:
os.chdir(oldpwd)
@@ -606,7 +592,6 @@ def write_debian_changelog(path, spec, srcdir):
s=preamble+backtick(["sh", "-c", "git archive %s debian/changelog | tar xOf -" % spec.metadata_gitspec()])
finally:
os.chdir(oldcwd)
- f=open(path, 'w')
lines=s.split("\n")
# If the first line starts with "mongodb", it's not a revision
# preamble, and so frob the version number.
@@ -615,10 +600,8 @@ def write_debian_changelog(path, spec, srcdir):
lines=[re.sub("^mongodb ", "mongodb%s " % (spec.suffix()), l) for l in lines]
lines=[re.sub("^ --", " --", l) for l in lines]
s="\n".join(lines)
- try:
+ with open(path, 'w') as f:
f.write(s)
- finally:
- f.close()
def make_rpm(distro, build_os, arch, spec, srcdir):
# Create the specfile.
@@ -650,8 +633,11 @@ def make_rpm(distro, build_os, arch, spec, srcdir):
# that "macrofiles" setting doesn't do anything for newer RPM
# versions, where you have to use the --macros flag instead. And
# all of this is to let us do our work with some guarantee that
- # we're not clobbering anything that doesn't belong to us. Why is
- # RPM so braindamaged?
+ # we're not clobbering anything that doesn't belong to us.
+ #
+ # On RHEL systems, --rcfile will generally be used and
+ # --macros will be used in Ubuntu.
+ #
macrofiles=[l for l in backtick(["rpm", "--showrc"]).split("\n") if l.startswith("macrofiles")]
flags=[]
macropath=os.getcwd()+"/macros"
@@ -661,16 +647,24 @@ def make_rpm(distro, build_os, arch, spec, srcdir):
macrofiles=macrofiles[0]+":"+macropath
rcfile=os.getcwd()+"/rpmrc"
write_rpmrc_file(rcfile, macrofiles)
- flags=["--rpmrc", rcfile]
+ flags=["--rcfile", rcfile]
else:
# This hard-coded hooey came from some box running RPM
# 4.4.2.3. It may not work over time, but RPM isn't sanely
# configurable.
flags=["--macros", "/usr/lib/rpm/macros:/usr/lib/rpm/%s-linux/macros:/etc/rpm/macros.*:/etc/rpm/macros:/etc/rpm/%s-linux/macros:~/.rpmmacros:%s" % (distro_arch, distro_arch, macropath)]
# Put the specfile and the tar'd up binaries and stuff in
- # place. FIXME: see if shutil.copyfile can do this without too
- # much hassle.
- sysassert(["cp", "-v", specfile, topdir+"SPECS/"])
+ # place.
+ #
+ # The version of rpm and rpm tools in RHEL 5.5 can't interpolate the
+ # %{dynamic_version} macro, so do it manually
+ with open(specfile, "r") as spec_source:
+ with open(topdir+"SPECS/" + os.path.basename(specfile), "w") as spec_dest:
+ for line in spec_source:
+ line = line.replace('%{dynamic_version}', spec.pversion(distro))
+ line = line.replace('%{dynamic_release}', spec.prelease())
+ spec_dest.write(line)
+
oldcwd=os.getcwd()
os.chdir(sdir+"/../")
try:
@@ -678,7 +672,8 @@ def make_rpm(distro, build_os, arch, spec, srcdir):
finally:
os.chdir(oldcwd)
# Do the build.
- flags.extend(["-D", "dynamic_version " + spec.pversion(distro), "-D", "dynamic_release " + spec.prelease()])
+
+ flags.extend(["-D", "dynamic_version " + spec.pversion(distro), "-D", "dynamic_release " + spec.prelease(), "-D", "_topdir " + topdir])
sysassert(["rpmbuild", "-ba", "--target", distro_arch] + flags + ["%s/SPECS/mongodb%s.spec" % (topdir, suffix)])
r=distro.repodir(arch, build_os, spec)
ensure_dir(r)
@@ -697,20 +692,14 @@ def make_rpm_repo(repo):
def write_rpmrc_file(path, string):
- f=open(path, 'w')
- try:
+ with open(path, 'w') as f:
f.write(string)
- finally:
- f.close()
def write_rpm_macros_file(path, topdir, release_dist):
- f=open(path, 'w')
- try:
+ with open(path, 'w') as f:
f.write("%%_topdir %s\n" % topdir)
f.write("%%dist .%s\n" % release_dist)
f.write("%_use_internal_dependency_generator 0\n")
- finally:
- f.close()
def ensure_dir(filename):
"""Make sure that the directory that's the dirname part of
@@ -729,9 +718,11 @@ def ensure_dir(filename):
def is_valid_file(parser, filename):
"""Check if file exists, and return the filename"""
if not os.path.exists(filename):
- parser.error("The file %s does not exist!" % arg)
+ parser.error("The file %s does not exist!" % filename)
else:
return filename
if __name__ == "__main__":
main(sys.argv)
+
+
diff --git a/etc/evergreen.yml b/etc/evergreen.yml
index 2c8fd6314be..099381ce0bf 100644
--- a/etc/evergreen.yml
+++ b/etc/evergreen.yml
@@ -25,6 +25,30 @@
command_type: system
+## Some variables for convenience:
+variables:
+
+- &packaging_variants
+ - enterprise-rhel-57-64-bit
+ - enterprise-rhel-62-64-bit
+ - enterprise-rhel-70-64-bit
+ - enterprise-suse11-64
+ - enterprise-ubuntu1204-64
+ - enterprise-ubuntu1404-64
+ - enterprise-debian71-64
+ - rhel55
+ - rhel62
+ - rhel70
+ - suse11
+ - ubuntu1204
+ - ubuntu1404
+ - amazon
+ - debian71
+
+#######################################
+# Functions #
+#######################################
+
functions:
"fetch source" :
command: git.get_project
@@ -254,6 +278,18 @@ tasks:
mv mongodb-*.${ext|tgz} mongodb-binaries.tgz
mv debugsymbols-*.${ext|tgz} mongo-debugsymbols.tgz || true
+ - command: expansions.update
+ params:
+ file: src/compile_expansions.yml
+ - command: shell.exec
+ params:
+ working_dir: src
+ script: |
+ if [ "${has_packages|}" = "true" ] ; then
+ cd buildscripts
+ ${python|python} ${packager_script} --prefix `pwd`/.. --distros ${packager_distro} --tarball `pwd`/../mongodb-binaries.tgz -s ${version} -m HEAD
+ cd ..
+ fi
- command: archive.targz_pack
params:
target: "artifacts.tgz"
@@ -274,6 +310,7 @@ tasks:
- "./**.pdb"
- "./**.msi"
- "./etc/*san.suppressions"
+ - "repo/**"
exclude_files:
- "*_test.pdb"
- func: "upload debugsymbols"
@@ -1845,7 +1882,23 @@ tasks:
mv distsrc.${ext|tgz} mongodb-src-${src_suffix}.${ext|tar.gz} || true
/usr/bin/find build/ -type f | grep msi$ | xargs -I original_filename cp original_filename mongodb-win32-${push_arch}-${suffix}.msi || true
- notary-client.py --key-name "${signing_key_name}" --auth-token-file ./signing_auth_token --comment "MCI Automatic Signing ${revision} - ${build_variant} - ${branch_name}" --notary-url http://notary-service.build.10gen.cc:5000 --skip-missing mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz} mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}.${ext|tgz} mongodb-win32-${push_arch}-${suffix}.msi mongodb-src-${src_suffix}.${ext|tar.gz}
+ notary-client.py --key-name "${signing_key_name}" --auth-token-file ${workdir}/src/signing_auth_token --comment "Evergreen Automatic Signing ${revision} - ${build_variant} - ${branch_name}" --notary-url http://notary-service.build.10gen.cc:5000 --skip-missing mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz} mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}.${ext|tgz} mongodb-win32-${push_arch}-${suffix}.msi mongodb-src-${src_suffix}.${ext|tgz}
+
+ if [ "${has_packages|}" = "true" ] ; then
+ for rpm in $(find repo/ -name \*.rpm) ; do
+ pushd $(dirname $rpm)
+ # Use --package-file-suffix "" to overwrite existing RPM's instead of saving new "-signed.rpm" RPM files
+ #
+ notary-client.py --key-name "${signing_key_name}" --auth-token-file ${workdir}/src/signing_auth_token --comment "Evergreen Automatic Signing ${revision} - ${build_variant} - ${branch_name}" --notary-url http://notary-service.build.10gen.cc:5000 --archive-file-ext gpg --outputs sig --package-file-suffix "" $(basename $rpm)
+ popd
+ done
+ for release_file in $(find repo/ -name Release) ; do
+ pushd $(dirname $release_file)
+ notary-client.py --key-name "${signing_key_name}" --auth-token-file ${workdir}/src/signing_auth_token --comment "Evergreen Automatic Signing ${revision} - ${build_variant} - ${branch_name}" --notary-url http://notary-service.build.10gen.cc:5000 --outputs sig Release
+ popd
+ done
+ fi
+ tar zcvf repo-${push_arch}.tgz repo || true
rm signing_auth_token
# Put the binaries tarball/zipfile
@@ -2070,11 +2123,29 @@ tasks:
content_type: text/plain
remote_file: ${push_path}-STAGE/${push_name}/mongodb-win32-${push_arch}-${suffix}-${task_id}-signed.msi.md5
+ # Put the tarred up Package repo
+ - command: s3.put
+ params:
+ aws_key: ${aws_key}
+ aws_secret: ${aws_secret}
+ build_variants: *packaging_variants
+ local_file: src/repo-${push_arch}.tgz
+ bucket: build-push-testing
+ permissions: public-read
+ content_type: ${content_type|application/x-gzip}
+ remote_file: ${push_path}-STAGE/${push_name}/repo-${push_arch}-${task_id}.tgz
+
- command: s3Copy.copy
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
s3_copy_files:
+ #Package repo tarballs
+ - {'source': {'path': '${push_path}-STAGE/${push_name}/repo-${push_arch}-${task_id}.tgz', 'bucket': 'build-push-testing'},
+ 'destination': {'path': 'packages/repo-${push_arch}-${suffix}.tgz', 'bucket': '${push_bucket}'},
+ build_variants: *packaging_variants
+ }
+
#Binaries
- {'source': {'path': '${push_path}-STAGE/${push_name}/mongodb-${push_name}-${push_arch}-${suffix}-${task_id}.${ext|tgz}', 'bucket': 'build-push-testing'},
'destination': {'path': '${push_path}/mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz}', 'bucket': '${push_bucket}'}}
@@ -2265,11 +2336,6 @@ tasks:
- {'source': {'path': '${push_path}-STAGE/${push_name}/mongodb-win32-${push_arch}-${suffix}-${task_id}-signed.msi.md5', 'bucket': 'build-push-testing'},
'destination': {'path': '${push_path}/mongodb-win32-${push_arch}-${suffix}-signed.msi.md5', 'bucket': '${push_bucket}'},
'build_variants': ['enterprise-windows-64', 'windows-64', 'windows-64-2k8', 'windows-64-2k8-ssl', 'windows-32'], }
- - command: shell.exec
- params:
- working_dir: src
- script: |
- ssh distro-deb2.build.10gen.cc sudo -H -u ubuntu /home/ubuntu/git/kernel-tools/releases/publish_packages/publish_packages.sh v3.0 ${version} ${revision} || true
#######################################
# Modules #
@@ -2540,6 +2606,9 @@ buildvariants:
compile_flags: --ssl --distmod=ubuntu1204 -j$(grep -c ^processor /proc/cpuinfo) --release --cc=/opt/mongodbtoolchain/bin/gcc --cxx=/opt/mongodbtoolchain/bin/g++ --variant-dir="linux2/release"
test_flags: --continue-on-failure
has_debugsymbols: true
+ has_packages: true
+ packager_script: packager.py
+ packager_distro: ubuntu1204
tasks:
- name: compile
distros:
@@ -2616,6 +2685,9 @@ buildvariants:
compile_flags: --ssl --distmod=ubuntu1404 -j$(grep -c ^processor /proc/cpuinfo) --release --cc=/opt/mongodbtoolchain/bin/gcc --cxx=/opt/mongodbtoolchain/bin/g++ --variant-dir="linux2/release"
test_flags: --continue-on-failure
has_debugsymbols: true
+ has_packages: true
+ packager_script: packager.py
+ packager_distro: ubuntu1404
tasks:
- name: compile
distros:
@@ -2693,6 +2765,9 @@ buildvariants:
compile_flags: --ssl --distmod=amzn64 --release -j$(grep -c ^processor /proc/cpuinfo) --cc=/opt/mongodbtoolchain/bin/gcc --cxx=/opt/mongodbtoolchain/bin/g++ --variant-dir="linux2/release"
test_flags: --authMechanism=SCRAM-SHA-1 --continue-on-failure
has_debugsymbols: true
+ has_packages: true
+ packager_script: packager.py
+ packager_distro: amazon
tasks:
- name: compile
distros:
@@ -3405,6 +3480,9 @@ buildvariants:
compile_flags: --ssl --distmod=rhel57 -j$(grep -c ^processor /proc/cpuinfo) --release --cc=/opt/mongodbtoolchain/bin/gcc --cxx=/opt/mongodbtoolchain/bin/g++ --variant-dir="linux2/release"
test_flags: --continue-on-failure
has_debugsymbols: true
+ has_packages: true
+ packager_script: packager-enterprise.py
+ packager_distro: rhel57
tasks:
- name: compile
distros:
@@ -3441,6 +3519,9 @@ buildvariants:
compile_flags: --ssl --distmod=rhel62 -j$(grep -c ^processor /proc/cpuinfo) --release --cc=/opt/mongodbtoolchain/bin/gcc --cxx=/opt/mongodbtoolchain/bin/g++ --variant-dir="linux2/release"
test_flags: --continue-on-failure
has_debugsymbols: true
+ has_packages: true
+ packager_script: packager-enterprise.py
+ packager_distro: rhel62
tasks:
- name: compile
distros:
@@ -3476,6 +3557,9 @@ buildvariants:
compile_flags: --ssl --distmod=rhel70 -j$(grep -c ^processor /proc/cpuinfo) --release --cc=/opt/mongodbtoolchain/bin/gcc --cxx=/opt/mongodbtoolchain/bin/g++ --variant-dir="linux2/release"
test_flags: --continue-on-failure
has_debugsymbols: true
+ has_packages: true
+ packager_script: packager-enterprise.py
+ packager_distro: rhel70
tasks:
- name: compile
- name: audit
@@ -3509,6 +3593,9 @@ buildvariants:
compile_flags: --ssl --distmod=rhel55 -j$(grep -c ^processor /proc/cpuinfo) --release --cc=/opt/mongodbtoolchain/bin/gcc --cxx=/opt/mongodbtoolchain/bin/g++ --variant-dir="linux2/release"
test_flags: --continue-on-failure
has_debugsymbols: true
+ has_packages: true
+ packager_script: packager.py
+ packager_distro: rhel55
tasks:
- name: compile
distros:
@@ -3586,6 +3673,9 @@ buildvariants:
compile_flags: --ssl --distmod=rhel62 -j$(grep -c ^processor /proc/cpuinfo) --release --cc=/opt/mongodbtoolchain/bin/gcc --cxx=/opt/mongodbtoolchain/bin/g++ --variant-dir="linux2/release"
test_flags: --continue-on-failure
has_debugsymbols: true
+ has_packages: true
+ packager_script: packager.py
+ packager_distro: rhel62
tasks:
- name: compile
distros:
@@ -3663,6 +3753,9 @@ buildvariants:
compile_flags: --ssl --distmod=rhel70 -j$(grep -c ^processor /proc/cpuinfo) --release --cc=/opt/mongodbtoolchain/bin/gcc --cxx=/opt/mongodbtoolchain/bin/g++ --variant-dir="linux2/release"
test_flags: --continue-on-failure
has_debugsymbols: true
+ has_packages: true
+ packager_script: packager.py
+ packager_distro: rhel70
tasks:
- name: compile
distros:
@@ -3745,6 +3838,9 @@ buildvariants:
compile_flags: --ssl --distmod=ubuntu1204 --release -j$(grep -c ^processor /proc/cpuinfo) --cc=/opt/mongodbtoolchain/bin/gcc --cxx=/opt/mongodbtoolchain/bin/g++ --variant-dir="linux2/release"
test_flags: --authMechanism=SCRAM-SHA-1 --continue-on-failure
has_debugsymbols: true
+ has_packages: true
+ packager_script: packager-enterprise.py
+ packager_distro: ubuntu1204
tasks:
- name: compile
distros:
@@ -3780,6 +3876,9 @@ buildvariants:
compile_flags: --ssl --distmod=ubuntu1404 --release -j$(grep -c ^processor /proc/cpuinfo) --cc=/opt/mongodbtoolchain/bin/gcc --cxx=/opt/mongodbtoolchain/bin/g++ --variant-dir="linux2/release"
test_flags: --authMechanism=SCRAM-SHA-1 --continue-on-failure
has_debugsymbols: true
+ has_packages: true
+ packager_script: packager-enterprise.py
+ packager_distro: ubuntu1404
tasks:
- name: compile
distros:
@@ -3819,6 +3918,9 @@ buildvariants:
compile_flags: --ssl --distmod=suse11 --release -j$(grep -c ^processor /proc/cpuinfo) --cc=/opt/mongodbtoolchain/bin/gcc --cxx=/opt/mongodbtoolchain/bin/g++ --variant-dir="linux2/release"
test_flags: --authMechanism=SCRAM-SHA-1 --continue-on-failure
has_debugsymbols: true
+ has_packages: true
+ packager_script: packager.py
+ packager_distro: suse11
tasks:
- name: compile
distros:
@@ -3853,6 +3955,9 @@ buildvariants:
compile_flags: --ssl --distmod=suse11 -j$(grep -c ^processor /proc/cpuinfo) --release --cc=/opt/mongodbtoolchain/bin/gcc --cxx=/opt/mongodbtoolchain/bin/g++ --variant-dir="linux2/release"
test_flags: --continue-on-failure
has_debugsymbols: true
+ has_packages: true
+ packager_script: packager-enterprise.py
+ packager_distro: suse11
tasks:
- name: compile
distros:
@@ -3982,6 +4087,9 @@ buildvariants:
compile_flags: --ssl --distmod=debian71 --release -j$(grep -c ^processor /proc/cpuinfo) --cc=/opt/mongodbtoolchain/bin/gcc --cxx=/opt/mongodbtoolchain/bin/g++ --variant-dir="linux2/release"
test_flags: --authMechanism=SCRAM-SHA-1 --continue-on-failure
has_debugsymbols: true
+ has_packages: true
+ packager_script: packager-enterprise.py
+ packager_distro: debian71
tasks:
- name: compile
distros:
@@ -4016,6 +4124,9 @@ buildvariants:
compile_flags: --ssl --distmod=debian71 -j$(grep -c ^processor /proc/cpuinfo) --release --cc=/opt/mongodbtoolchain/bin/gcc --cxx=/opt/mongodbtoolchain/bin/g++ --variant-dir="linux2/release"
test_flags: --continue-on-failure
has_debugsymbols: true
+ has_packages: true
+ packager_script: packager.py
+ packager_distro: debian71
tasks:
- name: compile
distros:
diff --git a/rpm/mongodb-enterprise-unstable.spec b/rpm/mongodb-enterprise-unstable.spec
index 383b17c1cf7..cdb0a9edadc 100644
--- a/rpm/mongodb-enterprise-unstable.spec
+++ b/rpm/mongodb-enterprise-unstable.spec
@@ -33,6 +33,7 @@ This metapackage will install the mongo shell, import/export tools, other client
%package server
Summary: MongoDB database server (enterprise)
+Group: Applications/Databases
Requires: openssl, net-snmp, cyrus-sasl, cyrus-sasl-plain, cyrus-sasl-gssapi
Conflicts: mongo-10gen, mongo-10gen-enterprise, mongo-10gen-enterprise-server, mongo-10gen-server, mongo-10gen-unstable, mongo-10gen-unstable-enterprise, mongo-10gen-unstable-enterprise-mongos, mongo-10gen-unstable-enterprise-server, mongo-10gen-unstable-enterprise-shell, mongo-10gen-unstable-enterprise-tools, mongo-10gen-unstable-mongos, mongo-10gen-unstable-server, mongo-10gen-unstable-shell, mongo-10gen-unstable-tools, mongo18-10gen, mongo18-10gen-server, mongo20-10gen, mongo20-10gen-server, mongodb, mongodb-server, mongodb-dev, mongodb-clients, mongodb-10gen, mongodb-10gen-enterprise, mongodb-10gen-unstable, mongodb-10gen-unstable-enterprise, mongodb-10gen-unstable-enterprise-mongos, mongodb-10gen-unstable-enterprise-server, mongodb-10gen-unstable-enterprise-shell, mongodb-10gen-unstable-enterprise-tools, mongodb-10gen-unstable-mongos, mongodb-10gen-unstable-server, mongodb-10gen-unstable-shell, mongodb-10gen-unstable-tools, mongodb-enterprise, mongodb-enterprise-mongos, mongodb-enterprise-server, mongodb-enterprise-shell, mongodb-enterprise-tools, mongodb-nightly, mongodb-org, mongodb-org-mongos, mongodb-org-server, mongodb-org-shell, mongodb-org-tools, mongodb-stable, mongodb18-10gen, mongodb20-10gen, mongodb-org-unstable, mongodb-org-unstable-mongos, mongodb-org-unstable-server, mongodb-org-unstable-shell, mongodb-org-unstable-tools
@@ -56,6 +57,7 @@ This package contains the MongoDB server software, default configuration files,
%package shell
Summary: MongoDB shell client (enterprise)
+Group: Applications/Databases
Requires: openssl, cyrus-sasl, cyrus-sasl-plain, cyrus-sasl-gssapi
Conflicts: mongo-10gen, mongo-10gen-enterprise, mongo-10gen-enterprise-server, mongo-10gen-server, mongo-10gen-unstable, mongo-10gen-unstable-enterprise, mongo-10gen-unstable-enterprise-mongos, mongo-10gen-unstable-enterprise-server, mongo-10gen-unstable-enterprise-shell, mongo-10gen-unstable-enterprise-tools, mongo-10gen-unstable-mongos, mongo-10gen-unstable-server, mongo-10gen-unstable-shell, mongo-10gen-unstable-tools, mongo18-10gen, mongo18-10gen-server, mongo20-10gen, mongo20-10gen-server, mongodb, mongodb-server, mongodb-dev, mongodb-clients, mongodb-10gen, mongodb-10gen-enterprise, mongodb-10gen-unstable, mongodb-10gen-unstable-enterprise, mongodb-10gen-unstable-enterprise-mongos, mongodb-10gen-unstable-enterprise-server, mongodb-10gen-unstable-enterprise-shell, mongodb-10gen-unstable-enterprise-tools, mongodb-10gen-unstable-mongos, mongodb-10gen-unstable-server, mongodb-10gen-unstable-shell, mongodb-10gen-unstable-tools, mongodb-enterprise, mongodb-enterprise-mongos, mongodb-enterprise-server, mongodb-enterprise-shell, mongodb-enterprise-tools, mongodb-nightly, mongodb-org, mongodb-org-mongos, mongodb-org-server, mongodb-org-shell, mongodb-org-tools, mongodb-stable, mongodb18-10gen, mongodb20-10gen, mongodb-org-unstable, mongodb-org-unstable-mongos, mongodb-org-unstable-server, mongodb-org-unstable-shell, mongodb-org-unstable-tools
@@ -79,6 +81,7 @@ This package contains the mongo shell.
%package mongos
Summary: MongoDB sharded cluster query router (enterprise)
+Group: Applications/Databases
Conflicts: mongo-10gen, mongo-10gen-enterprise, mongo-10gen-enterprise-server, mongo-10gen-server, mongo-10gen-unstable, mongo-10gen-unstable-enterprise, mongo-10gen-unstable-enterprise-mongos, mongo-10gen-unstable-enterprise-server, mongo-10gen-unstable-enterprise-shell, mongo-10gen-unstable-enterprise-tools, mongo-10gen-unstable-mongos, mongo-10gen-unstable-server, mongo-10gen-unstable-shell, mongo-10gen-unstable-tools, mongo18-10gen, mongo18-10gen-server, mongo20-10gen, mongo20-10gen-server, mongodb, mongodb-server, mongodb-dev, mongodb-clients, mongodb-10gen, mongodb-10gen-enterprise, mongodb-10gen-unstable, mongodb-10gen-unstable-enterprise, mongodb-10gen-unstable-enterprise-mongos, mongodb-10gen-unstable-enterprise-server, mongodb-10gen-unstable-enterprise-shell, mongodb-10gen-unstable-enterprise-tools, mongodb-10gen-unstable-mongos, mongodb-10gen-unstable-server, mongodb-10gen-unstable-shell, mongodb-10gen-unstable-tools, mongodb-enterprise, mongodb-enterprise-mongos, mongodb-enterprise-server, mongodb-enterprise-shell, mongodb-enterprise-tools, mongodb-nightly, mongodb-org, mongodb-org-mongos, mongodb-org-server, mongodb-org-shell, mongodb-org-tools, mongodb-stable, mongodb18-10gen, mongodb20-10gen, mongodb-org-unstable, mongodb-org-unstable-mongos, mongodb-org-unstable-server, mongodb-org-unstable-shell, mongodb-org-unstable-tools
%description mongos
@@ -101,6 +104,7 @@ This package contains mongos, the MongoDB sharded cluster query router.
%package tools
Summary: MongoDB tools (enterprise)
+Group: Applications/Databases
Requires: openssl, cyrus-sasl, cyrus-sasl-plain, cyrus-sasl-gssapi
Conflicts: mongo-10gen, mongo-10gen-enterprise, mongo-10gen-enterprise-server, mongo-10gen-server, mongo-10gen-unstable, mongo-10gen-unstable-enterprise, mongo-10gen-unstable-enterprise-mongos, mongo-10gen-unstable-enterprise-server, mongo-10gen-unstable-enterprise-shell, mongo-10gen-unstable-enterprise-tools, mongo-10gen-unstable-mongos, mongo-10gen-unstable-server, mongo-10gen-unstable-shell, mongo-10gen-unstable-tools, mongo18-10gen, mongo18-10gen-server, mongo20-10gen, mongo20-10gen-server, mongodb, mongodb-server, mongodb-dev, mongodb-clients, mongodb-10gen, mongodb-10gen-enterprise, mongodb-10gen-unstable, mongodb-10gen-unstable-enterprise, mongodb-10gen-unstable-enterprise-mongos, mongodb-10gen-unstable-enterprise-server, mongodb-10gen-unstable-enterprise-shell, mongodb-10gen-unstable-enterprise-tools, mongodb-10gen-unstable-mongos, mongodb-10gen-unstable-server, mongodb-10gen-unstable-shell, mongodb-10gen-unstable-tools, mongodb-enterprise, mongodb-enterprise-mongos, mongodb-enterprise-server, mongodb-enterprise-shell, mongodb-enterprise-tools, mongodb-nightly, mongodb-org, mongodb-org-mongos, mongodb-org-server, mongodb-org-shell, mongodb-org-tools, mongodb-stable, mongodb18-10gen, mongodb20-10gen, mongodb-org-unstable, mongodb-org-unstable-mongos, mongodb-org-unstable-server, mongodb-org-unstable-shell, mongodb-org-unstable-tools
@@ -124,6 +128,7 @@ This package contains standard utilities for interacting with MongoDB.
%package devel
Summary: Headers and libraries for MongoDB development.
+Group: Applications/Databases
Conflicts: mongo-10gen, mongo-10gen-enterprise, mongo-10gen-enterprise-server, mongo-10gen-server, mongo-10gen-unstable, mongo-10gen-unstable-enterprise, mongo-10gen-unstable-enterprise-mongos, mongo-10gen-unstable-enterprise-server, mongo-10gen-unstable-enterprise-shell, mongo-10gen-unstable-enterprise-tools, mongo-10gen-unstable-mongos, mongo-10gen-unstable-server, mongo-10gen-unstable-shell, mongo-10gen-unstable-tools, mongo18-10gen, mongo18-10gen-server, mongo20-10gen, mongo20-10gen-server, mongodb, mongodb-server, mongodb-dev, mongodb-clients, mongodb-10gen, mongodb-10gen-enterprise, mongodb-10gen-unstable, mongodb-10gen-unstable-enterprise, mongodb-10gen-unstable-enterprise-mongos, mongodb-10gen-unstable-enterprise-server, mongodb-10gen-unstable-enterprise-shell, mongodb-10gen-unstable-enterprise-tools, mongodb-10gen-unstable-mongos, mongodb-10gen-unstable-server, mongodb-10gen-unstable-shell, mongodb-10gen-unstable-tools, mongodb-enterprise, mongodb-enterprise-mongos, mongodb-enterprise-server, mongodb-enterprise-shell, mongodb-enterprise-tools, mongodb-nightly, mongodb-org, mongodb-org-mongos, mongodb-org-server, mongodb-org-shell, mongodb-org-tools, mongodb-stable, mongodb18-10gen, mongodb20-10gen, mongodb-org-unstable, mongodb-org-unstable-mongos, mongodb-org-unstable-server, mongodb-org-unstable-shell, mongodb-org-unstable-tools
%description devel
diff --git a/rpm/mongodb-enterprise.spec b/rpm/mongodb-enterprise.spec
index 56c82bf2e41..180324116d5 100644
--- a/rpm/mongodb-enterprise.spec
+++ b/rpm/mongodb-enterprise.spec
@@ -34,6 +34,7 @@ This metapackage will install the mongo shell, import/export tools, other client
%package server
Summary: MongoDB database server (enterprise)
+Group: Applications/Databases
Requires: openssl, net-snmp, cyrus-sasl, cyrus-sasl-plain, cyrus-sasl-gssapi
Conflicts: mongo-10gen, mongo-10gen-server, mongo-10gen-unstable, mongo-10gen-unstable-enterprise, mongo-10gen-unstable-enterprise-mongos, mongo-10gen-unstable-enterprise-server, mongo-10gen-unstable-enterprise-shell, mongo-10gen-unstable-enterprise-tools, mongo-10gen-unstable-mongos, mongo-10gen-unstable-server, mongo-10gen-unstable-shell, mongo-10gen-unstable-tools, mongo18-10gen, mongo18-10gen-server, mongo20-10gen, mongo20-10gen-server, mongodb, mongodb-server, mongodb-dev, mongodb-clients, mongodb-10gen, mongodb-10gen-enterprise, mongodb-10gen-unstable, mongodb-10gen-unstable-enterprise, mongodb-10gen-unstable-enterprise-mongos, mongodb-10gen-unstable-enterprise-server, mongodb-10gen-unstable-enterprise-shell, mongodb-10gen-unstable-enterprise-tools, mongodb-10gen-unstable-mongos, mongodb-10gen-unstable-server, mongodb-10gen-unstable-shell, mongodb-10gen-unstable-tools, mongodb-enterprise-unstable, mongodb-enterprise-unstable-mongos, mongodb-enterprise-unstable-server, mongodb-enterprise-unstable-shell, mongodb-enterprise-unstable-tools, mongodb-nightly, mongodb-org, mongodb-org-mongos, mongodb-org-server, mongodb-org-shell, mongodb-org-tools, mongodb-stable, mongodb18-10gen, mongodb20-10gen, mongodb-org-unstable, mongodb-org-unstable-mongos, mongodb-org-unstable-server, mongodb-org-unstable-shell, mongodb-org-unstable-tools
Obsoletes: mongo-10gen-enterprise-server
@@ -59,6 +60,7 @@ This package contains the MongoDB server software, default configuration files,
%package shell
Summary: MongoDB shell client (enterprise)
+Group: Applications/Databases
Requires: openssl, cyrus-sasl, cyrus-sasl-plain, cyrus-sasl-gssapi
Conflicts: mongo-10gen, mongo-10gen-server, mongo-10gen-unstable, mongo-10gen-unstable-enterprise, mongo-10gen-unstable-enterprise-mongos, mongo-10gen-unstable-enterprise-server, mongo-10gen-unstable-enterprise-shell, mongo-10gen-unstable-enterprise-tools, mongo-10gen-unstable-mongos, mongo-10gen-unstable-server, mongo-10gen-unstable-shell, mongo-10gen-unstable-tools, mongo18-10gen, mongo18-10gen-server, mongo20-10gen, mongo20-10gen-server, mongodb, mongodb-server, mongodb-dev, mongodb-clients, mongodb-10gen, mongodb-10gen-enterprise, mongodb-10gen-unstable, mongodb-10gen-unstable-enterprise, mongodb-10gen-unstable-enterprise-mongos, mongodb-10gen-unstable-enterprise-server, mongodb-10gen-unstable-enterprise-shell, mongodb-10gen-unstable-enterprise-tools, mongodb-10gen-unstable-mongos, mongodb-10gen-unstable-server, mongodb-10gen-unstable-shell, mongodb-10gen-unstable-tools, mongodb-enterprise-unstable, mongodb-enterprise-unstable-mongos, mongodb-enterprise-unstable-server, mongodb-enterprise-unstable-shell, mongodb-enterprise-unstable-tools, mongodb-nightly, mongodb-org, mongodb-org-mongos, mongodb-org-server, mongodb-org-shell, mongodb-org-tools, mongodb-stable, mongodb18-10gen, mongodb20-10gen, mongodb-org-unstable, mongodb-org-unstable-mongos, mongodb-org-unstable-server, mongodb-org-unstable-shell, mongodb-org-unstable-tools
Obsoletes: mongo-10gen-enterprise-shell
@@ -84,6 +86,7 @@ This package contains the mongo shell.
%package mongos
Summary: MongoDB sharded cluster query router (enterprise)
+Group: Applications/Databases
Conflicts: mongo-10gen, mongo-10gen-server, mongo-10gen-unstable, mongo-10gen-unstable-enterprise, mongo-10gen-unstable-enterprise-mongos, mongo-10gen-unstable-enterprise-server, mongo-10gen-unstable-enterprise-shell, mongo-10gen-unstable-enterprise-tools, mongo-10gen-unstable-mongos, mongo-10gen-unstable-server, mongo-10gen-unstable-shell, mongo-10gen-unstable-tools, mongo18-10gen, mongo18-10gen-server, mongo20-10gen, mongo20-10gen-server, mongodb, mongodb-server, mongodb-dev, mongodb-clients, mongodb-10gen, mongodb-10gen-enterprise, mongodb-10gen-unstable, mongodb-10gen-unstable-enterprise, mongodb-10gen-unstable-enterprise-mongos, mongodb-10gen-unstable-enterprise-server, mongodb-10gen-unstable-enterprise-shell, mongodb-10gen-unstable-enterprise-tools, mongodb-10gen-unstable-mongos, mongodb-10gen-unstable-server, mongodb-10gen-unstable-shell, mongodb-10gen-unstable-tools, mongodb-enterprise-unstable, mongodb-enterprise-unstable-mongos, mongodb-enterprise-unstable-server, mongodb-enterprise-unstable-shell, mongodb-enterprise-unstable-tools, mongodb-nightly, mongodb-org, mongodb-org-mongos, mongodb-org-server, mongodb-org-shell, mongodb-org-tools, mongodb-stable, mongodb18-10gen, mongodb20-10gen, mongodb-org-unstable, mongodb-org-unstable-mongos, mongodb-org-unstable-server, mongodb-org-unstable-shell, mongodb-org-unstable-tools
Obsoletes: mongo-10gen-enterprise-mongos
Provides: mongo-10gen-enterprise-mongos
@@ -108,6 +111,7 @@ This package contains mongos, the MongoDB sharded cluster query router.
%package tools
Summary: MongoDB tools (enterprise)
+Group: Applications/Databases
Requires: openssl, cyrus-sasl, cyrus-sasl-plain, cyrus-sasl-gssapi
Conflicts: mongo-10gen, mongo-10gen-server, mongo-10gen-unstable, mongo-10gen-unstable-enterprise, mongo-10gen-unstable-enterprise-mongos, mongo-10gen-unstable-enterprise-server, mongo-10gen-unstable-enterprise-shell, mongo-10gen-unstable-enterprise-tools, mongo-10gen-unstable-mongos, mongo-10gen-unstable-server, mongo-10gen-unstable-shell, mongo-10gen-unstable-tools, mongo18-10gen, mongo18-10gen-server, mongo20-10gen, mongo20-10gen-server, mongodb, mongodb-server, mongodb-dev, mongodb-clients, mongodb-10gen, mongodb-10gen-enterprise, mongodb-10gen-unstable, mongodb-10gen-unstable-enterprise, mongodb-10gen-unstable-enterprise-mongos, mongodb-10gen-unstable-enterprise-server, mongodb-10gen-unstable-enterprise-shell, mongodb-10gen-unstable-enterprise-tools, mongodb-10gen-unstable-mongos, mongodb-10gen-unstable-server, mongodb-10gen-unstable-shell, mongodb-10gen-unstable-tools, mongodb-enterprise-unstable, mongodb-enterprise-unstable-mongos, mongodb-enterprise-unstable-server, mongodb-enterprise-unstable-shell, mongodb-enterprise-unstable-tools, mongodb-nightly, mongodb-org, mongodb-org-mongos, mongodb-org-server, mongodb-org-shell, mongodb-org-tools, mongodb-stable, mongodb18-10gen, mongodb20-10gen, mongodb-org-unstable, mongodb-org-unstable-mongos, mongodb-org-unstable-server, mongodb-org-unstable-shell, mongodb-org-unstable-tools
Obsoletes: mongo-10gen-enterprise-tools
@@ -133,6 +137,7 @@ This package contains standard utilities for interacting with MongoDB.
%package devel
Summary: Headers and libraries for MongoDB development
+Group: Applications/Databases
Conflicts: mongo-10gen, mongo-10gen-server, mongo-10gen-unstable, mongo-10gen-unstable-enterprise, mongo-10gen-unstable-enterprise-mongos, mongo-10gen-unstable-enterprise-server, mongo-10gen-unstable-enterprise-shell, mongo-10gen-unstable-enterprise-tools, mongo-10gen-unstable-mongos, mongo-10gen-unstable-server, mongo-10gen-unstable-shell, mongo-10gen-unstable-tools, mongo18-10gen, mongo18-10gen-server, mongo20-10gen, mongo20-10gen-server, mongodb, mongodb-server, mongodb-dev, mongodb-clients, mongodb-10gen, mongodb-10gen-enterprise, mongodb-10gen-unstable, mongodb-10gen-unstable-enterprise, mongodb-10gen-unstable-enterprise-mongos, mongodb-10gen-unstable-enterprise-server, mongodb-10gen-unstable-enterprise-shell, mongodb-10gen-unstable-enterprise-tools, mongodb-10gen-unstable-mongos, mongodb-10gen-unstable-server, mongodb-10gen-unstable-shell, mongodb-10gen-unstable-tools, mongodb-enterprise-unstable, mongodb-enterprise-unstable-mongos, mongodb-enterprise-unstable-server, mongodb-enterprise-unstable-shell, mongodb-enterprise-unstable-tools, mongodb-nightly, mongodb-org, mongodb-org-mongos, mongodb-org-server, mongodb-org-shell, mongodb-org-tools, mongodb-stable, mongodb18-10gen, mongodb20-10gen, mongodb-org-unstable, mongodb-org-unstable-mongos, mongodb-org-unstable-server, mongodb-org-unstable-shell, mongodb-org-unstable-tools
Obsoletes: mongo-10gen-enterprise-devel
Provides: mongo-10gen-enterprise-devel
diff --git a/rpm/mongodb-org-unstable.spec b/rpm/mongodb-org-unstable.spec
index 22b66e73e28..0a15edc9469 100644
--- a/rpm/mongodb-org-unstable.spec
+++ b/rpm/mongodb-org-unstable.spec
@@ -32,6 +32,7 @@ This metapackage will install the mongo shell, import/export tools, other client
%package server
Summary: MongoDB database server
+Group: Applications/Databases
Requires: openssl
Conflicts: mongo-10gen, mongo-10gen-enterprise, mongo-10gen-enterprise-server, mongo-10gen-server, mongo-10gen-unstable, mongo-10gen-unstable-enterprise, mongo-10gen-unstable-enterprise-mongos, mongo-10gen-unstable-enterprise-server, mongo-10gen-unstable-enterprise-shell, mongo-10gen-unstable-enterprise-tools, mongo-10gen-unstable-mongos, mongo-10gen-unstable-server, mongo-10gen-unstable-shell, mongo-10gen-unstable-tools, mongo18-10gen, mongo18-10gen-server, mongo20-10gen, mongo20-10gen-server, mongodb, mongodb-server, mongodb-dev, mongodb-clients, mongodb-10gen, mongodb-10gen-enterprise, mongodb-10gen-unstable, mongodb-10gen-unstable-enterprise, mongodb-10gen-unstable-enterprise-mongos, mongodb-10gen-unstable-enterprise-server, mongodb-10gen-unstable-enterprise-shell, mongodb-10gen-unstable-enterprise-tools, mongodb-10gen-unstable-mongos, mongodb-10gen-unstable-server, mongodb-10gen-unstable-shell, mongodb-10gen-unstable-tools, mongodb-enterprise, mongodb-enterprise-mongos, mongodb-enterprise-server, mongodb-enterprise-shell, mongodb-enterprise-tools, mongodb-nightly, mongodb-org, mongodb-org-mongos, mongodb-org-server, mongodb-org-shell, mongodb-org-tools, mongodb-stable, mongodb18-10gen, mongodb20-10gen, mongodb-enterprise-unstable, mongodb-enterprise-unstable-mongos, mongodb-enterprise-unstable-server, mongodb-enterprise-unstable-shell, mongodb-enterprise-unstable-tools
@@ -55,6 +56,7 @@ This package contains the MongoDB server software, default configuration files,
%package shell
Summary: MongoDB shell client
+Group: Applications/Databases
Requires: openssl
Conflicts: mongo-10gen, mongo-10gen-enterprise, mongo-10gen-enterprise-server, mongo-10gen-server, mongo-10gen-unstable, mongo-10gen-unstable-enterprise, mongo-10gen-unstable-enterprise-mongos, mongo-10gen-unstable-enterprise-server, mongo-10gen-unstable-enterprise-shell, mongo-10gen-unstable-enterprise-tools, mongo-10gen-unstable-mongos, mongo-10gen-unstable-server, mongo-10gen-unstable-shell, mongo-10gen-unstable-tools, mongo18-10gen, mongo18-10gen-server, mongo20-10gen, mongo20-10gen-server, mongodb, mongodb-server, mongodb-dev, mongodb-clients, mongodb-10gen, mongodb-10gen-enterprise, mongodb-10gen-unstable, mongodb-10gen-unstable-enterprise, mongodb-10gen-unstable-enterprise-mongos, mongodb-10gen-unstable-enterprise-server, mongodb-10gen-unstable-enterprise-shell, mongodb-10gen-unstable-enterprise-tools, mongodb-10gen-unstable-mongos, mongodb-10gen-unstable-server, mongodb-10gen-unstable-shell, mongodb-10gen-unstable-tools, mongodb-enterprise, mongodb-enterprise-mongos, mongodb-enterprise-server, mongodb-enterprise-shell, mongodb-enterprise-tools, mongodb-nightly, mongodb-org, mongodb-org-mongos, mongodb-org-server, mongodb-org-shell, mongodb-org-tools, mongodb-stable, mongodb18-10gen, mongodb20-10gen, mongodb-enterprise-unstable, mongodb-enterprise-unstable-mongos, mongodb-enterprise-unstable-server, mongodb-enterprise-unstable-shell, mongodb-enterprise-unstable-tools
@@ -78,6 +80,7 @@ This package contains the mongo shell.
%package mongos
Summary: MongoDB sharded cluster query router
+Group: Applications/Databases
Conflicts: mongo-10gen, mongo-10gen-enterprise, mongo-10gen-enterprise-server, mongo-10gen-server, mongo-10gen-unstable, mongo-10gen-unstable-enterprise, mongo-10gen-unstable-enterprise-mongos, mongo-10gen-unstable-enterprise-server, mongo-10gen-unstable-enterprise-shell, mongo-10gen-unstable-enterprise-tools, mongo-10gen-unstable-mongos, mongo-10gen-unstable-server, mongo-10gen-unstable-shell, mongo-10gen-unstable-tools, mongo18-10gen, mongo18-10gen-server, mongo20-10gen, mongo20-10gen-server, mongodb, mongodb-server, mongodb-dev, mongodb-clients, mongodb-10gen, mongodb-10gen-enterprise, mongodb-10gen-unstable, mongodb-10gen-unstable-enterprise, mongodb-10gen-unstable-enterprise-mongos, mongodb-10gen-unstable-enterprise-server, mongodb-10gen-unstable-enterprise-shell, mongodb-10gen-unstable-enterprise-tools, mongodb-10gen-unstable-mongos, mongodb-10gen-unstable-server, mongodb-10gen-unstable-shell, mongodb-10gen-unstable-tools, mongodb-enterprise, mongodb-enterprise-mongos, mongodb-enterprise-server, mongodb-enterprise-shell, mongodb-enterprise-tools, mongodb-nightly, mongodb-org, mongodb-org-mongos, mongodb-org-server, mongodb-org-shell, mongodb-org-tools, mongodb-stable, mongodb18-10gen, mongodb20-10gen, mongodb-enterprise-unstable, mongodb-enterprise-unstable-mongos, mongodb-enterprise-unstable-server, mongodb-enterprise-unstable-shell, mongodb-enterprise-unstable-tools
%description mongos
@@ -100,6 +103,7 @@ This package contains mongos, the MongoDB sharded cluster query router.
%package tools
Summary: MongoDB tools
+Group: Applications/Databases
Requires: openssl
Conflicts: mongo-10gen, mongo-10gen-enterprise, mongo-10gen-enterprise-server, mongo-10gen-server, mongo-10gen-unstable, mongo-10gen-unstable-enterprise, mongo-10gen-unstable-enterprise-mongos, mongo-10gen-unstable-enterprise-server, mongo-10gen-unstable-enterprise-shell, mongo-10gen-unstable-enterprise-tools, mongo-10gen-unstable-mongos, mongo-10gen-unstable-server, mongo-10gen-unstable-shell, mongo-10gen-unstable-tools, mongo18-10gen, mongo18-10gen-server, mongo20-10gen, mongo20-10gen-server, mongodb, mongodb-server, mongodb-dev, mongodb-clients, mongodb-10gen, mongodb-10gen-enterprise, mongodb-10gen-unstable, mongodb-10gen-unstable-enterprise, mongodb-10gen-unstable-enterprise-mongos, mongodb-10gen-unstable-enterprise-server, mongodb-10gen-unstable-enterprise-shell, mongodb-10gen-unstable-enterprise-tools, mongodb-10gen-unstable-mongos, mongodb-10gen-unstable-server, mongodb-10gen-unstable-shell, mongodb-10gen-unstable-tools, mongodb-enterprise, mongodb-enterprise-mongos, mongodb-enterprise-server, mongodb-enterprise-shell, mongodb-enterprise-tools, mongodb-nightly, mongodb-org, mongodb-org-mongos, mongodb-org-server, mongodb-org-shell, mongodb-org-tools, mongodb-stable, mongodb18-10gen, mongodb20-10gen, mongodb-enterprise-unstable, mongodb-enterprise-unstable-mongos, mongodb-enterprise-unstable-server, mongodb-enterprise-unstable-shell, mongodb-enterprise-unstable-tools
@@ -123,6 +127,7 @@ This package contains standard utilities for interacting with MongoDB.
%package devel
Summary: Headers and libraries for MongoDB development.
+Group: Applications/Databases
Conflicts: mongo-10gen, mongo-10gen-enterprise, mongo-10gen-enterprise-server, mongo-10gen-server, mongo-10gen-unstable, mongo-10gen-unstable-enterprise, mongo-10gen-unstable-enterprise-mongos, mongo-10gen-unstable-enterprise-server, mongo-10gen-unstable-enterprise-shell, mongo-10gen-unstable-enterprise-tools, mongo-10gen-unstable-mongos, mongo-10gen-unstable-server, mongo-10gen-unstable-shell, mongo-10gen-unstable-tools, mongo18-10gen, mongo18-10gen-server, mongo20-10gen, mongo20-10gen-server, mongodb, mongodb-server, mongodb-dev, mongodb-clients, mongodb-10gen, mongodb-10gen-enterprise, mongodb-10gen-unstable, mongodb-10gen-unstable-enterprise, mongodb-10gen-unstable-enterprise-mongos, mongodb-10gen-unstable-enterprise-server, mongodb-10gen-unstable-enterprise-shell, mongodb-10gen-unstable-enterprise-tools, mongodb-10gen-unstable-mongos, mongodb-10gen-unstable-server, mongodb-10gen-unstable-shell, mongodb-10gen-unstable-tools, mongodb-enterprise, mongodb-enterprise-mongos, mongodb-enterprise-server, mongodb-enterprise-shell, mongodb-enterprise-tools, mongodb-nightly, mongodb-org, mongodb-org-mongos, mongodb-org-server, mongodb-org-shell, mongodb-org-tools, mongodb-stable, mongodb18-10gen, mongodb20-10gen, mongodb-enterprise-unstable, mongodb-enterprise-unstable-mongos, mongodb-enterprise-unstable-server, mongodb-enterprise-unstable-shell, mongodb-enterprise-unstable-tools
%description devel
diff --git a/rpm/mongodb-org.spec b/rpm/mongodb-org.spec
index 382e3f1c6db..78377c4f73e 100644
--- a/rpm/mongodb-org.spec
+++ b/rpm/mongodb-org.spec
@@ -34,6 +34,7 @@ This metapackage will install the mongo shell, import/export tools, other client
%package server
Summary: MongoDB database server
+Group: Applications/Databases
Requires: openssl
Conflicts: mongo-10gen-enterprise, mongo-10gen-enterprise-server, mongo-10gen-unstable, mongo-10gen-unstable-enterprise, mongo-10gen-unstable-enterprise-mongos, mongo-10gen-unstable-enterprise-server, mongo-10gen-unstable-enterprise-shell, mongo-10gen-unstable-enterprise-tools, mongo-10gen-unstable-mongos, mongo-10gen-unstable-server, mongo-10gen-unstable-shell, mongo-10gen-unstable-tools, mongo18-10gen, mongo18-10gen-server, mongo20-10gen, mongo20-10gen-server, mongodb, mongodb-server, mongodb-dev, mongodb-clients, mongodb-10gen, mongodb-10gen-enterprise, mongodb-10gen-unstable, mongodb-10gen-unstable-enterprise, mongodb-10gen-unstable-enterprise-mongos, mongodb-10gen-unstable-enterprise-server, mongodb-10gen-unstable-enterprise-shell, mongodb-10gen-unstable-enterprise-tools, mongodb-10gen-unstable-mongos, mongodb-10gen-unstable-server, mongodb-10gen-unstable-shell, mongodb-10gen-unstable-tools, mongodb-enterprise, mongodb-enterprise-mongos, mongodb-enterprise-server, mongodb-enterprise-shell, mongodb-enterprise-tools, mongodb-nightly, mongodb-org-unstable, mongodb-org-unstable-mongos, mongodb-org-unstable-server, mongodb-org-unstable-shell, mongodb-org-unstable-tools, mongodb-stable, mongodb18-10gen, mongodb20-10gen, mongodb-enterprise-unstable, mongodb-enterprise-unstable-mongos, mongodb-enterprise-unstable-server, mongodb-enterprise-unstable-shell, mongodb-enterprise-unstable-tools
Obsoletes: mongo-10gen-server
@@ -59,6 +60,7 @@ This package contains the MongoDB server software, default configuration files,
%package shell
Summary: MongoDB shell client
+Group: Applications/Databases
Requires: openssl
Conflicts: mongo-10gen-enterprise, mongo-10gen-enterprise-server, mongo-10gen-unstable, mongo-10gen-unstable-enterprise, mongo-10gen-unstable-enterprise-mongos, mongo-10gen-unstable-enterprise-server, mongo-10gen-unstable-enterprise-shell, mongo-10gen-unstable-enterprise-tools, mongo-10gen-unstable-mongos, mongo-10gen-unstable-server, mongo-10gen-unstable-shell, mongo-10gen-unstable-tools, mongo18-10gen, mongo18-10gen-server, mongo20-10gen, mongo20-10gen-server, mongodb, mongodb-server, mongodb-dev, mongodb-clients, mongodb-10gen, mongodb-10gen-enterprise, mongodb-10gen-unstable, mongodb-10gen-unstable-enterprise, mongodb-10gen-unstable-enterprise-mongos, mongodb-10gen-unstable-enterprise-server, mongodb-10gen-unstable-enterprise-shell, mongodb-10gen-unstable-enterprise-tools, mongodb-10gen-unstable-mongos, mongodb-10gen-unstable-server, mongodb-10gen-unstable-shell, mongodb-10gen-unstable-tools, mongodb-enterprise, mongodb-enterprise-mongos, mongodb-enterprise-server, mongodb-enterprise-shell, mongodb-enterprise-tools, mongodb-nightly, mongodb-org-unstable, mongodb-org-unstable-mongos, mongodb-org-unstable-server, mongodb-org-unstable-shell, mongodb-org-unstable-tools, mongodb-stable, mongodb18-10gen, mongodb20-10gen, mongodb-enterprise-unstable, mongodb-enterprise-unstable-mongos, mongodb-enterprise-unstable-server, mongodb-enterprise-unstable-shell, mongodb-enterprise-unstable-tools
Obsoletes: mongo-10gen-shell
@@ -84,6 +86,7 @@ This package contains the mongo shell.
%package mongos
Summary: MongoDB sharded cluster query router
+Group: Applications/Databases
Conflicts: mongo-10gen-enterprise, mongo-10gen-enterprise-server, mongo-10gen-unstable, mongo-10gen-unstable-enterprise, mongo-10gen-unstable-enterprise-mongos, mongo-10gen-unstable-enterprise-server, mongo-10gen-unstable-enterprise-shell, mongo-10gen-unstable-enterprise-tools, mongo-10gen-unstable-mongos, mongo-10gen-unstable-server, mongo-10gen-unstable-shell, mongo-10gen-unstable-tools, mongo18-10gen, mongo18-10gen-server, mongo20-10gen, mongo20-10gen-server, mongodb, mongodb-server, mongodb-dev, mongodb-clients, mongodb-10gen, mongodb-10gen-enterprise, mongodb-10gen-unstable, mongodb-10gen-unstable-enterprise, mongodb-10gen-unstable-enterprise-mongos, mongodb-10gen-unstable-enterprise-server, mongodb-10gen-unstable-enterprise-shell, mongodb-10gen-unstable-enterprise-tools, mongodb-10gen-unstable-mongos, mongodb-10gen-unstable-server, mongodb-10gen-unstable-shell, mongodb-10gen-unstable-tools, mongodb-enterprise, mongodb-enterprise-mongos, mongodb-enterprise-server, mongodb-enterprise-shell, mongodb-enterprise-tools, mongodb-nightly, mongodb-org-unstable, mongodb-org-unstable-mongos, mongodb-org-unstable-server, mongodb-org-unstable-shell, mongodb-org-unstable-tools, mongodb-stable, mongodb18-10gen, mongodb20-10gen, mongodb-enterprise-unstable, mongodb-enterprise-unstable-mongos, mongodb-enterprise-unstable-server, mongodb-enterprise-unstable-shell, mongodb-enterprise-unstable-tools
Obsoletes: mongo-10gen-mongos
Provides: mongo-10gen-mongos
@@ -108,6 +111,7 @@ This package contains mongos, the MongoDB sharded cluster query router.
%package tools
Summary: MongoDB tools
+Group: Applications/Databases
Requires: openssl
Conflicts: mongo-10gen-enterprise, mongo-10gen-enterprise-server, mongo-10gen-unstable, mongo-10gen-unstable-enterprise, mongo-10gen-unstable-enterprise-mongos, mongo-10gen-unstable-enterprise-server, mongo-10gen-unstable-enterprise-shell, mongo-10gen-unstable-enterprise-tools, mongo-10gen-unstable-mongos, mongo-10gen-unstable-server, mongo-10gen-unstable-shell, mongo-10gen-unstable-tools, mongo18-10gen, mongo18-10gen-server, mongo20-10gen, mongo20-10gen-server, mongodb, mongodb-server, mongodb-dev, mongodb-clients, mongodb-10gen, mongodb-10gen-enterprise, mongodb-10gen-unstable, mongodb-10gen-unstable-enterprise, mongodb-10gen-unstable-enterprise-mongos, mongodb-10gen-unstable-enterprise-server, mongodb-10gen-unstable-enterprise-shell, mongodb-10gen-unstable-enterprise-tools, mongodb-10gen-unstable-mongos, mongodb-10gen-unstable-server, mongodb-10gen-unstable-shell, mongodb-10gen-unstable-tools, mongodb-enterprise, mongodb-enterprise-mongos, mongodb-enterprise-server, mongodb-enterprise-shell, mongodb-enterprise-tools, mongodb-nightly, mongodb-org-unstable, mongodb-org-unstable-mongos, mongodb-org-unstable-server, mongodb-org-unstable-shell, mongodb-org-unstable-tools, mongodb-stable, mongodb18-10gen, mongodb20-10gen, mongodb-enterprise-unstable, mongodb-enterprise-unstable-mongos, mongodb-enterprise-unstable-server, mongodb-enterprise-unstable-shell, mongodb-enterprise-unstable-tools
Obsoletes: mongo-10gen-tools
@@ -133,6 +137,7 @@ This package contains standard utilities for interacting with MongoDB.
%package devel
Summary: Headers and libraries for MongoDB development
+Group: Applications/Databases
Conflicts: mongo-10gen-enterprise, mongo-10gen-enterprise-server, mongo-10gen-unstable, mongo-10gen-unstable-enterprise, mongo-10gen-unstable-enterprise-mongos, mongo-10gen-unstable-enterprise-server, mongo-10gen-unstable-enterprise-shell, mongo-10gen-unstable-enterprise-tools, mongo-10gen-unstable-mongos, mongo-10gen-unstable-server, mongo-10gen-unstable-shell, mongo-10gen-unstable-tools, mongo18-10gen, mongo18-10gen-server, mongo20-10gen, mongo20-10gen-server, mongodb, mongodb-server, mongodb-dev, mongodb-clients, mongodb-10gen, mongodb-10gen-enterprise, mongodb-10gen-unstable, mongodb-10gen-unstable-enterprise, mongodb-10gen-unstable-enterprise-mongos, mongodb-10gen-unstable-enterprise-server, mongodb-10gen-unstable-enterprise-shell, mongodb-10gen-unstable-enterprise-tools, mongodb-10gen-unstable-mongos, mongodb-10gen-unstable-server, mongodb-10gen-unstable-shell, mongodb-10gen-unstable-tools, mongodb-enterprise, mongodb-enterprise-mongos, mongodb-enterprise-server, mongodb-enterprise-shell, mongodb-enterprise-tools, mongodb-nightly, mongodb-org-unstable, mongodb-org-unstable-mongos, mongodb-org-unstable-server, mongodb-org-unstable-shell, mongodb-org-unstable-tools, mongodb-stable, mongodb18-10gen, mongodb20-10gen, mongodb-enterprise-unstable, mongodb-enterprise-unstable-mongos, mongodb-enterprise-unstable-server, mongodb-enterprise-unstable-shell, mongodb-enterprise-unstable-tools
Obsoletes: mongo-10gen-devel
Provides: mongo-10gen-devel