diff options
author | Ernie Hershey <ernie.hershey@10gen.com> | 2015-04-01 17:48:20 -0400 |
---|---|---|
committer | Ernie Hershey <ernie.hershey@10gen.com> | 2015-08-12 19:24:21 -0400 |
commit | ed856e8865097d996894f50893b2be479c5644fc (patch) | |
tree | ccb6dd96d73e5dfea6b4470d6ce593b935ed5cca | |
parent | dd06a76b0ee250c7da6b562a36e2b0b852168f05 (diff) | |
download | mongo-ed856e8865097d996894f50893b2be479c5644fc.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
-rwxr-xr-x | buildscripts/packager-enterprise.py | 244 | ||||
-rwxr-xr-x | buildscripts/packager.py | 101 | ||||
-rw-r--r-- | etc/evergreen.yml | 116 | ||||
-rw-r--r-- | rpm/mongodb-enterprise-unstable.spec | 5 | ||||
-rw-r--r-- | rpm/mongodb-enterprise.spec | 5 | ||||
-rw-r--r-- | rpm/mongodb-org-unstable.spec | 5 | ||||
-rw-r--r-- | rpm/mongodb-org.spec | 5 |
7 files changed, 202 insertions, 279 deletions
diff --git a/buildscripts/packager-enterprise.py b/buildscripts/packager-enterprise.py index 26e10b553e5..43e7caa2e3f 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", "MPL-2": 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 6896eabb542..5cca179d0e6 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 b4e2cccb107..ed94c82ff4f 100644 --- a/etc/evergreen.yml +++ b/etc/evergreen.yml @@ -59,6 +59,23 @@ variables: - solaris-64-bit - osx +- &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 # ####################################### @@ -277,6 +294,18 @@ tasks: mv mongodb-*-debugsymbols.${ext|tgz} mongo-debugsymbols.tgz || true mv mongodb-*.${ext|tgz} mongodb-binaries.tgz + - 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" @@ -299,6 +328,7 @@ tasks: - "./etc/*san.suppressions" - "./build/integration_tests/**" - "./build/integration_tests.txt" + - "repo/**" exclude_files: - "*_test.pdb" - func: "upload debugsymbols" @@ -1211,7 +1241,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 @@ -1436,11 +1482,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}'}} @@ -1540,11 +1604,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 master ${version} ${revision} || true ####################################### # Modules # @@ -1874,6 +1933,9 @@ buildvariants: num_cores: $(grep -c ^processor /proc/cpuinfo) num_jobs_unittests: $(grep -c ^processor /proc/cpuinfo) test_flags: --continueOnFailure + has_packages: true + packager_script: packager.py + packager_distro: ubuntu1204 tasks: - name: compile distros: @@ -1970,6 +2032,9 @@ buildvariants: num_cores: $(grep -c ^processor /proc/cpuinfo) num_jobs_unittests: $(grep -c ^processor /proc/cpuinfo) test_flags: --continueOnFailure + has_packages: true + packager_script: packager.py + packager_distro: ubuntu1404 tasks: - name: compile distros: @@ -2066,6 +2131,9 @@ buildvariants: num_cores: $(grep -c ^processor /proc/cpuinfo) num_jobs_unittests: $(grep -c ^processor /proc/cpuinfo) test_flags: --continueOnFailure + has_packages: true + packager_script: packager.py + packager_distro: amazon tasks: - name: compile distros: @@ -2906,6 +2974,9 @@ buildvariants: num_cores: $(grep -c ^processor /proc/cpuinfo) num_jobs_unittests: $(grep -c ^processor /proc/cpuinfo) test_flags: --continueOnFailure + has_packages: true + packager_script: packager-enterprise.py + packager_distro: rhel57 tasks: - name: compile distros: @@ -2947,6 +3018,9 @@ buildvariants: num_cores: $(grep -c ^processor /proc/cpuinfo) num_jobs_unittests: $(grep -c ^processor /proc/cpuinfo) test_flags: --continueOnFailure + has_packages: true + packager_script: packager-enterprise.py + packager_distro: rhel62 tasks: - name: compile distros: @@ -2989,6 +3063,9 @@ buildvariants: num_cores: $(grep -c ^processor /proc/cpuinfo) num_jobs_unittests: $(grep -c ^processor /proc/cpuinfo) test_flags: --continueOnFailure + has_packages: true + packager_script: packager-enterprise.py + packager_distro: rhel70 tasks: - name: compile - name: audit @@ -3028,6 +3105,9 @@ buildvariants: num_cores: $(grep -c ^processor /proc/cpuinfo) num_jobs_unittests: $(grep -c ^processor /proc/cpuinfo) test_flags: --continueOnFailure + has_packages: true + packager_script: packager.py + packager_distro: rhel55 tasks: - name: compile distros: @@ -3125,6 +3205,9 @@ buildvariants: num_cores: $(grep -c ^processor /proc/cpuinfo) num_jobs_unittests: $(grep -c ^processor /proc/cpuinfo) test_flags: --continueOnFailure + has_packages: true + packager_script: packager.py + packager_distro: rhel62 tasks: - name: compile distros: @@ -3222,6 +3305,9 @@ buildvariants: num_cores: $(grep -c ^processor /proc/cpuinfo) num_jobs_unittests: $(grep -c ^processor /proc/cpuinfo) test_flags: --continueOnFailure + has_packages: true + packager_script: packager.py + packager_distro: rhel70 tasks: - name: compile distros: @@ -3324,6 +3410,9 @@ buildvariants: num_cores: $(grep -c ^processor /proc/cpuinfo) num_jobs_unittests: $(grep -c ^processor /proc/cpuinfo) test_flags: --continueOnFailure + has_packages: true + packager_script: packager-enterprise.py + packager_distro: ubuntu1204 tasks: - name: compile distros: @@ -3364,6 +3453,9 @@ buildvariants: num_cores: $(grep -c ^processor /proc/cpuinfo) num_jobs_unittests: $(grep -c ^processor /proc/cpuinfo) test_flags: --continueOnFailure + has_packages: true + packager_script: packager-enterprise.py + packager_distro: ubuntu1404 tasks: - name: compile distros: @@ -3408,6 +3500,9 @@ buildvariants: num_cores: $(grep -c ^processor /proc/cpuinfo) num_jobs_unittests: $(grep -c ^processor /proc/cpuinfo) test_flags: --continueOnFailure + has_packages: true + packager_script: packager-enterprise.py + packager_distro: suse11 tasks: - name: compile distros: @@ -3447,6 +3542,9 @@ buildvariants: num_cores: $(grep -c ^processor /proc/cpuinfo) num_jobs_unittests: $(grep -c ^processor /proc/cpuinfo) test_flags: --continueOnFailure + has_packages: true + packager_script: packager.py + packager_distro: suse11 tasks: - name: compile distros: @@ -3622,6 +3720,9 @@ buildvariants: num_cores: $(grep -c ^processor /proc/cpuinfo) num_jobs_unittests: $(grep -c ^processor /proc/cpuinfo) test_flags: --continueOnFailure + has_packages: true + packager_script: packager-enterprise.py + packager_distro: debian71 tasks: - name: compile distros: @@ -3661,6 +3762,9 @@ buildvariants: num_cores: $(grep -c ^processor /proc/cpuinfo) num_jobs_unittests: $(grep -c ^processor /proc/cpuinfo) test_flags: --continueOnFailure + 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 f15346f2758..8c9042b2216 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 2e8e265bab0..ab2d85522a5 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 692f6ac8557..fa3f4f45ae7 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 8117b9341a2..2c8095046ab 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 |