# ChangeLog for dev-db/mongodb
# Copyright 1999-2016 Gentoo Foundation; Distributed under the GPL v2
# (auto-generated from git log)

*mongodb-3.0.5 (09 Aug 2015)
*mongodb-3.0.4 (09 Aug 2015)
*mongodb-2.6.10 (09 Aug 2015)
*mongodb-2.6.8 (09 Aug 2015)
*mongodb-2.4.14 (09 Aug 2015)
*mongodb-2.4.13 (09 Aug 2015)

  09 Aug 2015; Robin H. Johnson <robbat2@gentoo.org> +files/mms-agent.confd,
  +files/mms-agent.initd, +files/mms-agent.initd-r1,
  +files/mms-agent.initd-r2, +files/mongodb-2.0-fix-scons.patch,
  +files/mongodb-2.0-r1-boost-1.50.patch,
  +files/mongodb-2.2-r1-fix-boost.patch, +files/mongodb-2.4-fix-sasl.patch,
  +files/mongodb-2.4-fix-v8-pythonpath.patch,
  +files/mongodb-2.4.11-fix-scons.patch, +files/mongodb-2.4.5-fix-scons.patch,
  +files/mongodb-2.6.1-fix-scons.patch,
  +files/mongodb-2.6.10-fix-boost-1.57.patch,
  +files/mongodb-2.6.2-fix-scons.patch, +files/mongodb-3.0.0-fix-scons.patch,
  +files/mongodb.conf, +files/mongodb.conf-r2, +files/mongodb.conf-r3,
  +files/mongodb.confd, +files/mongodb.confd-r2, +files/mongodb.initd-r1,
  +files/mongodb.initd-r2, +files/mongodb.logrotate, +files/mongodb.service,
  +files/mongos.conf-r2, +files/mongos.confd, +files/mongos.confd-r2,
  +files/mongos.initd-r1, +files/mongos.initd-r2, +metadata.xml,
  +mongodb-2.4.13.ebuild, +mongodb-2.4.14.ebuild, +mongodb-2.6.8.ebuild,
  +mongodb-2.6.10.ebuild, +mongodb-3.0.4.ebuild, +mongodb-3.0.5.ebuild:
  proj/gentoo: Initial commit

  This commit represents a new era for Gentoo:
  Storing the gentoo-x86 tree in Git, as converted from CVS.

  This commit is the start of the NEW history.
  Any historical data is intended to be grafted onto this point.

  Creation process:
  1. Take final CVS checkout snapshot
  2. Remove ALL ChangeLog* files
  3. Transform all Manifests to thin
  4. Remove empty Manifests
  5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
  5.1. Do not touch files with -kb/-ko keyword flags.

  Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
  X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration
  tests
  X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this
  project
  X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo
  developer, wrote Git features for the migration
  X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve
  cvs2svn
  X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
  X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014
  work in migration
  X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
  X-Thanks: All of other Gentoo developers - many ideas and lots of paint on
  the bikeshed

  24 Aug 2015; Justin Lecher <jlec@gentoo.org> metadata.xml,
  mongodb-2.4.13.ebuild, mongodb-2.4.14.ebuild, mongodb-2.6.8.ebuild,
  mongodb-2.6.10.ebuild:
  Use https by default

  Convert all URLs for sites supporting encrypted connections from http to
  https

  Signed-off-by: Justin Lecher <jlec@gentoo.org>

  24 Aug 2015; Mike Gilbert <floppym@gentoo.org> metadata.xml:
  Revert DOCTYPE SYSTEM https changes in metadata.xml

  repoman does not yet accept the https version.
  This partially reverts eaaface92ee81f30a6ac66fe7acbcc42c00dc450.

  Bug: https://bugs.gentoo.org/552720

*mongodb-3.0.6 (25 Aug 2015)
*mongodb-2.6.11 (25 Aug 2015)

  25 Aug 2015; Ultrabug <ultrabug@gentoo.org> -mongodb-2.6.10.ebuild,
  +mongodb-2.6.11.ebuild, -mongodb-3.0.4.ebuild, +mongodb-3.0.6.ebuild:
  version bump, drop old

  Package-Manager: portage-2.2.20.1

  28 Aug 2015; Ultrabug <ultrabug@gentoo.org> metadata.xml:
  update proxy maintainers

  Package-Manager: portage-2.2.20.1

*mongodb-3.0.6-r1 (05 Oct 2015)

  05 Oct 2015; Julian Ospald <hasufell@gentoo.org> +mongodb-3.0.6-r1.ebuild:
  add libressl support

*mongodb-3.0.7 (14 Oct 2015)

  14 Oct 2015; Ultrabug <ultrabug@gentoo.org> +mongodb-3.0.7.ebuild:
  version dump

  Package-Manager: portage-2.2.22

*mongodb-3.0.8 (21 Dec 2015)

  21 Dec 2015; Ultrabug <ultrabug@gentoo.org> +mongodb-3.0.8.ebuild:
  version bump

  Package-Manager: portage-2.2.25

*mongodb-3.2.0 (27 Dec 2015)

  27 Dec 2015; Ultrabug <ultrabug@gentoo.org>
  +files/mongodb-3.2.0-fix-scons.patch, +mongodb-3.2.0.ebuild:
  version bump fix #568322 thx to Tomáš Mózes and Bob Cochran

  Package-Manager: portage-2.2.25

  28 Dec 2015; Ultrabug <ultrabug@gentoo.org> mongodb-3.2.0.ebuild:
  3.2.0 scons build fix #568322 #569950

  Package-Manager: portage-2.2.25

  31 Dec 2015; Ultrabug <ultrabug@gentoo.org>
  -files/mongodb-2.2-r1-fix-boost.patch, -files/mongodb-2.4-fix-sasl.patch,
  -files/mongodb-2.4.11-fix-scons.patch, -files/mongodb.confd,
  -files/mongodb.initd-r1, metadata.xml, -mongodb-2.4.13.ebuild,
  -mongodb-2.4.14.ebuild:
  drop 2.4 series

  Package-Manager: portage-2.2.25

  01 Jan 2016; Michał Górny <mgorny@gentoo.org> mongodb-3.2.0.ebuild:
  Convert scons_opts into an array, to preserve whitespace

  01 Jan 2016; Michał Górny <mgorny@gentoo.org> mongodb-3.2.0.ebuild:
  QA] Respect CC & CXX

  01 Jan 2016; Michał Górny <mgorny@gentoo.org>
  files/mongodb-3.2.0-fix-scons.patch:
  QA] Make SCons respect PATH, #570436

*mongodb-2.4.14 (01 Jan 2016)
*mongodb-2.4.13 (01 Jan 2016)

  01 Jan 2016; Michał Górny <mgorny@gentoo.org>
  +files/mongodb-2.2-r1-fix-boost.patch, +files/mongodb-2.4-fix-sasl.patch,
  +files/mongodb-2.4.11-fix-scons.patch, +files/mongodb.confd,
  +files/mongodb.initd-r1, metadata.xml, +mongodb-2.4.13.ebuild,
  +mongodb-2.4.14.ebuild:
  QA] Revert "drop 2.4 series"

  Revert the removal of last ebuilds satisfying
  dev-db/mongodb[sharedclient] as required by sci-chemistry/mongochem.

  03 Jan 2016; Ultrabug <ultrabug@gentoo.org>
  -files/mongodb-2.2-r1-fix-boost.patch, -files/mongodb-2.4-fix-sasl.patch,
  -files/mongodb-2.4.11-fix-scons.patch, -files/mongodb.confd,
  -files/mongodb.initd-r1, metadata.xml, -mongodb-2.4.13.ebuild,
  -mongodb-2.4.14.ebuild:
  drop 2.4 series after bumping mongochem deps

  Package-Manager: portage-2.2.25

*mongodb-3.2.1 (20 Jan 2016)

  20 Jan 2016; Ultrabug <ultrabug@gentoo.org> +mongodb-3.2.1.ebuild:
  version bump, fix #572166 #572258

  Package-Manager: portage-2.2.27

  20 Jan 2016; Ultrabug <ultrabug@gentoo.org> -mongodb-3.2.0.ebuild:
  drop old

  24 Jan 2016; Michał Górny <mgorny@gentoo.org> metadata.xml:
  Replace all herds with appropriate projects (GLEP 67)

  Replace all uses of herd with appropriate project maintainers, or no
  maintainers in case of herds requested to be disbanded.

  24 Jan 2016; Michał Górny <mgorny@gentoo.org> metadata.xml:
  Set appropriate maintainer types in metadata.xml (GLEP 67)

*mongodb-3.0.9 (27 Jan 2016)

  27 Jan 2016; Ultrabug <ultrabug@gentoo.org> +mongodb-3.0.9.ebuild:
  version bump

  Package-Manager: portage-2.2.27

  27 Jan 2016; Ultrabug <ultrabug@gentoo.org> -mongodb-3.0.5.ebuild,
  -mongodb-3.0.6.ebuild, -mongodb-3.0.6-r1.ebuild, -mongodb-3.0.7.ebuild:
  drop old

  Package-Manager: portage-2.2.27

*mongodb-3.2.3 (18 Feb 2016)

  18 Feb 2016; Ultrabug <ultrabug@gentoo.org> -mongodb-3.2.1.ebuild,
  +mongodb-3.2.3.ebuild:
  version bump

  Package-Manager: portage-2.2.27

*mongodb-3.0.10 (09 Mar 2016)

  09 Mar 2016; Ultrabug <ultrabug@gentoo.org> +mongodb-3.0.10.ebuild:
  version bump

  Package-Manager: portage-2.2.27

*mongodb-3.2.4 (09 Mar 2016)

  09 Mar 2016; Ultrabug <ultrabug@gentoo.org> +mongodb-3.2.4.ebuild:
  version bump

  Package-Manager: portage-2.2.27

*mongodb-2.6.12 (25 Mar 2016)

  25 Mar 2016; Ultrabug <ultrabug@gentoo.org> +mongodb-2.6.12.ebuild:
  version bump

  Package-Manager: portage-2.2.27

  02 Apr 2016; David Seifert <soap@gentoo.org>
  +files/mongodb-3.2.4-boost-1.60.patch, mongodb-3.2.4.ebuild:
  Fix boost::none usage

  Gentoo-Bug: 578846

  Package-Manager: portage-2.2.28

*mongodb-3.0.11 (04 Apr 2016)

  04 Apr 2016; Ultrabug <ultrabug@gentoo.org> -mongodb-3.0.8.ebuild,
  -mongodb-3.0.9.ebuild, +mongodb-3.0.11.ebuild:
  version bump, drop old

  Package-Manager: portage-2.2.27

*mongodb-3.2.5 (21 Apr 2016)

  21 Apr 2016; Ultrabug <ultrabug@gentoo.org> -mongodb-3.2.3.ebuild,
  +mongodb-3.2.5.ebuild:
  version bump, drop old

*mongodb-3.0.12 (17 May 2016)

  17 May 2016; Ultrabug <ultrabug@gentoo.org> -mongodb-3.0.11.ebuild,
  +mongodb-3.0.12.ebuild:
  version bump fix #580796

  Package-Manager: portage-2.2.27

  18 May 2016; Austin English <wizardedit@gentoo.org> files/mms-agent.initd,
  files/mms-agent.initd-r1, files/mms-agent.initd-r2, files/mongodb.initd-r2,
  files/mongos.initd-r1, files/mongos.initd-r2:
  use #!/sbin/openrc-run instead of #!/sbin/runscript

  19 Jun 2016; Michał Górny <mgorny@gentoo.org> metadata.xml:
  Multiple metadata.xml: reorder to make sure assignee goes first

  Reorder all metadata.xml files with explicit descriptions requesting
  particular bug assignment/CC to ensure that the requested assignee
  always goes first, in order to match the bug wrangling policies.

  30 Jul 2016; Patrice Clement <monsieurp@gentoo.org> -files/mms-agent.confd,
  -files/mms-agent.initd, -files/mms-agent.initd-r1,
  -files/mms-agent.initd-r2, -files/mongodb-2.0-fix-scons.patch,
  -files/mongodb-2.0-r1-boost-1.50.patch,
  -files/mongodb-2.4.5-fix-scons.patch, -files/mongodb-2.6.1-fix-scons.patch,
  -files/mongos.confd, -files/mongos.initd-r1:
  dev-db/*: remove unused patches.

  Squash all commit messages into a single one.

  Closes: https://github.com/gentoo/gentoo/pull/1936
  Signed-off-by: Patrice Clement <monsieurp@gentoo.org>

*mongodb-3.2.8 (04 Aug 2016)

  04 Aug 2016; Ultrabug <ultrabug@gentoo.org> -mongodb-3.2.4.ebuild,
  -mongodb-3.2.5.ebuild, +mongodb-3.2.8.ebuild:
  version bump, drop old

  Package-Manager: portage-2.2.27

*mongodb-3.2.9 (19 Aug 2016)

  19 Aug 2016; Ultrabug <ultrabug@gentoo.org> mongodb-2.6.12.ebuild,
  +mongodb-3.2.9.ebuild:
  version bump and copyright fix

  Package-Manager: portage-2.2.27

  19 Aug 2016; Ultrabug <ultrabug@gentoo.org> mongodb-2.6.8.ebuild,
  mongodb-2.6.11.ebuild, mongodb-2.6.12.ebuild, mongodb-3.0.10.ebuild,
  mongodb-3.0.12.ebuild, mongodb-3.2.8.ebuild:
  fix REPLACING_VERSION detection #589458

  Package-Manager: portage-2.2.27

  19 Aug 2016; Ultrabug <ultrabug@gentoo.org> -mongodb-2.6.11.ebuild,
  -mongodb-3.0.10.ebuild:
  drop old ebuilds

  Package-Manager: portage-2.2.27

  24 Sep 2016; Agostino Sarubbo <ago@gentoo.org> mongodb-2.6.12.ebuild:
  amd64 stable wrt bug #591186

  Package-Manager: portage-2.2.28
  RepoMan-Options: --include-arches="amd64"
  Signed-off-by: Agostino Sarubbo <ago@gentoo.org>

