Fixed dependencies, added checks, python bindings and package license

This commit is contained in:
2025-05-09 14:09:46 +03:00
parent 6af71e93a0
commit 698565332d
3 changed files with 43 additions and 2 deletions
+15
View File
@@ -0,0 +1,15 @@
#!/bin/bash
# Github repository
REPO="kdave/btrfs-progs"
# Get tag name using Github Rest API
TAG_NAME=$(curl -s -L -H "Accept: application/vnd.github+json" -H "X-GitHub-Api-Version: 2022-11-28" https://api.github.com/repos/"$REPO"/releases/latest | jq -r '.tag_name')
# Get version number from tag name
VERSION=$(echo "$TAG_NAME" | rev | cut -d'-' -f1 | rev)
# Trim 'v' character in VERSION variable
VERSION=$(echo "$VERSION" | tr -d 'v')
echo "$VERSION"
+4 -2
View File
@@ -1,9 +1,11 @@
name: btrfs-progs name: btrfs-progs
description: BTRFS filesystem manipulation utilities description: BTRFS filesystem manipulation utilities
version: 6.7.1 version: 6.7.1
revision: 2 revision: 3
url: https://btrfs.readthedocs.io/ url: https://btrfs.readthedocs.io/
license: GPL2-only license: GPL2-only
architecture: any architecture: any
depends: ["lzo"] depends: ["glibc","libgcrypt","udev","lzo","util-linux","zlib","zstd"]
optional_depends: ["e2fsprogs","python3"]
make_depends: ["e2fsprogs","python3","python-setuptools","udev","xmlto","libaio","ripgrep"]
type: source type: source
+24
View File
@@ -19,12 +19,36 @@ build() {
make make
} }
# The check function is executed in the source directory
# This function is used to run tests to verify the package has been compiled correctly
check() {
# Check commands taken from Arch Linux
# remove all tests, which requires real root
rm -r $(dirname $(rg -t sh -l -e SUDO_HELPER -e mount -e prepare_test) | rg 'tests/')
# prevent tests from calling function that performs 'modprobe btrfs' as this errors when not run as real root
sed -i '/^check_kernel_support$/d' tests/*.sh
# -j1 for running tests chronological
make -j1 -C tests test
}
# The package function is executed in the source directory # The package function is executed in the source directory
# This function is used to move the compiled files into the output directory # This function is used to move the compiled files into the output directory
package() { package() {
make DESTDIR="$BPM_OUTPUT" install make DESTDIR="$BPM_OUTPUT" install
# Install python bindings
make DESTDIR="$BPM_OUTPUT" install_python
# Install bash completion
install -Dm644 btrfs-completion "$BPM_OUTPUT"/usr/share/bash-completion/completions/btrfs
# Install documentation
for i in 5 8; do for i in 5 8; do
mkdir -p "$BPM_OUTPUT"/usr/share/man/man$i mkdir -p "$BPM_OUTPUT"/usr/share/man/man$i
install Documentation/*.$i "$BPM_OUTPUT"/usr/share/man/man$i install Documentation/*.$i "$BPM_OUTPUT"/usr/share/man/man$i
done done
# Install package license
install -Dm644 "$BPM_SOURCE"/COPYING "$BPM_OUTPUT"/usr/share/licenses/btrfs-progs/COPYING
} }