Pinning packages when one goes bad (#1162)

* Don't update system packages to prevent issues from something too new at the wrong time

* Add system to pin and ignore bad packages

To deal with the abseil-cpp issue
This commit is contained in:
David Heinemeier Hansson
2025-08-27 12:06:08 +02:00
committed by GitHub
parent a7df6c0941
commit 742e601baf
8 changed files with 35 additions and 2 deletions

7
bin/omarchy-pkg-ignored Executable file
View File

@@ -0,0 +1,7 @@
#!/bin/bash
IGNORED_PACKAGES_FILE="$OMARCHY_PATH/install/packages.ignored"
if [[ -f $IGNORED_PACKAGES_FILE ]]; then
tr '\r\n' ',' <"$IGNORED_PACKAGES_FILE" | sed 's/,$//'
fi

7
bin/omarchy-pkg-pinned Executable file
View File

@@ -0,0 +1,7 @@
#!/bin/bash
PINNED_PACKAGES_FILE=$OMARCHY_PATH/install/packages.pinned
if [[ -f $PINNED_PACKAGES_FILE ]]; then
tr '\r\n' ',' <"$PINNED_PACKAGES_FILE" | sed 's/,$//'
fi

View File

@@ -1,8 +1,8 @@
#!/bin/bash
echo -e "\e[32m\nUpdate system packages\e[0m"
sudo pacman -Syu --noconfirm
echo
echo "sudo pacman -Syu --noconfirm --ignore \"$(omarchy-pkg-ignored)\""
sudo pacman -Syu --noconfirm --ignore "$(omarchy-pkg-ignored)"
if omarchy-pkg-aur-accessible; then
echo -e "\e[32m\nUpdate AUR packages\e[0m"

View File

@@ -22,6 +22,7 @@ source $OMARCHY_INSTALL/packaging/fonts.sh
source $OMARCHY_INSTALL/packaging/lazyvim.sh
source $OMARCHY_INSTALL/packaging/webapps.sh
source $OMARCHY_INSTALL/packaging/tuis.sh
source $OMARCHY_INSTALL/packaging/pins.sh
# Configuration
source $OMARCHY_INSTALL/config/config.sh

1
install/packages.ignored Normal file
View File

@@ -0,0 +1 @@
abseil-cpp

1
install/packages.pinned Normal file
View File

@@ -0,0 +1 @@
https://pkgs.omarchy.org/x86_64/abseil-cpp-20250512.1-1-x86_64.pkg.tar.zst

13
install/packaging/pins.sh Normal file
View File

@@ -0,0 +1,13 @@
#!/bin/bash
# We pin explicit packages that are bad upstream here
pinned_packages=$(omarchy-pkg-pinned)
if [[ -n $pinned_packages ]]; then
echo -e "\e[32m\nInstall pinned system packages\e[0m"
for pinned in $pinned_packages; do
echo "sudo pacman -U --noconfirm $pinned"
sudo pacman -U --noconfirm $pinned
done
fi

3
migrations/1756284863.sh Normal file
View File

@@ -0,0 +1,3 @@
echo "Pin abseil-cpp as the latest package is broken"
sudo pacman -U --noconfirm https://archive.archlinux.org/packages/u/uwsm/uwsm-0.23.0-1-any.pkg.tar.zst