summaryrefslogtreecommitdiffstats
path: root/abs/core/lvm2/PKGBUILD
blob: e31f8a81e7be8939b34824713230cb03900e210e (plain)
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
# $Id: PKGBUILD 199802 2013-11-16 17:53:26Z thomas $
# Maintainer: Eric Bélanger <eric@archlinux.org>
# Maintainer: Thomas Bächler <thomas@archlinux.org>

pkgbase=lvm2
pkgname=('lvm2' 'device-mapper')
pkgver=2.02.104
pkgrel=1
arch=('i686' 'x86_64')
url="http://sourceware.org/lvm2/"
license=('GPL2' 'LGPL2.1')
makedepends=('systemd' 'thin-provisioning-tools')
groups=('base')
source=(ftp://sources.redhat.com/pub/lvm2/LVM2.${pkgver}.tgz{,.asc}
        lvm2_install
        lvm2_hook
        sd-lvm2
        11-dm-initramfs.rules
        lvm2.conf
        dmeventd.service
        dmeventd.socket
        lvm-monitoring.service
        lvmetad.service
        lvmetad.socket)
sha1sums=('4c296453e10deafe02004fde40075cdb3792eeb2'
          'SKIP'
          '76e83966d1bc84f9a1e30bcaff84b8b8fefbca0f'
          'ff0fdf0a3005a41acd4b36865056109effc3474b'
          '30777d42e31cb7fe1f4fadc1e8f4c4d4cdd8ffed'
          'f6a554eea9557c3c236df2943bb6e7e723945c41'
          'ccefad65fde3d50331a42b0e90a1539dc7c8b9e4'
          '01782ce8e10718c1513e3906b126f30f682f5cab'
          '1d56f47a81350ae37ffbf61ee036fe31f4c5d504'
          'aad90fce0e12eda41d38571d8eb27c5d5a8c59ec'
          'f857a4a63fcc604a981e56875edda91767d4f1bf'
          'fcfc265e3b10294cc4b10949a342e9db4310b186')

prepare() {
  cd LVM2.${pkgver}
  # enable lvmetad
  sed -i 's|use_lvmetad = 0|use_lvmetad = 1|' conf/example.conf.in
}

build() {
  cd LVM2.${pkgver}
  unset LDFLAGS

  ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --sbindir=/usr/bin \
    --with-udev-prefix=/usr --with-systemdsystemunitdir=/usr/lib/systemd/system \
    --with-default-pid-dir=/run --with-default-dm-run-dir=/run --with-default-run-dir=/run/lvm \
    --enable-pkgconfig --enable-readline --enable-dmeventd --enable-cmdlib --enable-applib \
    --enable-udev_sync --enable-udev_rules --with-default-locking-dir=/run/lock/lvm \
    --enable-lvmetad --with-thin=internal
  make
}

package_device-mapper() {
  pkgdesc="Device mapper userspace library and tools"
  url="http://sourceware.org/dm/"
  depends=('glibc' 'systemd')

  cd LVM2.${pkgver}
  make DESTDIR="${pkgdir}" install_device-mapper
  # extra udev rule for device-mapper in initramfs
  install -D -m644 "${srcdir}/11-dm-initramfs.rules" "${pkgdir}/usr/lib/initcpio/udev/11-dm-initramfs.rules"
  # Install dmeventd socket and service
  install -D -m644 "${srcdir}/dmeventd.service" "${pkgdir}/usr/lib/systemd/system/dmeventd.service"
  install -D -m644 "${srcdir}/dmeventd.socket" "${pkgdir}/usr/lib/systemd/system/dmeventd.socket"
  install -d -m755 "${pkgdir}/usr/lib/systemd/system/sockets.target.wants"
  ln -sf /usr/lib/systemd/system/dmeventd.socket "${pkgdir}/usr/lib/systemd/system/sockets.target.wants/dmeventd.socket"
}

package_lvm2() {
  pkgdesc="Logical Volume Manager 2 utilities"
  depends=('bash' "device-mapper>=${pkgver}" 'systemd' 'readline')
  conflicts=('lvm' 'mkinitcpio<0.7')
  backup=('etc/lvm/lvm.conf')
  options=('!makeflags')
  optdepends=('thin-provisioning-tools: For thin provisioning support.')
  install=lvm2.install

  cd LVM2.${pkgver}
  make DESTDIR="${pkgdir}" install_lvm2
  # install applib
  make -C liblvm DESTDIR="${pkgdir}" install
  # /etc directories
  install -d "${pkgdir}"/etc/lvm/{archive,backup}
  # mkinitcpio hook
  install -D -m644 "${srcdir}/lvm2_hook" "${pkgdir}/usr/lib/initcpio/hooks/lvm2"
  install -D -m644 "${srcdir}/lvm2_install" "${pkgdir}/usr/lib/initcpio/install/lvm2"
  install -D -m644 "${srcdir}/sd-lvm2" "${pkgdir}/usr/lib/initcpio/install/sd-lvm2"
  # systemd support
  install -D -m644 "${srcdir}/lvm2.conf" "${pkgdir}/usr/lib/tmpfiles.d/lvm2.conf"
  install -D -m644 "${srcdir}/lvm-monitoring.service" "${pkgdir}/usr/lib/systemd/system/lvm-monitoring.service"
  install -D -m644 "${srcdir}/lvmetad.service" "${pkgdir}/usr/lib/systemd/system/lvmetad.service"
  install -D -m644 "${srcdir}/lvmetad.socket" "${pkgdir}/usr/lib/systemd/system/lvmetad.socket"
  install -d -m755 "${pkgdir}/usr/lib/systemd/system/sockets.target.wants"
  ln -sf /usr/lib/systemd/system/lvmetad.socket "${pkgdir}/usr/lib/systemd/system/sockets.target.wants/lvmetad.socket"
}