archboot/usr/bin/archboot-not-installed.sh

32 lines
1.2 KiB
Bash
Raw Normal View History

2023-02-07 09:22:33 +01:00
#!/usr/bin/env bash
2023-08-11 17:19:18 +02:00
# SPDX-License-Identifier: GPL-3.0-or-later
2023-02-07 09:22:33 +01:00
# created by Tobias Powalowski <tpowa@archlinux.org>
2023-09-01 13:28:32 +02:00
. /usr/lib/archboot/common.sh
_archboot_check
2024-04-13 09:21:29 +02:00
# consider only license package and locale as uninstalled
# it's hard to track manually changes in systemd files
# added those directories with _full_dir
rm -r /usr/share/{licenses,locale} /usr/lib/{systemd,tmpfiles.d}
2023-02-07 09:14:40 +01:00
pacman -Sy
2023-09-04 09:33:55 +02:00
#shellcheck disable=SC2013
2024-04-13 09:21:29 +02:00
for i in $(pacman -Q | cut -d ' ' -f1); do
2024-06-27 07:36:04 +02:00
rm -r "${_PACMAN_LIB}"/local/$(pacman -Q ${i} | sd ' ' '-')
2024-04-13 09:21:29 +02:00
#shellcheck disable=SC2086
2023-09-06 11:51:28 +02:00
if pacman -Sdd ${i} --noconfirm >>log.txt; then
2024-06-10 16:01:52 +02:00
echo "${i}" >> not-installed.orig.txt
else
2024-04-13 09:21:29 +02:00
#shellcheck disable=SC2086
2023-09-04 21:17:37 +02:00
pacman -Sdd ${i} --noconfirm --overwrite '*'
fi
2023-02-07 09:14:40 +01:00
done
2024-04-13 09:38:52 +02:00
# remove false positives:
# ca-certificates has no files
# dbus-broker-units only systemd files
# iana-etc only /etc files
# licenses mandatory removed
# linux-firmware-whence only license files
# pacman-mirrorlist only /etc file
# pambase only /etc files
2024-06-26 21:13:13 +02:00
rg -v "ca-certificates|dbus-broker-units|iana-etc|licenses|linux-firmware-whence|pacman-mirrorlist|pambase" not-installed.orig.txt >not-installed.txt
# vim: set ft=sh ts=4 sw=4 et: