# ChangeLog for sys-process/psmisc
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/sys-process/psmisc/ChangeLog,v 1.169 2015/04/12 10:08:25 zlogene Exp $

  12 Apr 2015; Mikle Kolyada <zlogene@gentoo.org> psmisc-22.21-r2.ebuild:
  alpha stable wrt bug #530662

  04 Apr 2015; Mike Frysinger <vapier@gentoo.org> psmisc-22.21-r2.ebuild:
  Mark arm64/m68k/s390/sh stable.

  13 Mar 2015; Mikle Kolyada <zlogene@gentoo.org> psmisc-22.21-r2.ebuild:
  ia64 stable wrt bug #530662

*psmisc-22.21-r2 (28 Jan 2015)

  28 Jan 2015; Lars Wendler <polynomial-c@gentoo.org> -psmisc-22.21-r1.ebuild,
  +psmisc-22.21-r2.ebuild, +files/psmisc-22.21-fuser_typo_fix.patch:
  Revbump to fix a typo in fuser which leads to -M option being enabled all the
  time. Committed straight to stable.

*psmisc-22.21-r1 (22 Jan 2015)

  22 Jan 2015; Lars Wendler <polynomial-c@gentoo.org> -psmisc-22.21.ebuild,
  +psmisc-22.21-r1.ebuild:
  Upstream re-released latest source tarball. Committed straight to stable
  where -r0 ebuild was already stable.

  02 Jan 2015; Agostino Sarubbo <ago@gentoo.org> psmisc-22.21.ebuild:
  Stable for sparc, wrt bug #530662

  01 Jan 2015; Agostino Sarubbo <ago@gentoo.org> psmisc-22.21.ebuild:
  Stable for ppc64, wrt bug #530662

  31 Dec 2014; Agostino Sarubbo <ago@gentoo.org> psmisc-22.21.ebuild:
  Stable for ppc, wrt bug #530662

  28 Dec 2014; Agostino Sarubbo <ago@gentoo.org> psmisc-22.21.ebuild:
  Stable for x86, wrt bug #530662

  27 Dec 2014; Agostino Sarubbo <ago@gentoo.org> psmisc-22.21.ebuild:
  Stable for amd64, wrt bug #530662

  07 Dec 2014; Markus Meier <maekke@gentoo.org> psmisc-22.21.ebuild:
  arm stable, bug #530662

  28 Nov 2014; Jeroen Roovers <jer@gentoo.org> psmisc-22.21.ebuild:
  Stable for HPPA (bug #530662).

  03 Nov 2014; Mike Frysinger <vapier@gentoo.org> psmisc-22.20.ebuild:
  Mark m68k stable.

  18 Jan 2014; Mike Frysinger <vapier@gentoo.org> psmisc-22.20.ebuild,
  psmisc-22.21.ebuild:
  Add arm64 love.

*psmisc-22.21 (10 Nov 2013)

  10 Nov 2013; Tim Harder <radhermit@gentoo.org> +psmisc-22.21.ebuild:
  Version bump.

  24 Feb 2013; Agostino Sarubbo <ago@gentoo.org> psmisc-22.20.ebuild:
  Stable for sh, wrt bug #456390

  20 Feb 2013; Zac Medico <zmedico@gentoo.org> psmisc-22.20.ebuild:
  Add ~arm-linux keyword.

  20 Feb 2013; Samuli Suominen <ssuominen@gentoo.org> psmisc-22.20.ebuild:
  Fix installation when CTARGET is set and fuser is installed as eg.
  x86_64-pc-linux-gnu-fuser wrt #458250

  20 Feb 2013; Agostino Sarubbo <ago@gentoo.org> psmisc-22.20.ebuild:
  Stable for s390, wrt bug #456390

  17 Feb 2013; Jeroen Roovers <jer@gentoo.org> psmisc-22.20.ebuild:
  Stable for HPPA (bug #456390).

  12 Feb 2013; Agostino Sarubbo <ago@gentoo.org> psmisc-22.20.ebuild:
  Stable for sparc, wrt bug #456390

  12 Feb 2013; Agostino Sarubbo <ago@gentoo.org> psmisc-22.20.ebuild:
  Stable for alpha, wrt bug #456390

  12 Feb 2013; Agostino Sarubbo <ago@gentoo.org> psmisc-22.20.ebuild:
  Stable for ia64, wrt bug #456390

  11 Feb 2013; Agostino Sarubbo <ago@gentoo.org> psmisc-22.20.ebuild:
  Stable for arm, wrt bug #456390

  10 Feb 2013; Agostino Sarubbo <ago@gentoo.org> psmisc-22.20.ebuild:
  Stable for ppc, wrt bug #456390

  10 Feb 2013; Agostino Sarubbo <ago@gentoo.org> psmisc-22.20.ebuild:
  Stable for ppc64, wrt bug #456390

  10 Feb 2013; Agostino Sarubbo <ago@gentoo.org> psmisc-22.20.ebuild:
  Stable for x86, wrt bug #456390

  10 Feb 2013; Agostino Sarubbo <ago@gentoo.org> psmisc-22.20.ebuild:
  Stable for amd64, wrt bug #456390

  10 Feb 2013; Samuli Suominen <ssuominen@gentoo.org> -psmisc-22.19-r1.ebuild:
  old

  10 Feb 2013; Samuli Suominen <ssuominen@gentoo.org> psmisc-22.16.ebuild:
  Use -> in SRC_URI to prevent filesize problem with Manifest

  09 Oct 2012; Mike Frysinger <vapier@gentoo.org>
  +files/psmisc-22.20-selinux.patch, psmisc-22.20.ebuild:
  Add fix from upstream for building on selinux systems #437332 by Amadeusz
  Sławiński.

*psmisc-22.20 (03 Oct 2012)

  03 Oct 2012; Tim Harder <radhermit@gentoo.org> +psmisc-22.20.ebuild:
  Version bump.

  31 Aug 2012; Samuli Suominen <ssuominen@gentoo.org>
  -files/psmisc-22.13-no-nls.patch, -psmisc-22.14.ebuild, -psmisc-22.18.ebuild,
  -psmisc-22.19.ebuild:
  old

*psmisc-22.19-r1 (31 Aug 2012)

  31 Aug 2012; Samuli Suominen <ssuominen@gentoo.org> +psmisc-22.19-r1.ebuild:
  Upstream patch for fuser to work with unix sockets wrt #398811. Thanks to
  Piotr Karbowski and Mike Frysinger.

  25 Aug 2012; Mike Frysinger <vapier@gentoo.org> psmisc-22.16.ebuild,
  psmisc-22.18.ebuild, psmisc-22.19.ebuild:
  Drop useless -vf args to mv #432632 by Joshua B. Kahlenberg.

  08 Jul 2012; Raúl Porcel <armin76@gentoo.org> psmisc-22.16.ebuild:
  alpha/ia64/m68k/s390/sh/sparc stable wrt #420047

*psmisc-22.19 (30 Jun 2012)

  30 Jun 2012; Samuli Suominen <ssuominen@gentoo.org> +psmisc-22.19.ebuild:
  Version bump.

  19 Jun 2012; Samuli Suominen <ssuominen@gentoo.org> -psmisc-22.15.ebuild,
  -files/psmisc-22.15-COMM_LEN-to-18.patch, -psmisc-22.17.ebuild:
  old

*psmisc-22.18 (19 Jun 2012)

  19 Jun 2012; Samuli Suominen <ssuominen@gentoo.org> +psmisc-22.18.ebuild:
  Version bump.

  19 Jun 2012; Samuli Suominen <ssuominen@gentoo.org> psmisc-22.16.ebuild:
  ppc64 stable wrt #420047

  11 Jun 2012; Agostino Sarubbo <ago@gentoo.org> psmisc-22.16.ebuild:
  Stable for amd64, wrt bug #420047

  09 Jun 2012; Markus Meier <maekke@gentoo.org> psmisc-22.16.ebuild:
  arm stable, bug #420047

  07 Jun 2012; Brent Baude <ranger@gentoo.org> psmisc-22.16.ebuild:
  Marking psmisc-22.16 ppc for bug 420047

  07 Jun 2012; Johannes Huber <johu@gentoo.org> psmisc-22.16.ebuild:
  Stable for x86, wrt bug #420047

  07 Jun 2012; Jeroen Roovers <jer@gentoo.org> psmisc-22.16.ebuild:
  Stable for HPPA (bug #420047).

*psmisc-22.17 (07 Jun 2012)

  07 Jun 2012; Samuli Suominen <ssuominen@gentoo.org> +psmisc-22.17.ebuild:
  Version bump.

  17 May 2012; Mike Frysinger <vapier@gentoo.org>
  +files/psmisc-22.16-fuser-pic.patch, psmisc-22.16.ebuild:
  Fix TEXTRELs when building fuser as a PIE #394443 by Attila Tóth.

*psmisc-22.16 (12 Mar 2012)

  12 Mar 2012; Samuli Suominen <ssuominen@gentoo.org> +psmisc-22.16.ebuild:
  Version bump.

  31 Jan 2012; Mike Frysinger <vapier@gentoo.org> psmisc-22.15.ebuild:
  Drop autotool usage since we no longer patch autotool files.

*psmisc-22.15 (28 Jan 2012)

  28 Jan 2012; Samuli Suominen <ssuominen@gentoo.org> +psmisc-22.15.ebuild,
  +files/psmisc-22.15-COMM_LEN-to-18.patch:
  Version bump. Backport -COMM_LEN-to-18.patch from git to prevent pstree
  crashing.

  26 Jan 2012; Samuli Suominen <ssuominen@gentoo.org>
  -files/psmisc-22.5-no-nls.patch, -psmisc-22.12.ebuild,
  -files/psmisc-22.12-peekfd.patch, -psmisc-22.13.ebuild:
  old

  26 Jan 2012; Samuli Suominen <ssuominen@gentoo.org> psmisc-22.14.ebuild:
  ppc64 stable wrt #392641

  04 Jan 2012; Brent Baude <ranger@gentoo.org> psmisc-22.14.ebuild:
  Marking psmisc-22.14 ppc for bug 392641

  04 Dec 2011; Raúl Porcel <armin76@gentoo.org> psmisc-22.14.ebuild:
  alpha/arm/ia64/m68k/s390/sh/sparc/x86 stable wrt #392641

  02 Dec 2011; Markos Chandras <hwoarang@gentoo.org> psmisc-22.14.ebuild:
  Stable on amd64 wrt bug #392641

  30 Nov 2011; Jeroen Roovers <jer@gentoo.org> psmisc-22.14.ebuild:
  Stable for HPPA (bug #392641).

*psmisc-22.14 (06 Jul 2011)

  06 Jul 2011; Samuli Suominen <ssuominen@gentoo.org> +psmisc-22.14.ebuild:
  Version bump.

  20 Sep 2010; Raúl Porcel <armin76@gentoo.org> psmisc-22.12.ebuild:
  arm/ia64/m68k/s390/sh/sparc stable wrt #336339

  19 Sep 2010; Tobias Klausmann <klausman@gentoo.org> psmisc-22.12.ebuild:
  Stable on alpha, bug #336339, thanks to mattst88 for testing

  12 Sep 2010; Joseph Jezak <josejx@gentoo.org> psmisc-22.12.ebuild:
  Marked ppc stable for bug #336339.

  12 Sep 2010; Markos Chandras <hwoarang@gentoo.org> psmisc-22.12.ebuild:
  Stable on amd64 wrt bug #336339

  10 Sep 2010; Jeroen Roovers <jer@gentoo.org> psmisc-22.12.ebuild:
  Stable for HPPA (bug #336339).

  10 Sep 2010; Christian Faulhammer <fauli@gentoo.org> psmisc-22.12.ebuild:
  stable x86, bug 336339

  09 Sep 2010; Brent Baude <ranger@gentoo.org> psmisc-22.12.ebuild:
  Marking psmisc-22.12 ppc64 for bug 336339

*psmisc-22.13 (07 Sep 2010)

  07 Sep 2010; Samuli Suominen <ssuominen@gentoo.org> +psmisc-22.13.ebuild,
  +files/psmisc-22.13-no-nls.patch:
  Version bump.

  22 Aug 2010; Mike Frysinger <vapier@gentoo.org> psmisc-22.12.ebuild:
  Ignore all peekfd build failures #330631 by Raúl Porcel.

  05 Aug 2010; Samuli Suominen <ssuominen@gentoo.org> psmisc-22.12.ebuild:
  Convert to EAPI="3" and keyword ~amd64-linux ~ia64-linux ~x86-linux wrt
  #331321 by Jeremy Olexa.

  31 Jul 2010; Samuli Suominen <ssuominen@gentoo.org> psmisc-22.12.ebuild,
  +files/psmisc-22.12-peekfd.patch:
  Fix missing bits/types.h include in configure.ac check for peekfd and x86_64.

*psmisc-22.12 (30 Jul 2010)

  30 Jul 2010; Samuli Suominen <ssuominen@gentoo.org> +psmisc-22.12.ebuild:
  Version bump.

*psmisc-22.11 (01 May 2010)

  01 May 2010; Samuli Suominen <ssuominen@gentoo.org> +psmisc-22.11.ebuild:
  Version bump wrt #318043.

  13 Feb 2010; Raúl Porcel <armin76@gentoo.org> psmisc-22.10.ebuild:
  alpha/arm/ia64/m68k/s390/sh/sparc stable wrt #304175

  13 Feb 2010; Samuli Suominen <ssuominen@gentoo.org> psmisc-22.10.ebuild:
  amd64 stable wrt #304175

  12 Feb 2010; Joseph Jezak <josejx@gentoo.org> psmisc-22.10.ebuild:
  Marked ppc/ppc64 stable for bug #304175.

  11 Feb 2010; Jeroen Roovers <jer@gentoo.org> psmisc-22.10.ebuild:
  Stable for HPPA (bug #304175).

  11 Feb 2010; Christian Faulhammer <fauli@gentoo.org> psmisc-22.10.ebuild:
  stable x86, bug 304175

*psmisc-22.10 (04 Jan 2010)

  04 Jan 2010; Samuli Suominen <ssuominen@gentoo.org> +psmisc-22.10.ebuild:
  Version bump.

  02 Jan 2010; Samuli Suominen <ssuominen@gentoo.org> psmisc-22.9.ebuild,
  +files/psmisc-22.9-locale.patch:
  Fix building with -O0 where glibc doesn't include locale.h by itself wrt
  #299316.

*psmisc-22.9 (02 Jan 2010)

  02 Jan 2010; Samuli Suominen <ssuominen@gentoo.org> +psmisc-22.9.ebuild:
  Version bump.

*psmisc-22.8-r1 (23 Dec 2009)

  23 Dec 2009; Samuli Suominen <ssuominen@gentoo.org>
  +psmisc-22.8-r1.ebuild, +files/psmisc-22.8-fuser-r159.patch:
  Fix segmentation fault with false options e.g. "fuser --help" wrt #297423
  and everything up to fuser.c Rev. 1.59, fuser.h Rev. 1.7.

*psmisc-22.8 (11 Dec 2009)

  11 Dec 2009; Samuli Suominen <ssuominen@gentoo.org> +psmisc-22.8.ebuild:
  Version bump wrt #296498.

  31 Oct 2009; Brent Baude <ranger@gentoo.org> psmisc-22.7.ebuild:
  Marking psmisc-22.7 ppc64 for bug 287739

  17 Oct 2009; Raúl Porcel <armin76@gentoo.org> psmisc-22.7.ebuild:
  arm/ia64/m68k/s390/sh stable wrt #287739

  17 Oct 2009; Tiago Cunha <tcunha@gentoo.org> psmisc-22.7.ebuild:
  stable sparc, bug 287739

  15 Oct 2009; Markus Meier <maekke@gentoo.org> psmisc-22.7.ebuild:
  amd64/x86 stable, bug #287739

  11 Oct 2009; Tobias Klausmann <klausman@gentoo.org> psmisc-22.7.ebuild:
  Stable on alpha, bug #287739

  07 Oct 2009; nixnut <nixnut@gentoo.org> psmisc-22.7.ebuild:
  ppc stable #287739

  06 Oct 2009; Jeroen Roovers <jer@gentoo.org> psmisc-22.7.ebuild:
  Stable for HPPA (bug #287739).

  14 May 2009; Joseph Jezak <josejx@gentoo.org> psmisc-22.6.ebuild:
  Marked ppc stable for bug #269301.

*psmisc-22.7 (10 May 2009)

  10 May 2009; Mike Frysinger <vapier@gentoo.org> +psmisc-22.7.ebuild:
  Version bump.

  01 Jun 2008; Mike Frysinger <vapier@gentoo.org> psmisc-22.6.ebuild:
  Dont pass --disable-nls in the USE=-nls case to avoid confusing warnings
  #220787 by Martin Mokrejs.

  14 May 2008; Jeroen Roovers <jer@gentoo.org> psmisc-22.6.ebuild:
  Stable for HPPA too.

  12 May 2008; Markus Rothe <corsair@gentoo.org> psmisc-22.6.ebuild:
  Stable on ppc64

  07 Mar 2008; Santiago M. Mola <coldwind@gentoo.org> psmisc-22.6.ebuild:
  amd64 stable

  07 Feb 2008; Raúl Porcel <armin76@gentoo.org> psmisc-22.6.ebuild:
  alpha/ia64/sparc/x86 stable

*psmisc-22.6 (04 Nov 2007)

  04 Nov 2007; Mike Frysinger <vapier@gentoo.org> +psmisc-22.6.ebuild:
  Version bump.

  06 Oct 2007; Mike Frysinger <vapier@gentoo.org>
  +files/psmisc-22.5-no-nls.patch, psmisc-22.5-r2.ebuild:
  Fix from impulze for building with USE=-nls and no gettext installed #193920
  by Julian Golderer.

  27 Sep 2007; Joseph Jezak <josejx@gentoo.org> psmisc-22.5-r2.ebuild:
  Marked ppc stable for bug #193833.

  27 Sep 2007; Joshua Kinard <kumba@gentoo.org> psmisc-22.5-r2.ebuild:
  Stable on mips, per #193833.

  26 Sep 2007; Brent Baude <ranger@gentoo.org> psmisc-22.5-r2.ebuild:
  Marking psmisc-22.5-r2 ppc64 stable for bug 193833

  26 Sep 2007; Jeroen Roovers <jer@gentoo.org> psmisc-22.5-r2.ebuild:
  Stable for HPPA (bug #193833).

  26 Sep 2007; Raúl Porcel <armin76@gentoo.org> psmisc-22.5-r2.ebuild:
  alpha/ia64/x86 stable wrt #193833

  26 Sep 2007; Ferris McCormick <fmccor@gentoo.org> psmisc-22.5-r2.ebuild:
  Sparc stable --- Bug #193833 --- seems fine.

  26 Sep 2007; Christoph Mende <angelos@gentoo.org> psmisc-22.5-r2.ebuild:
  Stable on amd64 wrt bug #193833

  26 Sep 2007; Mike Frysinger <vapier@gentoo.org> psmisc-22.5-r2.ebuild:
  Drop C++ cruft from build system.

  13 Aug 2007; Tobias Scherbaum <dertobi123@gentoo.org> psmisc-22.5.ebuild:
  ppc. stable

  13 Aug 2007; Gustavo Zacarias <gustavoz@gentoo.org> psmisc-22.5-r1.ebuild:
  Stable on sparc

  12 Aug 2007; Tom Gall <tgall@gentoo.org> psmisc-22.5-r1.ebuild:
  stable on ppc64

  11 Aug 2007; Raúl Porcel <armin76@gentoo.org> psmisc-22.5-r1.ebuild:
  alpha/ia64/x86 stable

*psmisc-22.5-r2 (02 Aug 2007)

  02 Aug 2007; Roy Marples <uberlord@gentoo.org>
  +files/psmisc-22.5-sockets.patch, +psmisc-22.5-r2.ebuild:
  Add a patch from marienz to improve the finding of sockets

*psmisc-22.5-r1 (11 Jul 2007)

  11 Jul 2007; Mike Frysinger <vapier@gentoo.org> +psmisc-22.5-r1.ebuild:
  Keep all binaries in /usr/bin except for fuser #184969 by spiritus.

  04 Jul 2007; Roy Marples <uberlord@gentoo.org> psmisc-22.5.ebuild:
  Don't install pstree.x11 unless USE X, #184226 thanks to Patrick van Staveren.

  02 Jul 2007; Gustavo Zacarias <gustavoz@gentoo.org> psmisc-22.5.ebuild:
  Stable on sparc

  30 Jun 2007; Raúl Porcel <armin76@gentoo.org> psmisc-22.5.ebuild:
  ia64/x86 stable

  02 May 2007; Mike Frysinger <vapier@gentoo.org>
  +files/psmisc-22.5-user-header.patch, psmisc-22.5.ebuild:
  Touchup peekfd handling #175776 by Harald van Dijk.

*psmisc-22.5 (25 Apr 2007)

  25 Apr 2007; Mike Frysinger <vapier@gentoo.org> +psmisc-22.5.ebuild:
  Version bump.

  21 Apr 2007; Markus Rothe <corsair@gentoo.org> ChangeLog:
  Stable on ppc64; bug #175094

  20 Apr 2007; <christel@gentoo.org> psmisc-22.3.ebuild:
  Stable on ALPHA; bug #175094

  19 Apr 2007; Jeroen Roovers <jer@gentoo.org> psmisc-22.3.ebuild:
  Stable for HPPA too (bug #175094).

  18 Apr 2007; Daniel Gryniewicz <dang@gentoo.org> psmisc-22.3.ebuild:
  Marked stable on amd64 for bug #175094

  18 Apr 2007; Alexander Færøy <eroyf@gentoo.org> psmisc-22.3.ebuild:
  Stable on MIPS.

*psmisc-22.4 (18 Apr 2007)

  18 Apr 2007; Mike Frysinger <vapier@gentoo.org>
  +files/psmisc-22.4-no-peekfd.patch, +psmisc-22.4.ebuild:
  Version bump.

  16 Apr 2007; Markus Rothe <corsair@gentoo.org> psmisc-22.3.ebuild:
  Stable on ppc64

  01 Apr 2007; Michael Hanselmann <hansmi@gentoo.org> psmisc-22.3.ebuild:
  Stable on ppc.

  15 Mar 2007; Gustavo Zacarias <gustavoz@gentoo.org> psmisc-22.3.ebuild:
  Stable on sprac

  13 Mar 2007; Raúl Porcel <armin76@gentoo.org> psmisc-22.3.ebuild:
  x86 stable

*psmisc-22.3 (16 Sep 2006)

  16 Sep 2006; Mike Frysinger <vapier@gentoo.org> +psmisc-22.3.ebuild:
  Version bump.

  26 Aug 2006; Mike Frysinger <vapier@gentoo.org>
  +files/psmisc-22.2-gcc2.patch, psmisc-22.2.ebuild:
  Cheesy patch for gcc-2 compilers.

  09 Jul 2006; Joshua Kinard <kumba@gentoo.org> psmisc-22.2.ebuild:
  Marked stable on mips.

  28 Jun 2006; Luis Medinas <metalgod@gentoo.org> psmisc-22.2.ebuild:
  Stable on amd64. Bug #138148.

  27 Jun 2006; Gustavo Zacarias <gustavoz@gentoo.org> psmisc-22.2.ebuild:
  Stable on sparc wrt #138148

  27 Jun 2006; Chris Gianelloni <wolf31o2@gentoo.org> psmisc-22.2.ebuild:
  Stable on x86 wrt bug #138148.

  27 Jun 2006; Tobias Scherbaum <dertobi123@gentoo.org> psmisc-22.2.ebuild:
  ppc stable, #138148

  27 Jun 2006; Thomas Cort <tcort@gentoo.org> psmisc-22.2.ebuild:
  Stable on alpha wrt Bug #138148.

  27 Jun 2006; Markus Rothe <corsair@gentoo.org> psmisc-22.2.ebuild:
  Stable on ppc64; bug #138148

  29 Apr 2006; Joshua Kinard <kumba@gentoo.org> psmisc-22.1.ebuild:
  Marked stable on mips.

  19 Mar 2006; Fernando J. Pereda <ferdy@gentoo.org> psmisc-22.1.ebuild:
  Stable on alpha wrt bug #126234

  17 Mar 2006; Chris White <chriswhite@gentoo.org> psmisc-22.1.ebuild:
  ppc stable per bug #126234.

  17 Mar 2006; Chris White <chriswhite@gentoo.org> psmisc-22.1.ebuild:
  x86 stable for bug #126234.

  15 Mar 2006; Markus Rothe <corsair@gentoo.org> psmisc-22.1.ebuild:
  Stable on ppc64; bug #126234

  15 Mar 2006; Gustavo Zacarias <gustavoz@gentoo.org> psmisc-22.1.ebuild:
  Stable on sparc wrt #126234

  15 Mar 2006; Patrick McLean <chutzpah@gentoo.org> psmisc-22.1.ebuild:
  Stable on amd64 (Bug #126234)

*psmisc-22.2 (15 Mar 2006)

  15 Mar 2006; Mike Frysinger <vapier@gentoo.org> +psmisc-22.2.ebuild:
  Version bump.

  24 Jan 2006; Mike Frysinger <vapier@gentoo.org>
  +files/psmisc-22.1-force-locale.patch, psmisc-22.1.ebuild:
  Fix building in some locales (like EE) #119847 by J.

  15 Jan 2006; Jose Luis Rivero <yoswink@gentoo.org> psmisc-21.9.ebuild:
  alpha stable, bug #118757

  13 Jan 2006; Tobias Scherbaum <dertobi123@gentoo.org> psmisc-21.9.ebuild:
  ppc stable, bug #118757

  12 Jan 2006; Markus Rothe <corsair@gentoo.org> psmisc-21.9.ebuild:
  Stable on ppc64; bug #118757

  12 Jan 2006; Mike Doty <kingtaco@gentoo.org> psmisc-21.9.ebuild:
  amd64 stable, bug 118757

  12 Jan 2006; Chris Gianelloni <wolf31o2@gentoo.org> psmisc-21.9.ebuild:
  Stable on x86 wrt bug #118757.

  12 Jan 2006; Gustavo Zacarias <gustavoz@gentoo.org> psmisc-21.9.ebuild:
  Stable on sparc wrt #118757

  12 Jan 2006; Stuart Longland <redhatter@gentoo.org> psmisc-21.9.ebuild:
  Marked psmisc-21.9 stable on mips as per bug #118757

*psmisc-22.1 (12 Jan 2006)

  12 Jan 2006; Mike Frysinger <vapier@gentoo.org> +psmisc-22.1.ebuild:
  Version bump.

*psmisc-21.9 (22 Dec 2005)

  22 Dec 2005; Mike Frysinger <vapier@gentoo.org> +psmisc-21.9.ebuild:
  Version bump.

  22 Nov 2005; Mike Frysinger <vapier@gentoo.org>
  +files/psmisc-21.8-ipv6.patch, psmisc-21.8.ebuild:
  Grabbed updates from upstream cvs to control ipv6 support #113212.

  18 Nov 2005; Chris PeBenito <pebenito@gentoo.org> psmisc-21.8.ebuild:
  Remove SELinux patching as support is now integrated upstream.

*psmisc-21.8 (17 Nov 2005)

  17 Nov 2005; Mike Frysinger <vapier@gentoo.org> +psmisc-21.8.ebuild:
  Version bump #112699 by Benno Schulenberg.

  17 Sep 2005; Ciaran McCreesh <ciaranm@gentoo.org> ChangeLog:
  Converted to UTF-8, fixed encoding screwups

  16 Sep 2005; Aron Griffis <agriffis@gentoo.org> psmisc-21.6.ebuild:
  Mark 21.6 stable on alpha

  08 Sep 2005; Aaron Walker <ka0ttic@gentoo.org> psmisc-21.6.ebuild:
  Stable on mips.

  03 Sep 2005; Markus Rothe <corsair@gentoo.org> psmisc-21.6.ebuild:
  Stable on ppc64

  18 Aug 2005; Michael Hanselmann <hansmi@gentoo.org> psmisc-21.6.ebuild:
  Stable on ppc.

  16 Aug 2005; Gustavo Zacarias <gustavoz@gentoo.org> psmisc-21.6.ebuild:
  Stable on sparc

  29 Apr 2005; Mike Frysinger <vapier@gentoo.org>
  +files/psmisc-21.6-scanf.patch, psmisc-21.6.ebuild:
  Add a patch to use valid C98/C99 scanf (i.e. fix pstree for uClibc).

  09 Apr 2005; Markus Rothe <corsair@gentoo.org> psmisc-21.5.ebuild:
  Stable on ppc64

  28 Mar 2005; Michael Hanselmann <hansmi@gentoo.org> psmisc-21.5.ebuild:
  Stable on ppc.

  19 Mar 2005; Chris PeBenito <pebenito@gentoo.org>
  +files/psmisc-21.6-selinux.diff.bz2:
  Add 21.6 SELinux patch.

  19 Mar 2005; Bryan Østergaard <kloeri@gentoo.org> psmisc-21.5.ebuild:
  Stable on alpha.

  14 Mar 2005; <solar@gentoo.org> files/psmisc-21.6-nonls.patch:
  - update nonls patch

*psmisc-21.6 (14 Mar 2005)

  14 Mar 2005; Mike Frysinger <vapier@gentoo.org>
  +files/psmisc-21.6-nonls.patch, +psmisc-21.6.ebuild:
  Version bump.

*psmisc-21.5 (03 Mar 2005)

  03 Mar 2005; Ciaran McCreesh <ciaranm@gentoo.org> +metadata.xml,
  +files/psmisc-21.4-no-nls.patch, +files/psmisc-21.4-selinux.diff.bz2,
  +files/psmisc-21.5-selinux.diff.bz2, +psmisc-21.4.ebuild,
  +psmisc-21.5.ebuild:
  Moved from sys-apps/psmisc to sys-process/psmisc.

  07 Feb 2005; Gustavo Zacarias <gustavoz@gentoo.org> psmisc-21.5.ebuild:
  Stable on sparc

  04 Jan 2005; Chris PeBenito <pebenito@gentoo.org>
  +files/psmisc-21.5-selinux.diff.bz2, psmisc-21.5.ebuild:
  Add missing SELinux patch for 21.5.

*psmisc-21.5 (01 Jan 2005)

  01 Jan 2005; Mike Frysinger <vapier@gentoo.org> +psmisc-21.5.ebuild:
  Version bump.

  01 Jan 2005; Mike Frysinger <vapier@gentoo.org>
  -files/psmisc-21.4-no-nls-selinux.patch, files/psmisc-21.4-no-nls.patch,
  files/psmisc-21.4-selinux.diff.bz2, psmisc-21.4.ebuild:
  Clean up the patches #76230 by Milus János.

  07 Dec 2004; Mike Frysinger <vapier@gentoo.org> psmisc-21.4.ebuild:
  Remove C++ requirement #73632.

  22 Oct 2004; Chris PeBenito <pebenito@gentoo.org> psmisc-21.4.ebuild:
  Add libtool to selinux dep to fix #59196.

  27 Sep 2004; Danny van Dyk <kugelfang@gentoo.org> psmisc-21.4.ebuild:
  Marked stable on amd64.

  25 Sep 2004; Joshua Kinard <kumba@gentoo.org> psmisc-21.4.ebuild:
  Marked stable on mips.

  09 Sep 2004; Gustavo Zacarias <gustavoz@gentoo.org> psmisc-21.4.ebuild:
  Stable on sparc

  25 Jun 2004; <solar@gentoo.org> psmisc-21.4.ebuild,
  files/psmisc-21.4-no-nls-selinux.patch:
  no-nls patch was failing with USE='selinux -nls', added offset patch from bug
  #55115

  15 Jun 2004; <solar@gentoo.org> psmisc-21.2-r4.ebuild, psmisc-21.4.ebuild,
  files/psmisc-21.2-no-nls.patch, files/psmisc-21.4-no-nls.patch:
  added patch to allow the disabling of nls for psmisc

  11 Jun 2004; Bryan Østergaard <kloeri@gentoo.org> psmisc-21.4.ebuild:
  Stable on alpha.

  27 Apr 2004; Michael McCabe <randy@gentoo.org> psmisc-21.4.ebuild:
  Marked stable on s390

  09 Apr 2004; Travis Tilley <lv@gentoo.org> psmisc-21.2-r4.ebuild:
  stable on amd64

  29 Mar 2004; Jon Portnoy <avenj@gentoo.org> psmisc-21.4.ebuild :
  Removed RESTRICT=nomirror.

  25 Mar 2004; Martin Holzer <mholzer@gentoo.org> psmisc-21.4.ebuild,
  files/psmisc-21.4-selinux.diff.bz2:
  adding selinux patch.

*psmisc-21.4 (24 Mar 2004)

  24 Mar 2004; Martin Holzer <mholzer@gentoo.org> psmisc-21.4.ebuild:
  Version bumped. Closes 45251

  21 Mar 2004; Joshua Kinard <kumba@gentoo.org> psmisc-21.2-r4.ebuild:
  Added gnuconfig support for mips64 hosts

  20 Mar 2004; Michael Sterrett <mr_bones_@gentoo.org> psmisc-21.2-r3.ebuild,
  psmisc-21.2-r4.ebuild:
  inherit eutils for epatch

  07 Mar 2004; Joshua Kinard <kumba@gentoo.org> psmisc-21.2-r3.ebuild,
  psmisc-21.2-r4.ebuild:
  Marked stable on mips, copyright header fixes.

  02 Mar 2004; Brian Jackson <iggy@gentoo.org> psmisc-21.2-r4.ebuild:
  adding initial s390 support

  03 Feb 2004; <gustavoz@gentoo.org> psmisc-21.2-r4.ebuild:
  marked stable on sparc

  02 Feb 2004; Chris PeBenito <pebenito@gentoo.org> psmisc-21.2-r4.ebuild:
  Mark x86 stable.

  03 Feb 2004; Bartosch Pixa <darkspecter@gentoo.org> psmisc-21.2-r4.ebuild:
  set ppc in keywords

*psmisc-21.2-r4 (28 Oct 2003)

  03 Feb 2003; Guy Martin <gmsoft@gentoo.org> psmisc-21.2-r4.ebuild :
  Marked stable on hppa.

  28 Oct 2003; Chris PeBenito <pebenito@gentoo.org> psmisc-21.2-r3.ebuild,
  psmisc-21.2-r4.ebuild, files/psmisc-21.2-selinux.diff.bz2:
  Switch SELinux patch from old API to new API.

  14 Sep 2003; Martin Schlemmer <azarah@gentoo.org> :
  Killall segfault if an command is longer than 128 bytes, as the realloc call
  is not done in such an way to update the pointer that is used, thanks to bug
  (bug #28234) submitted by Grant McDorman <grant.mcdorman@sympatico.ca>.

*psmisc-21.2-r3 (04 Aug 2003)

  04 Aug 2003; Martin Schlemmer <azarah@gentoo.org> psmisc-21.2-r3.ebuild:
  We use pidof from baselayout, bug #21191

  24 Jun 2003; Aron Griffis <agriffis@gentoo.org> psmisc-21.2-r2.ebuild:
  Mark stable on alpha

*psmisc-21.2-r2 (19 May 2003)

  06 Jul 2003; Guy Martin <gmsoft@gentoo.org> psmisc-21.2-r2.ebuild :
  Marked stable on hppa.

  22 Jun 2003; Joshua Kinard <kumba@gentoo.org> psmisc-21.2-r2.ebuild:
  Changed ~sparc & ~mips to sparc & mips

  19 May 2003; Martin Schlemmer <azarah@gentoo.org> psmisc-21.2-r2.ebuild,
  files/psmisc-21.2-gcc33.patch:
  Fix gcc-3.3 compile issues, bug #21212.

*psmisc-21.2-r1 (20 Mar 2003)

  25 Mar 2003; Joshua Brindle <method@gentoo.org> psmisc-21.2-r1.ebuild:
  added selinux support, thanks sindian

  20 Mar 2003; Seemant Kulleen <seemant@gentoo.org> psmisc-19-r3.ebuild,
  psmisc-19-r3.ebuild, psmisc-21.2-r1.ebuild:
  removed pic cruft

*psmisc-21.2 (19 Nov 2002)

  20 Mar 2003; Seemant Kulleen <seemant@gentoo.org> psmisc-19-r3.ebuild,
  psmisc-19-r3.ebuild, psmisc-21.2.ebuild:
  removed pic cruft

  24 Feb 2003; Nicholas Wourms <dragon@gentoo.org> psmisc-21.2.ebuild :
  Marked as stable for mips.

  20 Feb 2003; Zach Welch <zwelch@gentoo.org> psmisc-21.2.ebuild :
  Added arm to keywords.

  09 Feb 2003; Guy Martin <gmsoft@gentoo.org> psmisc-21.2.ebuild :
  Added hppa to keywords.

  01 Jan 2003; Mike Frysinger <vapier@gentoo.org> :
  Unmasked KEYWORDS for all arch's

  23 Oct 2002; Mike Frysinger <vapier@gentoo.org> :
  Version bump, enhancements, change to use psmisc source

*psmisc-19-r3 (1 Feb 2002)

  24 Feb 2003; Nicholas Wourms <dragon@gentoo.org> psmisc-19-r3.ebuild :
  Marked as stable for mips.

  09 Feb 2003; Seemant Kulleen <seemant@gentoo.org> psmisc-19-r3.ebuild :

  Sed delimiters are now : instead of /, closing bug #15006 by Blu3
  <david+gentoo.org@blue-labs.org>

  23 Oct 2002; Mike Frysinger <vapier@gentoo.org> :
  Removed bootcd USE flag

  14 Jul 2002; phoen][x <phoenix@gentoo.org> psmisc-19-r3.ebuild :
  Added LICENSE, KEYWORDS, SLOT.

  1 Feb 2002; G.Bevin <gbevin@gentoo.org> ChangeLog :
  Added initial ChangeLog which should be updated whenever the package is
  updated in any way. This changelog is targetted to users. This means that the
  comments should well explained and written in clean English. The details about
  writing correct changelogs are explained in the skel.ChangeLog file which you
  can find in the root directory of the portage repository.
