#!/bin/sh set -e # Get current git branch branch=$(git rev-parse --abbrev-ref HEAD) # Construct path binpkgs_dir="$XBPS_DISTDIR/hostdir/binpkgs/${branch}" # Check if directory exists if [ ! -d "$binpkgs_dir" ]; then echo "Error: Directory '$binpkgs_dir' does not exist" exit 1 fi echo "Cleaning old packages in: $binpkgs_dir" echo "Current branch: $branch" echo # Get unique package names (strip version info) for pkg in $(find "$binpkgs_dir" -maxdepth 1 -name '*.xbps' -type f -printf '%f\n' | sed 's/-[0-9].*//' | sort -u); do # Find all versions of this package, sorted by modification time (newest first) # Keep only the first (newest), remove the rest find "$binpkgs_dir" -maxdepth 1 -name "${pkg}-*.xbps" -type f -printf '%T@ %p\n' | \ sort -rn | \ tail -n +2 | \ cut -d' ' -f2- | \ while read -r old_pkg; do echo "Removing: $(basename "$old_pkg")" rm -f "$old_pkg" done done xbps-rindex -c "$binpkgs_dir" echo "Done!"