アルクシン

Void‑Updater (archivé)

Je n'utilise plus cet outil et ne le maintiens plus, il pourrait donc être obsolète.

Ne lancez pas les scripts avec le préfixe « sh », certaines commandes ne fonctionneront pas à cause du shell par défaut.
(sudo) sh /chemin/vers/script.sh -> n’est pas correct
(sudo) /chemin/vers/script.sh -> est correct
cd /chemin/vers/ && (sudo) ./script.sh -> est correct

Cet outil indique le nombre de mises à jour disponibles et propose de les appliquer. De prime abord il semble faire un peu doublon avec le script « void‑wizard.sh » détaillé au‑dessus, mais « void‑updater » est surtout prévu pour être couplé avec un service qui, par défaut, fait une vérification chaque dimanche et ce toutes les six heures puis envoie une notification.

Si vous préférez quelque chose de plus léger et de plus simple, jetez un œil au chapitre : "Plugin mises à jour pour Xfce".

Bien évidemment, vous pouvez à la place utiliser « octoxbps » qui est l’outil graphique (non‑officiel) en Qt de Void pour gérer les paquets et recevoir des notifications. OctoXBPS s’installe depuis les dépôts et s’utilise comme le Octopi de Manjaro.

Paquets requis : lynx snooze zenity. Modifiez les chemins si vous ne placez pas les scripts au même endroit que moi.

Script principal

Changez la variable « XTRM » si votre terminal n’est pas celui de Xfce.

/usr/local/bin/void-scripts/void-updater.sh - exécutable : oui (chmod +x)
Afficher/Masquer #!/bin/bash # https://alkusin.net/voidlinux ### Required packages: sudo xbps-install -S lynx zenity readonly AVUP=$(xbps-install -nuM | wc -l) readonly XTRM=xfce4-terminal if [ ! -d ~/.snooze/ ]; then mkdir ~/.snooze/ fi date +%c > ~/.snooze/updater if [ $AVUP -gt 0 ]; then zenity --title="Void Updates" --name="Void Updates" --question --width=280 --height=140 --ok-label="Yes" --cancel-label="No" \ --window-icon="/usr/share/icons/Papirus/64x64/apps/distributor-logo-void.svg" --icon-name="system-software-update" \ --text "$AVUP update(s) available.\nDo you want to proceed?" if [ $? = 0 ]; then $XTRM -x '/usr/local/bin/void-scripts/execute.sh' else exit 0 fi else exit 0 fi

Script auxiliaire

/usr/local/bin/void-scripts/execute.sh - exécutable : oui (chmod +x)
Afficher/Masquer #!/bin/bash # https://alkusin.net/voidlinux printf "Known manual interventions:\n\n" if [ $(lynx -dump -nolist https://voidlinux.org/news/archive.html | grep -i "intervention" | wc -l) -eq 0 ]; then printf "None" && sleep 1s else lynx -dump -nolist https://voidlinux.org/news/archive.html | grep -i "intervention" printf "\n" read -p "Visit news page for more details? [Y/n] " a if [ "$a" = "Y" ] || [ "$a" = "y" ]; then lynx https://voidlinux.org/news/archive.html fi fi clear sudo xbps-install -Su | sudo tee /var/log/xbps-update.log date | sudo tee -a /var/log/xbps-update.log printf "System updated!\n" printf "Log file available at \'/var/log/xbps-update.log\'.\n\n" read -p "Press ENTER to close. "

Lanceur

/usr/local/share/applications/void-updater.desktop - exécutable : oui (chmod +x)
Afficher/Masquer [Desktop Entry] Type=Application Name=Void Updater Comment=Updates notification Exec=/usr/local/bin/void-scripts/void-updater.sh Icon=system-software-update Terminal=false Categories=System;

Service

ATTENTION ! Cela semble fonctionner, mais je ne maîtrise pas encore bien « snooze » et je n’ai pas testé assez longtemps. Il peut y avoir des bizarreries, c’est un « Work‑In‑Progress ». Toutefois, il ne devrait y avoir aucune casse sérieuse.

Si vous avez des améliorations/corrections à me proposer, merci de m’envoyer un message sur Reddit ou un email.

Pensez à changer « xfce4‑session » si vous n’utilisez pas Xfce, et toutes les occurences de « alex » par votre nom d’utilisateur.

/etc/sv/void-updater/run - exécutable : oui (chmod +x)
Afficher/Masquer #!/bin/sh if pgrep -x xfce4-session > /dev/null then export DISPLAY=:0 export XAUTHORITY="/home/alex/.Xauthority" exec snooze -w0 -H/6 -t /home/alex/.snooze/updater \ chpst -u alex:alex /usr/local/bin/void-scripts/void-updater.sh else sleep 5m sv reload void-updater fi

sudo chmod 755 /etc/sv/void-updater/run
sudo ln -s /etc/sv/void-updater /var/service/