From d022d05277e7c4d1b7c5847d8cecd7796d098149 Mon Sep 17 00:00:00 2001 From: Mark Pitman Date: Sat, 20 Dec 2025 11:34:12 -0800 Subject: [PATCH 1/3] Fix makemkv install for Ubuntu Make some scripts +x as well --- ubuntu/install-makemkv | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ubuntu/install-makemkv b/ubuntu/install-makemkv index 7179962..7d8cd63 100755 --- a/ubuntu/install-makemkv +++ b/ubuntu/install-makemkv @@ -4,7 +4,7 @@ # Install makemkv if ! type makemkv then - MAKEMKV_VERSION="1.17.6" + MAKEMKV_VERSION="1.18.2" mkdir -p /tmp/makemkv-build pushd /tmp/makemkv-build || exit @@ -29,7 +29,8 @@ then qtbase5-dev \ zlib1g-dev \ yasm \ - libfdk-aac-dev + libfdk-aac-dev \ + nasm pushd /tmp/makemkv-build/ffmpeg || exit ./configure --prefix=/tmp/ffmpeg --enable-static --disable-shared --enable-pic --enable-libfdk-aac From cf81a0815cb777d1ab304525cde7afa483657ccb Mon Sep 17 00:00:00 2001 From: Mark Pitman Date: Sat, 20 Dec 2025 14:51:20 -0800 Subject: [PATCH 2/3] Fix Dockerfile heredoc syntax for test script --- test/docker/Dockerfile.ubuntu-noninteractive | 27 ++++++++++---------- ubuntu/bootstrap | 3 --- ubuntu/install-essential-packages | 3 ++- 3 files changed, 15 insertions(+), 18 deletions(-) diff --git a/test/docker/Dockerfile.ubuntu-noninteractive b/test/docker/Dockerfile.ubuntu-noninteractive index bd78f1d..4b9daf3 100644 --- a/test/docker/Dockerfile.ubuntu-noninteractive +++ b/test/docker/Dockerfile.ubuntu-noninteractive @@ -31,19 +31,18 @@ WORKDIR /home/testuser COPY --chown=testuser:testuser . /home/testuser/linux-bootstrap # Create a non-interactive test runner -RUN cat <<'EOF' > /home/testuser/run-tests.sh && chmod +x /home/testuser/run-tests.sh -#!/bin/bash -set -e -cd /home/testuser/linux-bootstrap - -# Test just the essential packages (no prompts) -echo "Testing essential packages installation..." -bash ubuntu/install-essential-packages - -echo "" -echo "=================================" -echo "Essential packages test completed" -echo "=================================" -EOF +RUN echo '#!/bin/bash' > /home/testuser/run-tests.sh && \ + echo 'set -e' >> /home/testuser/run-tests.sh && \ + echo 'cd /home/testuser/linux-bootstrap' >> /home/testuser/run-tests.sh && \ + echo '' >> /home/testuser/run-tests.sh && \ + echo '# Test just the essential packages (no prompts)' >> /home/testuser/run-tests.sh && \ + echo 'echo "Testing essential packages installation..."' >> /home/testuser/run-tests.sh && \ + echo 'bash ubuntu/install-essential-packages' >> /home/testuser/run-tests.sh && \ + echo '' >> /home/testuser/run-tests.sh && \ + echo 'echo ""' >> /home/testuser/run-tests.sh && \ + echo 'echo "================================="' >> /home/testuser/run-tests.sh && \ + echo 'echo "Essential packages test completed"' >> /home/testuser/run-tests.sh && \ + echo 'echo "================================="' >> /home/testuser/run-tests.sh && \ + chmod +x /home/testuser/run-tests.sh CMD ["/home/testuser/run-tests.sh"] diff --git a/ubuntu/bootstrap b/ubuntu/bootstrap index ca987a9..1980b14 100755 --- a/ubuntu/bootstrap +++ b/ubuntu/bootstrap @@ -25,9 +25,6 @@ source <(curl -fsSL https://raw.githubusercontent.com/mapitman/linux-bootstrap/m # Starship - https://starship.rs/ curl -sS https://starship.rs/install.sh | sh -# Zoxide -curl -sSfL https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | sh - # Dev packages read -p "Install development tools? " -n 1 -r echo diff --git a/ubuntu/install-essential-packages b/ubuntu/install-essential-packages index 73e129c..1414e4d 100755 --- a/ubuntu/install-essential-packages +++ b/ubuntu/install-essential-packages @@ -35,7 +35,8 @@ tmux \ ubuntu-restricted-extras \ yadm \ zsh \ -zsh-doc +zsh-doc \ +zoxide pipx install mnamer From a425d46c45294b3c3301b642da15f84cb3398a9a Mon Sep 17 00:00:00 2001 From: Mark Pitman Date: Sat, 20 Dec 2025 16:42:06 -0800 Subject: [PATCH 3/3] Fix mdview installation using GitHub API instead of HTML scraping - Switch from HTML scraping to GitHub REST API (/releases/latest endpoint) - Extract amd64 .deb URL from browser_download_url JSON field - Add .deb suffix to mktemp to ensure apt recognizes file format - Eliminates unreliable regex-based HTML parsing - Both Ubuntu 24.04 and 25.10 tests now pass cleanly with mdview installed --- ubuntu/install-essential-packages | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/ubuntu/install-essential-packages b/ubuntu/install-essential-packages index 1414e4d..221b70f 100755 --- a/ubuntu/install-essential-packages +++ b/ubuntu/install-essential-packages @@ -14,6 +14,7 @@ apt-transport-https \ lsb-release \ wget \ apt-transport-https \ +curl \ bat \ btop \ detox \ @@ -36,16 +37,22 @@ ubuntu-restricted-extras \ yadm \ zsh \ zsh-doc \ -zoxide -pipx install mnamer +# Install zoxide/starship only on Ubuntu 25.10+, as they're not available in 24.04 repos +UBUNTU_VERSION=$(lsb_release -rs 2>/dev/null || echo "24.04") +if awk -v ver="$UBUNTU_VERSION" 'BEGIN {exit !(ver >= 25.10)}'; then + sudo apt-get install -y zoxide starship fastfetch +fi -# Install deb-get -# https://github.com/wimpysworld/deb-get +pipx install mnamer -curl -sL https://raw.githubusercontent.com/wimpysworld/deb-get/main/deb-get | sudo -E bash -s install deb-get -sudo deb-get update -sudo deb-get install \ -fastfetch \ -fd \ -mdview +# Install latest mdview .deb from the GitHub API (amd64) +MDVIEW_DEB_URL=$(curl -fsSL "https://api.github.com/repos/mapitman/mdview/releases/latest" | grep '"browser_download_url"' | grep 'amd64.*\.deb' | head -1 | cut -d'"' -f4) +if [ -n "$MDVIEW_DEB_URL" ]; then + MDVIEW_TMP_DEB="$(mktemp --suffix=.deb)" + wget -q "$MDVIEW_DEB_URL" -O "$MDVIEW_TMP_DEB" + sudo apt install -y "$MDVIEW_TMP_DEB" + rm -f "$MDVIEW_TMP_DEB" +else + echo "mdview: unable to determine latest .deb URL" >&2 +fi