Compare commits

..

2 Commits

Author SHA1 Message Date
1dbc2826b2 updated README 2025-04-13 21:34:38 +02:00
a39a772cde added ignored, ignore, and unignore commands 2025-04-13 21:34:31 +02:00
2 changed files with 51 additions and 19 deletions

View File

@ -17,11 +17,16 @@ A `pacman` helper script, because you forget all the stupid flags
- purge
- clean
- reflector
- ignored
- ignore
- unignore
- config
`reflector` and `config` are the only flag that are not appended to `pacman` (or `yay`)<br>
instead `reflector` resolves to `reflector` with the previously used parameters stored in `/etc/pacman.d/mirrorlist`<br>
and `config` resolves to `nano /etc/pacman.conf`.
instead `reflector` resolves to using the `reflector` program with the previously used parameters stored in `/etc/pacman.d/mirrorlist`<br>
and `config` resolves to `nano /etc/pacman.conf`.<br>
`ignore` and `unignore` require the file `/etc/pacman.d/ignorepkg` to exist (you can use `install -m0644 /etc/pacman.d/ignorepkg` to create it),<br>
and the line `Include /etc/pacman.d/ignorepkg` to be inserted into `/etc/pacman.conf`.
`sudo` gets prepended automatically if the command requires root privileges, if the UID is not 0 (you are not `root`) and if `sudo` installed.<br>
no, there is no check if your user is in the `sudo` group, if you download this script you should already be, or know you can only use part of this utility<br>

27
pman.sh
View File

@ -45,6 +45,29 @@ elif [ "$command_args" = "reflector" ]; then
exit 1
fi
su_needed=true
elif [ "$command_args" = "ignored" ]; then
command="echo"
command_args="$(cat /etc/pacman.d/ignorepkg | sed 's/IgnorePkg = //' | sort)"
elif [ "$command_args" = "ignore" ]; then
for pkg in "${@}"; do
if [ "$(grep -e "$pkg$" /etc/pacman.d/ignorepkg)" != "" ]; then
echo "$pkg is already ignored, skipping..."
continue
fi
command="tee"
command_args="-a /etc/pacman.d/ignorepkg"
su_needed=true
echo "IgnorePkg = $pkg" | execute_command &>/dev/null
done
exit 0
elif [ "$command_args" = "unignore" ]; then
for pkg in "${@}"; do
command="sed"
su_needed=true
check_sudo
$command -i "/IgnorePkg = $pkg/d" /etc/pacman.d/ignorepkg
done
exit 0
fi
# If command is empty, command is pacman
@ -155,6 +178,10 @@ case "$command_args" in
echo " clean - pacman -Scc | remove all package files & trash"
echo " reflector - mirrorlist | refresh the mirrorlist with reflector (if used)"
echo " (do not use if file location differ from default /etc/pacman.d/mirrorlist)"
echo " ignored - /etc/pacman.d/ignorepkg | lists the packages which are ignored from update"
echo " (must create /etc/pacman.d/ignorepkg file and import it in /etc/pacman.conf)"
echo " ignore - /etc/pacman.d/ignorepkg | ignore package(s) from update"
echo " unignore - /etc/pacman.d/ignorepkg | un-ignore package(s) from update"
echo " config - /etc/pacman.conf | edits pacman configuration"
exit 1
fi