install: avoid forcing pipewire jack over jack2
This commit is contained in:
parent
4c6010ece6
commit
a00a0995bb
@ -312,12 +312,28 @@ MSG
|
||||
Good first retry:
|
||||
sudo pacman -Syu --disable-download-timeout
|
||||
If mirrors keep timing out, refresh /etc/pacman.d/mirrorlist before retrying.
|
||||
MSG
|
||||
elif grep -Eq "pipewire-jack.*jack2|jack2.*pipewire-jack|are in conflict \\(jack\\)" "$log_file"; then
|
||||
cat >&2 <<'MSG'
|
||||
❌ Arch refused to install pipewire-jack because JACK is already provided by jack2.
|
||||
Lesavka does not require JACK. The installer only keeps pipewire-jack coherent
|
||||
on hosts that already use it; do not remove jack2 just for Lesavka.
|
||||
Pull the latest installer and rerun the Lesavka client install.
|
||||
MSG
|
||||
fi
|
||||
echo " pacman log: $log_file" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
pipewire_package_set() {
|
||||
printf '%s\n' libpipewire pipewire pipewire-audio pipewire-pulse
|
||||
for package in pipewire-alsa pipewire-jack; do
|
||||
if pacman -Q "$package" >/dev/null 2>&1; then
|
||||
printf '%s\n' "$package"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
fetch_client_pki_bundle() {
|
||||
[[ $CLIENT_PKI_AUTO_FETCH != 0 && $CLIENT_PKI_AUTO_FETCH != false && $CLIENT_PKI_AUTO_FETCH != no ]] || return 1
|
||||
[[ $CLIENT_PKI_SSH_SOURCE == *:* ]] || return 1
|
||||
@ -386,9 +402,10 @@ fi
|
||||
REPO_URL=${REPO_URL:-$DEFAULT_REPO_URL}
|
||||
|
||||
log "1. Installing base packages"
|
||||
mapfile -t PIPEWIRE_PACKAGES < <(pipewire_package_set)
|
||||
pacman_install \
|
||||
git rustup protobuf abseil-cpp gcc clang llvm-libs compiler-rt evtest base-devel libpulse \
|
||||
libpipewire pipewire pipewire-audio pipewire-alsa pipewire-jack pipewire-pulse wireplumber \
|
||||
"${PIPEWIRE_PACKAGES[@]}" wireplumber \
|
||||
alsa-utils gst-plugin-pipewire \
|
||||
gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav \
|
||||
wmctrl qt6-tools wl-clipboard xclip xsel desktop-file-utils openssl
|
||||
|
||||
@ -948,12 +948,28 @@ MSG
|
||||
Good first retry:
|
||||
sudo pacman -Syu --disable-download-timeout
|
||||
If mirrors keep timing out, refresh /etc/pacman.d/mirrorlist before retrying.
|
||||
MSG
|
||||
elif grep -Eq "pipewire-jack.*jack2|jack2.*pipewire-jack|are in conflict \\(jack\\)" "$log_file"; then
|
||||
cat >&2 <<'MSG'
|
||||
❌ Arch refused to install pipewire-jack because JACK is already provided by jack2.
|
||||
Lesavka does not require JACK. The installer only keeps pipewire-jack coherent
|
||||
on hosts that already use it; do not remove jack2 just for Lesavka.
|
||||
Pull the latest installer and rerun the Lesavka server install.
|
||||
MSG
|
||||
fi
|
||||
echo " pacman log: $log_file" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
pipewire_package_set() {
|
||||
printf '%s\n' libpipewire pipewire pipewire-audio pipewire-pulse
|
||||
for package in pipewire-alsa pipewire-jack; do
|
||||
if pacman -Q "$package" >/dev/null 2>&1; then
|
||||
printf '%s\n' "$package"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
install_verified_executable() {
|
||||
local src=$1
|
||||
local dest=$2
|
||||
@ -1042,18 +1058,14 @@ fi
|
||||
REPO_URL=${REPO_URL:-$DEFAULT_REPO_URL}
|
||||
|
||||
echo "==> 1a. Base packages"
|
||||
mapfile -t PIPEWIRE_PACKAGES < <(pipewire_package_set)
|
||||
pacman_install git \
|
||||
rustup \
|
||||
protobuf \
|
||||
abseil-cpp \
|
||||
gcc \
|
||||
alsa-utils \
|
||||
libpipewire \
|
||||
pipewire \
|
||||
pipewire-audio \
|
||||
pipewire-alsa \
|
||||
pipewire-jack \
|
||||
pipewire-pulse \
|
||||
"${PIPEWIRE_PACKAGES[@]}" \
|
||||
tailscale \
|
||||
base-devel \
|
||||
v4l-utils \
|
||||
|
||||
@ -129,9 +129,15 @@ fn client_install_reports_nvidia_and_open_source_media_routes() {
|
||||
fn client_install_treats_pipewire_as_one_coherent_transaction() {
|
||||
for expected in [
|
||||
"pacman_install()",
|
||||
"libpipewire pipewire pipewire-audio pipewire-alsa pipewire-jack pipewire-pulse",
|
||||
"pipewire_package_set()",
|
||||
"libpipewire pipewire pipewire-audio pipewire-pulse",
|
||||
"for package in pipewire-alsa pipewire-jack",
|
||||
"pacman -Q \"$package\"",
|
||||
"\"${PIPEWIRE_PACKAGES[@]}\"",
|
||||
"breaks dependency '.*pipewire",
|
||||
"PipeWire packages are at mixed exact versions",
|
||||
"Lesavka does not require JACK",
|
||||
"do not remove jack2 just for Lesavka",
|
||||
"sudo pacman -Syu",
|
||||
"failed retrieving file",
|
||||
"sudo pacman -Syu --disable-download-timeout",
|
||||
|
||||
@ -388,12 +388,15 @@ fn server_install_provisions_non_rebooting_recovery_ladder() {
|
||||
fn server_install_treats_pipewire_as_one_coherent_transaction() {
|
||||
for expected in [
|
||||
"pacman_install()",
|
||||
"libpipewire",
|
||||
"pipewire-audio",
|
||||
"pipewire-alsa",
|
||||
"pipewire-jack",
|
||||
"pipewire_package_set()",
|
||||
"libpipewire pipewire pipewire-audio pipewire-pulse",
|
||||
"for package in pipewire-alsa pipewire-jack",
|
||||
"pacman -Q \"$package\"",
|
||||
"\"${PIPEWIRE_PACKAGES[@]}\"",
|
||||
"breaks dependency '.*pipewire",
|
||||
"PipeWire packages are at mixed exact versions",
|
||||
"Lesavka does not require JACK",
|
||||
"do not remove jack2 just for Lesavka",
|
||||
"failed retrieving file",
|
||||
"sudo pacman -Syu --disable-download-timeout",
|
||||
] {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user