install: avoid forcing pipewire jack over jack2
This commit is contained in:
parent
4c6010ece6
commit
a00a0995bb
@ -312,12 +312,28 @@ MSG
|
|||||||
Good first retry:
|
Good first retry:
|
||||||
sudo pacman -Syu --disable-download-timeout
|
sudo pacman -Syu --disable-download-timeout
|
||||||
If mirrors keep timing out, refresh /etc/pacman.d/mirrorlist before retrying.
|
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
|
MSG
|
||||||
fi
|
fi
|
||||||
echo " pacman log: $log_file" >&2
|
echo " pacman log: $log_file" >&2
|
||||||
exit 1
|
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() {
|
fetch_client_pki_bundle() {
|
||||||
[[ $CLIENT_PKI_AUTO_FETCH != 0 && $CLIENT_PKI_AUTO_FETCH != false && $CLIENT_PKI_AUTO_FETCH != no ]] || return 1
|
[[ $CLIENT_PKI_AUTO_FETCH != 0 && $CLIENT_PKI_AUTO_FETCH != false && $CLIENT_PKI_AUTO_FETCH != no ]] || return 1
|
||||||
[[ $CLIENT_PKI_SSH_SOURCE == *:* ]] || return 1
|
[[ $CLIENT_PKI_SSH_SOURCE == *:* ]] || return 1
|
||||||
@ -386,9 +402,10 @@ fi
|
|||||||
REPO_URL=${REPO_URL:-$DEFAULT_REPO_URL}
|
REPO_URL=${REPO_URL:-$DEFAULT_REPO_URL}
|
||||||
|
|
||||||
log "1. Installing base packages"
|
log "1. Installing base packages"
|
||||||
|
mapfile -t PIPEWIRE_PACKAGES < <(pipewire_package_set)
|
||||||
pacman_install \
|
pacman_install \
|
||||||
git rustup protobuf abseil-cpp gcc clang llvm-libs compiler-rt evtest base-devel libpulse \
|
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 \
|
alsa-utils gst-plugin-pipewire \
|
||||||
gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav \
|
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
|
wmctrl qt6-tools wl-clipboard xclip xsel desktop-file-utils openssl
|
||||||
|
|||||||
@ -948,12 +948,28 @@ MSG
|
|||||||
Good first retry:
|
Good first retry:
|
||||||
sudo pacman -Syu --disable-download-timeout
|
sudo pacman -Syu --disable-download-timeout
|
||||||
If mirrors keep timing out, refresh /etc/pacman.d/mirrorlist before retrying.
|
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
|
MSG
|
||||||
fi
|
fi
|
||||||
echo " pacman log: $log_file" >&2
|
echo " pacman log: $log_file" >&2
|
||||||
exit 1
|
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() {
|
install_verified_executable() {
|
||||||
local src=$1
|
local src=$1
|
||||||
local dest=$2
|
local dest=$2
|
||||||
@ -1042,18 +1058,14 @@ fi
|
|||||||
REPO_URL=${REPO_URL:-$DEFAULT_REPO_URL}
|
REPO_URL=${REPO_URL:-$DEFAULT_REPO_URL}
|
||||||
|
|
||||||
echo "==> 1a. Base packages"
|
echo "==> 1a. Base packages"
|
||||||
|
mapfile -t PIPEWIRE_PACKAGES < <(pipewire_package_set)
|
||||||
pacman_install git \
|
pacman_install git \
|
||||||
rustup \
|
rustup \
|
||||||
protobuf \
|
protobuf \
|
||||||
abseil-cpp \
|
abseil-cpp \
|
||||||
gcc \
|
gcc \
|
||||||
alsa-utils \
|
alsa-utils \
|
||||||
libpipewire \
|
"${PIPEWIRE_PACKAGES[@]}" \
|
||||||
pipewire \
|
|
||||||
pipewire-audio \
|
|
||||||
pipewire-alsa \
|
|
||||||
pipewire-jack \
|
|
||||||
pipewire-pulse \
|
|
||||||
tailscale \
|
tailscale \
|
||||||
base-devel \
|
base-devel \
|
||||||
v4l-utils \
|
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() {
|
fn client_install_treats_pipewire_as_one_coherent_transaction() {
|
||||||
for expected in [
|
for expected in [
|
||||||
"pacman_install()",
|
"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",
|
"breaks dependency '.*pipewire",
|
||||||
"PipeWire packages are at mixed exact versions",
|
"PipeWire packages are at mixed exact versions",
|
||||||
|
"Lesavka does not require JACK",
|
||||||
|
"do not remove jack2 just for Lesavka",
|
||||||
"sudo pacman -Syu",
|
"sudo pacman -Syu",
|
||||||
"failed retrieving file",
|
"failed retrieving file",
|
||||||
"sudo pacman -Syu --disable-download-timeout",
|
"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() {
|
fn server_install_treats_pipewire_as_one_coherent_transaction() {
|
||||||
for expected in [
|
for expected in [
|
||||||
"pacman_install()",
|
"pacman_install()",
|
||||||
"libpipewire",
|
"pipewire_package_set()",
|
||||||
"pipewire-audio",
|
"libpipewire pipewire pipewire-audio pipewire-pulse",
|
||||||
"pipewire-alsa",
|
"for package in pipewire-alsa pipewire-jack",
|
||||||
"pipewire-jack",
|
"pacman -Q \"$package\"",
|
||||||
|
"\"${PIPEWIRE_PACKAGES[@]}\"",
|
||||||
"breaks dependency '.*pipewire",
|
"breaks dependency '.*pipewire",
|
||||||
"PipeWire packages are at mixed exact versions",
|
"PipeWire packages are at mixed exact versions",
|
||||||
|
"Lesavka does not require JACK",
|
||||||
|
"do not remove jack2 just for Lesavka",
|
||||||
"failed retrieving file",
|
"failed retrieving file",
|
||||||
"sudo pacman -Syu --disable-download-timeout",
|
"sudo pacman -Syu --disable-download-timeout",
|
||||||
] {
|
] {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user