# ChangeLog for net-misc/knemo
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/net-misc/knemo/ChangeLog,v 1.72 2015/02/06 18:39:36 kensington Exp $

  06 Feb 2015; Michael Palimaka <kensington@gentoo.org> knemo-0.7.6-r1.ebuild:
  Add missing dependency wrt bug #539140.

  27 Apr 2014; Johannes Huber <johu@gentoo.org> -knemo-0.7.6.ebuild,
  knemo-0.7.6-r1.ebuild:
  amd64/x86 stable, remove old.

*knemo-0.7.6-r1 (21 Mar 2014)

  21 Mar 2014; Johannes Huber <johu@gentoo.org> +knemo-0.7.6-r1.ebuild:
  Revision bump to EAPI 5.

  02 Mar 2013; Markos Chandras <hwoarang@gentoo.org> knemo-0.7.6.ebuild:
  Move Qt dependencies to the new category

  28 Jan 2013; Michael Palimaka <kensington@gentoo.org> -knemo-0.7.3.ebuild,
  -knemo-0.7.5.ebuild:
  Remove old.

  27 Jan 2013; Agostino Sarubbo <ago@gentoo.org> knemo-0.7.6.ebuild:
  Stable for x86, wrt bug #450678

  27 Jan 2013; Agostino Sarubbo <ago@gentoo.org> knemo-0.7.6.ebuild:
  Stable for amd64, wrt bug #450678

*knemo-0.7.6 (23 Dec 2012)

  23 Dec 2012; Pavlos Ratis <dastergon@gentoo.org> +knemo-0.7.6.ebuild:
  Version bump, 0.7.6

  13 Nov 2012; Lars Wendler <polynomial-c@gentoo.org> knemo-0.7.5.ebuild:
  non-maintainer commit: Fixed dependency on dev-libs/libnl.

*knemo-0.7.5 (12 Nov 2012)

  12 Nov 2012;  <dastergon@gentoo.org> +knemo-0.7.5.ebuild:
  [net-misc/knemo] version bump, bug 440346

  15 Jul 2012; Michael Palimaka <kensington@gentoo.org> knemo-0.7.3.ebuild:
  Add missing slot dependencies on Qt.

  22 Apr 2012; Johannes Huber <johu@gentoo.org> -knemo-0.7.0.ebuild,
  -knemo-0.7.2.ebuild:
  Remove old.

  22 Apr 2012; Markus Meier <maekke@gentoo.org> knemo-0.7.3.ebuild:
  x86 stable, bug #412683

  21 Apr 2012; Agostino Sarubbo <ago@gentoo.org> knemo-0.7.3.ebuild:
  Stable for amd64, wrt bug #412683

  20 Apr 2012; Johannes Huber <johu@gentoo.org> knemo-0.7.3.ebuild:
  Use array for docs.

*knemo-0.7.3 (08 Jan 2012)

  08 Jan 2012; Johannes Huber <johu@gentoo.org> +knemo-0.7.3.ebuild:
  Version bump wrt bug #398091.

  30 Oct 2011; Andreas K. Huettel <dilfridge@gentoo.org> knemo-0.7.0.ebuild,
  knemo-0.7.2.ebuild:
  Specify libnl slot, bug 388625

*knemo-0.7.2 (16 Oct 2011)

  16 Oct 2011; Marc Schiffbauer <mschiff@gentoo.org> -knemo-0.7.1.ebuild,
  +knemo-0.7.2.ebuild:
  Version bump. Drop 0.7.1. Fixes bug #386503.

*knemo-0.7.1 (31 Mar 2011)

  31 Mar 2011; Tomáš Chvátal <scarabeus@gentoo.org> +knemo-0.7.1.ebuild:
  Version bump

  01 Feb 2011; Tomáš Chvátal <scarabeus@gentoo.org> -knemo-0.6.3.ebuild,
  knemo-0.7.0.ebuild:
  Stabilise latest. Drop older.

*knemo-0.7.0 (09 Jan 2011)

  09 Jan 2011; Tomáš Chvátal <scarabeus@gentoo.org> -knemo-0.6.2.ebuild,
  knemo-0.6.3.ebuild, +knemo-0.7.0.ebuild:
  Version bump. Stabilise newer. Drop oldest.

*knemo-0.6.3 (01 Jul 2010)

  01 Jul 2010; Dror Levin <spatz@gentoo.org> +knemo-0.6.3.ebuild:
  Version bump.

  28 Jun 2010; Christian Faulhammer <fauli@gentoo.org> knemo-0.6.2.ebuild:
  stable x86, bug 325535

  25 Jun 2010; Dror Levin <spatz@gentoo.org> knemo-0.6.2.ebuild:
  Stable on amd64, bug 325535.

*knemo-0.6.2 (27 May 2010)

  27 May 2010; Dror Levin <spatz@gentoo.org> +knemo-0.6.2.ebuild:
  Version bump, bug 321741.

  07 Apr 2010; Tomáš Chvátal <scarabeus@gentoo.org> -knemo-0.5.2.ebuild,
  knemo-0.6.1.ebuild:
  Stable on amd64 and x86.

*knemo-0.6.1 (18 Jan 2010)

  18 Jan 2010; Samuli Suominen <ssuominen@gentoo.org> +knemo-0.6.1.ebuild:
  Version bump.

*knemo-0.6.0 (04 Dec 2009)

  04 Dec 2009; Samuli Suominen <ssuominen@gentoo.org> +knemo-0.6.0.ebuild:
  Version bump.

  07 Nov 2009; Samuli Suominen <ssuominen@gentoo.org> knemo-0.5.80.ebuild:
  Missing dev-libs/libnl depend wrt #292311, thanks to Andrei Slavoiu for
  reporting.

  07 Nov 2009; Samuli Suominen <ssuominen@gentoo.org> knemo-0.5.2.ebuild:
  amd64/x86 stable wrt #291945

*knemo-0.5.80 (07 Nov 2009)

  07 Nov 2009; Samuli Suominen <ssuominen@gentoo.org> +knemo-0.5.80.ebuild:
  Version bump.

*knemo-0.5.2 (31 Oct 2009)

  31 Oct 2009; Samuli Suominen <ssuominen@gentoo.org> +knemo-0.5.2.ebuild:
  Version bump wrt #260016, thanks to BeteNoire for reporting.

  30 Jul 2007; Gustavo Zacarias <gustavoz@gentoo.org> knemo-0.4.8.ebuild:
  Stable on sparc wrt #186897

  28 Jul 2007; Raúl Porcel <armin76@gentoo.org> knemo-0.4.8.ebuild:
  x86 stable wrt #186897

  28 Jul 2007; Wulf C. Krueger <philantrop@gentoo.org> knemo-0.4.8.ebuild:
  Marked stable on amd64 as per bug 186897.

  28 Jul 2007; nixnut <nixnut@gentoo.org> knemo-0.4.8.ebuild:
  Stable on ppc wrt bug 186897

*knemo-0.4.8 (29 May 2007)

  29 May 2007; Stefan Schweizer <genstef@gentoo.org>
  -files/knemo-0.4.6-sysbackend.patch, -knemo-0.4.0.ebuild,
  -knemo-0.4.5.ebuild, -knemo-0.4.6.ebuild, -knemo-0.4.6-r1.ebuild,
  +knemo-0.4.8.ebuild:
  version bump remove old

  30 Apr 2007; Gustavo Zacarias <gustavoz@gentoo.org> knemo-0.4.7.ebuild:
  Stable on sparc wrt #176292

  29 Apr 2007; Danny van Dyk <kugelfang@gentoo.org> knemo-0.4.7.ebuild:
  Marked stable on amd64.

  29 Apr 2007; Raúl Porcel <armin76@gentoo.org> knemo-0.4.7.ebuild:
  x86 stable wrt #176292

  28 Apr 2007; nixnut <nixnut@gentoo.org> knemo-0.4.7.ebuild:
  Stable on ppc wrt bug 176292

*knemo-0.4.7 (01 Apr 2007)

  01 Apr 2007; Carsten Lohrke <carlo@gentoo.org> +knemo-0.4.7.ebuild:
  Version bump.

  29 Mar 2007; Matteo Azzali <mattepiu@gentoo.org>
  files/knemo-0.4.6-sysbackend.patch:
  fixed sysbackend patch.

*knemo-0.4.6-r1 (28 Mar 2007)

  28 Mar 2007; Matteo Azzali <mattepiu@gentoo.org>
  +files/knemo-0.4.6-sysbackend.patch, +knemo-0.4.6-r1.ebuild:
  Fixed sys-backend as per bug 172450. Thanks to Alberto Zennaro.

*knemo-0.4.6 (19 Nov 2006)

  19 Nov 2006; Przemysław Maciąg <troll@gentoo.org> -knemo-0.4.2.ebuild,
  -knemo-0.4.4.ebuild, +knemo-0.4.6.ebuild:
  Version bump (0.4.6). Clean up some older ebuilds.

  13 Oct 2006; Ioannis Aslanidis <deathwing00@gentoo.org>
  knemo-0.4.5.ebuild:
  Fixed pkg_postinst message as reported in bug #151229. Thanks to
  Wiktor Wandachowicz for reporting the issue.

*knemo-0.4.5 (27 Aug 2006)

  27 Aug 2006; Carsten Lohrke <carlo@gentoo.org> +knemo-0.4.5.ebuild:
  Version bump.

*knemo-0.4.4 (12 Aug 2006)

  12 Aug 2006; Stefan Schweizer <genstef@gentoo.org>
  -files/knemo-0.3.1-gcc41.patch, -files/knemo-0.3.1-linkquality.patch,
  -knemo-0.3.1-r1.ebuild, +knemo-0.4.4.ebuild:
  version bump, remove old

*knemo-0.4.2 (15 Jun 2006)

  15 Jun 2006; Diego Pettenò <flameeyes@gentoo.org> -knemo-0.4.1.ebuild,
  +knemo-0.4.2.ebuild:
  Version bump with fix for divisions by zero.

*knemo-0.4.1 (12 Jun 2006)

  12 Jun 2006; Carsten Lohrke <carlo@gentoo.org> +knemo-0.4.1.ebuild:
  Version bump.

  08 Jun 2006; Jon Hood <squinky86@gentoo.org> knemo-0.4.0.ebuild:
  Stable on amd64, #135656.

  07 Jun 2006; Joshua Jackson <tsunam@gentoo.org> knemo-0.4.0.ebuild:
  Stable x86; bug #135656

  04 Apr 2006; Carsten Lohrke <carlo@gentoo.org> files/digest-knemo-0.4.0,
  Manifest:
  Forgot to recreate digest.

  03 Apr 2006; Carsten Lohrke <carlo@gentoo.org> knemo-0.4.0.ebuild:
  Upstream issued new tarball...

*knemo-0.4.0 (03 Apr 2006)

  03 Apr 2006; Carsten Lohrke <carlo@gentoo.org> +knemo-0.4.0.ebuild:
  Version bump.

  06 Mar 2006; Diego Pettenò <flameeyes@gentoo.org>
  +files/knemo-0.3.1-gcc41.patch, knemo-0.3.1-r1.ebuild:
  Add patch to fix building with GCC 4.1, thanks to Daniele Gaffuri in bug
  #125179 for submitting it.

  02 Sep 2005; Luis Medinas <metalgod@gentoo.org> knemo-0.3.1-r1.ebuild:
  Marked Stable on AMD64.

  13 Aug 2005; Diego Pettenò <flameeyes@gentoo.org> knemo-0.3.1-r1.ebuild:
  Depend on sys-apps/net-tools just on Linux.

  29 Jun 2005; Carsten Lohrke <carlo@gentoo.org> knemo-0.3.1-r1.ebuild:
  stable on x86

*knemo-0.3.1-r1 (01 May 2005)

  01 May 2005; Carsten Lohrke <carlo@gentoo.org>
  +files/knemo-0.3.1-linkquality.patch, +knemo-0.3.1-r1.ebuild:
  always show link quality, #88653

  07 Apr 2005; Marcus D. Hanwell <cryos@gentoo.org> knemo-0.3.1.ebuild:
  Marked ~amd64, closes bug 83489.

  25 Mar 2005; Carsten Lohrke <carlo@gentoo.org> knemo-0.3.1.ebuild:
  stable on x86

  27 Feb 2005; Jason Wever <weeve@gentoo.org> knemo-0.3.1.ebuild:
  Added ~sparc keyword.

*knemo-0.3.1 (06 Jan 2005)

  06 Jan 2005; Carsten Lohrke <carlo@gentoo.org> +knemo-0.3.1.ebuild:
  version bump

  12 Oct 2004; Carsten Lohrke <carlo@gentoo.org> -knemo-0.1.10.ebuild,
  -knemo-0.1.8.ebuild, -knemo-0.1.9.ebuild, -knemo-0.2.0.ebuild,
  -knemo-0.2.2.ebuild, knemo-0.3.0.ebuild:
  stable on x86, clean up

*knemo-0.3.0 (14 Sep 2004)

  14 Sep 2004; Carsten Lohrke <carlo@gentoo.org> +knemo-0.3.0.ebuild:
  version bump

*knemo-0.2.2 (17 Aug 2004)

  17 Aug 2004; Dominik Stadler <centic@gentoo.org> +knemo-0.2.2.ebuild:
  Add version 0.2.2, requested in Bug 60637

*knemo-0.2.0 (01 Aug 2004)

  01 Aug 2004; Dominik Stadler <centic@gentoo.org> +knemo-0.2.0.ebuild:
  Add version 0.2.0, requested in Bug 59025

*knemo-0.1.10 (12 Jul 2004)

  12 Jul 2004; Carsten Lohrke <carlo@gentoo.org> +knemo-0.1.10.ebuild:
  version bump

*knemo-0.1.9 (10 Jul 2004)

  10 Jul 2004; Carsten Lohrke <carlo@gentoo.org> +knemo-0.1.9.ebuild:
  version bump

  29 Jun 2004; David Holm <dholm@gentoo.org> knemo-0.1.8.ebuild:
  Added to ~ppc.

*knemo-0.1.8 (28 Jun 2004)

  28 Jun 2004; Carsten Lohrke <carlo@gentoo.org> +metadata.xml,
  +knemo-0.1.8.ebuild:
  Initial ebuild. Thanks to Alberto Garcia Hierro.
