Fix dependencies, add patches, simplify source.sh script and add license

This commit is contained in:
2025-05-11 15:32:22 +03:00
parent c07bfbb616
commit d4c18036bb
3 changed files with 30 additions and 6 deletions
+12
View File
@@ -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"
+4
View File
@@ -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
+14 -6
View File
@@ -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
}