# ChangeLog for sys-fs/lvm2
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/sys-fs/lvm2/ChangeLog,v 1.240 2010/11/25 15:32:02 ranger Exp $

  25 Nov 2010; Brent Baude <ranger@gentoo.org> lvm2-2.02.73-r1.ebuild:
  Marking lvm2-2.02.73-r1 ppc64 for bug 334087

  29 Oct 2010; Jeroen Roovers <jer@gentoo.org> lvm2-2.02.73-r1.ebuild:
  Stable for HPPA (bug #324485).

*lvm2-2.02.74 (06 Oct 2010)

  06 Oct 2010; Robin H. Johnson <robbat2@gentoo.org> +lvm2-2.02.74.ebuild:
  Bug #339810: version bump.

  07 Sep 2010; Robin H. Johnson <robbat2@gentoo.org> lvm2-2.02.73-r1.ebuild:
  Bug #336373: Require binutils 2.20.1 for no-export-dynamic.

  06 Sep 2010; Brent Baude <ranger@gentoo.org> lvm2-2.02.72.ebuild:
  Marking lvm2-2.02.72 ppc64 for bug 334087

  04 Sep 2010; Raúl Porcel <armin76@gentoo.org> lvm2-2.02.73-r1.ebuild:
  alpha/arm/ia64/s390/sh/sparc stable wrt #334087

  03 Sep 2010; Pawel Hajdan jr <phajdan.jr@gentoo.org>
  lvm2-2.02.73-r1.ebuild:
  x86 stable wrt security bug #334087

  01 Sep 2010; <chainsaw@gentoo.org> lvm2-2.02.73-r1.ebuild:
  Fast tracking to AMD64 stable, --as-needed breakage fixed by Diego E.
  "Flameeyes" Pettenò; closes bug #335205. For security bug #327689.

*lvm2-2.02.73-r1 (01 Sep 2010)

  01 Sep 2010; Diego E. Pettenò <flameeyes@gentoo.org>
  +lvm2-2.02.73-r1.ebuild, +files/lvm2-2.02.73-asneeded.patch:
  Add patch to fix linking when using --as-needed, to fix bug #335205.

  28 Aug 2010; Markos Chandras <hwoarang@gentoo.org> lvm2-2.02.73.ebuild:
  Stable on amd64 wrt bug #334087

  28 Aug 2010; Raúl Porcel <armin76@gentoo.org> lvm2-2.02.67-r2.ebuild,
  lvm2-2.02.73.ebuild:
  alpha/arm/ia64/s390/sh/sparc stable wrt #334087

  28 Aug 2010; Markus Meier <maekke@gentoo.org> lvm2-2.02.73.ebuild:
  arm stable, bug #334087

  24 Aug 2010; Markos Chandras <hwoarang@gentoo.org> lvm2-2.02.72.ebuild:
  Stable on amd64 wrt bug #334087

  24 Aug 2010; Pawel Hajdan jr <phajdan.jr@gentoo.org> lvm2-2.02.73.ebuild:
  x86 stable wrt security bug #334087

  23 Aug 2010; Robin H. Johnson <robbat2@gentoo.org> lvm2-2.02.73.ebuild:
  Update dependencies ready for stabilization bug #334087.

*lvm2-2.02.73 (20 Aug 2010)

  20 Aug 2010; Robin H. Johnson <robbat2@gentoo.org> +lvm2-2.02.73.ebuild,
  +files/lvm2-2.02.73-locale-muck.patch:
  Version bump.

  20 Aug 2010; Robin H. Johnson <robbat2@gentoo.org>
  files/lvm-monitoring.initd-2.02.67-r2:
  Bug #333557: POSIX compliance for lvm monitoring script.

  17 Aug 2010; Robin H. Johnson <robbat2@gentoo.org> lvm2-2.02.72.ebuild,
  +files/lvm2-2.02.72-dynamic-static-ldflags.patch:
  Bug #332905: Fix compile for static/export-dynamic together.

  13 Aug 2010; Joseph Jezak <josejx@gentoo.org> lvm2-2.02.67-r2.ebuild:
  Marked ppc/ppc64 stable for bug #324485.

  04 Aug 2010; Robin H. Johnson <robbat2@gentoo.org> lvm2-2.02.70.ebuild,
  lvm2-2.02.70-r1.ebuild, +files/lvm2-2.02.70-locale-muck.patch,
  lvm2-2.02.72.ebuild:
  Bug #330373: fix locale problems.

*lvm2-2.02.72 (03 Aug 2010)

  03 Aug 2010; Robin H. Johnson <robbat2@gentoo.org> lvm2-2.02.67.ebuild,
  lvm2-2.02.67-r1.ebuild, lvm2-2.02.67-r2.ebuild, lvm2-2.02.70.ebuild,
  lvm2-2.02.70-r1.ebuild, +lvm2-2.02.72.ebuild:
  Version bump. Bug #330375: CONFIG_SYSVIPC is required for udev sync code.

*lvm2-2.02.70-r1 (03 Aug 2010)

  03 Aug 2010; Samuli Suominen <ssuominen@gentoo.org>
  +lvm2-2.02.70-r1.ebuild, +files/lvm2-2.02.70-asneeded.patch:
  Link liblvm2app to libm even with LDFLAGS="-Wl,--as-needed" wrt #330255 by
  Patrizio Bassi.

  27 Jul 2010; Pacho Ramos <pacho@gentoo.org> lvm2-2.02.67-r2.ebuild:
  amd64 stable, bug 324485

  25 Jul 2010; Tobias Klausmann <klausman@gentoo.org>
  lvm2-2.02.67-r2.ebuild:
  Stable on alpha, bug #324485

  23 Jul 2010; Christian Faulhammer <fauli@gentoo.org>
  lvm2-2.02.67-r2.ebuild:
  stable x86, bug 324485

*lvm2-2.02.70 (21 Jul 2010)

  21 Jul 2010; Robin H. Johnson <robbat2@gentoo.org> +lvm2-2.02.70.ebuild:
  Bug #325827: version bump.

  18 Jun 2010; Robin H. Johnson <robbat2@gentoo.org>
  files/lvm-monitoring.initd-2.02.67-r2:
  Bug #324567: return code for lvm-monitoring.

*lvm2-2.02.67-r2 (14 Jun 2010)

  14 Jun 2010; Robin H. Johnson <robbat2@gentoo.org>
  +files/lvm-monitoring.initd-2.02.67-r2, +lvm2-2.02.67-r2.ebuild:
  Bug #323881: Need to explictly start to monitor LVM devices with new init
  re-arrangement. Please notice the new init.d file, lvm-monitoring, that
  you should add to your boot runlevel if you require LV monitoring.

*lvm2-2.02.67-r1 (09 Jun 2010)

  09 Jun 2010; Robin H. Johnson <robbat2@gentoo.org>
  +files/device-mapper.rc-2.02.67-r1, +files/dmeventd.initd-2.02.67-r1,
  +files/lvm.rc-2.02.67-r1, +files/lvm2-start.sh-2.02.67-r1,
  +files/lvm2-stop.sh-2.02.67-r1, +lvm2-2.02.67-r1.ebuild:
  Bugs #319017, #322969: adjusting LVM service ordering and optimizing
  startup and shutdown processes. When you install this upgrade, you apply
  all 3 init.d changes (device-mapper, dmeventd, lvm).

  07 Jun 2010; Robin H. Johnson <robbat2@gentoo.org> lvm2-2.02.33.ebuild,
  lvm2-2.02.33-r1.ebuild, lvm2-2.02.36.ebuild, lvm2-2.02.37.ebuild,
  lvm2-2.02.39.ebuild, lvm2-2.02.42.ebuild, lvm2-2.02.45.ebuild,
  lvm2-2.02.45-r1.ebuild, lvm2-2.02.45-r2.ebuild, lvm2-2.02.48.ebuild,
  lvm2-2.02.48-r1.ebuild, lvm2-2.02.48-r2.ebuild, lvm2-2.02.49.ebuild,
  lvm2-2.02.49-r1.ebuild, lvm2-2.02.49-r2.ebuild, lvm2-2.02.49-r3.ebuild,
  lvm2-2.02.51.ebuild, lvm2-2.02.51-r1.ebuild, lvm2-2.02.51-r2.ebuild,
  lvm2-2.02.51-r3.ebuild, lvm2-2.02.56.ebuild, lvm2-2.02.56-r1.ebuild,
  lvm2-2.02.56-r2.ebuild, lvm2-2.02.56-r3.ebuild, lvm2-2.02.63-r1.ebuild,
  lvm2-2.02.63-r2.ebuild, lvm2-2.02.64.ebuild:
  Bug #318433: fix QA for old ebuilds.

  07 Jun 2010; Robin H. Johnson <robbat2@gentoo.org> lvm2-2.02.67.ebuild,
  files/lvm.conf-2.02.67.patch:
  QA cleanup.

*lvm2-2.02.67 (07 Jun 2010)

  07 Jun 2010; Robin H. Johnson <robbat2@gentoo.org>
  +files/lvm2-2.02.64-dmeventd-libs.patch, +lvm2-2.02.67.ebuild,
  +files/lvm2-2.02.67-createinitrd.patch, +files/lvm.conf-2.02.67.patch:
  Bugs #301331: create initrd fixes; #312321: path for dmeventd; #318433:
  QA; #318513: dmeventd libs for bindnow;

  07 May 2010; Robin H. Johnson <robbat2@gentoo.org> lvm2-2.02.63-r1.ebuild,
  lvm2-2.02.63-r2.ebuild, lvm2-2.02.64.ebuild:
  Bug #318821: Flip the order of udev deps, so that a really new version is
  preferred to the patched version.

  01 May 2010; Robin H. Johnson <robbat2@gentoo.org>
  files/device-mapper.rc-1.02.51-r2, files/clvmd.rc-2.02.39,
  files/lvm.rc-2.02.51-r2:
  Bug #318051: In certain situations, LVM needs dmeventd to start before it,
  so ensure this enforced by the init system.

*lvm2-2.02.64 (01 May 2010)

  01 May 2010; Robin H. Johnson <robbat2@gentoo.org> +lvm2-2.02.64.ebuild:
  Bug #318037: version bump.

*lvm2-2.02.63-r2 (22 Apr 2010)

  22 Apr 2010; Robin H. Johnson <robbat2@gentoo.org>
  +lvm2-2.02.63-r2.ebuild:
  Bug #316571: more work on library installs.

  21 Apr 2010; Robin H. Johnson <robbat2@gentoo.org> -lvm2-2.02.63.ebuild:
  2.02.63-r0 fails to boot on machines with a split /usr, fixed in r1, but
  removing r0 for safety reasons.

*lvm2-2.02.63-r1 (20 Apr 2010)

  20 Apr 2010; Robin H. Johnson <robbat2@gentoo.org>
  +lvm2-2.02.63-r1.ebuild:
  Bug #316427: upstream changes to makefiles caused some libraries to not be
  present in / anymore, causing boot failure for users with a split /usr.

*lvm2-2.02.63 (19 Apr 2010)

  19 Apr 2010; Robin H. Johnson <robbat2@gentoo.org> +lvm2-2.02.63.ebuild,
  +files/lvm2-2.02.63-always-make-static-libdm.patch:
  Bug #309757, version bump. Now dropping the export-format patchset
  entirely in favour of new lvm2/udev cookie and udev rules from upstream.
  This may require us to set a minimum kernel version.

  02 Feb 2010; Jeroen Roovers <jer@gentoo.org> lvm2-2.02.56-r2.ebuild:
  Stable for HPPA (bug #297439).

  19 Jan 2010; nixnut <nixnut@gentoo.org> lvm2-2.02.56-r2.ebuild:
  ppc stable #297439

  11 Jan 2010; Robin H. Johnson <robbat2@gentoo.org> lvm2-2.02.56-r2.ebuild,
  lvm2-2.02.56-r3.ebuild:
  Bug #300003: Need pkgconfig for autoreconf.

  07 Jan 2010; Raúl Porcel <armin76@gentoo.org> lvm2-2.02.56-r2.ebuild:
  ia64/s390/sh/sparc stable wrt #297439

*lvm2-2.02.56-r3 (05 Jan 2010)

  05 Jan 2010; Matthias Schwarzott <zzam@gentoo.org>
  +files/64-device-mapper.rules-2.02.56-r3, +lvm2-2.02.56-r3.ebuild:
  Fix udev rule for mapper/control device, Bug #295186.

  02 Jan 2010; Markus Meier <maekke@gentoo.org> lvm2-2.02.56-r2.ebuild:
  amd64/arm stable, bug #297439

  02 Jan 2010; Brent Baude <ranger@gentoo.org> lvm2-2.02.56-r2.ebuild:
  Marking lvm2-2.02.56-r2 ppc64 for bug 297439

  29 Dec 2009; Christian Faulhammer <fauli@gentoo.org>
  lvm2-2.02.56-r2.ebuild:
  stable x86, bug 297439

*lvm2-2.02.56-r2 (26 Dec 2009)

  26 Dec 2009; Robin H. Johnson <robbat2@gentoo.org>
  +lvm2-2.02.56-r2.ebuild, +files/lvm2-2.02.56-lvm2create_initrd.patch:
  Bug #296198 redux: package in the contrib lvm2create_initrd script after
  patching it for users that have non-genkernel initrds.

  20 Dec 2009; Raúl Porcel <armin76@gentoo.org> lvm2-2.02.56-r1.ebuild:
  alpha stable wrt #297439

  11 Dec 2009; Raúl Porcel <armin76@gentoo.org> lvm2-2.02.51-r1.ebuild:
  s390/sh stable

  11 Dec 2009; Raúl Porcel <armin76@gentoo.org> lvm2-2.02.51.ebuild,
  lvm2-2.02.51-r1.ebuild, lvm2-2.02.51-r2.ebuild, lvm2-2.02.51-r3.ebuild,
  lvm2-2.02.56-r1.ebuild:
  Add ~s390/~sh

  07 Dec 2009; Samuli Suominen <ssuominen@gentoo.org>
  lvm2-2.02.51-r1.ebuild:
  amd64 stable wrt #287658

  30 Nov 2009; Robin H. Johnson <robbat2@gentoo.org> lvm2-2.02.33.ebuild,
  lvm2-2.02.33-r1.ebuild, lvm2-2.02.36.ebuild, lvm2-2.02.37.ebuild,
  lvm2-2.02.39.ebuild, lvm2-2.02.42.ebuild, lvm2-2.02.45.ebuild,
  lvm2-2.02.45-r1.ebuild, lvm2-2.02.45-r2.ebuild, lvm2-2.02.48.ebuild,
  lvm2-2.02.48-r1.ebuild, lvm2-2.02.48-r2.ebuild, lvm2-2.02.49.ebuild,
  lvm2-2.02.49-r1.ebuild, lvm2-2.02.49-r2.ebuild, lvm2-2.02.49-r3.ebuild,
  lvm2-2.02.51.ebuild, lvm2-2.02.51-r1.ebuild, lvm2-2.02.51-r2.ebuild,
  lvm2-2.02.51-r3.ebuild, lvm2-2.02.56.ebuild, lvm2-2.02.56-r1.ebuild:
  Bug #294744: Cleanup the rebuild message.

*lvm2-2.02.56-r1 (30 Nov 2009)

  30 Nov 2009; Robin H. Johnson <robbat2@gentoo.org>
  +lvm2-2.02.56-r1.ebuild,
  +files/lvm2-2.02.56-always-make-static-libdm.patch:
  Bug #276803: Always build static libdevicemapper for cryptsetup to
  optionally link to. Same behavior that sys-fs/devicemapper used to have.

*lvm2-2.02.56 (30 Nov 2009)

  30 Nov 2009; Robin H. Johnson <robbat2@gentoo.org> +lvm2-2.02.56.ebuild,
  +files/lvm2-2.02.56-device-mapper-export-format.patch,
  +files/lvm2-2.02.56-dmeventd.patch, +files/lvm.conf-2.02.56.patch:
  Bug #294983: version bump.

*lvm2-2.02.51-r3 (29 Nov 2009)

  29 Nov 2009; Robin H. Johnson <robbat2@gentoo.org>
  +lvm2-2.02.51-r3.ebuild,
  +files/lvm2-2.02.51-dmsetup-selinux-linking-fix-r3.patch:
  Try a different combined fix for bug #291217 (selinux compile) and bug
  #293272 (parallel compile fix) that should work better than the previous
  revisions.

  29 Nov 2009; Robin H. Johnson <robbat2@gentoo.org> lvm2-2.02.51-r1.ebuild,
  lvm2-2.02.51-r2.ebuild:
  Bug #293272: Parallel compile fix for case where no LVM/DM was already
  present on the system. Thanks to Stephan Hartmann <stha09@googlemail.com>
  for the fix.

  29 Nov 2009; Joseph Jezak <josejx@gentoo.org> lvm2-2.02.51-r1.ebuild:
  Marked ppc/ppc64 for bug #287658.

  29 Nov 2009; Raúl Porcel <armin76@gentoo.org> lvm2-2.02.51-r1.ebuild:
  arm stable

  28 Nov 2009; Raúl Porcel <armin76@gentoo.org> lvm2-2.02.51-r1.ebuild:
  ia64/sparc stable wrt #287658

  15 Nov 2009; Robin H. Johnson <robbat2@gentoo.org> lvm2-2.02.51-r1.ebuild:
  Backport selinux compile fix to stable build.

  09 Nov 2009; Robin H. Johnson <robbat2@gentoo.org> lvm2-2.02.51-r2.ebuild,
  +files/lvm2-2.02.51-dmsetup-selinux-linking-fix.patch:
  Bug #291217: Fix linking of dmsetup on selinux.

  09 Nov 2009; Christian Faulhammer <fauli@gentoo.org>
  lvm2-2.02.51-r1.ebuild:
  stable x86, bug 287658

  04 Nov 2009; Robin H. Johnson <robbat2@gentoo.org> lvm2-2.02.36.ebuild,
  lvm2-2.02.37.ebuild, lvm2-2.02.39.ebuild, lvm2-2.02.42.ebuild,
  lvm2-2.02.45.ebuild, lvm2-2.02.45-r1.ebuild, lvm2-2.02.45-r2.ebuild,
  lvm2-2.02.48.ebuild, lvm2-2.02.48-r1.ebuild, lvm2-2.02.48-r2.ebuild,
  lvm2-2.02.49.ebuild, lvm2-2.02.49-r1.ebuild, lvm2-2.02.49-r2.ebuild,
  lvm2-2.02.49-r3.ebuild, lvm2-2.02.51.ebuild, lvm2-2.02.51-r1.ebuild,
  lvm2-2.02.51-r2.ebuild:
  Bug #285868: Change openrc dep to make it not downgrade BL2 users to BL1
  _or_ upgrade BL1 users to BL2. This should have the same effect as (
  =sys-apps/baselayout-1* >=sys-apps/openrc-0.4 ) without the bad side
  effect.

*lvm2-2.02.51-r2 (27 Oct 2009)

  27 Oct 2009; Matthias Schwarzott <zzam@gentoo.org>
  +files/device-mapper.rc-1.02.51-r2, +files/lvm.rc-2.02.51-r2,
  +lvm2-2.02.51-r2.ebuild:
  No longer use deprecated (start stop)_addon, but directly call the
  relevant files.

  21 Oct 2009; Jeroen Roovers <jer@gentoo.org> lvm2-2.02.51-r1.ebuild:
  Stable for HPPA (bug #287658).

  04 Oct 2009; Tobias Klausmann <klausman@gentoo.org>
  lvm2-2.02.51-r1.ebuild:
  Stable on alpha, bug #287658

  18 Sep 2009; Robin H. Johnson <robbat2@gentoo.org> lvm2-2.02.36.ebuild,
  lvm2-2.02.37.ebuild, lvm2-2.02.39.ebuild, lvm2-2.02.42.ebuild,
  lvm2-2.02.45.ebuild, lvm2-2.02.45-r1.ebuild, lvm2-2.02.45-r2.ebuild,
  lvm2-2.02.48.ebuild, lvm2-2.02.48-r1.ebuild, lvm2-2.02.48-r2.ebuild,
  lvm2-2.02.49.ebuild, lvm2-2.02.49-r1.ebuild, lvm2-2.02.49-r2.ebuild,
  lvm2-2.02.49-r3.ebuild, lvm2-2.02.51.ebuild, lvm2-2.02.51-r1.ebuild:
  Bug #284926: Update deps to ensure that no old openrc is used, as the init
  deptree there does not contain the sysfs script. Bug #285360: With EAPI=2,
  we need to use hard blockers.

*lvm2-2.02.51-r1 (14 Sep 2009)

  14 Sep 2009; Robin H. Johnson <robbat2@gentoo.org>
  +lvm2-2.02.51-r1.ebuild, +files/lvm2-2.02.51-fix-pvcreate.patch:
  Bug #283983: pvcreate hangs on 2.6.30/.31 presently, waiting for a new
  release from upstream.

  07 Sep 2009; Raúl Porcel <armin76@gentoo.org> lvm2-2.02.51.ebuild:
  Add ~arm wrt #283099

*lvm2-2.02.51 (27 Aug 2009)

  27 Aug 2009; Robin H. Johnson <robbat2@gentoo.org> +lvm2-2.02.51.ebuild,
  +files/lvm2-2.02.51-as-needed.patch,
  +files/lvm2-2.02.51-device-mapper-export-format.patch,
  +files/lvm.conf-2.02.51.patch:
  Version bump. Change the pvmetadatacopies default back to 1 to cut down on
  pvresize issues per ongoing bug #252144.

  07 Aug 2009; Vlastimil Babka <caster@gentoo.org> Manifest:
  Fix manifest.

*lvm2-2.02.49-r3 (07 Aug 2009)

  07 Aug 2009; Robin H. Johnson <robbat2@gentoo.org>
  +files/lvm2-start.sh-2.02.49-r3, +files/lvm2-stop.sh-2.02.49-r3,
  +lvm2-2.02.49-r3.ebuild:
  Bug #280009: Much better way to set the locking directory, per upstream.
  Thanks to TGL <tom.gl@free.fr> for the patches.

  31 Jul 2009; Samuli Suominen <ssuominen@gentoo.org> lvm2-2.02.33.ebuild,
  lvm2-2.02.33-r1.ebuild, lvm2-2.02.36.ebuild, lvm2-2.02.37.ebuild,
  lvm2-2.02.39.ebuild, lvm2-2.02.42.ebuild, lvm2-2.02.45.ebuild,
  lvm2-2.02.45-r1.ebuild, lvm2-2.02.45-r2.ebuild, lvm2-2.02.48.ebuild,
  lvm2-2.02.48-r1.ebuild, lvm2-2.02.48-r2.ebuild, lvm2-2.02.49.ebuild,
  lvm2-2.02.49-r1.ebuild, lvm2-2.02.49-r2.ebuild:
  Move USE defaults static and lvm1 from profiles/base/package.use to here.

*lvm2-2.02.49-r2 (28 Jul 2009)

  28 Jul 2009; Robin H. Johnson <robbat2@gentoo.org>
  +files/64-device-mapper.rules-1.02.49-r2, +lvm2-2.02.49-r2.ebuild:
  Bug #278304: Update removal of vol_id, replaced by blkid -o udev.

*lvm2-2.02.49-r1 (24 Jul 2009)

  24 Jul 2009; Robin H. Johnson <robbat2@gentoo.org>
  +files/lvm2-start.sh-2.02.49-r1, +files/lvm2-stop.sh-2.02.49-r1,
  +lvm2-2.02.49-r1.ebuild, +files/lvm2-2.02.49-lockdir-override.patch:
  Bug #268999: allow overriding of the locking directory for use during
  early boot. This gives us functional locking while root is still read-only
  instead of failing the lock path.

*lvm2-2.02.49 (22 Jul 2009)

  22 Jul 2009; Robin H. Johnson <robbat2@gentoo.org> +lvm2-2.02.49.ebuild:
  Bug #278345: Version bump.

*lvm2-2.02.48-r2 (22 Jul 2009)

  22 Jul 2009; Robin H. Johnson <robbat2@gentoo.org>
  +lvm2-2.02.48-r2.ebuild, files/lvm2-2.02.48-as-needed.patch,
  +files/lvm2-2.02.48-fix-pkgconfig.patch:
  Bug #270350: implement pkgconfig for lvm2. Also bump to EAPI=2. Include
  new spin of as-needed patch, tested by Calchan.

  19 Jul 2009; Christian Ruppert <idl0r@gentoo.org>
  files/lvm2-2.02.48-as-needed.patch:
  Fix bug 217644 #c34, thanks to Chris Coleman <chris.coleman83@gmail.com>.

*lvm2-2.02.48-r1 (06 Jul 2009)

  06 Jul 2009; Robin H. Johnson <robbat2@gentoo.org>
  +lvm2-2.02.48-r1.ebuild:
  -r1 now provides more forward momentum. If you want the static binaries
  now, they are installed as lvm.static and dmsetup.static, not the base
  names, per upstream design. cmdlib/applib/fsadm are also back for usage
  now.

  06 Jul 2009; Robin H. Johnson <robbat2@gentoo.org> lvm2-2.02.48.ebuild:
  Fixup just for the .a first of all.

  05 Jul 2009; Robin H. Johnson <robbat2@gentoo.org> lvm2-2.01.13.ebuild,
  lvm2-2.02.33.ebuild, lvm2-2.02.33-r1.ebuild, lvm2-2.02.36.ebuild,
  lvm2-2.02.37.ebuild, lvm2-2.02.39.ebuild, lvm2-2.02.42.ebuild,
  lvm2-2.02.45.ebuild, lvm2-2.02.45-r1.ebuild, lvm2-2.02.45-r2.ebuild,
  lvm2-2.02.48.ebuild:
  Make repoman happy about whitespace.

*lvm2-2.02.48 (05 Jul 2009)

  05 Jul 2009; Robin H. Johnson <robbat2@gentoo.org> +lvm2-2.02.48.ebuild,
  +files/lvm2-2.02.48-as-needed.patch,
  +files/lvm2-2.02.48-device-mapper-export-format.patch:
  Version bump. Patch for bug #217644: as-needed fixes.

*lvm2-2.02.45-r2 (19 May 2009)

  19 May 2009; Robin H. Johnson <robbat2@gentoo.org>
  +files/clvmd.confd-2.02.39, +files/clvmd.rc-2.02.39,
  +lvm2-2.02.45-r2.ebuild:
  Port the latest clvm changes from clvm-2.02.39 per bug 265671, so that the
  clvm package can finally die.

*lvm2-2.02.45-r1 (09 May 2009)

  09 May 2009; Robin H. Johnson <robbat2@gentoo.org>
  +lvm2-2.02.45-r1.ebuild:
  Bug #262833: fix rcscript location. Bug #217644: Try to fix dlopen
  failure.

  09 May 2009; Robin H. Johnson <robbat2@gentoo.org> lvm2-2.02.45.ebuild:
  Bug 268662: Fix more parallel build fun.

  12 Apr 2009; Robin H. Johnson <robbat2@gentoo.org> lvm2-2.02.45.ebuild:
  Bug #265593: Provide better workaround for the symlink parallel make bug.
  Real fix needs upstream to change chunks of the build setup.

  12 Apr 2009; Robin H. Johnson <robbat2@gentoo.org> lvm2-2.01.13.ebuild,
  lvm2-2.02.33.ebuild, lvm2-2.02.33-r1.ebuild, lvm2-2.02.36.ebuild,
  lvm2-2.02.37.ebuild, lvm2-2.02.39.ebuild, lvm2-2.02.42.ebuild,
  lvm2-2.02.45.ebuild:
  Bug #265772: Update SRC_URI to check the /old/ directory upstream for
  files as they are moved.

*lvm2-2.02.45 (09 Apr 2009)

  09 Apr 2009; Caleb Tennis <caleb@gentoo.org>
  +files/device-mapper.conf-1.02.22-r3, +files/device-mapper.rc-1.02.22-r3,
  +files/64-device-mapper.rules-1.02.22-r5,
  +files/lvm2-2.02.45-device-mapper-export-format.patch,
  +files/1.02.22-dmeventd.initd, +files/lvm2-2.02.45-dmeventd.patch,
  +files/lvm.conf-2.02.45.patch, +files/dm-start.sh, +files/dmtab,
  +lvm2-2.02.45.ebuild:
  Version bump per bug #263243

  17 Jan 2009; Robin H. Johnson <robbat2@gentoo.org>
  files/lvm.rc-2.02.28-r2:
  Stop using /lib/librc.so to detect openrc/baselayout2, and use a file
  installed by new openrc instead, fixes bug #253076.

  17 Jan 2009; Robin H. Johnson <robbat2@gentoo.org>
  files/lvm.rc-2.02.28-r2:
  Minor fix for bug #255237.

  14 Nov 2008; Robin H. Johnson <robbat2@gentoo.org> metadata.xml,
  lvm2-2.02.33.ebuild, lvm2-2.02.33-r1.ebuild, lvm2-2.02.36.ebuild,
  lvm2-2.02.37.ebuild, lvm2-2.02.39.ebuild, lvm2-2.02.42.ebuild:
  Gulm is gone per bug #246679.

*lvm2-2.02.42 (07 Nov 2008)

  07 Nov 2008; Robin H. Johnson <robbat2@gentoo.org> +lvm2-2.02.42.ebuild:
  Version bump per bug #239421.

  10 Oct 2008; Robin H. Johnson <robbat2@gentoo.org>
  -files/lvm2-2.02.04-vgid.patch, -files/lvm.rc-2.02.28-r1,
  -files/lvm.conf-2.02.28-r3.patch, -files/clvmd.rc, -files/lvm.rc,
  -lvm2-2.02.28.ebuild, -lvm2-2.02.28-r1.ebuild, -lvm2-2.02.28-r2.ebuild,
  -lvm2-2.02.28-r3.ebuild, -lvm2-2.02.28-r4.ebuild, -lvm2-2.02.28-r5.ebuild:
  Bug #199726, clean up old versions. mips stable keyword now gone. 2.01.13
  remains for migration purposes.

  17 Sep 2008; Robin H. Johnson <robbat2@gentoo.org> metadata.xml:
  Update metadata because rocket is long gone.

  22 Aug 2008; Doug Goldstein <cardoe@gentoo.org> metadata.xml:
  add GLEP 56 USE flag desc from use.local.desc

  28 Jun 2008; Robin H. Johnson <robbat2@gentoo.org> lvm2-2.02.39.ebuild:
  Add a warning to satisfy bug #225769.

*lvm2-2.02.39 (28 Jun 2008)

  28 Jun 2008; Robin H. Johnson <robbat2@gentoo.org> +lvm2-2.02.39.ebuild:
  Version bump.

  23 Jun 2008; Raúl Porcel <armin76@gentoo.org> lvm2-2.02.37.ebuild:
  ia64/sparc stable wrt #207612

  22 Jun 2008; Markus Meier <maekke@gentoo.org> lvm2-2.02.36.ebuild:
  x86 stable, bug #207612

  21 Jun 2008; Markus Rothe <corsair@gentoo.org> lvm2-2.02.37.ebuild:
  Stable on ppc64; bug #207612

  16 Jun 2008; Jeroen Roovers <jer@gentoo.org> lvm2-2.02.37.ebuild:
  Stable for HPPA (bug #207612).

  15 Jun 2008; Tobias Klausmann <klausman@gentoo.org> lvm2-2.02.36.ebuild:
  Stable on alpha, bug #207612

  14 Jun 2008; Christoph Mende <angelos@gentoo.org> lvm2-2.02.36.ebuild:
  Stable on amd64, bug #207612

  14 Jun 2008; nixnut <nixnut@gentoo.org> lvm2-2.02.36.ebuild:
  Stable on ppc wrt bug 207612

*lvm2-2.02.37 (08 Jun 2008)

  08 Jun 2008; Robin H. Johnson <robbat2@gentoo.org>
  +files/lvm2-stop.sh-2.02.37, +lvm2-2.02.37.ebuild:
  Version bump. Fixes bugs #210879, and #214194 (same as #202058). Make sure
  you hvae the new .26 of device-mapper.

*lvm2-2.02.36 (30 Apr 2008)

  30 Apr 2008; Robin H. Johnson <robbat2@gentoo.org>
  +files/lvm.conf-2.02.36.patch, +lvm2-2.02.36.ebuild:
  Version bump per bug 219091.

  14 Mar 2008; Christian Heim <phreak@gentoo.org> metadata.xml:
  Removing Eric Edgar (rocket, #78547) from metadata.xml.

  25 Feb 2008; Robin H. Johnson <robbat2@gentoo.org> lvm2-2.02.33.ebuild,
  lvm2-2.02.33-r1.ebuild:
  Disable testcases now that upstream added them, because they need device
  nodes and have kernel interactions - bug 211312.

*lvm2-2.02.33-r1 (11 Feb 2008)

  11 Feb 2008; Robin H. Johnson <robbat2@gentoo.org>
  +lvm2-2.02.33-r1.ebuild:
  Fix bug #209742 so that LDFLAGS are respected by the libraries AND binaries.

  08 Feb 2008; Doug Klima <cardoe@gentoo.org> lvm2-2.02.33.ebuild:
  depend on newer device-mapper for DM_READ_AHEAD_AUTO define. bug #209381

  07 Feb 2008; Robin H. Johnson <robbat2@gentoo.org>
  files/lvm.conf-2.02.33.patch:
  Use relative paths in patch.

*lvm2-2.02.33 (07 Feb 2008)

  07 Feb 2008; Robin H. Johnson <robbat2@gentoo.org>
  +files/lvm.conf-2.02.33.patch, +lvm2-2.02.33.ebuild:
  Version bump, related to bug #207612.

  01 Feb 2008; Diego Pettenò <flameeyes@gentoo.org>
  files/lvm.rc-2.02.28-r1, files/lvm.rc-2.02.28-r2, files/lvm.rc:
  Update init script to work with current development version of OpenRC
  (checkroot -> root; checkfs -> fsck).

*lvm2-2.02.28-r5 (30 Jan 2008)

  30 Jan 2008; Doug Klima <cardoe@gentoo.org>
  +files/lvm2-stop.sh-2.02.28-r5, +lvm2-2.02.28-r5.ebuild:
  ignore rootfs entries in mount and mtab during shutdown. Fixes issues with
  shutting down in some cases.

*lvm2-2.02.28-r4 (29 Nov 2007)

  29 Nov 2007; Robin H. Johnson <robbat2@gentoo.org>
  +lvm2-2.02.28-r4.ebuild:
  Bug #199860, snapshot support code was not being built properly when
  non-static LVM was in use.

  28 Nov 2007; Robin H. Johnson <robbat2@gentoo.org> -lvm2-2.02.10.ebuild,
  -lvm2-2.02.17.ebuild, -lvm2-2.02.25.ebuild, -lvm2-2.02.27.ebuild:
  Trim old versions.

  19 Nov 2007; Jeroen Roovers <jer@gentoo.org> lvm2-2.02.28-r2.ebuild:
  Stable for HPPA (bug #195173).

  19 Nov 2007; Joshua Kinard <kumba@gentoo.org> lvm2-2.02.28-r2.ebuild:
  Stable on mips, per #195173.

  16 Nov 2007; Doug Klima <cardoe@gentoo.org>
  -files/lvm2-2.01.14-static.patch, -files/lvm2-2.01.14.patch,
  -lvm2-2.01.09.ebuild, -lvm2-2.01.09-r1.ebuild, -lvm2-2.02.02-r1.ebuild,
  -lvm2-2.02.04-r1.ebuild, -lvm2-2.02.05.ebuild, -lvm2-2.02.06.ebuild,
  -lvm2-2.02.09.ebuild, lvm2-2.02.28-r3.ebuild:
  Clean up old versions and repoman checks

*lvm2-2.02.28-r3 (16 Nov 2007)

  16 Nov 2007; Robin H. Johnson <robbat2@gentoo.org>
  +files/clvmd.rc-2.02.28-r3, +files/lvm.conf-2.02.28-r3.patch,
  +lvm2-2.02.28-r3.ebuild:
  Convert nolvmstatic and nolvm1 USE flags to static and lvm1 USE flags via
  the base profile package.use. Finish merging clvm support. Provide a
  slightly better than stock default configuration that is more suited to
  Gentoo, and ignores network-block devices by default for the livecd
  environment.

  06 Nov 2007; Markus Rothe <corsair@gentoo.org> lvm2-2.02.28-r2.ebuild:
  Stable on ppc64; bug #195173

  05 Nov 2007; Raúl Porcel <armin76@gentoo.org> lvm2-2.02.28-r2.ebuild:
  alpha/ia64 stable wrt #195173

  05 Nov 2007; Ferris McCormick <fmccor@gentoo.org> lvm2-2.02.28-r2.ebuild:
  Sparc stable --- Bug #195173

  04 Nov 2007; Markus Meier <maekke@gentoo.org> lvm2-2.02.28-r2.ebuild:
  x86 stable, bug #195173

  04 Nov 2007; Christoph Mende <angelos@gentoo.org> lvm2-2.02.28-r2.ebuild:
  Stable on amd64 wrt bug #195173

  03 Nov 2007; Lars Weiler <pylon@gentoo.org> lvm2-2.02.28-r2.ebuild:
  stable ppc, bug #195173

  02 Nov 2007; Robin H. Johnson <robbat2@gentoo.org> lvm2-2.02.28-r2.ebuild:
  Tweak dependancies.

  22 Oct 2007; Raúl Porcel <armin76@gentoo.org> lvm2-2.02.28-r2.ebuild:
  Re-add ~ia64 wrt #195175

  12 Oct 2007; Robin H. Johnson <robbat2@gentoo.org> lvm2-2.01.09.ebuild,
  lvm2-2.01.09-r1.ebuild, lvm2-2.01.13.ebuild, lvm2-2.02.02-r1.ebuild,
  lvm2-2.02.04-r1.ebuild, lvm2-2.02.05.ebuild, lvm2-2.02.06.ebuild,
  lvm2-2.02.09.ebuild, lvm2-2.02.10.ebuild, lvm2-2.02.17.ebuild,
  lvm2-2.02.25.ebuild, lvm2-2.02.27.ebuild, lvm2-2.02.28.ebuild,
  lvm2-2.02.28-r1.ebuild, lvm2-2.02.28-r2.ebuild:
  Fix quoting.

  12 Oct 2007; Robin H. Johnson <robbat2@gentoo.org> lvm2-2.02.28-r2.ebuild:
  Bug #195560, compile-fix for USE=nolvmstatic users.

*lvm2-2.02.28-r2 (08 Oct 2007)

  08 Oct 2007; Robin H. Johnson <robbat2@gentoo.org>
  +files/lvm.confd-2.02.28-r2, +files/lvm.rc-2.02.28-r2,
  +files/lvm2-start.sh-2.02.28-r2, +lvm2-2.02.28-r2.ebuild:
  LVM should come up after modules and mdraid. If you want to have a MD device
  on top of LVM go and edit conf.d/lvm. Also ensure that all PVs are found
  before starting the vgscan.

*lvm2-2.02.28-r1 (04 Oct 2007)

  04 Oct 2007; Doug Goldstein <cardoe@gentoo.org> files/lvm2-start.sh,
  +files/lvm.rc-2.02.28-r1, files/lvm2-stop.sh, +lvm2-2.02.28-r1.ebuild:
  change baselayout-2 init script to call start_addon rather then hardcoding
  the path

*lvm2-2.02.28 (02 Oct 2007)

  02 Oct 2007; Robin H. Johnson <robbat2@gentoo.org> +lvm2-2.02.28.ebuild:
  Version bump of LVM, bug #193297. Support for dmeventd per bug #192174.
  Major cleanups of the ebuild, USE=nosnapshots/nomirrors are no longer
  supported due to interactions with dmeventd.

  29 Jul 2007; Robin H. Johnson <robbat2@gentoo.org> metadata.xml:
  Update metadata.

*lvm2-2.02.27 (29 Jul 2007)

  29 Jul 2007; Robin H. Johnson <robbat2@gentoo.org> +lvm2-2.02.27.ebuild:
  Version bump per bug #183185.

  31 May 2007; Doug Goldstein <cardoe@gentoo.org> files/lvm2-start.sh:
  Fix from Jimmy.Jazz@gmx.net in bug #180340 where we would fail to boot
  because vgscan detected other partitions then lvm. This ignores that result
  and tries vgchange anyway.

*lvm2-2.02.25 (28 May 2007)

  28 May 2007; <rocket@gentoo.org> +lvm2-2.02.25.ebuild:
  Version bump.

  21 May 2007; Doug Goldstein <cardoe@gentoo.org> files/lvm2-start.sh:
  de-bash-ification by Uberlord

  16 May 2007; Jeroen Roovers <jer@gentoo.org> lvm2-2.02.10.ebuild:
  Stable for HPPA (bug #158794).

  12 May 2007; Joshua Kinard <kumba@gentoo.org> lvm2-2.02.10.ebuild:
  Stable on mips.

  10 May 2007; Doug Goldstein <cardoe@gentoo.org> lvm2-2.02.17.ebuild:
  Add elog notice about baselayout-2

  09 May 2007; Robin H. Johnson <robbat2@gentoo.org> lvm2-2.02.17.ebuild:
  Fix a bad variable name.

  09 May 2007; Doug Goldstein <cardoe@gentoo.org> metadata.xml:
  Add upstream to metadata as requested

  09 May 2007; Doug Goldstein <cardoe@gentoo.org> +files/lvm.rc,
  lvm2-2.02.17.ebuild:
  added baselayout-2 compatible init script from bug #175983

  22 Feb 2007; Markus Ullmann <jokey@gentoo.org> ChangeLog:
  Redigest for Manifest2

  05 Feb 2007; Simon Stelling <blubb@gentoo.org> lvm2-2.02.10.ebuild:
  stable on amd64; bug 158794

  31 Dec 2006; Bryan Østergaard <kloeri@gentoo.org> lvm2-2.02.10.ebuild:
  Stable on Alpha, bug 158794.

  22 Dec 2006; Gustavo Zacarias <gustavoz@gentoo.org> lvm2-2.02.10.ebuild:
  Stable on sparc wrt #158794

  22 Dec 2006; Andrej Kacian <ticho@gentoo.org> lvm2-2.02.10.ebuild:
  Stable on x86, bug #158794.

  22 Dec 2006; Tobias Scherbaum <dertobi123@gentoo.org> lvm2-2.02.10.ebuild:
  Stable on ppc wrt bug #158794.

  22 Dec 2006; Markus Rothe <corsair@gentoo.org> lvm2-2.02.10.ebuild:
  Stable on ppc64; bug #158794

*lvm2-2.02.17 (21 Dec 2006)

  21 Dec 2006; Robin H. Johnson <robbat2@gentoo.org> +lvm2-2.02.17.ebuild:
  Version bump.

*lvm2-2.02.10 (22 Sep 2006)

  22 Sep 2006; Robin H. Johnson <robbat2@gentoo.org> +lvm2-2.02.10.ebuild:
  Version bump - needed for upstream fixes to locking, clustering and LVM
  mirroring.

  07 Sep 2006; Eric Edgar <rocket@gentoo.org> lvm2-2.02.06.ebuild:
  Update the lvm2-2.02.06 ebuild to require device-mapper 1.02.07 or higher
  fixing bug 141350

*lvm2-2.02.09 (07 Sep 2006)

  07 Sep 2006; Eric Edgar <rocket@gentoo.org> +lvm2-2.02.09.ebuild:
  Add version 2.02.09 to the tree

  04 Sep 2006; Joshua Kinard <kumba@gentoo.org> lvm2-2.02.06.ebuild:
  Marked stable on mips.

  23 Aug 2006; Gustavo Zacarias <gustavoz@gentoo.org> lvm2-2.02.06.ebuild:
  Stable on hppa

  23 Aug 2006; Chris Gianelloni <wolf31o2@gentoo.org> lvm2-2.02.05.ebuild:
  Stable on alpha wrt release snapshot.

  16 Aug 2006; Markus Rothe <corsair@gentoo.org> lvm2-2.02.06.ebuild:
  Stable on ppc64

  05 Aug 2006; Michael Hanselmann <hansmi@gentoo.org> lvm2-2.02.06.ebuild:
  Stable on ppc.

  03 Aug 2006; Daniel Gryniewicz <dang@gentoo.org> lvm2-2.02.06.ebuild:
  Marked stable on amd64 bug #131662

  02 Aug 2006; Gustavo Zacarias <gustavoz@gentoo.org> lvm2-2.02.06.ebuild:
  Stable on sparc

  18 Jul 2006; Joshua Jackson <tsunam@gentoo.org> lvm2-2.02.06.ebuild:
  Stable x86; bug #131662

*lvm2-2.02.06 (23 Jun 2006)

  23 Jun 2006; Chris Gianelloni <wolf31o2@gentoo.org> +lvm2-2.02.06.ebuild:
  Version bump, requested by rocket.

  16 Jun 2006; Michael Sterrett <mr_bones_@gentoo.org>
  lvm2-2.02.04-r1.ebuild, lvm2-2.02.05.ebuild:
  move inherit to the top of the ebuild

  13 Jun 2006; Danny van Dyk <kugelfang@gentoo.org> lvm2-2.02.05.ebuild:
  Marked stable on amd64.

  24 May 2006; Michael Hanselmann <hansmi@gentoo.org> lvm2-2.02.05.ebuild:
  Stable on ppc.

  07 May 2006; Mark Loeser <halcy0n@gentoo.org> -lvm2-2.01.14-r1.ebuild:
  Drop old version because of dependencies being removed

  03 May 2006; Gustavo Zacarias <gustavoz@gentoo.org> lvm2-2.02.05.ebuild:
  Stable on hppa wrt #130529

  01 May 2006; Markus Rothe <corsair@gentoo.org> lvm2-2.02.05.ebuild:
  Stable on ppc64

  27 Apr 2006; Alec Warner <antarus@gentoo.org> files/digest-lvm2-2.01.13,
  files/digest-lvm2-2.01.14-r1, files/digest-lvm2-2.02.02-r1,
  files/digest-lvm2-2.02.04-r1, files/digest-lvm2-2.02.05, Manifest:
  Fixing SHA256 digest, pass four

  26 Apr 2006; Chris Gianelloni <wolf31o2@gentoo.org> lvm2-2.02.05.ebuild:
  Marking stable on x86 wrt bug #130529.

  25 Apr 2006; Gustavo Zacarias <gustavoz@gentoo.org> lvm2-2.02.05.ebuild:
  Stable on sparc wrt #130529

  24 Apr 2006; Joshua Kinard <kumba@gentoo.org> lvm2-2.02.05.ebuild:
  Marked stable on mips.

*lvm2-2.02.05 (24 Apr 2006)

  24 Apr 2006; Eric Edgar <rocket@gentoo.org> +lvm2-2.02.05.ebuild:
  version Bump to 2.02.05 per bug #131114.

  24 Apr 2006; Gustavo Zacarias <gustavoz@gentoo.org>
  lvm2-2.02.04-r1.ebuild:
  Stable on hppa & sparc wrt #130529

*lvm2-2.02.04-r1 (21 Apr 2006)

  21 Apr 2006; Eric Edgar <rocket@gentoo.org>
  +files/lvm2-2.01.14-static.patch, +files/lvm2-2.02.04-vgid.patch,
  +lvm2-2.02.04-r1.ebuild:
  lvm2-2.02.04 with vgid termination patch to fix bug# 130626. Patch obtained
  from upstream cvs. Will be included in lvm2-2.02.05 Replace missing
  lvm2-2.01.14-static patch

  21 Apr 2006; Eric Edgar <rocket@gentoo.org> -lvm2-2.02.03.ebuild,
  -lvm2-2.02.04.ebuild:
  Removed lvm2-2.02.03 and lvm2-2.02.04 as they have issue reading metadata on
  disk. Downgrade to lvm2-2.02.02-r1 until upstream can fix

  20 Apr 2006; Eric Edgar <rocket@gentoo.org> ChangeLog:
  Add warning to rerun genkernel after the emerge of lvm if lvm is in the
  initramfs

*lvm2-2.02.02-r1 (20 Apr 2006)

  20 Apr 2006; Eric Edgar <rocket@gentoo.org> +lvm2-2.02.02-r1.ebuild:
  add lvm2-2.02.02-r1 ebuild back in incase the newer ones are broken

*lvm2-2.02.04 (20 Apr 2006)

  20 Apr 2006; Eric Edgar <rocket@gentoo.org> +lvm2-2.02.04.ebuild:
  version bump lvm2-2.02.04

*lvm2-2.02.03 (19 Apr 2006)

  19 Apr 2006; Eric Edgar <rocket@gentoo.org> lvm2-2.01.14-r1.ebuild,
  -lvm2-2.02.01.ebuild, -lvm2-2.02.02.ebuild, +lvm2-2.02.03.ebuild:
  Add lvm2-2.02.03.ebuild to fix cluster issues

  29 Mar 2006; Markus Rothe <corsair@gentoo.org> lvm2-2.02.02.ebuild:
  Added ~ppc64

  26 Mar 2006; Sven Wegener <swegener@gentoo.org> lvm2-2.02.02.ebuild:
  2.02.02 needs a newer device-mapper.

*lvm2-2.02.02 (24 Mar 2006)

  24 Mar 2006; Aron Griffis <agriffis@gentoo.org> +lvm2-2.02.02.ebuild:
  Bump to 2.02.02 (from 2.02.01). #120511

  22 Mar 2006; Paul de Vrieze <pauldv@gentoo.org> lvm2-2.02.01.ebuild:
  Make the install fail if the start and stop scripts can't be installed. When
  these scripts are not installed, the volumes are not activated at boot,
  bumping into maintainer mode.

  02 Feb 2006; Eric Edgar <rocket@gentoo.org> Manifest:
  fix lvm2-2.02.01.ebuild digest

  01 Feb 2006; Eric Edgar <rocket@gentoo.org> lvm2-2.02.01.ebuild:
  fix lvm2-2.02.01.ebuild to not have bad depends

*lvm2-2.02.01 (01 Feb 2006)

  01 Feb 2006; Eric Edgar <rocket@gentoo.org> +files/clvmd.rc,
  +lvm2-2.02.01.ebuild:
  Version bump. lvm2-2.02.01.  clvm support

*lvm2-2.01.14-r1 (31 Jan 2006)

  31 Jan 2006; Eric Edgar <rocket@gentoo.org> +files/lvm2-2.01.14.patch,
  -lvm2-2.01.14.ebuild, +lvm2-2.01.14-r1.ebuild:
  remove lvm2-2.01.14.ebuild;Change device-mapper depend; add selinux suport;
  gcc patch

*lvm2-2.01.14 (14 Oct 2005)

  14 Oct 2005; Eric Edgar <rocket@gentoo.org> +lvm2-2.01.14.ebuild:
  Version Bump - added lvm2 2.01.14

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

  08 Aug 2005; Aaron Walker <ka0ttic@gentoo.org> lvm2-2.01.13.ebuild:
  Added ~mips.

*lvm2-2.01.13 (20 Jul 2005)

  20 Jul 2005; Eric Edgar <rocket@gentoo.org> +lvm2-2.01.13.ebuild:
  Version Bump

  20 Jul 2005; Eric Edgar <rocket@gentoo.org> -lvm2-2.00.08.ebuild,
  -lvm2-2.00.15.ebuild, -lvm2-2.00.15-r1.ebuild, -lvm2-2.00.25.ebuild,
  -lvm2-2.00.33.ebuild, -lvm2-2.00.33-r1.ebuild, -lvm2-2.00.33-r2.ebuild,
  -lvm2-2.00.33-r4.ebuild:
  Cleaning up older ebuilds.

*lvm2-2.01.09-r1 (20 Jul 2005)

  20 Jul 2005; Eric Edgar <rocket@gentoo.org> +lvm2-2.01.09-r1.ebuild:
  Fix bug 99532

  05 Jul 2005; Chris Gianelloni <wolf31o2@gentoo.org> lvm2-2.01.09.ebuild:
  Added ia64 to KEYWORDS.  Blame plasmaroo.

  17 Jun 2005; Michael Hanselmann <hansmi@gentoo.org> lvm2-2.01.09.ebuild:
  Stable on ppc.

  06 Jun 2005; Markus Rothe <corsair@gentoo.org> lvm2-2.01.09.ebuild:
  Stable on ppc64

  29 May 2005; Marcus D. Hanwell <marcus@gentoo.org> lvm2-2.01.09.ebuild:
  Stable on amd64, bug 92427.

  23 May 2005; Jason Wever <weeve@gentoo.org> lvm2-2.01.09.ebuild:
  Stable on SPARC.

  14 May 2005; Guy Martin <gmsoft@gentoo.org> lvm2-2.01.09.ebuild:
  Stable on hppa.

  06 May 2005; Eric Edgar <rocket@gentoo.org> lvm2-2.01.09.ebuild:
  Marking stable on x86.  appears to fix bug 89681

  15 Apr 2005; Eric Edgar <rocket@gentoo.org> : +lvm2-2.01.09.ebuild:
  Modified ebuild to depend on newer version of device mapper.  bug #89214

  09 Apr 2005; Markus Rothe <corsair@gentoo.org> lvm2-2.00.33-r1.ebuild:
  Stable on ppc64

  07 Apr 2005; Simon Stelling <blubb@gentoo.org> lvm2-2.00.33-r1.ebuild:
  stable on amd64

*lvm2-2.01.09 (12 Apr 2005)

  12 Apr 2005; Eric Edgar <rocket@gentoo.org> +lvm2-2.01.09.ebuild:
  Adding lvm2-2.01.09.ebuild

*lvm2-2.00.33-r4 (04 Apr 2005)

  04 Apr 2005; Eric Edgar <rocket@gentoo.org> -lvm2-2.00.33-r3.ebuild,
  +lvm2-2.00.33-r4.ebuild:
  Fix a bug in the ebuild so that it compiles lvm2 statically by default

*lvm2-2.00.33-r3 (22 Mar 2005)

  22 Mar 2005; Eric Edgar <rocket@gentoo.org> +lvm2-2.00.33-r3.ebuild:
  Added new ebuild with local use flag to override the building of lvm2. This
  allows the binary to be built dynamically.

*lvm2-2.00.33-r2 (07 Mar 2005)

  07 Mar 2005; Eric Edgar <rocket@gentoo.org> +lvm2-2.00.33-r2.ebuild:
  Added a new ebuild so that lvm2 is forced to be compiled statically. This
  should be the default for files located in /sbin

  02 Mar 2005; Eric Edgar <rocket@gentoo.org> lvm2-2.00.33-r1.ebuild:
  Marking stable on x86 - this has several important feature improvements,
  please read the WHATS_NEW file in the documentation tree for a list of changes.
  
  22 Feb 2005; Eric Edgar <rocket@gentoo.org> files/lvm2-start.sh,
  files/lvm2-stop.sh, lvm2-2.00.33-r1.ebuild:
  Install scripts as lvm-{start,stop}.sh

*lvm2-2.00.33-r1 (22 Feb 2005)

  22 Feb 2005; Eric Edgar <rocket@gentoo.org> +files/lvm2-start.sh,
  +files/lvm2-stop.sh, +lvm2-2.00.33-r1.ebuild:
  New ebuild to add baselayout files to /lib/rcscripts/addons to support
  starting and stopping lvm2

*lvm2-2.00.33 (22 Feb 2005)

  22 Feb 2005; Eric Edgar <rocket@gentoo.org> +lvm2-2.00.33.ebuild:
  Updating lvm2 to version 2.00.33

  25 Nov 2004; Guy Martin <gmsoft@gentoo.org> lvm2-2.00.25.ebuild:
  Stable on hppa.

*lvm2-2.00.25 (14 Nov 2004)

  14 Nov 2004; <max@gentoo.org> +lvm2-2.00.25.ebuild:
  Bump to version 2.0.25. Greatly simplify static support. Add optional readline
  (lvm shell) support. Fixes bugs #54535 and #64455.

  14 Nov 2004; <max@gentoo.org> lvm2-2.00.15-r1.ebuild, lvm2-2.00.15.ebuild:
  Fix SRC_URI to reflect reality.

  10 Sep 2004; Rob Holland <tigger@gentoo.org> lvm2-2.00.15-r1.ebuild:
  fix syntax bug. thanks to swtaylor@gentoo.org

*lvm2-2.00.15-r1 (10 Sep 2004)

  10 Sep 2004; Rob Holland <tigger@gentoo.org> +lvm2-2.00.15-r1.ebuild:
  Added a static use flag which installs a statically linked lvm rather than a
  dynamic one (everything stays in the same place, there is no lvm.static file
  installed). part of #44091. Thanks to Sascha Silbe for offering patches, but I
  choose to fix it differently.

  03 Sep 2004; Pieter Van den Abeele <pvdabeel@gentoo.org>
  lvm2-2.00.15.ebuild:
  Masked lvm2-2.00.15.ebuild stable for ppc

  17 Aug 2004; <agriffis@gentoo.org> lvm2-2.00.15.ebuild:
  add ~alpha #60071

  29 May 2004; Tom Gall <tgall@gentoo.org> lvm2-2.00.15.ebuild:
  stable on ppc64, bug #52330

  26 Apr 2004; Aron Griffis <agriffis@gentoo.org> lvm2-2.00.08.ebuild,
  lvm2-2.00.15.ebuild:
  Add die following econf for bug 48950

*lvm2-2.00.15 (24 Apr 2004)

  24 Apr 2004; Max Kalika <max@gentoo.org> lvm2-2.00.15.ebuild:
  Bump to version 2.0.15. Install a default lvm.conf file.

  29 May 2004; Tom Gall <tgall@gentoo.org> lvm2-2.00.08.ebuild:
  stable on ppc64, bug #52330

  09 Mar 2004; Max Kalika <max@gentoo.org> lvm2-2.00.06.ebuild,
  lvm2-2.00.07.ebuild, lvm2-2.00.08.ebuild:
  Update SRC_URI and HOMEPAGE to their new locations.

  22 Jan 2004; Markus Nigbur <pyrania@gentoo.org> lvm2-2.00.08.ebuild:
  Marked stable on sparc.

  17 Jan 2004; Bartosch Pixa <darkspecter@gentoo.org> lvm2-2.00.08.ebuild:
  set ppc in keywords

  26 Dec 2003; Seemant Kulleen <seemant@gentoo.org> lvm2-2.00.06.ebuild,
  lvm2-2.00.07.ebuild, lvm2-2.00.08.ebuild:
  dependency to sys-fs/lvm-user instead of sys-apps/lvm-user. Closes bug #36534
  by Adam Gelwarg <adam@gelwarg.net>

  26 Dec 2003; Ciaran McCreesh <ciaranm@gentoo.org> lvm2-2.00.08.ebuild:
  Added ~sparc keyword

  13 Dec 2003; Brad House <brad_mssw@gentoo.org> lvm2-2.00.08.ebuild:
  mark stable on amd64

  08 Dec 2003; <max@gentoo.org> lvm2-2.00.08.ebuild:
  But to stable x86 and add ~amd64 as per bug 34779.

*lvm2-2.00.08 (02 Dec 2003)

  02 Dec 2003; <max@gentoo.org> lvm2-2.00.08.ebuild:
  Bump to version 2.00.08 ~x86 for now. This version requires the very latest
  device-mapper-1.00.07 to build properly.

  21 Oct 2003; Max Kalika <max@gentoo.org> lvm2-2.00.06.ebuild,
  lvm2-2.00.07.ebuild:
  Bump to stable x86.

*lvm2-2.00.07 (12 Oct 2003)

  12 Oct 2003; Max Kalika <max@gentoo.org> lvm2-2.00.06.ebuild,
  lvm2-2.00.07.ebuild:
  Bump to version 2.00.07.

*lvm2-2.00.06 (15 Sep 2003)

  15 Sep 2003; Seemant Kulleen <seemant@gentoo.org> lvm2-2.00.06.ebuild,
  metadata.xml:
  moved to sys-fs

*lvm2-2.00.06 (03 Sep 2003)

  03 Sep 2003; Max Kalika <max@gentoo.org> lvm2-2.00.05.ebuild,
  lvm2-2.00.06.ebuild, metadata.xml:
  Bump version to 2.00.06.

*lvm2-2.00.05 (02 Sep 2003)

  02 Sep 2003; Max Kalika <max@gentoo.org> lvm2-2.00.05.ebuild:
  Bump version to 2.00.05.

  03 Jul 2003; Max Kalika <max@gentoo.org> lvm2-1.95.15.ebuild:
  Set KEYWORDS to ~x86.

  12 Jun 2003; Max Kalika <max@gentoo.org> lvm2-1.95.15.ebuild:
  Drop unneccessary die() calls.

  29 May 2003; Max Kalika <max@gentoo.org> lvm2-1.95.10.ebuild,
  lvm2-1.95.15.ebuild, files/lvm2.rc6:
  Remove stale version.  Patch /etc/init.d/{checkfs,halt.sh} to
  activate/deactivate LVM2.  Remove the no longer needed lvm2.rc6 file.

*lvm2-1.95.15 (27 May 2003)

  27 May 2003; Max Kalika <max@gentoo.org> lvm2-1.95.15.ebuild:
  Bump version.

  22 May 2003; root <root> lvm2-1.95.10.ebuild, files/lvm2.rc6:
  Install binary and all symlinks to /sbin as well.  Fixes booting if /usr
  is a separate partition. Change startup script to look for utilities in
  /sbin.  Fix startup script modules depend.

  15 May 2003; Max Kalika <max@gentoo.org> files/lvm2.rc6:
  Start before checkfs.

  14 May 2003; Max Kalika <max@gentoo.org> lvm2-1.95.10.ebuild,
  files/lvm2.rc6:
  Add startup script.

*lvm2-1.95.10 (12 May 2003)

  12 May 2003; Max Kalika <max@gentoo.org> lvm2-1.95.10.ebuild:
  Initial version.

