# ChangeLog for sys-apps/acl
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/sys-apps/acl/ChangeLog,v 1.108 2010/04/02 12:15:58 armin76 Exp $

  02 Apr 2010; Raúl Porcel <armin76@gentoo.org> acl-2.2.49.ebuild:
  alpha/ia64/m68k/s390/sh/sparc stable wrt #298067

  01 Apr 2010; Jeroen Roovers <jer@gentoo.org> acl-2.2.49.ebuild:
  Stable for HPPA (bug #298067).

  31 Mar 2010; Brent Baude <ranger@gentoo.org> acl-2.2.49.ebuild:
  Marking acl-2.2.49 ppc64 for bug 308049

  31 Mar 2010; Brent Baude <ranger@gentoo.org> acl-2.2.49.ebuild:
  Marking acl-2.2.49 ppc for bug 308049

  29 Mar 2010; Markus Meier <maekke@gentoo.org> acl-2.2.49.ebuild:
  amd64/arm stable, bug #298067

  29 Mar 2010; Christian Faulhammer <fauli@gentoo.org> acl-2.2.49.ebuild:
  stable x86, security bug 298067

*acl-2.2.49 (09 Jan 2010)

  09 Jan 2010; Mike Frysinger <vapier@gentoo.org> +acl-2.2.49.ebuild,
  +files/acl-2.2.49-quote-strchr.patch:
  Version bump #292842 by Mr. Anderson.

  29 Dec 2009; Jonathan Callen <abcd@gentoo.org> acl-2.2.47-r1.ebuild,
  +files/acl-2.2.47-search-PATH.patch:
  Add prefix keywords (~amd64-linux, ~ia64-linux, ~x86-linux) and a patch to
  find make, et al. in PATH instead of hardcoded directories

*acl-2.2.47-r1 (02 Jul 2009)

  02 Jul 2009; Mike Frysinger <vapier@gentoo.org>
  +files/0001-Introduce-new-WALK_TREE_DEREFERENCE_TOPLEVEL-flag.patch,
  +acl-2.2.47-r1.ebuild,
  +files/0001-Make-sure-that-getfacl-R-only-calls-stat-2-on-symlin.patch:
  Add symlink fixes from upstream #265425 by Radek Podgorny.

  16 Dec 2008; Jeroen Roovers <jer@gentoo.org> acl-2.2.47.ebuild:
  Stable for HPPA (bug #235016).

  25 Aug 2008; Raúl Porcel <armin76@gentoo.org> acl-2.2.47.ebuild:
  ia64 stable wrt #235016

  24 Aug 2008; Tobias Klausmann <klausman@gentoo.org> acl-2.2.47.ebuild:
  Stable on alpha, bug #235016

  19 Aug 2008; Friedrich Oslage <bluebird@gentoo.org> acl-2.2.47.ebuild:
  Stable on sparc, bug #235016

  18 Aug 2008; Brent Baude <ranger@gentoo.org> acl-2.2.47.ebuild:
  stable ppc64, bug 235016

  18 Aug 2008; Brent Baude <ranger@gentoo.org> acl-2.2.47.ebuild:
  stable ppc, bug 235016

  17 Aug 2008; Markus Meier <maekke@gentoo.org> metadata.xml,
  acl-2.2.47.ebuild:
  amd64/x86 stable, bug #235016; add GLEP 56 USE flag desc from
  use.local.desc

*acl-2.2.47 (23 Feb 2008)

  23 Feb 2008; Mike Frysinger <vapier@gentoo.org>
  +files/acl-2.2.45-linguas.patch, acl-2.2.45.ebuild, +acl-2.2.47.ebuild:
  Make sure we respect LINGUAS #205948 by Arvid Norlander, update the ACL
  patch #208246 by Oliver Borm, and version bump #211113.

  19 Nov 2007; Joshua Kinard <kumba@gentoo.org> acl-2.2.45.ebuild:
  Stable on mips, per #197204.

  02 Nov 2007; Steve Dibb <beandog@gentoo.org> acl-2.2.45.ebuild:
  amd64 stable, bug 197204

  31 Oct 2007; Jeroen Roovers <jer@gentoo.org> acl-2.2.45.ebuild:
  Stable for HPPA (bug #197204).

  30 Oct 2007; nixnut <nixnut@gentoo.org> acl-2.2.45.ebuild:
  Stable on ppc wrt bug 197204

  29 Oct 2007; Raúl Porcel <armin76@gentoo.org> acl-2.2.45.ebuild:
  ia64 stable wrt #197204

  28 Oct 2007; Ferris McCormick <fmccor@gentoo.org> acl-2.2.45.ebuild:
  Sparc stable --- Bug #197204 --- works fine.

  28 Oct 2007; Jose Luis Rivero <yoswink@gentoo.org> acl-2.2.45.ebuild:
  Stable on alpha wrt bug #197204

  28 Oct 2007; Markus Rothe <corsair@gentoo.org> acl-2.2.45.ebuild:
  Stable on ppc64; bug #197204

  28 Oct 2007; Andrej Kacian <ticho@gentoo.org> acl-2.2.45.ebuild:
  Stable on x86, bug #197204.

  06 Oct 2007; Tom Gall <tgall@gentoo.org> acl-2.2.44.ebuild:
  stable on ppc64 bug #193143

  28 Sep 2007; Joshua Kinard <kumba@gentoo.org> acl-2.2.44.ebuild:
  Stable on mips, per #193143.

  26 Sep 2007; Raúl Porcel <armin76@gentoo.org> acl-2.2.44.ebuild:
  sparc stable wrt #193143

  26 Sep 2007; Christoph Mende <angelos@gentoo.org> acl-2.2.44.ebuild:
  Stable on amd64 wrt bug #193143

  23 Sep 2007; Jeroen Roovers <jer@gentoo.org> acl-2.2.44.ebuild:
  Stable for HPPA (bug #193143).

  23 Sep 2007; Raúl Porcel <armin76@gentoo.org> acl-2.2.44.ebuild:
  alpha/ia64 stable wrt #193143

  22 Sep 2007; Christian Faulhammer <opfer@gentoo.org> acl-2.2.44.ebuild:
  stable x86, bug 193143

  20 Sep 2007; Lars Weiler <pylon@gentoo.org> acl-2.2.44.ebuild:
  Stable on ppc; bug #193143.

  20 Sep 2007; Mike Frysinger <vapier@gentoo.org> acl-2.2.45.ebuild:
  Scrub PLATFORM from env #184564.

*acl-2.2.45 (20 Sep 2007)

  20 Sep 2007; Mike Frysinger <vapier@gentoo.org>
  +files/acl-2.2.42-nfs-glue.patch, +files/acl-2.2.45-libtool.patch,
  +acl-2.2.45.ebuild:
  Version bump #192647 and apply libtool fixup #158068. Also update NFS patch
  #162664 #192844.

  13 Jun 2007; Mike Frysinger <vapier@gentoo.org>
  +files/acl-2.2.44-LDFLAGS.patch, acl-2.2.44.ebuild:
  Respect LDFLAGS while linking the library.

*acl-2.2.44 (31 May 2007)

  31 May 2007; Mike Frysinger <vapier@gentoo.org>
  +files/acl-2.2.41-nfs-glue.patch, +acl-2.2.44.ebuild:
  Version bump.

  31 Jan 2007; Tobias Scherbaum <dertobi123@gentoo.org>
  acl-2.2.39-r1.ebuild:
  Stable on ppc wrt bug #161640.

  30 Jan 2007; Jeroen Roovers <jer@gentoo.org> acl-2.2.39-r1.ebuild:
  Stable for HPPA (bug #161640).

  26 Jan 2007; Alexander H. Færøy <eroyf@gentoo.org> acl-2.2.39-r1.ebuild:
  Stable on MIPS; bug #161640

  20 Jan 2007; Alexander H. Færøy <eroyf@gentoo.org> acl-2.2.39-r1.ebuild:
  Stable on Alpha; bug #161640

  16 Jan 2007; Olivier Crête <tester@gentoo.org> acl-2.2.39-r1.ebuild:
  Stable on amd64 per bug #161640

  12 Jan 2007; Markus Rothe <corsair@gentoo.org> acl-2.2.39-r1.ebuild:
  Stable on ppc64; bug #161640

  12 Jan 2007; Christian Faulhammer <opfer@gentoo.org> acl-2.2.39-r1.ebuild:
  stable x86, bug #161640

  12 Jan 2007; Gustavo Zacarias <gustavoz@gentoo.org> acl-2.2.39-r1.ebuild:
  Stable on sparc wrt #161640

  27 Sep 2006; Fernando J. Pereda <ferdy@gentoo.org> acl-2.2.34.ebuild:
  Stable on alpha as per bug #143409

*acl-2.2.39-r1 (23 Sep 2006)

  23 Sep 2006; Mike Frysinger <vapier@gentoo.org>
  +files/acl-2.2.29-nfs-glue.patch, +acl-2.2.39-r1.ebuild:
  Add support for NFS ACLs #144845 by Christophe Saout.

  05 Sep 2006; Joshua Kinard <kumba@gentoo.org> acl-2.2.34.ebuild:
  Marked stable on mips.

  18 Aug 2006; Luis Medinas <metalgod@gentoo.org> acl-2.2.34.ebuild:
  Stable on amd64. Bug #143409.

  12 Aug 2006; Markus Rothe <corsair@gentoo.org> acl-2.2.34.ebuild:
  Stable on ppc64; bug #143409

  11 Aug 2006; Tobias Scherbaum <dertobi123@gentoo.org> acl-2.2.34.ebuild:
  ppc stable, bug #143409

  11 Aug 2006; Gustavo Zacarias <gustavoz@gentoo.org> acl-2.2.34.ebuild:
  Stable on sparc wrt #143409

  11 Aug 2006; Andrej Kacian <ticho@gentoo.org> acl-2.2.34.ebuild:
  Stable on x86. Bug #143409.

*acl-2.2.39 (10 Aug 2006)

  10 Aug 2006; Mike Frysinger <vapier@gentoo.org> +acl-2.2.39.ebuild:
  Version bump.

  20 Apr 2006; Mike Frysinger <vapier@gentoo.org>
  +files/acl-2.2.34-LDFLAGS.patch, acl-2.2.34.ebuild:
  Respect user LDFLAGS #126825 by Diego Pettenò.

  19 Feb 2006; Joshua Kinard <kumba@gentoo.org> acl-2.2.32.ebuild:
  Marked stable on mips.

  29 Jan 2006; Simon Stelling <blubb@gentoo.org> acl-2.2.32.ebuild:
  stable on amd64

  28 Jan 2006; Mark Loeser <halcy0n@gentoo.org> acl-2.2.32.ebuild:
  Stable on x86; bug #120489

  28 Jan 2006; Markus Rothe <corsair@gentoo.org> acl-2.2.32.ebuild:
  Stable on ppc64; bug #120489

  27 Jan 2006; Gustavo Zacarias <gustavoz@gentoo.org> acl-2.2.32.ebuild:
  Stable on sparc wrt #120489

  27 Jan 2006; Luca Barbato <lu_zero@gentoo.org> acl-2.2.32.ebuild:
  Marked ppc

  27 Jan 2006; Aron Griffis <agriffis@gentoo.org> acl-2.2.32.ebuild:
  Mark 2.2.32 stable on alpha #120489

*acl-2.2.34 (27 Jan 2006)

  27 Jan 2006; Mike Frysinger <vapier@gentoo.org> +acl-2.2.34.ebuild:
  Version bump.

*acl-2.2.32 (29 Nov 2005)

  29 Nov 2005; Mike Frysinger <vapier@gentoo.org>
  +files/acl-2.2.32-only-symlink-when-needed.patch, +acl-2.2.32.ebuild:
  Version bump and build cleanup.

  25 Sep 2005; Stuart Longland <redhatter@gentoo.org> acl-2.2.27.ebuild:
  Marking stable as per bug #73278 (which has hung around for yonks)

*acl-2.2.31 (02 Sep 2005)

  02 Sep 2005; Mike Frysinger <vapier@gentoo.org> +acl-2.2.31.ebuild:
  Version bump.

  10 Mar 2005; Mike Frysinger <vapier@gentoo.org>
  +files/acl-2.2.27-nls.patch, acl-2.2.27.ebuild:
  Fix USE=-nls support #84641 by B. Bruce.

  16 Dec 2004; Dylan Carlson <absinthe@gentoo.org> acl-2.2.27.ebuild:
  Stable on amd64. Closes bug 73277.

  07 Dec 2004; Joseph Jezak <josejx@gentoo.org> acl-2.2.27.ebuild:
  Marked ppc stable for bug #73280.

  04 Dec 2004; Markus Rothe <corsair@gentoo.org> acl-2.2.27.ebuild:
  Stable on ppc64; bug #73279

  23 Nov 2004; Bryan Østergaard <kloeri@gentoo.org> acl-2.2.27.ebuild:
  Stable on alpha.

  12 Nov 2004; Gustavo Zacarias <gustavoz@gentoo.org> acl-2.2.27.ebuild:
  Stable on sparc

  12 Oct 2004; Gustavo Zacarias <gustavoz@gentoo.org> acl-2.2.13-r3.ebuild:
  Stable on sparc

*acl-2.2.27 (09 Oct 2004)

  09 Oct 2004; Mike Frysinger <vapier@gentoo.org> +acl-2.2.27.ebuild:
  Version bump.

*acl-2.2.13-r3 (31 Aug 2004)

  31 Aug 2004; Robin H. Johnson <robbat2@gentoo.org> +acl-2.2.13-r3.ebuild:
  Cleanup of XFS-related apps: dmapi, acl, xfsdump, attr.

  15 Aug 2004; Travis Tilley <lv@gentoo.org> acl-2.2.13-r2.ebuild:
  made acl CONF_LIBDIR aware for installing to lib64/lib32

  18 Jul 2004; Robin H. Johnson <robbat2@gentoo.org> acl-2.2.13-r2.ebuild:
  stable on x86.

  14 Jun 2004; Michael Sterrett <mr_bones_@gentoo.org> acl-2.2.13-r1.ebuild,
  acl-2.2.13-r2.ebuild:
  IUSE; tidy

  14 Jun 2004; Michael Sterrett <mr_bones_@gentoo.org> acl-2.1.1-r1.ebuild,
  acl-2.2.13.ebuild:
  clean older ebuilds

  06 May 2004; Michael McCabe <randy@gentoo.org> acl-2.2.13-r2.ebuild:
  Unset platform variable for s390

  17 Apr 2004; Travis Tilley <lv@gentoo.org> acl-2.2.13-r1.ebuild,
  acl-2.2.13-r2.ebuild, acl-2.2.13.ebuild:
  marked as stable on amd64

  01 Mar 2004; Tom Gall <tgall@gentoo.org> acl-2.2.13-r2.ebuild:
  bug #42937 affects ppc64 as well, utilize the same fix

  27 Feb 2004; Luca Barbato <lu_zero@gentoo.org> acl-2.2.13-r2.ebuild:
  Fix bug #42937, same way used by sparc team

  25 Feb 2004; Tom Gall <tgall@gentoo.org> acl-2.2.13-r2.ebuild
  Stable on ppc64

  21 Feb 2004; Jason Wever <weeve@gentoo.org> acl-2.2.13-r2.ebuild:
  Changed sparc fix so now it's an actual fix rather than a workaround.

  04 Dec 2003; <agriffis@gentoo.org> acl-2.2.13-r2.ebuild:
  Stable on alpha, sparc, ia64 to support vim-6.2-r5

  28 Nov 2003; Jason Wever <weeve@gentoo.org> acl-2.1.1-r1.ebuild,
  acl-2.2.13-r1.ebuild, acl-2.2.13-r2.ebuild, acl-2.2.13.ebuild:
  Fixed ebuilds for sparc, resolves bug #34611 (see for more details).

*acl-2.2.13-r2 (08 Oct 2003)

  08 Oct 2003; Robin H. Johnson <robbat2@gentoo.org> acl-2.2.13-r2.ebuild:
  fix bug #30731

  02 Oct 2003; Bartosch Pixa <darkspecter@gentoo.org> acl-2.2.13-r1.ebuild,
  acl-2.2.13.ebuild:
  changed to depend on >=attr-2.4

  27 Sep 2003; Bartosch Pixa <darkspecter@gentoo.org> acl-2.2.13-r1.ebuild:
  set ppc in keywords

  24 Sep 2003; Robin H. Johnson <robbat2@gentoo.org> acl-2.2.13-r1.ebuild,
  acl-2.2.13.ebuild:
  bump to x86

  24 Sep 2003; Seemant Kulleen <seemant@gentoo.org> acl-2.2.13-r1.ebuild,
  acl-2.2.13.ebuild:
  add autoconf to dependency list -- thanks again to Jared Hudso
  <jhhudso@gentoo.org>

*acl-2.2.13-r1 (28 Aug 2003)

  28 Aug 2003; Robin H. Johnson <robbat2@gentoo.org> acl-2.2.13-r1.ebuild:
  update for bug #27064, move binaries to root filesystem

*acl-2.2.13 (11 Aug 2003)

  11 Aug 2003; Robin H. Johnson <robbat2@gentoo.org> acl-2.2.13.ebuild:
  version bump and fix bug #17578

  21 Dec 2002; Daniel Robbins <drobbins@gentoo.org>: 20020330 ->
  2.0.5_p20020330 version rename to fix policy violation for naming of CVS
  ebuilds.

*acl-2.1.1-r1 (16 Dec 2002)

  24 Feb 2003; Nicholas Wourms <dragon@gentoo.org> acl-2.1.1-r1.ebuild :
  Marked as testing for mips.  Made ChangeLog compatible with echangelog.

  16 Dec 2002; Brad Cowan <bcowan@gentoo.org> acl-2.1.1-r1.ebuild,
  files/digest-acl-2.1.1-r1: 
  
  Changed symlinks.

*acl-2.1.1 (09 Dec 2002)

  09 Dec 2002; Donny Davies <woodchip@gentoo.org> : Chase latest release.

  06 Dec 2002; Rodney Rees <manson@gentoo.org> : changed sparc ~sparc keywords

*acl-2.0.18 (27 Sep 2002)

  27 Sep 2002; Brad Cowan <bcowan@gentoo.org> acl-2.0.18.ebuild
  files/digest-acl-2.0.18 : version bump thanks to <hanno@gentoo.org>

  05 Oct 2002; Brad Cowan <bcowan@gentoo.org> acl-2.0.18.ebuild :  
  Fixed symlinks and "modernized" ebuild.   

*acl-20020330 (14 July 2002)

  21 Jul 2002; Mark Guertin <gerk@gentoo.org>:
  updated keywords (ppc)

  14 Jul 2002; phoen][x <phoenix@gentoo.org> acl-20020330.ebuild :
  Added KEYWORDS, SLOT.

*acl-1.1.3 (14 July 2002)

  14 Jul 2002; phoen][x <phoenix@gentoo.org> acl-1.1.3.ebuild :
  Added KEYWORDS, SLOT.

*acl-20020124-r1 (4 March 2002)

  14 Jul 2002; phoen][x <phoenix@gentoo.org> acl-20020124-r1.ebuild :
  Added KEYWORDS, SLOT.

  4 March 2002; Donny Davies <woodchip@gentoo.org> acl-20020124-r1.ebuild :
  Updated to perform the install-dev target by hand, so things like SAMBA
  will compile with USE acl support.

*acl-20020124 (1 Feb 2002)

  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.
