From 49422a702b4e195b39055f049e507854ad9609eb Mon Sep 17 00:00:00 2001 From: Robin Candau <robincandau@protonmail.com> Date: Wed, 6 Nov 2024 15:31:09 +0100 Subject: [PATCH] feat: Add support for pikaur Add support for the [pikaur](https://github.com/actionless/pikaur) AUR helper (in additon of `paru` and `yay`) for AUR packages support. Closes https://github.com/Antiz96/arch-update/issues/275 --- README-fr.md | 14 ++++++++------ README.md | 14 ++++++++------ doc/man/arch-update.1 | 17 ++++++++++------- doc/man/arch-update.conf.5 | 4 ++-- doc/man/fr/arch-update.1 | 15 +++++++++------ doc/man/fr/arch-update.conf.5 | 4 ++-- src/arch-update.sh | 2 +- src/lib/check.sh | 4 ++-- src/lib/common.sh | 3 +++ src/lib/config.sh | 2 +- src/lib/list_packages.sh | 4 ++-- 11 files changed, 48 insertions(+), 35 deletions(-) diff --git a/README-fr.md b/README-fr.md index 945d1bb..589f142 100644 --- a/README-fr.md +++ b/README-fr.md @@ -34,7 +34,7 @@ Fonctionnalités : - Vérification automatique des mises à jour du noyau en attente nécessitant un redémarrage et propose de redémarrer s'il y en a une. - Vérification automatique des services nécessitant un redémarrage après mise à jour et propose de les redémarrer s'il y en a. - Support de `sudo`, `doas` et `run0`. -- Prise en charge optionnelle des paquets AUR (via `yay` ou `paru`). +- Prise en charge optionnelle des paquets AUR (via `paru`, `yay` ou `pikaur`). - Prise en charge optionnelle des paquets Flatpak. - Prise en charge optionnelle des notifications de bureau lors de nouvelles mises à jour disponibles. @@ -55,8 +55,9 @@ sudo pacman -S --needed pacman-contrib archlinux-contrib curl fakeroot htmlq dif Dépendances optionnelles supplémentaires dont vous pourriez avoir besoin ou que vous pourriez souhaiter : -- [yay](https://aur.archlinux.org/packages/yay): Support des paquets AUR - [paru](https://aur.archlinux.org/packages/paru): Support des paquets AUR +- [yay](https://aur.archlinux.org/packages/yay): Support des paquets AUR +- [pikaur](https://aur.archlinux.org/packages/pikaur): Support des paquets AUR - [flatpak](https://archlinux.org/packages/extra/x86_64/flatpak/): Support des paquets Flatpak - [libnotify](https://archlinux.org/packages/extra/x86_64/libnotify/): Support des notifications de bureau lors de nouvelles mises à jour disponibles (voir <https://wiki.archlinux.org/title/Desktop_notifications>) - [vim](https://archlinux.org/packages/extra/x86_64/vim/): Programme de fusion par défaut pour pacdiff @@ -155,7 +156,7 @@ Alternativement, vous pouvez voir la liste des mises à jour disponible dans le ![dropdown_menu_fr](https://github.com/user-attachments/assets/60c3c0d8-8091-4047-b8da-ce8f8bc72476) -Quand l'icône du systray est cliquée, elle affiche la liste des paquets disponibles pour la mise à jour dans une fenêtre de terminal et demande la confirmation de l'utilisateur pour procéder à l'installation (peut aussi être lancé en exécutant la commande `arch-update`, requiert [yay](https://aur.archlinux.org/packages/yay "yay") ou [paru](https://aur.archlinux.org/packages/paru "paru") pour le support des paquets AUR et [flatpak](https://archlinux.org/packages/extra/x86_64/flatpak/) pour le support des paquets Flatpak). +Quand l'icône du systray est cliquée, elle affiche la liste des paquets disponibles pour la mise à jour dans une fenêtre de terminal et demande la confirmation de l'utilisateur pour procéder à l'installation (peut aussi être lancé en exécutant la commande `arch-update`, requiert [paru](https://aur.archlinux.org/packages/paru "paru"), [yay](https://aur.archlinux.org/packages/yay "yay") ou [pikaur](https://aur.archlinux.org/packages/pikaur "pikaur") pour le support des paquets AUR et [flatpak](https://archlinux.org/packages/extra/x86_64/flatpak/) pour le support des paquets Flatpak). ![listing_packages-FR](https://github.com/Antiz96/arch-update/assets/53110319/60547cde-f327-46f8-907c-61bf9bbee6c5) @@ -238,7 +239,7 @@ Les options prises en charge sont : - NoVersion # Ne pas afficher les modifications de versions des paquets lors du listing des mises à jour en attente (y compris lors de l'utilisation de l'option `-l / --list`). - AlwaysShowNews # Toujours afficher les Arch news avant de mettre à jour, peu importe s'il y en a une nouvelle depuis la dernière exécution ou non. - NewsNum=[Num] # Nombre de Arch news à affcher avant la mise à jour et avec l'option `-n / --news` (voir la page de manuel arch-update(1) pour plus de details). La valeur par défaut est 5. -- AURHelper=[AUR Helper] # AUR helper à utiliser pour la prise en charge des paquets AUR. Les valeurs valides sont `paru` ou `yay`. Si cette option n'est pas spécifiée, Arch-Update utilisera le premier AUR helper disponible dans l'ordre suivant : `paru` puis `yay` (si aucun des deux n'est installé, Arch-Update ne prendra pas en compte les paquets AUR). +- AURHelper=[AUR Helper] # AUR helper à utiliser pour la prise en charge des paquets AUR. Les valeurs valides sont `paru`, `yay` ou `pikaur`. Si cette option n'est pas spécifiée, Arch-Update utilisera le premier AUR helper disponible dans l'ordre suivant : `paru` puis `yay` puis `pikaur` (si aucun des deux n'est installé, Arch-Update ne prendra pas en compte les paquets AUR). - PrivilegeElevationCommand=[Cmd] # Commande à utiliser pour l'élévation de privilège. Les valeurs valides sont `sudo`, `doas` ou `run0`. Si cette option n'est pas spécifiée, Arch-Update utilisera la première commande disponible dans l'odre suivant : `sudo`, `doas` puis `run0`. - KeepOldPackages=[Num] # Nombre d'anciennes versions de paquets à conserver dans le cache de pacman. La valeur par défaut est 3. - KeepUninstalledPackages=[Num] # Nombre de versions de paquets désinstallés à conserver dans le cache de pacman. La valeur par défaut est 0. @@ -254,9 +255,10 @@ Pour plus d'informations, consultez la page de manuel arch-update.conf(5). ### Support du AUR -Arch-Update prend en charge les paquets AUR si **yay** ou **paru** est installé : +Arch-Update prend en charge les paquets AUR si **paru**, **yay** ou **pikaur** est installé : +Voir <https://github.com/morganamilo/paru> et <https://aur.archlinux.org/packages/paru> Voir <https://github.com/Jguer/yay> et <https://aur.archlinux.org/packages/yay> -Voir <https://github.com/morganamilo/paru> et <https://aur.archlinux.org/packages/paru> +Voir <https://github.com/actionless/pikaur> et <https://aur.archlinux.org/packages/pikaur> ### Support de Flatpak diff --git a/README.md b/README.md index d7e18da..88cdbe5 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ Features: - Automatic check for pending kernel updates requiring a reboot to be applied and offers to do so if there's one. - Automatic check for services requiring a post upgrade restart and offers to do so if there are. - Support for `sudo`, `doas` & `run0`. -- Optional support for AUR packages (through `yay` or `paru`). +- Optional support for AUR packages (through `paru`, `yay` or `pikaur`). - Optional support for Flatpak packages. - Optional support for desktop notifications on new available updates. @@ -55,8 +55,9 @@ sudo pacman -S --needed pacman-contrib archlinux-contrib curl fakeroot htmlq dif Additional optional dependencies you might need or want: -- [yay](https://aur.archlinux.org/packages/yay): AUR Packages support - [paru](https://aur.archlinux.org/packages/paru): AUR Packages support +- [yay](https://aur.archlinux.org/packages/yay): AUR Packages support +- [pikaur](https://aur.archlinux.org/packages/pikaur): AUR Packages support - [flatpak](https://archlinux.org/packages/extra/x86_64/flatpak/): Flatpak Packages support - [libnotify](https://archlinux.org/packages/extra/x86_64/libnotify/): Desktop notifications support on new available updates (see <https://wiki.archlinux.org/title/Desktop_notifications>) - [vim](https://archlinux.org/packages/extra/x86_64/vim/): Default merge program for pacdiff @@ -155,7 +156,7 @@ Alternatively, you can see the list of available updates in the dropdown menu en ![dropdown_menu](https://github.com/user-attachments/assets/4621d7d2-a9e4-40c3-851f-ee1687e6cf1e) -When the systray icon is left-clicked, it prints the list of packages available for updates inside a terminal window and asks for the user's confirmation to proceed with the installation (it can also be launched by running the `arch-update` command, requires [yay](https://aur.archlinux.org/packages/yay "yay") or [paru](https://aur.archlinux.org/packages/paru "paru") for AUR packages support and [flatpak](https://archlinux.org/packages/extra/x86_64/flatpak/) for Flatpak packages support). +When the systray icon is left-clicked, it prints the list of packages available for updates inside a terminal window and asks for the user's confirmation to proceed with the installation (it can also be launched by running the `arch-update` command, requires [paru](https://aur.archlinux.org/packages/paru "paru"), [yay](https://aur.archlinux.org/packages/yay "yay") or [pikaur](https://aur.archlinux.org/packages/pikaur "pikaur") for AUR packages support and [flatpak](https://archlinux.org/packages/extra/x86_64/flatpak/) for Flatpak packages support). ![listing_packages](https://github.com/Antiz96/arch-update/assets/53110319/ed552414-0dff-4cff-84d2-6ff13340259d) @@ -238,7 +239,7 @@ The supported options are: - NoVersion # Do not show versions changes for packages when listing pending updates (including when using the `-l / --list` option). - AlwaysShowNews # Always display Arch news before updating, regardless of whether there's a new one since the last run or not. - NewsNum=[Num] # Number of Arch news to display before updating and with the `-n / --news` option (see the arch-update(1) man page for more details). Defaults to 5. -- AURHelper=[AUR Helper] # AUR helper to be used for AUR packages support. Valid values are `paru` or `yay`. If this option is not set, Arch-Update will use the first available AUR helper in the following order: `paru` then `yay` (in case none of them is installed, Arch-Update will not take AUR packages into account). +- AURHelper=[AUR Helper] # AUR helper to be used for AUR packages support. Valid values are `paru`, `yay` or `pikaur`. If this option is not set, Arch-Update will use the first available AUR helper in the following order: `paru` then `yay` then `pikaur` (in case none of them is installed, Arch-Update will not take AUR packages into account). - PrivilegeElevationCommand=[Cmd] # Command to be used for privilege elevation. Valid values are `sudo`, `doas` or `run0`. If this option is not set, Arch-Update will use the first available command in the following order: `sudo`, `doas` then `run0`. - KeepOldPackages=[Num] # Number of old packages' versions to keep in pacman's cache. Defaults to 3. - KeepUninstalledPackages=[Num] # Number of uninstalled packages' versions to keep in pacman's cache. Defaults to 0. @@ -254,9 +255,10 @@ For more information, see the arch-update.conf(5) man page. ### AUR support -Arch-Update supports AUR packages if **yay** or **paru** is installed: +Arch-Update supports AUR packages if **paru**, **yay** or **pikaur** is installed: +See <https://github.com/morganamilo/paru> and <https://aur.archlinux.org/packages/paru> See <https://github.com/Jguer/yay> and <https://aur.archlinux.org/packages/yay> -See <https://github.com/morganamilo/paru> and <https://aur.archlinux.org/packages/paru> +See <https://github.com/actionless/pikaur> and <https://aur.archlinux.org/packages/pikaur> ### Flatpak support diff --git a/doc/man/arch-update.1 b/doc/man/arch-update.1 index 87fc32b..5c25e84 100644 --- a/doc/man/arch-update.1 +++ b/doc/man/arch-update.1 @@ -1,4 +1,4 @@ -.TH "ARCH-UPDATE" "1" "October 2024" "Arch-Update 3.3.0" "Arch-Update Manual" +.TH "ARCH-UPDATE" "1" "November 2024" "Arch-Update 3.3.0" "Arch-Update Manual" .SH NAME arch-update \- An update notifier & applier for Arch Linux that assists you with important pre / post update tasks. @@ -10,7 +10,7 @@ arch-update \- An update notifier & applier for Arch Linux that assists you with .SH DESCRIPTION An update notifier & applier for Arch Linux that assists you with important pre / post update tasks and that includes a clickeable systray applet for an easy integration with any panel on any Desktop Environment / Window Manager. .br -.RB "Optional support for AUR packages update (through " "yay " "or " "paru" "), Flatpak packages update (through " "flatpak" ") and desktop notifications (through " "libnotify" ")." +.RB "Optional support for AUR packages update (through " "paru" ", " "yay " "or " "pikaur" "), Flatpak packages update (through " "flatpak" ") and desktop notifications (through " "libnotify" ")." .br Arch-Update is designed to follow usual system maintenance steps, as described in the Arch Wiki at https://wiki.archlinux.org/title/System_maintenance. @@ -18,7 +18,7 @@ Arch-Update is designed to follow usual system maintenance steps, as described i .PP If no option is passed, launch the relevant series of functions to perform a complete and proper update starting by displaying the list of packages available for update, then ask for the user's confirmation to proceed with the installation. .br -.RB "It also supports AUR packages update (if " "yay " "or " "paru " "is installed) and Flatpak packages update (if " "flatpak " "is installed)." +.RB "It also supports AUR packages update (if " "paru" ", " "yay " "or " "pikaur " "is installed) and Flatpak packages update (if " "flatpak " "is installed)." .br Before performing the update, it offers to display the latest Arch Linux news to the user. By default, Arch news are only displayed if at least a new one has been published since the last run. Arch news published since the last run or at the same date are tagged as '[NEW]'. .br @@ -34,7 +34,7 @@ Check for available updates. .br It changes the systray icon and sends a desktop notification containing the number of available updates (if there are new available updates compared to the last check). .br -.RB "It supports AUR packages update (if " "yay " "or " "paru " "is installed) and Flatpak packages update (if " "flatpak " "is installed)." +.RB "It supports AUR packages update (if " "paru" ", " "yay " "or " "pikaur " "is installed) and Flatpak packages update (if " "flatpak " "is installed)." .br .RB "The " "\-\-check " "option is automatically launched at boot and then every hour if you enabled the associated " "systemd.timer " "with the following command:" .br @@ -136,11 +136,13 @@ To start it automatically at boot, you can either: .SH TIPS AND TRICKS .TP .B AUR Support -.RB "Arch-Update supports AUR packages update when checking and installing updates if " "yay " "or " "paru " "is installed." +.RB "Arch-Update supports AUR packages update when checking and installing updates if " "paru" ", " "yay " "or " "pikaur " "is installed." +.br +See https://github.com/morganamilo/paru and https://aur.archlinux.org/packages/paru .br See https://github.com/Jguer/yay and https://aur.archlinux.org/packages/yay .br -See https://github.com/morganamilo/paru and https://aur.archlinux.org/packages/paru +See https://github.com/actionless/pikaur and https://aur.archlinux.org/packages/pikaur .TP .B Flatpak Support @@ -291,8 +293,9 @@ The diff prog editor set in the arch-update.conf configuration file isn't found .BR pacman (8), .BR pacdiff (8), .BR paccache (8), -.BR yay (8), .BR paru (8), +.BR yay (8), +.BR pikaur (1), .BR flatpak (1), .BR arch-update.conf (5) diff --git a/doc/man/arch-update.conf.5 b/doc/man/arch-update.conf.5 index 949bb07..ae9a631 100644 --- a/doc/man/arch-update.conf.5 +++ b/doc/man/arch-update.conf.5 @@ -1,4 +1,4 @@ -.TH "ARCH-UPDATE.CONF" "5" "October 2024" "Arch-Update 3.3.0" "Arch-Update Manual" +.TH "ARCH-UPDATE.CONF" "5" "November 2024" "Arch-Update 3.3.0" "Arch-Update Manual" .SH NAME arch-update.conf \- arch-update configuration file. @@ -37,7 +37,7 @@ Always display Arch news before updating, regardless of whether there's a new on .TP .B AURHelper=[AUR Helper] -AUR helper to be used for AUR packages support. Valid values are paru or yay. If this option is not set, Arch-Update will use the first installed AUR helper in the following order: paru then yay (in case none of them is installed, Arch-Update will not take AUR packages into account). +AUR helper to be used for AUR packages support. Valid values are paru, yay or pikaur. If this option is not set, Arch-Update will use the first installed AUR helper in the following order: paru then yay then pikaur (in case none of them is installed, Arch-Update will not take AUR packages into account). .TP .B PrivilegeElevationCommand=[Cmd] diff --git a/doc/man/fr/arch-update.1 b/doc/man/fr/arch-update.1 index feae180..a209e46 100644 --- a/doc/man/fr/arch-update.1 +++ b/doc/man/fr/arch-update.1 @@ -1,4 +1,4 @@ -.TH "ARCH-UPDATE" "1" "Octobre 2024" "Arch-Update 3.3.0" "Manuel de Arch-Update" +.TH "ARCH-UPDATE" "1" "Novembre 2024" "Arch-Update 3.3.0" "Manuel de Arch-Update" .SH NAME arch-update \- Un notificateur & applicateur de mises à jour pour Arch Linux qui vous assiste dans les tâches importantes d'avant / après mise à jour. @@ -10,7 +10,7 @@ arch-update \- Un notificateur & applicateur de mises à jour pour Arch Linux qu .SH DESCRIPTION Un notificateur & applicateur de mises à jour pour Arch Linux qui vous assiste dans les tâches importantes d'avant / après mise à jour et qui inclut une applet systray cliquable pour une intégration facile avec n'importe quel panneau sur n'importe quel environnement de bureau ou gestionnaire de fenêtres. .br -.RB "Prise en charge optionnelle des mises à jour des paquets AUR (via " "yay " "or " "paru" "), des mises à jour des paquets Flatpak (via " "flatpak" ") et des notifications de bureau (via " "libnotify" ")." +.RB "Prise en charge optionnelle des mises à jour des paquets AUR (via " "paru" ", " "yay " "ou " "pikaur" "), des mises à jour des paquets Flatpak (via " "flatpak" ") et des notifications de bureau (via " "libnotify" ")." .br Arch-Update est conçu pour suivre les étapes usuelles de maintenance du système, telles que décrites dans le Arch Wiki à https://wiki.archlinux.org/title/System_maintenance. @@ -18,7 +18,7 @@ Arch-Update est conçu pour suivre les étapes usuelles de maintenance du systè .PP Si aucune option n'est passée, lance la série de fonctions adéquates pour effectuer une mise à jour complète et correcte, en commençant par afficher la liste des paquets disponibles pour la mise à jour et en demandant la confirmation de l'utilisateur pour procéder à l'installation. .br -.RB "Supporte les mises à jour des paquets AUR (si " "yay " "ou " "paru " "est installé) et des paquets Flatpak (si " "flatpak " "est installé)." +.RB "Supporte les mises à jour des paquets AUR (si " "paru" ", " "yay " "ou " "pikaur " "est installé) et des paquets Flatpak (si " "flatpak " "est installé)." .br Avant d'effectuer la mise à jour, propose d'afficher les dernières Arch news à l'utilisateur. Par défaut, les Arch news sont seulement affichées si au moins une nouvelle news a été publiée depuis la dernière exécution. Les Arch news publiées depuis la dernière exécution ou à la même date sont étiquetées comme '[NOUVEAU]'. .br @@ -34,7 +34,7 @@ Vérifier les mises à jour disponibles. .br Change l'icône du systray et envoie une notification de bureau contenant le nombre de mises à jour disponibles (s'il y a des nouvelles mises à jour disponibles depuis le dernier check). .br -.RB "Supporte les mises à jour des paquets AUR (si " "yay " "ou " "paru " "est installé) et les mises à jour des paquets Flatpak (si " "flatpak " "est installé)." +.RB "Supporte les mises à jour des paquets AUR (si " "paru" ", " "yay " "ou " "pikaur " "est installé) et les mises à jour des paquets Flatpak (si " "flatpak " "est installé)." .br .RB "L'option " "\-\-check " "est automatiquement lancée au démarrage du système puis une fois chaque heure si vous avez activé le " "systemd.timer " "associé avec la commande suivante :" .br @@ -136,11 +136,13 @@ Pour la démarrer automatiquement au démarrage du système, utilisez l'une des .SH TRUCS ET ASTUCES .TP .B Prise en charge du AUR -.RB "Arch-Update prend en charge la mise à jour des paquets AUR lors de la vérification et de l'installation des mises à jour si " "yay " "ou " "paru " "est installé." +.RB "Arch-Update prend en charge la mise à jour des paquets AUR lors de la vérification et de l'installation des mises à jour si " "paru" ", " "yay " "ou " "pikaur " "est installé." +.br +Voir https://github.com/morganamilo/paru et https://aur.archlinux.org/packages/paru .br Voir https://github.com/Jguer/yay et https://aur.archlinux.org/packages/yay .br -Voir https://github.com/morganamilo/paru et https://aur.archlinux.org/packages/paru +Voir https://github.com/actionless/pikaur et https://aur.archlinux.org/packages/pikaur .TP .B Prise en charge de Flatpak @@ -294,6 +296,7 @@ L'éditeur "diff prog" défini dans le fichier de configuration arch-update.conf .BR paccache (8), .BR yay (8), .BR paru (8), +.BR pikaur (1), .BR flatpak (1), .BR arch-update.conf (5) diff --git a/doc/man/fr/arch-update.conf.5 b/doc/man/fr/arch-update.conf.5 index 878d673..a9fa365 100644 --- a/doc/man/fr/arch-update.conf.5 +++ b/doc/man/fr/arch-update.conf.5 @@ -1,4 +1,4 @@ -.TH "ARCH-UPDATE.CONF" "5" "Octobre 2024" "Arch-Update 3.3.0" "Manuel de Arch-Update" +.TH "ARCH-UPDATE.CONF" "5" "Novembre 2024" "Arch-Update 3.3.0" "Manuel de Arch-Update" .SH NAME arch-update.conf \- fichier de configuration pour arch-update. @@ -37,7 +37,7 @@ Toujours afficher les Arch news avant de mettre à jour, peu importe s'il y en a .TP .B AURHelper=[AUR Helper] -AUR helper à utiliser pour la prise en charge des paquets AUR. Les valeurs valides sont paru ou yay. Si cette option n'est pas spécifiée, Arch-Update utilisera le premier AUR helper disponible dans l'ordre suivant : paru puis yay (si aucun des deux n'est installé, Arch-Update ne prendra pas en compte les paquets AUR). +AUR helper à utiliser pour la prise en charge des paquets AUR. Les valeurs valides sont paru, yay ou pikaur. Si cette option n'est pas spécifiée, Arch-Update utilisera le premier AUR helper disponible dans l'ordre suivant : paru puis yay puis pikaur (si aucun des deux n'est installé, Arch-Update ne prendra pas en compte les paquets AUR). .TP .B PrivilegeElevationCommand=[Cmd] diff --git a/src/arch-update.sh b/src/arch-update.sh index bdb9bb3..8b37eec 100755 --- a/src/arch-update.sh +++ b/src/arch-update.sh @@ -44,7 +44,7 @@ case "${option}" in source "${libdir}/full_upgrade.sh" ;; -d|--devel) - # Set the "--devel" flag for AUR helpers (yay / paru) + # Set the "--devel" flag for AUR helpers devel_flag+=("--devel") # Source the "full_upgrade" library which executes the series of relevant functions / libraries to perform a complete and proper update of the system diff --git a/src/lib/check.sh b/src/lib/check.sh index 9bb64b9..aaebbef 100755 --- a/src/lib/check.sh +++ b/src/lib/check.sh @@ -5,9 +5,9 @@ # SPDX-License-Identifier: GPL-3.0-or-later if [ -n "${aur_helper}" ] && [ -n "${flatpak}" ]; then - update_available=$(checkupdates ; "${aur_helper}" -Qua ; flatpak update | sed -n '/^ 1./,$p' | awk '{print $2}' | grep -v '^$' | sed '$d') + update_available=$(checkupdates ; "${aur_helper}" -Qua 2> /dev/null | sed 's/^ *//' | sed 's/ \+/ /g' ; flatpak update | sed -n '/^ 1./,$p' | awk '{print $2}' | grep -v '^$' | sed '$d') elif [ -n "${aur_helper}" ] && [ -z "${flatpak}" ]; then - update_available=$(checkupdates ; "${aur_helper}" -Qua) + update_available=$(checkupdates ; "${aur_helper}" -Qua 2> /dev/null | sed 's/^ *//' | sed 's/ \+/ /g') elif [ -z "${aur_helper}" ] && [ -n "${flatpak}" ]; then update_available=$(checkupdates ; flatpak update | sed -n '/^ 1./,$p' | awk '{print $2}' | grep -v '^$' | sed '$d') else diff --git a/src/lib/common.sh b/src/lib/common.sh index 4fd7c7f..3966bae 100755 --- a/src/lib/common.sh +++ b/src/lib/common.sh @@ -117,6 +117,9 @@ if [ -z "${aur_helper}" ]; then elif command -v yay > /dev/null; then # shellcheck disable=SC2034 aur_helper="yay" + elif command -v pikaur > /dev/null; then + # shellcheck disable=SC2034 + aur_helper="pikaur" fi else if ! command -v "${aur_helper}" > /dev/null; then diff --git a/src/lib/config.sh b/src/lib/config.sh index d854f47..62eb624 100755 --- a/src/lib/config.sh +++ b/src/lib/config.sh @@ -28,7 +28,7 @@ if [ -f "${config_file}" ]; then # Check the "AURHelper" option in arch-update.conf # shellcheck disable=SC2034 - aur_helper=$(grep -E '^[[:space:]]*AURHelper[[:space:]]*=[[:space:]]*(paru|yay)[[:space:]]*$' "${config_file}" 2> /dev/null | awk -F '=' '{print $2}' | tr -d '[:space:]') + aur_helper=$(grep -E '^[[:space:]]*AURHelper[[:space:]]*=[[:space:]]*(paru|yay|pikaur)[[:space:]]*$' "${config_file}" 2> /dev/null | awk -F '=' '{print $2}' | tr -d '[:space:]') # Check the "PrivilegeElevationCommand" option in arch-update.conf # shellcheck disable=SC2034 diff --git a/src/lib/list_packages.sh b/src/lib/list_packages.sh index 04b237d..d75ac25 100755 --- a/src/lib/list_packages.sh +++ b/src/lib/list_packages.sh @@ -17,10 +17,10 @@ fi if [ -n "${aur_helper}" ]; then if [ -z "${no_version}" ]; then # shellcheck disable=SC2154 - aur_packages=$("${aur_helper}" --color "${pacman_color_opt}" "${devel_flag[@]}" -Qua) + aur_packages=$("${aur_helper}" --color "${pacman_color_opt}" "${devel_flag[@]}" -Qua 2> /dev/null | sed 's/^ *//' | sed 's/ \+/ /g') else # shellcheck disable=SC2154 - aur_packages=$("${aur_helper}" --color "${pacman_color_opt}" "${devel_flag[@]}" -Qua | awk '{print $1}') + aur_packages=$("${aur_helper}" --color "${pacman_color_opt}" "${devel_flag[@]}" -Qua 2> /dev/null | sed 's/^ *//' | sed 's/ \+/ /g' | awk '{print $1}') fi fi