From d4c18036bb3933f8d203996d64aec0c0d98db026 Mon Sep 17 00:00:00 2001 From: EnumDev Date: Sun, 11 May 2025 15:29:38 +0300 Subject: [PATCH] Fix dependencies, add patches, simplify source.sh script and add license --- check-version.sh | 12 ++++++++++++ pkg.info | 4 ++++ source.sh | 20 ++++++++++++++------ 3 files changed, 30 insertions(+), 6 deletions(-) create mode 100644 check-version.sh diff --git a/check-version.sh b/check-version.sh new file mode 100644 index 0000000..012746c --- /dev/null +++ b/check-version.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +# Github repository +REPO="libpwquality/libpwquality" + +# 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) + +echo "$VERSION" diff --git a/pkg.info b/pkg.info index fd654ce..2b532f9 100644 --- a/pkg.info +++ b/pkg.info @@ -1,7 +1,11 @@ name: libpwquality description: Password quality checking library version: 1.4.5 +revision: 2 url: https://github.com/libpwquality/libpwquality license: BSD-3-Clause or GPL2-or-later +depends: ["cracklib","glibc","pam"] +optional_depends: ["python3"] +make_depends: ["python-setuptools"] architecture: any type: source diff --git a/source.sh b/source.sh index 8c8ce39..5e01c2a 100644 --- a/source.sh +++ b/source.sh @@ -3,31 +3,39 @@ # BPM Expects the output files to be present in the automatically created 'output' directory which can be accessed using $BPM_OUTPUT DOWNLOAD="https://github.com/libpwquality/libpwquality/releases/download/libpwquality-${BPM_PKG_VERSION}/libpwquality-${BPM_PKG_VERSION}.tar.bz2" +DOWNLOAD_PATCH="https://github.com/libpwquality/libpwquality/commit/509b0a744adf533b524daaa65f25dda144a6ff40.patch" FILENAME="${DOWNLOAD##*/}" +FILENAME_PATCH="${DOWNLOAD_PATCH##*/}" # The prepare function is executed in the root of the temp directory # This function is used for downloading files and putting them into the correct location prepare() { wget "$DOWNLOAD" + # Patch to use setuptools instead of distutils + wget "$DOWNLOAD_PATCH" + tar -xvf "$FILENAME" --strip-components=1 -C "$BPM_SOURCE" } # The build function is executed in the source directory # This function is used to compile the source code build() { + # Apply patch + patch -p1 < ../"$FILENAME_PATCH" + + autoreconf -fi + ./configure --prefix=/usr \ --disable-static \ - --with-securedir=/usr/lib/security \ - --disable-python-bindings + --with-securedir=/usr/lib/security make - pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD/python } # The package function is executed in the source directory # This function is used to move the compiled files into the output directory package() { make DESTDIR="$BPM_OUTPUT" install - pip3 install --root="$BPM_OUTPUT" --ignore-installed --no-index --find-links=dist --no-cache-dir --no-user pwquality - mkdir -p "$BPM_OUTPUT"/usr/share/licenses/libpwquality - cp COPYING "$BPM_OUTPUT"/usr/share/licenses/libpwquality/COPYING + + # Install package license + install -Dm644 COPYING "$BPM_OUTPUT"/usr/share/licenses/libpwquality/COPYING }