generated from archlinux/template
Attempt to run every two minutes
This commit is contained in:
47
.gitea/workflows/check-up-to-date.sh
Executable file
47
.gitea/workflows/check-up-to-date.sh
Executable file
@@ -0,0 +1,47 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Exit on any error
|
||||
set -e
|
||||
|
||||
# Source the PKGBUILD in a subshell to avoid polluting the global environment
|
||||
(
|
||||
source ./PKGBUILD
|
||||
|
||||
# Convert pkgname to array in case it's a single string
|
||||
pkgnames=("${pkgname[@]}")
|
||||
|
||||
for pkg in "${pkgnames[@]}"; do
|
||||
echo "Checking package: $pkg"
|
||||
|
||||
if pacman -Si "$pkg" &>/dev/null; then
|
||||
echo "Package '$pkg' exists in a repository."
|
||||
|
||||
# Get the package build date
|
||||
pkg_build_date=$(date -d "$(pacman -Si "$pkg" | grep 'Build Date' | cut -d: -f2-)" +%s)
|
||||
|
||||
all_deps=("${depends[@]}" "${makedepends[@]}" "${optdepends[@]}")
|
||||
|
||||
# Check each dependency
|
||||
for dep in "${all_deps[@]}"; do
|
||||
dep_name=$(echo "$dep" | sed 's/[<>=].*//') # Remove version constraints
|
||||
echo "Querying dependency: $dep_name"
|
||||
|
||||
if pacman -Si "$dep_name" &>/dev/null; then
|
||||
dep_build_date=$(date -d "$(pacman -Si "$dep_name" | grep 'Build Date' | cut -d: -f2-)" +%s)
|
||||
if (( dep_build_date >= pkg_build_date )); then
|
||||
echo "Dependency '$dep_name' has newer or equal build date than '$pkg'."
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo "Dependency '$dep_name' not found in repositories. Skipping."
|
||||
fi
|
||||
done
|
||||
|
||||
echo "All dependencies are older than package '$pkg'."
|
||||
exit 0
|
||||
else
|
||||
echo "Package '$pkg' does NOT exist in any repository."
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
)
|
||||
Reference in New Issue
Block a user