Bugs #301331: create initrd fixes; #312321: path for dmeventd; #318433: QA; #318513...
authorRobin H. Johnson <robbat2@gentoo.org>
Mon, 7 Jun 2010 22:31:29 +0000 (22:31 +0000)
committerRobin H. Johnson <robbat2@gentoo.org>
Mon, 7 Jun 2010 22:31:29 +0000 (22:31 +0000)
Package-Manager: portage-2.2_rc67/cvs/Linux x86_64

sys-fs/lvm2/ChangeLog
sys-fs/lvm2/Manifest
sys-fs/lvm2/files/lvm.conf-2.02.67.patch [new file with mode: 0644]
sys-fs/lvm2/files/lvm2-2.02.64-dmeventd-libs.patch [new file with mode: 0644]
sys-fs/lvm2/files/lvm2-2.02.67-createinitrd.patch [new file with mode: 0644]
sys-fs/lvm2/lvm2-2.02.67.ebuild [new file with mode: 0644]

index 5e7c007db2262cdd43d49f7ad0019bc9819d15ed..f4369e6dc5a1b66dd87efafd007098571d9d1a0b 100644 (file)
@@ -1,6 +1,14 @@
 # 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.208 2010/05/07 18:22:16 robbat2 Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/lvm2/ChangeLog,v 1.209 2010/06/07 22:31:29 robbat2 Exp $
+
+*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:
index a9c8d29ca8e3616c6f1ac24d95bc8aeed627535a..8616c6bf2b5db14f63042dbd67eae2f6e4d0c3f9 100644 (file)
@@ -15,6 +15,7 @@ AUX lvm.conf-2.02.36.patch 3118 RMD160 b19039d550cd81d46f77d493cb6c5507a3fd66ee
 AUX lvm.conf-2.02.45.patch 2657 RMD160 9f74ca92257162c978a690209878691fe13456b5 SHA1 9beccaa7933b9e53651b155bf6262229306e010f SHA256 f45a4ea427c38ca001ffd83eb73008b486d87ad8bf409d1e102a1eac386148d1
 AUX lvm.conf-2.02.51.patch 2690 RMD160 1aa597d10ee928d4c209fe5beb01dd1ab4b99b35 SHA1 697407509b408d91af2dc3f98a9d9dcc82abe81d SHA256 c163e64d1b0914154b72730f67b1face04802e6e89534766eb79d72a34ef5e67
 AUX lvm.conf-2.02.56.patch 1697 RMD160 159030156098e4aa5bc141a5a04f9ba60f5b430c SHA1 d37ee83b1c74043d413b99d52bf3c652cebc2eb3 SHA256 76dd9c5932b4c8c0d51eeb357e91c5e2af87dd180e3ca76940e3a7ad4de5f2e6
+AUX lvm.conf-2.02.67.patch 23593 RMD160 bace20a13fb67cad5914b8375b435306e323b6a4 SHA1 f66f2ed3a6b993a28270ca2b69b8c290d100d8ca SHA256 50e06d4e1884fece075f359f2a36ae8bc5c3e17c139293ca1733d7c10cb846b9
 AUX lvm.confd-2.02.28-r2 173 RMD160 cf554372fa11df056e3757e5139fad6c7606a696 SHA1 e8186ebb91d12247d0865285dc62346d1cbc207a SHA256 28370c089c39c248d7ded0960b8d8a9256bada44d44c22ce3cec87d512ef6844
 AUX lvm.rc-2.02.28-r2 661 RMD160 3b267ab500785de249101548a15792708d3adc55 SHA1 b014a0d4344c58c963db20cefeb726dfd66d1b1a SHA256 962d9e8baa06a617671701d21f8a2849b45ab9baa6684b2e99b2b03192c9e66a
 AUX lvm.rc-2.02.51-r2 792 RMD160 9a5bb96606d20a420b7ff94e6de2b140d0a5022d SHA1 302111a801f1301f387db52180ec2f876d08898f SHA256 b883e8ae1d3b9d8a0bdf85b009125e9408ee6d22a159b2e4c340fce455d5fd9f
@@ -34,6 +35,8 @@ AUX lvm2-2.02.56-device-mapper-export-format.patch 10774 RMD160 0e7c4d0b955e7366
 AUX lvm2-2.02.56-dmeventd.patch 539 RMD160 8fbdf28707ae18ac8e2f45aabfbf10b8b89aa76b SHA1 6e61c3aa6be93b9cc90504e70959d02d0a165fdd SHA256 c70b96d7c3d9fbd78d00c8711a4243d1a874745dcb175b63620015301ee99c10
 AUX lvm2-2.02.56-lvm2create_initrd.patch 2032 RMD160 5e9ff47cb85829c41d9876048ee4be4e26554973 SHA1 bd83079490b19efca6846435b92b891aa1ff764a SHA256 b892d0544e05350e78ea400c16e6fd3657671d9bdf50bfae70505fd79bdda081
 AUX lvm2-2.02.63-always-make-static-libdm.patch 1420 RMD160 16079ddc546aa6dc6a21bdb3e7f81df7342b93f8 SHA1 3cd5011ec1177aee12d7d2d0768a5874bdf021ad SHA256 1c498b5efce77ed16bbbfcd9e0ec6da404a9c70c7ad0959ed7b60733adfcfc21
+AUX lvm2-2.02.64-dmeventd-libs.patch 618 RMD160 c030db2d971e0287fa9c65ab9bede9198501369d SHA1 76a3905e45609cc699221d6c32be8edbbcd2efec SHA256 1b8c281212b3c7edf456b38679c2c7ed838dd55789125c11cde691c2ccf62ace
+AUX lvm2-2.02.67-createinitrd.patch 660 RMD160 8d95b2fdbc8d3eb9e173fd5326d78b78968ef8a2 SHA1 a6c86564cfd17452af8766f4b70c55c8cbcf8bdf SHA256 d59f5642fff9d9575227bfd0b3d103d928a6f7b08b417d6c458704171f11da39
 AUX lvm2-start.sh 1025 RMD160 fa27385e4640d59c33f2ca42db9d38f80def3977 SHA1 83a86ff292192b3f62e4686b70bbbfcc39158b53 SHA256 8c7da13b6326a383888110b25f53a4902cbec7d0dace274b9c5f1d6b0a775039
 AUX lvm2-start.sh-2.02.28-r2 1180 RMD160 3ec85899a19c56d4d49e4654e1b05f53bc7d9c93 SHA1 80fce53cc1925990fbb103e57314b3c1740de6ed SHA256 a891855ed04d4c59f17fc0b19dc61813a4ca3cc183166867606d92cb58498460
 AUX lvm2-start.sh-2.02.49-r1 1200 RMD160 b88e37e7e228fecdedf359c1132723077a3d4c94 SHA1 85eb83a83c598b3ea405ec4c597a9c77364e7fb4 SHA256 94d15b5dbeabb275b4d91b284b3113cd812b7e7c90ec3018693803b3e91d9535
@@ -56,6 +59,7 @@ DIST LVM2.2.02.51.tgz 790458 RMD160 7ca55e29c6d780b4b052b07eeabbd731a034721f SHA
 DIST LVM2.2.02.56.tgz 822318 RMD160 b9bb04df127fe58d2b483035b2c17e2b049695d3 SHA1 1a70cb4d4fe7566aace9d38ee18413c79e91b684 SHA256 9c96ef2cb4a9606cb6a4af795cbb5503b04d676179b0c70a9883593992622f43
 DIST LVM2.2.02.63.tgz 862513 RMD160 49f005520ec92013d8dcb246e82236429aa09869 SHA1 0333d51b33a73cd2f38854557e72577a0523b7c2 SHA256 e41a163ba97de66e0825188311b1f0b4b181943a16e0a04971653baf99ad3036
 DIST LVM2.2.02.64.tgz 870110 RMD160 998e67cd4766cf743468c664e8a8bed969425613 SHA1 033a317f1ca8baa3b30e10cf4095f0491a10db7f SHA256 a01255feeaee33cb4690705bb12652455823a6a854d1a9323446009a147a1e8c
+DIST LVM2.2.02.67.tgz 893643 RMD160 ccaedf2bf7c56901b9ff15b204620934e626dd34 SHA1 511605f31e637cb34f4c73403ae079aa0f65daaa SHA256 6cf217d26eddec1a33cdb06958f0ae1a191e7bd9d42f63646a1c93ceeb47c702
 EBUILD lvm2-2.01.13.ebuild 1470 RMD160 125ecf8a32609d67876e16afa155aa256bdc22ee SHA1 95c96a2158c40bc325da6eeaded050e9e426a0e5 SHA256 b3ee4c923da035604cdf69673c12824c7b74a1716550496ce38d9281d39fa6ef
 EBUILD lvm2-2.02.33-r1.ebuild 4538 RMD160 c754ec3bd1ed9a4e405f72966fef3ec0736c824b SHA1 ef5a5926d943a94f055a6326817e301295e20c48 SHA256 ae0289f37158c00ef8b5c10de351452ed55d7dfa8e9bbf40fa54659adefc947c
 EBUILD lvm2-2.02.33.ebuild 4509 RMD160 c71985cd049d14ae22eea86b2ba742478a2683c1 SHA1 44dbc8c1c4c3f6c9f5e05fd00393233df6309ded SHA256 8fc4a8ae48d6ae2683cd58edd7c978b2b2e30738b3a2f8d747e045be3e7a21c9
@@ -84,5 +88,6 @@ EBUILD lvm2-2.02.56.ebuild 6486 RMD160 3a14e38c19adf2f87e03cf092cb921817e43a029
 EBUILD lvm2-2.02.63-r1.ebuild 7537 RMD160 a8ad56e4b80ed688d492e95500922ba0d29a1402 SHA1 92fceeba4d4d318df011a887854f83d0a42a6151 SHA256 a70a1cc8be43b3f2e4e25d6ec991bc94b260927dd5a00ec1b7a0261504cc0d9c
 EBUILD lvm2-2.02.63-r2.ebuild 7675 RMD160 9601d52b17af80eb59be13524fd32f6150dc28a4 SHA1 a10d5baf6007c5a7fd405f32933d9c5488e654bd SHA256 b8f874fda1f67e747eb1be7f4c6348d94c6c25ee57c0f14882aa6caa5e5f6679
 EBUILD lvm2-2.02.64.ebuild 7893 RMD160 a31eb0f07093eaf89b2ec59448df0fd4f9770f4d SHA1 7bbd3e2001d348772cda88cfa55a6eb871eb8409 SHA256 bb05fbaf4874abe58f8ffb4f91bc596707c1d80d5a11c5cff0e191a8997f2ee0
-MISC ChangeLog 36600 RMD160 b67081accec0a643bf86715f058da2eca9316ce6 SHA1 652ee2125e2921e928ad50a3bff434dfe63ad3cc SHA256 f840d75fed4696ba2624608114af25a0066f0b6ea1bcfcee53113c66890dfe1b
+EBUILD lvm2-2.02.67.ebuild 8111 RMD160 4007d10cb6eba0432adb1dee8091418a06fef7b3 SHA1 e5e42eeaa352e4c1b2346f0fe6ff6127f8c7acde SHA256 05aa117123a7a905342bb127812ffceb86ec33e337763f1bfc5885bcd5982401
+MISC ChangeLog 36937 RMD160 b28e8cdb1f6ce15bf781698856b490d3971d25af SHA1 69787eb4ffd30136721dfe4fd5871dfc642d60bc SHA256 dc5676217b1f937366437c6c55469bb178ea3d6a06f597366d12906e09488c17
 MISC metadata.xml 792 RMD160 f60db9169ee273ca2f97fa5e69d4e5329e988164 SHA1 42f85f30477c65a164a11e172db7e250f442dca5 SHA256 87ced5a3a6102985f7c2a619dd52f65e62ae916f8921c8e7115a25452cd44b7f
diff --git a/sys-fs/lvm2/files/lvm.conf-2.02.67.patch b/sys-fs/lvm2/files/lvm.conf-2.02.67.patch
new file mode 100644 (file)
index 0000000..85922fa
--- /dev/null
@@ -0,0 +1,553 @@
+diff -Nuar LVM2.2.02.67.orig//doc/example.conf.in LVM2.2.02.67//doc/example.conf.in
+--- LVM2.2.02.67.orig//doc/example.conf.in     2010-05-20 13:47:21.000000000 +0000
++++ LVM2.2.02.67//doc/example.conf.in  2010-06-07 18:43:34.099693472 +0000
+@@ -50,7 +50,9 @@
+ 
+ 
+     # By default we accept every block device:
+-    filter = [ "a/.*/" ]
++    # Gentoo: we exclude /dev/nbd by default, because it makes a lot of kernel
++    # noise when you probed while not available.
++    filter = [ "r|/dev/nbd.*|", "a/.*/" ]
+ 
+     # Exclude the cdrom drive
+     # filter = [ "r|/dev/cdrom|" ]
+@@ -259,6 +261,8 @@
+     # the new lvm2 on-disk metadata format.
+     # The default value is set when the tools are built.
+     # fallback_to_lvm1 = 0
++    # Gentoo: the LVM tools are a seperate package.
++    fallback_to_lvm1 = 0
+ 
+     # The default metadata format that commands should use - "lvm1" or "lvm2".
+     # The command line override is -M1 or -M2.
+@@ -449,12 +453,12 @@
+ 
+ # Metadata settings
+ #
+-# metadata {
++metadata {
+     # Default number of copies of metadata to hold on each PV.  0, 1 or 2.
+     # You might want to override it from the command line with 0 
+     # when running pvcreate on new PVs which are to be added to large VGs.
+-
+-    # pvmetadatacopies = 1
++    # Gentoo: enable for data safety, but PV resize is then disabled.
++    #pvmetadatacopies = 2
+ 
+     # Approximate default size of on-disk metadata areas in sectors.
+     # You should increase this if you have large volume groups or
+@@ -476,7 +480,7 @@
+     # the supplied toolset to make changes (e.g. vgcfgrestore).
+ 
+     # dirs = [ "/etc/lvm/metadata", "/mnt/disk2/lvm/metadata2" ]
+-#}
++}
+ 
+ # Event daemon
+ #
+diff -Nuar LVM2.2.02.67.orig//doc/example.conf.in.orig LVM2.2.02.67//doc/example.conf.in.orig
+--- LVM2.2.02.67.orig//doc/example.conf.in.orig        1970-01-01 00:00:00.000000000 +0000
++++ LVM2.2.02.67//doc/example.conf.in.orig     2010-05-20 13:47:21.000000000 +0000
+@@ -0,0 +1,501 @@
++# This is an example configuration file for the LVM2 system.
++# It contains the default settings that would be used if there was no
++# @DEFAULT_SYS_DIR@/lvm.conf file.
++#
++# Refer to 'man lvm.conf' for further information including the file layout.
++#
++# To put this file in a different directory and override @DEFAULT_SYS_DIR@ set
++# the environment variable LVM_SYSTEM_DIR before running the tools.
++
++
++# This section allows you to configure which block devices should
++# be used by the LVM system.
++devices {
++
++    # Where do you want your volume groups to appear ?
++    dir = "/dev"
++
++    # An array of directories that contain the device nodes you wish
++    # to use with LVM2.
++    scan = [ "/dev" ]
++
++    # If several entries in the scanned directories correspond to the
++    # same block device and the tools need to display a name for device,
++    # all the pathnames are matched against each item in the following
++    # list of regular expressions in turn and the first match is used.
++    preferred_names = [ ]
++
++    # Try to avoid using undescriptive /dev/dm-N names, if present.
++    # preferred_names = [ "^/dev/mpath/", "^/dev/mapper/mpath", "^/dev/[hs]d" ]
++
++    # A filter that tells LVM2 to only use a restricted set of devices.
++    # The filter consists of an array of regular expressions.  These
++    # expressions can be delimited by a character of your choice, and
++    # prefixed with either an 'a' (for accept) or 'r' (for reject).
++    # The first expression found to match a device name determines if
++    # the device will be accepted or rejected (ignored).  Devices that
++    # don't match any patterns are accepted.
++
++    # Be careful if there there are symbolic links or multiple filesystem 
++    # entries for the same device as each name is checked separately against
++    # the list of patterns.  The effect is that if any name matches any 'a'
++    # pattern, the device is accepted; otherwise if any name matches any 'r'
++    # pattern it is rejected; otherwise it is accepted.
++
++    # Don't have more than one filter line active at once: only one gets used.
++
++    # Run vgscan after you change this parameter to ensure that
++    # the cache file gets regenerated (see below).
++    # If it doesn't do what you expect, check the output of 'vgscan -vvvv'.
++
++
++    # By default we accept every block device:
++    filter = [ "a/.*/" ]
++
++    # Exclude the cdrom drive
++    # filter = [ "r|/dev/cdrom|" ]
++
++    # When testing I like to work with just loopback devices:
++    # filter = [ "a/loop/", "r/.*/" ]
++
++    # Or maybe all loops and ide drives except hdc:
++    # filter =[ "a|loop|", "r|/dev/hdc|", "a|/dev/ide|", "r|.*|" ]
++
++    # Use anchors if you want to be really specific
++    # filter = [ "a|^/dev/hda8$|", "r/.*/" ]
++
++    # The results of the filtering are cached on disk to avoid
++    # rescanning dud devices (which can take a very long time).
++    # By default this cache is stored in the @DEFAULT_SYS_DIR@/@DEFAULT_CACHE_SUBDIR@ directory
++    # in a file called '.cache'.
++    # It is safe to delete the contents: the tools regenerate it.
++    # (The old setting 'cache' is still respected if neither of
++    # these new ones is present.)
++    cache_dir = "@DEFAULT_SYS_DIR@/@DEFAULT_CACHE_SUBDIR@"
++    cache_file_prefix = ""
++
++    # You can turn off writing this cache file by setting this to 0.
++    write_cache_state = 1
++
++    # Advanced settings.
++
++    # List of pairs of additional acceptable block device types found 
++    # in /proc/devices with maximum (non-zero) number of partitions.
++    # types = [ "fd", 16 ]
++
++    # If sysfs is mounted (2.6 kernels) restrict device scanning to 
++    # the block devices it believes are valid.
++    # 1 enables; 0 disables.
++    sysfs_scan = 1
++
++    # By default, LVM2 will ignore devices used as components of
++    # software RAID (md) devices by looking for md superblocks.
++    # 1 enables; 0 disables.
++    md_component_detection = 1
++
++    # By default, if a PV is placed directly upon an md device, LVM2
++    # will align its data blocks with the md device's stripe-width.
++    # 1 enables; 0 disables.
++    md_chunk_alignment = 1
++
++    # By default, the start of a PV's data area will be a multiple of
++    # the 'minimum_io_size' or 'optimal_io_size' exposed in sysfs.
++    # - minimum_io_size - the smallest request the device can perform
++    #   w/o incurring a read-modify-write penalty (e.g. MD's chunk size)
++    # - optimal_io_size - the device's preferred unit of receiving I/O
++    #   (e.g. MD's stripe width)
++    # minimum_io_size is used if optimal_io_size is undefined (0).
++    # If md_chunk_alignment is enabled, that detects the optimal_io_size.
++    # This setting takes precedence over md_chunk_alignment.
++    # 1 enables; 0 disables.
++    data_alignment_detection = 1
++
++    # Alignment (in KB) of start of data area when creating a new PV.
++    # If a PV is placed directly upon an md device and md_chunk_alignment or
++    # data_alignment_detection is enabled this parameter is ignored.
++    # Set to 0 for the default alignment of 64KB or page size, if larger.
++    data_alignment = 0
++
++    # By default, the start of the PV's aligned data area will be shifted by
++    # the 'alignment_offset' exposed in sysfs.  This offset is often 0 but
++    # may be non-zero; e.g.: certain 4KB sector drives that compensate for
++    # windows partitioning will have an alignment_offset of 3584 bytes
++    # (sector 7 is the lowest aligned logical block, the 4KB sectors start
++    # at LBA -1, and consequently sector 63 is aligned on a 4KB boundary).
++    # 1 enables; 0 disables.
++    data_alignment_offset_detection = 1
++
++    # If, while scanning the system for PVs, LVM2 encounters a device-mapper
++    # device that has its I/O suspended, it waits for it to become accessible.
++    # Set this to 1 to skip such devices.  This should only be needed
++    # in recovery situations.
++    ignore_suspended_devices = 0
++}
++
++# This section that allows you to configure the nature of the
++# information that LVM2 reports.
++log {
++
++    # Controls the messages sent to stdout or stderr.
++    # There are three levels of verbosity, 3 being the most verbose.
++    verbose = 0
++
++    # Should we send log messages through syslog?
++    # 1 is yes; 0 is no.
++    syslog = 1
++
++    # Should we log error and debug messages to a file?
++    # By default there is no log file.
++    #file = "/var/log/lvm2.log"
++
++    # Should we overwrite the log file each time the program is run?
++    # By default we append.
++    overwrite = 0
++
++    # What level of log messages should we send to the log file and/or syslog?
++    # There are 6 syslog-like log levels currently in use - 2 to 7 inclusive.
++    # 7 is the most verbose (LOG_DEBUG).
++    level = 0
++
++    # Format of output messages
++    # Whether or not (1 or 0) to indent messages according to their severity
++    indent = 1
++
++    # Whether or not (1 or 0) to display the command name on each line output
++    command_names = 0
++
++    # A prefix to use before the message text (but after the command name,
++    # if selected).  Default is two spaces, so you can see/grep the severity
++    # of each message.
++    prefix = "  "
++
++    # To make the messages look similar to the original LVM tools use:
++    #   indent = 0
++    #   command_names = 1
++    #   prefix = " -- "
++
++    # Set this if you want log messages during activation.
++    # Don't use this in low memory situations (can deadlock).
++    # activation = 0
++}
++
++# Configuration of metadata backups and archiving.  In LVM2 when we
++# talk about a 'backup' we mean making a copy of the metadata for the
++# *current* system.  The 'archive' contains old metadata configurations.
++# Backups are stored in a human readeable text format.
++backup {
++
++    # Should we maintain a backup of the current metadata configuration ?
++    # Use 1 for Yes; 0 for No.
++    # Think very hard before turning this off!
++    backup = 1
++
++    # Where shall we keep it ?
++    # Remember to back up this directory regularly!
++    backup_dir = "@DEFAULT_SYS_DIR@/@DEFAULT_BACKUP_SUBDIR@"
++
++    # Should we maintain an archive of old metadata configurations.
++    # Use 1 for Yes; 0 for No.
++    # On by default.  Think very hard before turning this off.
++    archive = 1
++
++    # Where should archived files go ?
++    # Remember to back up this directory regularly!
++    archive_dir = "@DEFAULT_SYS_DIR@/@DEFAULT_ARCHIVE_SUBDIR@"
++
++    # What is the minimum number of archive files you wish to keep ?
++    retain_min = 10
++
++    # What is the minimum time you wish to keep an archive file for ?
++    retain_days = 30
++}
++
++# Settings for the running LVM2 in shell (readline) mode.
++shell {
++
++    # Number of lines of history to store in ~/.lvm_history
++    history_size = 100
++}
++
++
++# Miscellaneous global LVM2 settings
++global {
++
++    # The file creation mask for any files and directories created.
++    # Interpreted as octal if the first digit is zero.
++    umask = 077
++
++    # Allow other users to read the files
++    #umask = 022
++
++    # Enabling test mode means that no changes to the on disk metadata
++    # will be made.  Equivalent to having the -t option on every
++    # command.  Defaults to off.
++    test = 0
++
++    # Default value for --units argument
++    units = "h"
++
++    # Since version 2.02.54, the tools distinguish between powers of
++    # 1024 bytes (e.g. KiB, MiB, GiB) and powers of 1000 bytes (e.g.
++    # KB, MB, GB).
++    # If you have scripts that depend on the old behaviour, set this to 0
++    # temporarily until you update them.
++    si_unit_consistency = 1
++
++    # Whether or not to communicate with the kernel device-mapper.
++    # Set to 0 if you want to use the tools to manipulate LVM metadata 
++    # without activating any logical volumes.
++    # If the device-mapper kernel driver is not present in your kernel
++    # setting this to 0 should suppress the error messages.
++    activation = 1
++
++    # If we can't communicate with device-mapper, should we try running 
++    # the LVM1 tools?
++    # This option only applies to 2.4 kernels and is provided to help you
++    # switch between device-mapper kernels and LVM1 kernels.
++    # The LVM1 tools need to be installed with .lvm1 suffices
++    # e.g. vgscan.lvm1 and they will stop working after you start using
++    # the new lvm2 on-disk metadata format.
++    # The default value is set when the tools are built.
++    # fallback_to_lvm1 = 0
++
++    # The default metadata format that commands should use - "lvm1" or "lvm2".
++    # The command line override is -M1 or -M2.
++    # Defaults to "lvm2".
++    # format = "lvm2"
++
++    # Location of proc filesystem
++    proc = "/proc"
++
++    # Type of locking to use. Defaults to local file-based locking (1).
++    # Turn locking off by setting to 0 (dangerous: risks metadata corruption
++    # if LVM2 commands get run concurrently).
++    # Type 2 uses the external shared library locking_library.
++    # Type 3 uses built-in clustered locking.
++    # Type 4 uses read-only locking which forbids any operations that might 
++    # change metadata.
++    locking_type = 1
++
++    # Set to 0 to fail when a lock request cannot be satisfied immediately.
++    wait_for_locks = 1
++
++    # If using external locking (type 2) and initialisation fails,
++    # with this set to 1 an attempt will be made to use the built-in
++    # clustered locking.
++    # If you are using a customised locking_library you should set this to 0.
++    fallback_to_clustered_locking = 1
++
++    # If an attempt to initialise type 2 or type 3 locking failed, perhaps
++    # because cluster components such as clvmd are not running, with this set
++    # to 1 an attempt will be made to use local file-based locking (type 1).
++    # If this succeeds, only commands against local volume groups will proceed.
++    # Volume Groups marked as clustered will be ignored.
++    fallback_to_local_locking = 1
++
++    # Local non-LV directory that holds file-based locks while commands are
++    # in progress.  A directory like /tmp that may get wiped on reboot is OK.
++    locking_dir = "@DEFAULT_LOCK_DIR@"
++
++    # Whenever there are competing read-only and read-write access requests for
++    # a volume group's metadata, instead of always granting the read-only
++    # requests immediately, delay them to allow the read-write requests to be
++    # serviced.  Without this setting, write access may be stalled by a high
++    # volume of read-only requests.
++    # NB. This option only affects locking_type = 1 viz. local file-based
++    # locking.
++    prioritise_write_locks = 1
++
++    # Other entries can go here to allow you to load shared libraries
++    # e.g. if support for LVM1 metadata was compiled as a shared library use
++    #   format_libraries = "liblvm2format1.so" 
++    # Full pathnames can be given.
++
++    # Search this directory first for shared libraries.
++    #   library_dir = "/lib"
++
++    # The external locking library to load if locking_type is set to 2.
++    #   locking_library = "liblvm2clusterlock.so"
++
++    # Treat any internal errors as fatal errors, aborting the process that
++    # encountered the internal error. Please only enable for debugging.
++    abort_on_internal_errors = 0
++}
++
++activation {
++    # Set to 0 to disable udev synchronisation (if compiled into the binaries).
++    # Processes will not wait for notification from udev.
++    # They will continue irrespective of any possible udev processing
++    # in the background.  You should only use this if udev is not running
++    # or has rules that ignore the devices LVM2 creates.
++    # The command line argument --nodevsync takes precedence over this setting.
++    # If set to 1 when udev is not running, and there are LVM2 processes
++    # waiting for udev, run 'dmsetup udevcomplete_all' manually to wake them up.
++    udev_sync = 1
++
++    # Set to 0 to disable the udev rules installed by LVM2 (if built with
++    # --enable-udev_rules). LVM2 will then manage the /dev nodes and symlinks
++    # for active logical volumes directly itself.
++    # N.B. Manual intervention may be required if this setting is changed
++    # while any logical volumes are active.
++    udev_rules = 1
++
++    # How to fill in missing stripes if activating an incomplete volume.
++    # Using "error" will make inaccessible parts of the device return
++    # I/O errors on access.  You can instead use a device path, in which 
++    # case, that device will be used to in place of missing stripes.
++    # But note that using anything other than "error" with mirrored 
++    # or snapshotted volumes is likely to result in data corruption.
++    missing_stripe_filler = "error"
++
++    # How much stack (in KB) to reserve for use while devices suspended
++    reserved_stack = 256
++
++    # How much memory (in KB) to reserve for use while devices suspended
++    reserved_memory = 8192
++
++    # Nice value used while devices suspended
++    process_priority = -18
++
++    # If volume_list is defined, each LV is only activated if there is a
++    # match against the list.
++    #   "vgname" and "vgname/lvname" are matched exactly.
++    #   "@tag" matches any tag set in the LV or VG.
++    #   "@*" matches if any tag defined on the host is also set in the LV or VG
++    #
++    # volume_list = [ "vg1", "vg2/lvol1", "@tag1", "@*" ]
++
++    # Size (in KB) of each copy operation when mirroring
++    mirror_region_size = 512
++
++    # Setting to use when there is no readahead value stored in the metadata.
++    #
++    # "none" - Disable readahead.
++    # "auto" - Use default value chosen by kernel.
++    readahead = "auto"
++
++    # 'mirror_image_fault_policy' and 'mirror_log_fault_policy' define
++    # how a device failure affecting a mirror is handled.
++    # A mirror is composed of mirror images (copies) and a log.
++    # A disk log ensures that a mirror does not need to be re-synced
++    # (all copies made the same) every time a machine reboots or crashes.
++    #
++    # In the event of a failure, the specified policy will be used to determine
++    # what happens. This applies to automatic repairs (when the mirror is being
++    # monitored by dmeventd) and to manual lvconvert --repair when
++    # --use-policies is given.
++    #
++    # "remove" - Simply remove the faulty device and run without it.  If
++    #            the log device fails, the mirror would convert to using
++    #            an in-memory log.  This means the mirror will not
++    #            remember its sync status across crashes/reboots and
++    #            the entire mirror will be re-synced.  If a
++    #            mirror image fails, the mirror will convert to a
++    #            non-mirrored device if there is only one remaining good
++    #            copy.
++    #
++    # "allocate" - Remove the faulty device and try to allocate space on
++    #            a new device to be a replacement for the failed device.
++    #            Using this policy for the log is fast and maintains the
++    #            ability to remember sync state through crashes/reboots.
++    #            Using this policy for a mirror device is slow, as it
++    #            requires the mirror to resynchronize the devices, but it
++    #            will preserve the mirror characteristic of the device.
++    #            This policy acts like "remove" if no suitable device and
++    #            space can be allocated for the replacement.
++    #
++    # "allocate_anywhere" - Not yet implemented. Useful to place the log device
++    #            temporarily on same physical volume as one of the mirror
++    #            images. This policy is not recommended for mirror devices
++    #            since it would break the redundant nature of the mirror. This
++    #            policy acts like "remove" if no suitable device and space can
++    #            be allocated for the replacement.
++
++    mirror_log_fault_policy = "allocate"
++    mirror_image_fault_policy = "remove"
++
++    # While activating devices, I/O to devices being (re)configured is
++    # suspended, and as a precaution against deadlocks, LVM2 needs to pin
++    # any memory it is using so it is not paged out.  Groups of pages that
++    # are known not to be accessed during activation need not be pinned
++    # into memory.  Each string listed in this setting is compared against
++    # each line in /proc/self/maps, and the pages corresponding to any
++    # lines that match are not pinned.  On some systems locale-archive was
++    # found to make up over 80% of the memory used by the process.
++    # mlock_filter = [ "locale/locale-archive", "gconv/gconv-modules.cache" ]
++
++    # Set to 1 to revert to the default behaviour prior to version 2.02.62
++    # which used mlockall() to pin the whole process's memory while activating
++    # devices.
++    use_mlockall = 0
++
++    # Monitoring is enabled by default when activating logical volumes.
++    # Set to 0 to disable monitoring or use the --ignoremonitoring option.
++    monitoring = 1
++
++    # When pvmove or lvconvert must wait for the kernel to finish
++    # synchronising or merging data, they check and report progress
++    # at intervals of this number of seconds.  The default is 15 seconds.
++    # If this is set to 0 and there is only one thing to wait for, there
++    # are no progress reports, but the process is awoken immediately the
++    # operation is complete.
++    polling_interval = 15
++}
++
++
++####################
++# Advanced section #
++####################
++
++# Metadata settings
++#
++# metadata {
++    # Default number of copies of metadata to hold on each PV.  0, 1 or 2.
++    # You might want to override it from the command line with 0 
++    # when running pvcreate on new PVs which are to be added to large VGs.
++
++    # pvmetadatacopies = 1
++
++    # Approximate default size of on-disk metadata areas in sectors.
++    # You should increase this if you have large volume groups or
++    # you want to retain a large on-disk history of your metadata changes.
++
++    # pvmetadatasize = 255
++
++    # List of directories holding live copies of text format metadata.
++    # These directories must not be on logical volumes!
++    # It's possible to use LVM2 with a couple of directories here,
++    # preferably on different (non-LV) filesystems, and with no other 
++    # on-disk metadata (pvmetadatacopies = 0). Or this can be in
++    # addition to on-disk metadata areas.
++    # The feature was originally added to simplify testing and is not
++    # supported under low memory situations - the machine could lock up.
++    #
++    # Never edit any files in these directories by hand unless you
++    # you are absolutely sure you know what you are doing! Use
++    # the supplied toolset to make changes (e.g. vgcfgrestore).
++
++    # dirs = [ "/etc/lvm/metadata", "/mnt/disk2/lvm/metadata2" ]
++#}
++
++# Event daemon
++#
++dmeventd {
++    # mirror_library is the library used when monitoring a mirror device.
++    #
++    # "libdevmapper-event-lvm2mirror.so" attempts to recover from
++    # failures.  It removes failed devices from a volume group and
++    # reconfigures a mirror as necessary. If no mirror library is
++    # provided, mirrors are not monitored through dmeventd.
++
++    mirror_library = "libdevmapper-event-lvm2mirror.so"
++
++    # snapshot_library is the library used when monitoring a snapshot device.
++    #
++    # "libdevmapper-event-lvm2snapshot.so" monitors the filling of
++    # snapshots and emits a warning through syslog, when the use of
++    # snapshot exceedes 80%. The warning is repeated when 85%, 90% and
++    # 95% of the snapshot are filled.
++
++    snapshot_library = "libdevmapper-event-lvm2snapshot.so"
++}
diff --git a/sys-fs/lvm2/files/lvm2-2.02.64-dmeventd-libs.patch b/sys-fs/lvm2/files/lvm2-2.02.64-dmeventd-libs.patch
new file mode 100644 (file)
index 0000000..3a53639
--- /dev/null
@@ -0,0 +1,15 @@
+X-Gentoo-Bug: 318513
+X-Gentoo-Bug-URL: http://bugs.gentoo.org/show_bug.cgi?id=318513
+
+diff -ur LVM2.2.02.64/daemons/dmeventd/plugins/lvm2/Makefile.in LVM2.2.02.64.new/daemons/dmeventd/plugins/lvm2/Makefile.in
+--- LVM2.2.02.64/daemons/dmeventd/plugins/lvm2/Makefile.in     2010-04-09 23:42:49.000000000 +0200
++++ LVM2.2.02.64.new/daemons/dmeventd/plugins/lvm2/Makefile.in 2010-05-04 13:18:07.886389742 +0200
+@@ -24,7 +24,7 @@
+ 
+ include $(top_builddir)/make.tmpl
+ 
+-LIBS += @LVM2CMD_LIB@ -ldevmapper $(PTHREAD_LIBS)
++LIBS += @LVM2CMD_LIB@ -ldevmapper -ldevmapper-event $(PTHREAD_LIBS)
+ 
+ install_lvm2: install_lib_shared
+ 
diff --git a/sys-fs/lvm2/files/lvm2-2.02.67-createinitrd.patch b/sys-fs/lvm2/files/lvm2-2.02.67-createinitrd.patch
new file mode 100644 (file)
index 0000000..7f0bfb8
--- /dev/null
@@ -0,0 +1,18 @@
+X-Gentoo-Bug-URL: http://bugs.gentoo.org/show_bug.cgi?id=301331
+X-Gentoo-Bug: 301331
+
+diff -Nuar LVM2.2.02.67.orig/scripts/lvm2create_initrd/lvm2create_initrd LVM2.2.02.67/scripts/lvm2create_initrd/lvm2create_initrd
+--- LVM2.2.02.67.orig/scripts/lvm2create_initrd/lvm2create_initrd      2010-06-07 18:44:34.182980475 +0000
++++ LVM2.2.02.67/scripts/lvm2create_initrd/lvm2create_initrd   2010-06-07 18:51:27.636312899 +0000
+@@ -469,9 +469,9 @@
+ rmdir $TMPMNT/lost+found
+ 
+ echo "$cmd -- ummounting ram disk"
+-umount $DEVRAM
++umount $TMPMNT
+ if [ $? -ne 0 ]; then
+-   echo "$cmd -- ERROR umounting $DEVRAM"
++   echo "$cmd -- ERROR umounting $TMPMNT"
+    cleanup 1
+ fi
+ 
diff --git a/sys-fs/lvm2/lvm2-2.02.67.ebuild b/sys-fs/lvm2/lvm2-2.02.67.ebuild
new file mode 100644 (file)
index 0000000..eaca264
--- /dev/null
@@ -0,0 +1,253 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/lvm2/lvm2-2.02.67.ebuild,v 1.1 2010/06/07 22:31:29 robbat2 Exp $
+
+EAPI=2
+inherit eutils multilib toolchain-funcs autotools
+
+DESCRIPTION="User-land utilities for LVM2 (device-mapper) software."
+HOMEPAGE="http://sources.redhat.com/lvm2/"
+SRC_URI="ftp://sources.redhat.com/pub/lvm2/${PN/lvm/LVM}.${PV}.tgz
+                ftp://sources.redhat.com/pub/lvm2/old/${PN/lvm/LVM}.${PV}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+
+IUSE="readline +static clvm cman +lvm1 selinux"
+
+DEPEND_COMMON="!!sys-fs/device-mapper
+       clvm? ( =sys-cluster/dlm-2*
+                       cman? ( =sys-cluster/cman-2* ) )
+       || ( >=sys-fs/udev-151-r2 =sys-fs/udev-146-r3 )"
+
+RDEPEND="${DEPEND_COMMON}
+       !<sys-apps/openrc-0.4
+       !!sys-fs/lvm-user
+       !!sys-fs/clvm
+       >=sys-apps/util-linux-2.16"
+
+DEPEND="${DEPEND_COMMON}
+               dev-util/pkgconfig"
+
+S="${WORKDIR}/${PN/lvm/LVM}.${PV}"
+
+pkg_setup() {
+       # 1. Genkernel no longer copies /sbin/lvm blindly.
+       # 2. There are no longer any linking deps in /usr.
+       if use static; then
+               elog "Warning, we no longer overwrite /sbin/lvm and /sbin/dmsetup with"
+               elog "their static versions. If you need the static binaries,"
+               elog "you must append .static the filename!"
+       fi
+}
+
+src_unpack() {
+       unpack ${A}
+}
+
+src_prepare() {
+       epatch "${FILESDIR}"/lvm.conf-2.02.67.patch
+
+       # Should not be needed due to upstream re-arrangement of build
+       #epatch "${FILESDIR}"/${PN}-2.02.56-dmeventd.patch
+       # Should not be need with new upstream udev rules
+       #epatch "${FILESDIR}"/${PN}-2.02.56-device-mapper-export-format.patch
+
+       # Merged upstream:
+       #epatch "${FILESDIR}"/${PN}-2.02.51-as-needed.patch
+       # Merged upstream:
+       #epatch "${FILESDIR}"/${PN}-2.02.48-fix-pkgconfig.patch
+       # Merged upstream:
+       #epatch "${FILESDIR}"/${PN}-2.02.51-fix-pvcreate.patch
+       # Fixed differently upstream:
+       #epatch "${FILESDIR}"/${PN}-2.02.51-dmsetup-selinux-linking-fix-r3.patch
+
+       epatch "${FILESDIR}"/${PN}-2.02.63-always-make-static-libdm.patch
+       epatch "${FILESDIR}"/lvm2-2.02.56-lvm2create_initrd.patch
+       # bug 318513
+       epatch "${FILESDIR}"/${PN}-2.02.64-dmeventd-libs.patch
+       # bug 301331
+       epatch "${FILESDIR}"/${PN}-2.02.67-createinitrd.patch
+
+       eautoreconf
+}
+
+src_configure() {
+       local myconf
+       local buildmode
+
+       myconf="${myconf} --enable-dmeventd"
+       myconf="${myconf} --enable-cmdlib"
+       myconf="${myconf} --enable-applib"
+       myconf="${myconf} --enable-fsadm"
+
+       # Most of this package does weird stuff.
+       # The build options are tristate, and --without is NOT supported
+       # options: 'none', 'internal', 'shared'
+       if use static ; then
+               einfo "Building static LVM, for usage inside genkernel"
+               buildmode="internal"
+               # This only causes the .static versions to become available
+               # For recent systems, there are no linkages against anything in /usr anyway.
+               # We explicitly provide the .static versions so that they can be included in
+               # initramfs environments.
+               myconf="${myconf} --enable-static_link"
+       else
+               ewarn "Building shared LVM, it will not work inside genkernel!"
+               buildmode="shared"
+       fi
+
+       # dmeventd requires mirrors to be internal, and snapshot available
+       # so we cannot disable them
+       myconf="${myconf} --with-mirrors=internal"
+       myconf="${myconf} --with-snapshots=internal"
+
+       if use lvm1 ; then
+               myconf="${myconf} --with-lvm1=${buildmode}"
+       else
+               myconf="${myconf} --with-lvm1=none"
+       fi
+
+       # disable O_DIRECT support on hppa, breaks pv detection (#99532)
+       use hppa && myconf="${myconf} --disable-o_direct"
+
+       if use clvm; then
+               myconf="${myconf} --with-cluster=${buildmode}"
+               # 4-state! Make sure we get it right, per bug 210879
+               # Valid options are: none, cman, gulm, all
+               #
+               # 2009/02:
+               # gulm is removed now, now dual-state:
+               # cman, none
+               # all still exists, but is not needed
+               #
+               # 2009/07:
+               # TODO: add corosync and re-enable ALL
+               local clvmd=""
+               use cman && clvmd="cman"
+               #clvmd="${clvmd/cmangulm/all}"
+               [ -z "${clvmd}" ] && clvmd="none"
+               myconf="${myconf} --with-clvmd=${clvmd}"
+               myconf="${myconf} --with-pool=${buildmode}"
+       else
+               myconf="${myconf} --with-clvmd=none --with-cluster=none"
+       fi
+
+       myconf="${myconf}
+                       --sbindir=/sbin 
+                       --with-staticdir=/sbin
+                       --with-dmeventd-path=/sbin/dmeventd"
+       econf $(use_enable readline) \
+               $(use_enable selinux) \
+               --enable-pkgconfig \
+               --libdir=/$(get_libdir) \
+               --with-usrlibdir=/usr/$(get_libdir) \
+               --enable-udev_rules \
+               --enable-udev_sync \
+               --with-udevdir=/$(get_libdir)/udev/rules.d/ \
+               ${myconf} \
+               CLDFLAGS="${LDFLAGS}" || die
+}
+
+src_compile() {
+       einfo "Doing symlinks"
+       pushd include
+       emake || die "Failed to prepare symlinks"
+       popd
+
+       einfo "Starting main build"
+       emake || die "compile fail"
+}
+
+src_install() {
+       emake DESTDIR="${D}" install || die "Failed to emake install"
+
+       # All of this was change by upstream, and if we don't get any problems, we
+       # can probably drop it in .65
+       #X## Revamp all of our library handling for bug #316571
+       #X## Upstream build script puts a lot of this stuff into /usr/lib regardless of
+       #X## libdir variable.
+       #X#dodir /$(get_libdir)
+       #X## .so -> /$(get_libdir)
+       #X#mv -f "${D}"/usr/lib/lib*.so* "${D}"/$(get_libdir)
+       #X#[[ "$(get_libdir)" != "lib" ]] && \
+       #X#     mv "${D}"/usr/$(get_libdir)/lib*.so* "${D}"/$(get_libdir)
+       #X## .a -> /usr/$(get_libdir)
+       #X#[[ "$(get_libdir)" != "lib" ]] && \
+       #X#     mv -f "${D}"/usr/lib/lib*.a "${D}"/usr/$(get_libdir)
+       #X## The upstream symlinks are borked. lets rebuild them instead.
+       #X#find "${D}"/{usr,}/{lib,$(get_libdir)} -type l \
+       #X#     | xargs rm -f 2>/dev/null
+       #X#for i in "${D}"/$(get_libdir)/*.so.* ; do
+       #X#     b="${i//*\/}" o="${b/.so.*/.so}"
+       #X#     ln -s "${b}" "${D}/$(get_libdir)/${o}"
+       #X#done
+       #X## Now enable building properly
+       #X#for i in \
+       #X#     libdevmapper-event{,-lvm2{,mirror,snapshot}} \
+       #X#     libdevmapper \
+       #X#     liblvm2{format1,snapshot,cmd,app} \
+       #X#     ; do
+       #X#     gen_usr_ldscript ${i}.so || die
+       #X#done
+
+       dodoc README VERSION WHATS_NEW doc/*.{conf,c,txt}
+       insinto /$(get_libdir)/rcscripts/addons
+       newins "${FILESDIR}"/lvm2-start.sh-2.02.49-r3 lvm-start.sh || die
+       newins "${FILESDIR}"/lvm2-stop.sh-2.02.49-r3 lvm-stop.sh || die
+       newinitd "${FILESDIR}"/lvm.rc-2.02.51-r2 lvm || die
+       newconfd "${FILESDIR}"/lvm.confd-2.02.28-r2 lvm || die
+       if use clvm; then
+               newinitd "${FILESDIR}"/clvmd.rc-2.02.39 clvmd || die
+               newconfd "${FILESDIR}"/clvmd.confd-2.02.39 clvmd || die
+       fi
+
+       # move shared libs to /lib(64)
+       dolib.a libdm/ioctl/libdevmapper.a || die "dolib.a libdevmapper.a"
+       #gen_usr_ldscript libdevmapper.so
+
+       dosbin "${S}"/scripts/lvm2create_initrd/lvm2create_initrd
+       doman  "${S}"/scripts/lvm2create_initrd/lvm2create_initrd.8
+       newdoc "${S}"/scripts/lvm2create_initrd/README README.lvm2create_initrd
+
+       insinto /etc
+       doins "${FILESDIR}"/dmtab
+       insinto /$(get_libdir)/rcscripts/addons
+       doins "${FILESDIR}"/dm-start.sh
+
+       # Device mapper stuff
+       newinitd "${FILESDIR}"/device-mapper.rc-1.02.51-r2 device-mapper || die
+       newconfd "${FILESDIR}"/device-mapper.conf-1.02.22-r3 device-mapper || die
+
+       newinitd "${FILESDIR}"/1.02.22-dmeventd.initd dmeventd || die
+       dolib.a daemons/dmeventd/libdevmapper-event.a \
+       || die "dolib.a libdevmapper-event.a"
+       #gen_usr_ldscript libdevmapper-event.so
+
+       #insinto /etc/udev/rules.d/
+       #newins "${FILESDIR}"/64-device-mapper.rules-2.02.56-r3 64-device-mapper.rules || die
+
+       # do not rely on /lib -> /libXX link
+       sed -e "s-/lib/rcscripts/-/$(get_libdir)/rcscripts/-" -i "${D}"/etc/init.d/*
+
+       elog "USE flag nocman is deprecated and replaced"
+       elog "with the cman USE flag."
+       elog ""
+       elog "USE flags clvm and cman are masked"
+       elog "by default and need to be unmasked to use them"
+       elog ""
+       elog "If you are using genkernel and root-on-LVM, rebuild the initramfs."
+}
+
+pkg_postinst() {
+       elog "lvm volumes are no longer automatically created for"
+       elog "baselayout-2 users. If you are using baselayout-2, be sure to"
+       elog "run: # rc-update add lvm boot"
+       elog "Do NOT add it if you are using baselayout-1 still."
+}
+
+src_test() {
+       einfo "Testcases disabled because of device-node mucking"
+       einfo "If you want them, compile the package and see ${S}/tests"
+}