lister les nouveautés sur AUR
Publié : 01 mar 2019, 18:12
Ici l'idée est d'avoir une liste des nouveautés dans aur (depuis que j'ai lancé ce script)
ps: oui le besoin n'est pas évident ... mais pour un aur addict c'est essentiel
Aur met à disposition une archive contenant la liste des paquets (+51 000 !)
Donc notre script bash
aur-news
va récupérer cette liste avec un wget
et la sauvegarder dans notre home (~/.local/share/aur.list)Au prochain lancement, il va télécharger de nouveau cette liste dans /tmp/ et comparer ces 2 fichiers avec la commande
comm
.Ensuite, il va utiliser le "helpeur aur" par défaut pour afficher les paquets avec description (même code que le sujet précédent sur pacman/awk). A la fin une demande de sauvegarde de la nouvelle liste est demandé pour ne retrouver la prochaine fois que les nouveaux.
Dans le script est codé en dur
yay
mais vous pouvez passer un autre utilitaire en paramètre au script (ou changer le code ligne 7 !)#!/usr/bin/bash
#script aur-news
echo -e "Recherche des nouveaux paquets AUR\n"
file_save="${HOME}/.local/share/aur.list"
file_new="/tmp/aur/packages"
helper="${1:-yay}"
echo "use helper: ${helper}"
if [[ ! -f "$file_save" ]]; then
# la première fois on ne fait qu'une simple sauvegarde
wget -P "${file_save%/*}" "https://aur.archlinux.org/packages.gz" &>/dev/null && gunzip -f "${file_save%/*}/packages.gz"
cat "${file_save%/*}/packages" | sort > "$file_save"
rm "${file_save%/*}/packages"
echo "Première utilisation- pas encore de différence à faire"
ls -l "$file_save"
exit 1
else
echo "Depuis la dernière utilisation/sauvegarde du $(date -r $file_save)"
fi
wget -P "${file_new%/*}" "https://aur.archlinux.org/packages.gz" &>/dev/null && gunzip -f "${file_new}.gz"
ls -l "$file_new"
pkgs=($( comm -13 <(sort -u "$file_save") <(sort -u "$file_new") | grep -v '^#' ))
echo "${#pkgs[*]} paquets"
if (("${#pkgs[*]}">0)); then
LANG=C $helper -Si ${pkgs[*]} | awk -F': ' '/^Name/ {name=$2} /^Desc/ {desc=$2} /^URL/ {printf "%-28s %s %s\n",name,desc,$2}'
echo -e "\n::Sauvegarder cette nouvelle liste pour la prochaine comparaison ?"
cp -i "$file_new" "$file_save"
ls -l "$file_save"
rm "$file_new"
else
echo -e "\n Rien de nouveau !"
fi
Depuis la dernière utilisation/sauvegarde du ven. mars 1 18:15:29 CET 2019
-rw-r--r-- 1 patrick users 857229 1 mars 19:23 /tmp/aur/packages
4 paquets
csvquote-git smart and simple CSV processing on the command line https://github.com/dbro/csvquote
linset Evil Twin Attack Bash script https://github.com/vk496/linset
pulseaudio-arctis-pro-wireless Configuration files to support SteelSeries Arctis Pro Wireless mono/stereo output on pulseaudio None
python-imageio-ffmpeg FFMPEG wrapper for Python https://github.com/imageio/imageio-ffmpeg