diff --git a/trunk/PKGBUILD b/trunk/PKGBUILD index 6bd3a54..4b0abad 100644 --- a/trunk/PKGBUILD +++ b/trunk/PKGBUILD @@ -1,31 +1,151 @@ # Maintainer: Felix Yan -pkgname=libblockdev +pkgbase=libblockdev +pkgname=(libblockdev + libblockdev-btrfs + libblockdev-crypto + libblockdev-dm + libblockdev-fs + libblockdev-kbd + libblockdev-loop + libblockdev-lvm + libblockdev-mdraid + libblockdev-mpath + libblockdev-nvdimm + libblockdev-part + libblockdev-swap + libblockdev-vdo) pkgver=2.28 pkgrel=1 pkgdesc="A library for manipulating block devices" arch=('x86_64') url="https://github.com/rhinstaller/libblockdev" license=('LGPL') -depends=('btrfs-progs' 'dosfstools' 'dmraid' 'gptfdisk' 'libbytesize' 'lvm2' 'mdadm' 'ndctl' - 'parted' 'volume_key' 'xfsprogs' 'kmod' 'libyaml') -makedepends=('autoconf-archive' 'gobject-introspection' 'systemd' 'python') +makedepends=('autoconf-archive' 'gobject-introspection' 'systemd' 'python' + 'dmraid' 'glib2' 'kmod' 'lvm2' 'libbytesize' 'libyaml' 'ndctl' + 'parted' 'volume_key') source=("$pkgname-$pkgver.tar.gz::https://github.com/rhinstaller/libblockdev/archive/$pkgver-1.tar.gz") sha512sums=('22d594604ea6cefe7ad5567037cdebaabac6289757cef9f3cc02dcb585aaa418d227b107363943029988a2c5689a730a746444ed141e1b7b644b9e3dd69647b6') build() { - cd "$srcdir"/$pkgname-$pkgver-1 + cd "$srcdir"/$pkgbase-$pkgver-1 ./autogen.sh ./configure --prefix=/usr --sysconfdir=/etc --without-lvm_dbus + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool make } check() { - cd "$srcdir"/$pkgname-$pkgver-1 + cd "$srcdir"/$pkgbase-$pkgver-1 make check } -package() { - cd "$srcdir"/$pkgname-$pkgver-1 +_pick() { + local p="$1" f d; shift + for f; do + d="$srcdir/$p/${f#$pkgdir/}" + mkdir -p "$(dirname "$d")" + mv "$f" "$d" + rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")" + done +} + +package_libblockdev() { + depends=('glib2' 'kmod' 'libbytesize' 'systemd-libs') + cd "$srcdir"/$pkgbase-$pkgver-1 make DESTDIR="$pkgdir" install + + cd "$pkgdir" + _pick libblockdev-btrfs usr/lib/libbd_btrfs.so* + _pick libblockdev-crypto usr/lib/libbd_crypto.so* + _pick libblockdev-dm usr/lib/libbd_dm.so* + _pick libblockdev-fs usr/lib/libbd_fs.so* + _pick libblockdev-kbd usr/lib/libbd_kbd.so* + _pick libblockdev-loop usr/lib/libbd_loop.so* + _pick libblockdev-lvm usr/lib/libbd_lvm.so* + _pick libblockdev-mdraid usr/lib/libbd_mdraid.so* + _pick libblockdev-mpath usr/lib/libbd_mpath.so* + _pick libblockdev-nvdimm usr/lib/libbd_nvdimm.so* + _pick libblockdev-part usr/lib/libbd_part.so* + _pick libblockdev-swap usr/lib/libbd_swap.so* + _pick libblockdev-vdo usr/lib/libbd_vdo.so* +} + +package_libblockdev-btrfs() { + pkgdesc="BTRFS plugin for libblockdev" + depends=('libblockdev' 'btrfs-progs') + mv -v $pkgname/* "$pkgdir" +} + +package_libblockdev-crypto() { + pkgdesc="LUKS plugin for libblockdev" + depends=('libblockdev' 'volume_key') + mv -v $pkgname/* "$pkgdir" +} + +package_libblockdev-dm() { + pkgdesc="Device Mapper plugin for libblockdev" + depends=('libblockdev' 'dmraid') + mv -v $pkgname/* "$pkgdir" +} + +package_libblockdev-fs() { + pkgdesc="File Systems plugin for libblockdev" + depends=('libblockdev' 'parted') + optdepends=('dosfstools' 'exfatprogs' 'f2fs-tools' 'nilfs-utils' 'ntfs-3g' 'udftools' 'xfsprogs') + mv -v $pkgname/* "$pkgdir" +} + +package_libblockdev-kbd() { + pkgdesc="Kernel Block Devices plugin for libblockdev" + depends=('libblockdev') + mv -v $pkgname/* "$pkgdir" +} + +package_libblockdev-mdraid() { + pkgdesc="MD RAID plugin for libblockdev" + depends=('libblockdev' 'mdadm') + mv -v $pkgname/* "$pkgdir" +} + +package_libblockdev-mpath() { + pkgdesc="Multipath device plugin for libblockdev" + depends=('libblockdev' 'multipath-tools') + mv -v $pkgname/* "$pkgdir" +} + +package_libblockdev-loop() { + pkgdesc+="Loop device plugin for libblockdev" + depends=('libblockdev') + mv -v $pkgname/* "$pkgdir" +} + +package_libblockdev-lvm() { + pkgdesc+="LVM2 plugin for libblockdev" + depends=('libblockdev' 'lvm2') + mv -v $pkgname/* "$pkgdir" +} + +package_libblockdev-nvdimm() { + pkgdesc="NVDIMM plugin for libblockdev" + depends=('libblockdev' 'ndctl') + mv -v $pkgname/* "$pkgdir" +} + +package_libblockdev-part() { +pkgdesc="Partitioning plugin for libblockdev" + depends=('libblockdev' 'parted') + mv -v $pkgname/* "$pkgdir" +} + +package_libblockdev-swap() { +pkgdesc="Swap plugin for libblockdev" + depends=('libblockdev') + mv -v $pkgname/* "$pkgdir" +} + +package_libblockdev-vdo() { +pkgdesc="VDO plugin for libblockdev" + depends=('libblockdev' 'libyaml') + mv -v $pkgname/* "$pkgdir" }