# ChangeLog for sys-fs/aufs4
# Copyright 1999-2016 Gentoo Foundation; Distributed under the GPL v2
# (auto-generated from git log)

*aufs4-0_pre20150629 (09 Aug 2015)
*aufs4-0_pre20150622 (09 Aug 2015)
*aufs4-0_pre20150608 (09 Aug 2015)
*aufs4-0_pre20150525 (09 Aug 2015)
*aufs4-0_pre20150518 (09 Aug 2015)
*aufs4-0_pre20150511 (09 Aug 2015)
*aufs4-0_pre20150504 (09 Aug 2015)
*aufs4-0_pre20150420 (09 Aug 2015)

  09 Aug 2015; Robin H. Johnson <robbat2@gentoo.org>
  +aufs4-0_pre20150420.ebuild, +aufs4-0_pre20150504.ebuild,
  +aufs4-0_pre20150511.ebuild, +aufs4-0_pre20150518.ebuild,
  +aufs4-0_pre20150525.ebuild, +aufs4-0_pre20150608.ebuild,
  +aufs4-0_pre20150622.ebuild, +aufs4-0_pre20150629.ebuild,
  +files/README.gentoo, +files/pax-4.patch, +metadata.xml:
  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> aufs4-0_pre20150420.ebuild,
  aufs4-0_pre20150504.ebuild, aufs4-0_pre20150511.ebuild,
  aufs4-0_pre20150518.ebuild, aufs4-0_pre20150525.ebuild,
  aufs4-0_pre20150608.ebuild, aufs4-0_pre20150622.ebuild,
  aufs4-0_pre20150629.ebuild, metadata.xml:
  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

*aufs4-0_pre20150928 (28 Sep 2015)

  28 Sep 2015; Justin Lecher <jlec@gentoo.org> +aufs4-0_pre20150928.ebuild:
  Bump to latest aufs release

  Package-Manager: portage-2.2.22
  Signed-off-by: Justin Lecher <jlec@gentoo.org>

  01 Oct 2015; Justin Lecher <jlec@gentoo.org> metadata.xml:
  Add missing remote-id type=sourceforge

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

*aufs4-0_pre20151012 (12 Oct 2015)

  12 Oct 2015; Justin Lecher <jlec@gentoo.org> +aufs4-0_pre20151012.ebuild,
  metadata.xml:
  Bump to latest aufs release

  Package-Manager: portage-2.2.22
  Signed-off-by: Justin Lecher <jlec@gentoo.org>

*aufs4-0_pre20151102 (02 Nov 2015)

  02 Nov 2015; Justin Lecher <jlec@gentoo.org> +aufs4-0_pre20151102.ebuild:
  Bump to latest aufs release

  Package-Manager: portage-2.2.23
  Signed-off-by: Justin Lecher <jlec@gentoo.org>

*aufs4-0_pre20151109 (09 Nov 2015)

  09 Nov 2015; Justin Lecher <jlec@gentoo.org> +aufs4-0_pre20151109.ebuild:
  Bump to latest aufs release

  Package-Manager: portage-2.2.23
  Signed-off-by: Justin Lecher <jlec@gentoo.org>

*aufs4-0_pre20151116 (16 Nov 2015)

  16 Nov 2015; Justin Lecher <jlec@gentoo.org> +aufs4-0_pre20151116.ebuild:
  Bump to latest aufs release

  Package-Manager: portage-2.2.23
  Signed-off-by: Justin Lecher <jlec@gentoo.org>

*aufs4-0_pre20151221 (21 Dec 2015)

  21 Dec 2015; Justin Lecher <jlec@gentoo.org> +aufs4-0_pre20151221.ebuild:
  Bump to latest aufs release

  Package-Manager: portage-2.2.26
  Signed-off-by: Justin Lecher <jlec@gentoo.org>

*aufs4-0_pre20160111 (17 Jan 2016)

  17 Jan 2016; Justin Lecher <jlec@gentoo.org> +aufs4-0_pre20160111.ebuild:
  Bump to latest aufs release

  Package-Manager: portage-2.2.26
  Signed-off-by: Justin Lecher <jlec@gentoo.org>

*aufs4-0_pre20160118 (18 Jan 2016)

  18 Jan 2016; Justin Lecher <jlec@gentoo.org> +aufs4-0_pre20160118.ebuild:
  Bump to latest aufs release

  Package-Manager: portage-2.2.26
  Signed-off-by: Justin Lecher <jlec@gentoo.org>

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

*aufs4-0_pre20160215 (12 Feb 2016)

  12 Feb 2016; Justin Lecher <jlec@gentoo.org> +aufs4-0_pre20160215.ebuild:
  Bump to latest aufs release

  Package-Manager: portage-2.2.27
  Signed-off-by: Justin Lecher <jlec@gentoo.org>

  19 Feb 2016; Justin Lecher <jlec@gentoo.org> -aufs4-0_pre20150420.ebuild,
  -aufs4-0_pre20150504.ebuild, -aufs4-0_pre20150511.ebuild,
  -aufs4-0_pre20150518.ebuild, -aufs4-0_pre20150525.ebuild,
  -aufs4-0_pre20150608.ebuild, -aufs4-0_pre20150622.ebuild,
  -aufs4-0_pre20150629.ebuild, -aufs4-0_pre20150928.ebuild,
  -aufs4-0_pre20151012.ebuild, -aufs4-0_pre20151102.ebuild,
  -aufs4-0_pre20151109.ebuild, -aufs4-0_pre20151116.ebuild,
  -aufs4-0_pre20151221.ebuild, -aufs4-0_pre20160111.ebuild,
  -aufs4-0_pre20160118.ebuild:
  Drop old

  Package-Manager: portage-2.2.27
  Signed-off-by: Justin Lecher <jlec@gentoo.org>

*aufs4-0_pre20160219 (19 Feb 2016)

  19 Feb 2016; Justin Lecher <jlec@gentoo.org> -aufs4-0_pre20160215.ebuild,
  +aufs4-0_pre20160219.ebuild:
  Bump to latest aufs release

  * Bump to EAPI=6
  * Bump to nextgen readme.gentoo eclass
  * Try to break lines at 80 chars

  Package-Manager: portage-2.2.27
  Signed-off-by: Justin Lecher <jlec@gentoo.org>

  19 Feb 2016; Justin Lecher <jlec@gentoo.org> aufs4-0_pre20160219.ebuild:
  Fix branch usage for kernel patch level

  Package-Manager: portage-2.2.27
  Signed-off-by: Justin Lecher <jlec@gentoo.org>

*aufs4-0_pre20160223 (23 Feb 2016)

  23 Feb 2016; Justin Lecher <jlec@gentoo.org> +aufs4-0_pre20160223.ebuild:
  Bump to latest aufs release

  Package-Manager: portage-2.2.27
  Signed-off-by: Justin Lecher <jlec@gentoo.org>

  02 Mar 2016; Justin Lecher <jlec@gentoo.org> aufs4-0_pre20160219.ebuild,
  aufs4-0_pre20160223.ebuild:
  Add missing to eapply_user in EAPI=6

  Gentoo-Bugs: https://bugs.gentoo.org/show_bug.cgi?id=576172

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

*aufs4-0_pre20160627 (02 Jul 2016)

  02 Jul 2016; Justin Lecher <jlec@gentoo.org> +aufs4-0_pre20160627.ebuild:
  Bump to latest aufs release

  Package-Manager: portage-2.3.0
  Signed-off-by: Justin Lecher <jlec@gentoo.org>

*aufs4-0_pre20160815 (14 Aug 2016)

  14 Aug 2016; Justin Lecher <jlec@gentoo.org> +aufs4-0_pre20160815.ebuild:
  Bump to latest aufs release

  Package-Manager: portage-2.3.0
  Signed-off-by: Justin Lecher <jlec@gentoo.org>

