diff --git a/pkg.info b/pkg.info index 3761a62..6aea0f1 100644 --- a/pkg.info +++ b/pkg.info @@ -1,7 +1,7 @@ name: udisks description: Daemon, tools and libraries to access and manipulate disks, storage devices and technologies version: 2.10.2 -revision: 1 +revision: 2 url: https://www.freedesktop.org/wiki/Software/udisks/ license: GPL2-or-later,LGPL2-or-later architecture: any @@ -15,22 +15,47 @@ depends: - glibc - libatasmart - libblockdev + - libblockdev-crypto + - libblockdev-fs + - libblockdev-loop + - libblockdev-mdraid + - libblockdev-nvme + - libblockdev-part + - libblockdev-swap - libgudev - polkit - util-linux -optional_depends: - - btrfs-progs - - dosfstools - - e2fsprogs - - exfatprogs - - f2fs-tools - - less make_depends: - gobject-introspection - gtk-doc + - libblockdev-btrfs + - libblockdev-lvm - lvm2 downloads: - url: https://github.com/storaged-project/udisks/archive/refs/tags/udisks-${BPM_PKG_VERSION}.tar.gz extract_to: ${BPM_SOURCE} extract_strip_components: 1 checksum: 69479fde489f8c5b3908f583f35d38c2273c38572adac3597a8a0ff855b436de +split_packages: + - name: udisks + optional_depends: + - btrfs-progs + - dosfstools + - e2fsprogs + - exfatprogs + - f2fs-tools + - less + - name: udisks-btrfs + description: BTRFS module for udisks + depends: + - btrfs-progs + - libblockdev-btrfs + - udisks + - util-linux + - name: udisks-lvm + description: LVM module for udisks + depends: + - libblockdev-lvm + - lvm2 + - udisks + - util-linux diff --git a/source.sh b/source.sh index c127a8d..780934b 100644 --- a/source.sh +++ b/source.sh @@ -31,11 +31,46 @@ check() { make check } +_pick() { + local p="$1" f d; shift + for f; do + [ -d "$BPM_WORKDIR"/output_"$p" ] || { echo "Split package $p not found"; exit 1; } + d="$BPM_WORKDIR"/output_"$p"/"${f#$BPM_OUTPUT}" + mkdir -p "$(dirname "$d")" + mv "$f" "$d" + rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")" + done +} + # The package function is executed in the source directory # This function is used to move the compiled files into the output directory -package() { +package_udisks() { make DESTDIR="$BPM_OUTPUT" install + cd "$BPM_OUTPUT" + + # Move btrfs files into split package + _pick udisks-btrfs usr/lib/udisks2/modules/libudisks2_btrfs.so + _pick udisks-btrfs usr/lib/pkgconfig/udisks2-btrfs.pc + _pick udisks-btrfs usr/share/polkit-1/actions/org.freedesktop.UDisks2.btrfs.policy + + # Move lvm files into split package + _pick udisks-lvm usr/lib/udisks2/modules/libudisks2_lvm2.so + _pick udisks-lvm usr/lib/pkgconfig/udisks2-lvm2.pc + _pick udisks-lvm usr/share/polkit-1/actions/org.freedesktop.UDisks2.lvm2.policy + # Install package license install -Dm644 "$BPM_SOURCE"/COPYING "$BPM_OUTPUT"/usr/share/licenses/udisks/COPYING } + +package_udisks-btrfs() { + # Install package license + install -d "$BPM_OUTPUT"/usr/share/licenses/ + ln -sf udisks "$BPM_OUTPUT"/usr/share/licenses/udisks-btrfs +} + +package_udisks-lvm() { + # Install package license + install -d "$BPM_OUTPUT"/usr/share/licenses/ + ln -sf udisks "$BPM_OUTPUT"/usr/share/licenses/udisks-lvm +}