summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/lvm2/package.py
blob: 8420c62f669ee266b630944c75f2bb207dba2c2b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)


class Lvm2(AutotoolsPackage, SourcewarePackage):
    """LVM2 is the userspace toolset that provides logical volume
    management facilities on linux.

    To use it you need 3 things: device-mapper in your kernel, the userspace
    device-mapper support library (libdevmapper) and the userspace LVM2 tools
    (dmsetup). These userspace components, and associated header files, are
    provided by this package.

    See http://sources.redhat.com/dm/ for additional information
    about the device-mapper kernel and userspace components.
    """

    homepage = "https://www.sourceware.org/lvm2"
    sourceware_mirror_path = 'lvm2/LVM2.2.03.14.tgz'

    version('2.03.14', sha256='4a63bc8a084a8ae3c7bc5e6530cac264139d218575c64416c8b99e3fe039a05c')
    version('2.03.05', sha256='ca52815c999b20c6d25e3192f142f081b93d01f07b9d787e99664b169dba2700')
    version('2.03.04', sha256='f151f36fc0039997d2d9369b607b9262568b1a268afe19fd1535807355402142')
    version('2.03.03', sha256='cedefa63ec5ae1b62fedbfddfc30706c095be0fc7c6aaed6fd1c50bc8c840dde')
    version('2.03.02', sha256='550ba750239fd75b7e52c9877565cabffef506bbf6d7f6f17b9700dee56c720f')
    version('2.03.01', sha256='424e58b074195ec08e0315fa1aff2550590998c33aea5c43bdceb8c1d135530b')
    version('2.03.00', sha256='405992bf76960e60c7219d84d5f1e22edc34422a1ea812e21b2ac3c813d0da4e')

    def url_for_version(self, version):
        url = "https://sourceware.org/pub/lvm2/releases/LVM2.{0}.tgz"
        return url.format(version)

    variant('pkgconfig', default=True,
            description='install pkgconfig support')

    depends_on('libaio')
    depends_on('pkgconfig', type='build', when='+pkgconfig')

    conflicts('platform=darwin',
              msg='lvm2 depends on libaio which does not support Darwin')

    def configure_args(self):
        return [
            '--with-confdir={0}'.format(self.prefix.etc),
            '--with-default-system-dir={0}'.format(self.prefix.etc.lvm)
        ] + self.enable_or_disable('pkgconfig')