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

*abi-compliance-checker-9999 (09 Aug 2015)
*abi-compliance-checker-1.99.9 (09 Aug 2015)
*abi-compliance-checker-1.98.8 (09 Aug 2015)
*abi-compliance-checker-1.98.7 (09 Aug 2015)
*abi-compliance-checker-1.98.4 (09 Aug 2015)

  09 Aug 2015; Robin H. Johnson <robbat2@gentoo.org>
  +abi-compliance-checker-1.98.4.ebuild,
  +abi-compliance-checker-1.98.7.ebuild,
  +abi-compliance-checker-1.98.8.ebuild,
  +abi-compliance-checker-1.99.9.ebuild, +abi-compliance-checker-9999.ebuild,
  +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>
  abi-compliance-checker-9999.ebuild:
  Use https by default

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

  24 Aug 2015; Justin Lecher <jlec@gentoo.org> 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

  01 Oct 2015; Michał Górny <mgorny@gentoo.org>
  -abi-compliance-checker-1.98.4.ebuild,
  -abi-compliance-checker-1.98.7.ebuild,
  -abi-compliance-checker-1.98.8.ebuild:
  Remove old versions

  Package-Manager: portage-2.2.20

  16 Oct 2015; Justin Lecher <jlec@gentoo.org> metadata.xml:
  Update remote-ids

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

  16 Oct 2015; Michał Górny <mgorny@gentoo.org>
  abi-compliance-checker-9999.ebuild:
  ignore broken Makefile

  Ignore the Makefile that has been introduced upstream. It only calls
  'install' with hardcoded '/usr' prefix, and does that as a default rule.
  Therefore, we need to wipe out src_compile() to make sure it doesn't try
  to install to the live system.

*abi-compliance-checker-1.99.12 (16 Oct 2015)

  16 Oct 2015; Michał Górny <mgorny@gentoo.org>
  +abi-compliance-checker-1.99.12.ebuild:
  Bump to 1.99.12

*abi-compliance-checker-1.99.12-r1 (17 Oct 2015)

  17 Oct 2015; Michał Górny <mgorny@gentoo.org>
  abi-compliance-checker-1.99.9.ebuild,
  -abi-compliance-checker-1.99.12.ebuild,
  +abi-compliance-checker-1.99.12-r1.ebuild,
  abi-compliance-checker-9999.ebuild:
  Add missing dependencies

  Spotted-by: Julian Ospald <hasufell@gentoo.org>

  Package-Manager: portage-2.2.23

  11 Jan 2016; Michał Górny <mgorny@gentoo.org>
  abi-compliance-checker-9999.ebuild:
  Switch to EAPI=6, add Prefix support

*abi-compliance-checker-1.99.15 (11 Jan 2016)

  11 Jan 2016; Michał Górny <mgorny@gentoo.org>
  +abi-compliance-checker-1.99.15.ebuild:
  Bump to 1.99.15, #571480

  24 Jan 2016; Michał Górny <mgorny@gentoo.org> metadata.xml:
  Unify quoting in metadata.xml files for machine processing

  Force unified quoting in all metadata.xml files since lxml does not
  preserve original use of single and double quotes. Ensuring unified
  quoting before the process allows distinguishing the GLEP 67-related
  metadata.xml changes from unrelated quoting changes.

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

*abi-compliance-checker-1.99.19 (08 May 2016)

  08 May 2016; Mike Gilbert <floppym@gentoo.org>
  +abi-compliance-checker-1.99.19.ebuild, abi-compliance-checker-9999.ebuild:
  bump to 1.99.19

  Package-Manager: portage-2.2.28_p97

  24 May 2016; Michał Górny <mgorny@gentoo.org>
  -abi-compliance-checker-1.99.9.ebuild,
  -abi-compliance-checker-1.99.12-r1.ebuild,
  -abi-compliance-checker-1.99.15.ebuild:
  Clean up old

*abi-compliance-checker-1.99.20 (24 May 2016)

  24 May 2016; Michał Górny <mgorny@gentoo.org>
  +abi-compliance-checker-1.99.20.ebuild:
  Bump to 1.99.20

  24 May 2016; Mike Gilbert <floppym@gentoo.org>
  abi-compliance-checker-1.99.19.ebuild,
  abi-compliance-checker-1.99.20.ebuild, abi-compliance-checker-9999.ebuild:
  fixup src_install

  Use the dodir helper function for proper EPREFIX handling.
  Call einstalldocs to install the README file.

  Package-Manager: portage-2.2.28_p107_p1117599

  24 May 2016; Mike Gilbert <floppym@gentoo.org> metadata.xml:
  add myself as a maintainer

  Package-Manager: portage-2.2.28_p107_p1126137

*abi-compliance-checker-1.99.21 (23 Jun 2016)

  23 Jun 2016; Michał Górny <mgorny@gentoo.org>
  +abi-compliance-checker-1.99.21.ebuild:
  Bump to 1.99.21

*abi-compliance-checker-1.99.22 (04 Jul 2016)

  04 Jul 2016; Michał Górny <mgorny@gentoo.org>
  +abi-compliance-checker-1.99.22.ebuild:
  Bump to 1.99.22

  04 Jul 2016; Michał Górny <mgorny@gentoo.org>
  -abi-compliance-checker-1.99.19.ebuild,
  -abi-compliance-checker-1.99.20.ebuild:
  Drop old

*abi-compliance-checker-1.99.23 (15 Aug 2016)

  15 Aug 2016; Michał Górny <mgorny@gentoo.org>
  +abi-compliance-checker-1.99.23.ebuild:
  Bump to 1.99.23

*abi-compliance-checker-1.99.25 (07 Oct 2016)

  07 Oct 2016; Michał Górny <mgorny@gentoo.org>
  +abi-compliance-checker-1.99.25.ebuild:
  Bump to 1.99.25

