From efabb4f2d9371114ff91b88b9355d483bea7f45f Mon Sep 17 00:00:00 2001 From: EnumDev Date: Thu, 9 Oct 2025 20:49:02 +0300 Subject: [PATCH] Initial commit --- .gitignore | 2 ++ check-version.sh | 9 +++++++++ pkg.info | 32 ++++++++++++++++++++++++++++++++ source.sh | 42 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 85 insertions(+) create mode 100644 .gitignore create mode 100644 check-version.sh create mode 100644 pkg.info create mode 100644 source.sh diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3e58e5f --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +# Exclude bpm archives +*.bpm \ No newline at end of file diff --git a/check-version.sh b/check-version.sh new file mode 100644 index 0000000..2e6c88d --- /dev/null +++ b/check-version.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +# Pagure repository +REPO="volume_key" + +# Get tag name using Pagure Rest API +TAG_NAME=$(curl -s -L https://pagure.io/api/0/"$REPO"/git/tags | jq -r '.tags[]' | cut -d'-' -f2 | sort -V | tail -n1) + +echo "$TAG_NAME" diff --git a/pkg.info b/pkg.info new file mode 100644 index 0000000..9e2a41e --- /dev/null +++ b/pkg.info @@ -0,0 +1,32 @@ +name: volume_key +description: A library for manipulating storage volume encryption keys and storing them separately from volumes to handle forgotten passphrases, and the associated command-line tool +version: 0.3.12 +revision: 1 +url: https://pagure.io/volume_key +license: GPL2-or-later +architecture: any +type: source +depends: + - cryptsetup + - glib + - glibc + - gpgme + - nspr + - nss + - util-linux +make_depends: + - python3 + - python-setuptools + - swig +downloads: + - url: https://pagure.io/volume_key/archive/volume_key-${BPM_PKG_VERSION}/volume_key-volume_key-${BPM_PKG_VERSION}.tar.gz + extract_to: ${BPM_SOURCE} + extract_strip_components: 1 + checksum: 8b7941586b711859f568b01f44df87a23081a1c75f40c42b66af3fda10341180 +split_packages: + - name: volume_key + - name: python-volume_key + description: Python bindings for volume_key + depends: + - python3 + - volume_key diff --git a/source.sh b/source.sh new file mode 100644 index 0000000..b22c751 --- /dev/null +++ b/source.sh @@ -0,0 +1,42 @@ +# This is the source.sh script. It is executed by BPM in a temporary directory when compiling a source package +# BPM Expects the source code to be extracted into the automatically created 'source' directory which can be accessed using $BPM_SOURCE +# BPM Expects the output files to be present in the automatically created 'output' directory which can be accessed using $BPM_OUTPUT + +# The prepare function is executed in the root of the temp directory +# This function is used for putting downloaded files to the correct location or applying patches +prepare() { + cd "$BPM_SOURCE" + autoreconf -fi + find . -name ".pyc" -delete +} + +# The build function is executed in the source directory +# This function is used to compile the source code +build() { + export CFLAGS+=" $(python3-config --includes)" + ./configure --prefix=/usr + + # prevent excessive overlinking due to libtool + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + + make +} + +# The package function is executed in the source directory +# This function is used to move the compiled files into the output directory +package_volume_key() { + make DESTDIR="$BPM_OUTPUT" install + + # Move python files to python-volume_key package + install -d "$BPM_WORKDIR"/output_python-volume_key/usr/lib/ + mv "$BPM_OUTPUT"/usr/lib/python* -t "$BPM_WORKDIR"/output_python-volume_key/usr/lib/ + + # Install package license + install -Dm644 "$BPM_SOURCE"/COPYING "$BPM_OUTPUT"/usr/share/licenses/volume_key/COPYING +} + +package_python-volume_key() { + # Install package license + install -d "$BPM_OUTPUT"/usr/share/licenses/ + ln -sf volume_key "$BPM_OUTPUT"/usr/share/licenses/python-volume_key +}