diff --git a/usr/bin/archboot-not-installed.sh b/usr/bin/archboot-not-installed.sh new file mode 100755 index 000000000..dea7dd22e --- /dev/null +++ b/usr/bin/archboot-not-installed.sh @@ -0,0 +1,16 @@ +#!/bin/bash +if [[ ! "$(cat /etc/hostname)" == "archboot" ]]; then + echo "This script should only be run in booted archboot environment. Aborting..." + exit 1 +fi +rm -r /usr/share/licenses +pacman -Sy +pacman -Q | cut -d ' ' -f1 >packages.txt +for i in $(cat packages.txt); do + rm -r /var/lib/pacman/local/$i* + if pacman -S $i --noconfirm &>>log.txt; then + echo $i >> uninstalled.txt + else + pacman -S $i --noconfirm --overwrite '*' + fi +done diff --git a/usr/lib/archboot/common.sh b/usr/lib/archboot/common.sh index a7288f899..683514716 100644 --- a/usr/lib/archboot/common.sh +++ b/usr/lib/archboot/common.sh @@ -20,7 +20,7 @@ fi _PACMAN_MIRROR="/etc/pacman.d/mirrorlist" _PACMAN_CONF="/etc/pacman.conf" _CACHEDIR="/var/cache/pacman/pkg" -_FIX_PACKAGES="libelf libevent talloc gdbm gcc-libs glibc glib2 pcre2" +_FIX_PACKAGES="libelf libevent talloc gcc-libs glibc glib2 pcre2" _XORG_PACKAGE="xorg" _VNC_PACKAGE="tigervnc" _WAYLAND_PACKAGE="egl-wayland" diff --git a/usr/lib/archboot/login.sh b/usr/lib/archboot/login.sh index 4a0997528..b6660049c 100644 --- a/usr/lib/archboot/login.sh +++ b/usr/lib/archboot/login.sh @@ -86,7 +86,8 @@ if ! [[ -e "/.clean-pacman-db" ]]; then touch /.clean-pacman-db _RM_PACMAN_DB="grub libxml2 icu gettext refind amd-ucode intel-ucode edk2-shell cdrtools \ libisoburn libburn libisofs mkinitcpio memtest linux-api-headers jansson libwbclient \ - libbsd libmd libpcap libnftnl libnfnetlink libnetfilter_conntrack libsasl libldap" + libbsd libmd libpcap libnftnl libnfnetlink libnetfilter_conntrack libsasl libldap mtools \ + libsysprof-capture libnsl libksba gdbm binutils" for i in ${_RM_PACMAN_DB}; do rm -rf /var/lib/pacman/local/${i}* &>/dev/null done diff --git a/usr/lib/initcpio/install/archboot_installer b/usr/lib/initcpio/install/archboot_installer index 7b289b0f2..beefe91e0 100644 --- a/usr/lib/initcpio/install/archboot_installer +++ b/usr/lib/initcpio/install/archboot_installer @@ -5,7 +5,8 @@ build () { map add_binary genfstab arch-chroot pacstrap \ - archboot-"$(uname -m)"-release.sh isoinfo archboot-binary-check.sh + archboot-"$(uname -m)"-release.sh isoinfo archboot-binary-check.sh \ + archboot-not-installed.sh add_file "/usr/lib/archboot/release.sh" add_file "/usr/bin/archboot-setup.sh" "/usr/bin/setup" add_file "/usr/bin/archboot-quickinst.sh" "/usr/bin/quickinst"