Files
gopios-arch-package-repository/expandPackList.sh
2025-10-26 21:38:42 +05:30

33 lines
914 B
Bash
Executable File

#!/bin/bash
# Generate full dependency list for packages on Arch Linux
# Input: packages.txt (one package per line, lines starting with # are ignored)
# Output: packages.all.txt (all deps + base packages, unique and sorted)
INPUT_FILE="packages.txt"
OUTPUT_FILE="packages.all.txt"
if [[ ! -f "$INPUT_FILE" ]]; then
echo "❌ Error: $INPUT_FILE not found."
exit 1
fi
echo "📦 Generating full dependency list from $INPUT_FILE..."
TMP_FILE=$(mktemp)
# Read each package, skipping comments and blank lines
while read -r pkg; do
# Skip empty or commented lines
[[ -z "$pkg" || "$pkg" =~ ^# ]] && continue
echo "→ Resolving dependencies for: $pkg"
pactree -u "$pkg" >> "$TMP_FILE" 2>/dev/null
done < "$INPUT_FILE"
# Merge, remove duplicates, and sort
cat "$INPUT_FILE" "$TMP_FILE" | grep -v '^#' | sort -u > "$OUTPUT_FILE"
rm -f "$TMP_FILE"
echo "✅ Done! Saved complete list to: $OUTPUT_FILE"