From 1930585ba1a7f8bf20e73a24f06614577358d3fd Mon Sep 17 00:00:00 2001 From: "Istvan (isko)" Date: Mon, 1 Jun 2026 11:31:39 +0200 Subject: [PATCH 1/3] Use readlink if realpath is unavailable macOS does not have realpath installed by default. New code checks realpath, and if unavailable, tries readlink --- odev.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/odev.sh b/odev.sh index dc5227db..c67c49d0 100755 --- a/odev.sh +++ b/odev.sh @@ -3,9 +3,13 @@ # Run odev using the virtualenv if available, otherwise fallback to system python3 # for compatibility with older running installations of odev. +resolve_path() { + realpath "$1" 2>/dev/null || readlink -f "$1" +} + for interpreter in ~/.config/odev/venv/bin/python3 /usr/bin/python3; do if [ -x "$interpreter" ]; then - SCRIPT_PATH=$(readlink -f "$0") + SCRIPT_PATH=$(resolve_path "$0") exec "$interpreter" "$(dirname "$SCRIPT_PATH")/main.py" "$@" exit $? fi From 813e2535dfcd41a56f29a396869e73b2ad635d80 Mon Sep 17 00:00:00 2001 From: "Istvan (isko)" Date: Mon, 1 Jun 2026 11:47:02 +0200 Subject: [PATCH 2/3] Ignore .DS_Store files .DS_Store is a macOS specific file that stores metadata and display preferences information --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index bf6a6572..f33ae0eb 100644 --- a/.gitignore +++ b/.gitignore @@ -30,3 +30,6 @@ tmp/ .gemini/ GEMINI.md AGENTS.md + +# --- Temp macOS files +.DS_Store From 3ad318a2573d1dc8ae0258cbf5d317deab1657eb Mon Sep 17 00:00:00 2001 From: "Istvan (isko)" Date: Fri, 12 Jun 2026 11:41:21 +0200 Subject: [PATCH 3/3] Bump version number --- odev/_version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/odev/_version.py b/odev/_version.py index 62a0d420..387935d5 100644 --- a/odev/_version.py +++ b/odev/_version.py @@ -22,4 +22,4 @@ # or merged change. # ------------------------------------------------------------------------------ -__version__ = "4.29.4" +__version__ = "4.29.5"