Skip to content

Commit 0146733

Browse files
committed
Fix installation script
1 parent 6f3fdeb commit 0146733

File tree

3 files changed

+47
-54
lines changed

3 files changed

+47
-54
lines changed

cmd/filter

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,17 @@ set -eo pipefail
55
# Version handling
66
if [[ "${1:-}" == "--version" || "${1:-}" == "-v" ]]; then
77
script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
8-
if [ -f "$script_dir/../VERSION" ]; then
9-
echo "filter $(cat "$script_dir/../VERSION")"
10-
else
11-
echo "filter (unknown version)"
12-
fi
8+
# Try different VERSION file locations
9+
for version_file in \
10+
"$script_dir/../VERSION" \
11+
"$HOME/.local/lib/functional-shell/VERSION" \
12+
"/usr/local/lib/functional-shell/VERSION"; do
13+
if [ -f "$version_file" ]; then
14+
echo "filter $(cat "$version_file")"
15+
exit 0
16+
fi
17+
done
18+
echo "filter (unknown version)"
1319
exit 0
1420
fi
1521

@@ -42,7 +48,7 @@ fi
4248

4349
# Fallback location checks
4450
if [ -z "${lib_dir:-}" ]; then
45-
if [ -d "$script_dir/../lib" ]; then
51+
if [ -f "$script_dir/../lib/core/functions/_filter" ]; then
4652
# Development mode - lib directory is relative to script
4753
lib_dir="$script_dir/../lib"
4854
elif [ -d "$HOME/.local/lib/functional-shell" ]; then

cmd/map

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,17 @@ set -eo pipefail
55
# Version handling
66
if [[ "${1:-}" == "--version" || "${1:-}" == "-v" ]]; then
77
script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
8-
if [ -f "$script_dir/../VERSION" ]; then
9-
echo "map $(cat "$script_dir/../VERSION")"
10-
else
11-
echo "map (unknown version)"
12-
fi
8+
# Try different VERSION file locations
9+
for version_file in \
10+
"$script_dir/../VERSION" \
11+
"$HOME/.local/lib/functional-shell/VERSION" \
12+
"/usr/local/lib/functional-shell/VERSION"; do
13+
if [ -f "$version_file" ]; then
14+
echo "map $(cat "$version_file")"
15+
exit 0
16+
fi
17+
done
18+
echo "map (unknown version)"
1319
exit 0
1420
fi
1521

@@ -42,7 +48,7 @@ fi
4248

4349
# Fallback location checks
4450
if [ -z "${lib_dir:-}" ]; then
45-
if [ -d "$script_dir/../lib" ]; then
51+
if [ -f "$script_dir/../lib/core/functions/_map" ]; then
4652
# Development mode - lib directory is relative to script
4753
lib_dir="$script_dir/../lib"
4854
elif [ -d "$HOME/.local/lib/functional-shell" ]; then

install.sh

Lines changed: 23 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -82,30 +82,22 @@ echo "-- Installing to $install_bin_dir and $install_lib_dir..."
8282
# Create directories
8383
${USE_SUDO} mkdir -p "$install_bin_dir" "$install_lib_dir"
8484

85-
# Install executables (handle both old and new structure)
86-
if [ -f "${tmp_dir}/cmd/map" ]; then
87-
# New structure
88-
${USE_SUDO} cp -f "${tmp_dir}/cmd/map" "$install_bin_dir/"
89-
${USE_SUDO} cp -f "${tmp_dir}/cmd/filter" "$install_bin_dir/"
90-
else
91-
# Old structure (fallback for existing remote repo)
92-
${USE_SUDO} cp -f "${tmp_dir}/map" "$install_bin_dir/"
93-
${USE_SUDO} cp -f "${tmp_dir}/filter" "$install_bin_dir/"
94-
fi
85+
# Install executables
86+
${USE_SUDO} cp -f "${tmp_dir}/cmd/map" "$install_bin_dir/"
87+
${USE_SUDO} cp -f "${tmp_dir}/cmd/filter" "$install_bin_dir/"
9588

96-
# Install libraries (handle both old and new structure)
97-
if [ -d "${tmp_dir}/lib" ]; then
98-
# New structure
99-
${USE_SUDO} cp -rf "${tmp_dir}/lib/"* "$install_lib_dir/"
100-
else
101-
# Old structure (fallback for existing remote repo)
102-
${USE_SUDO} cp -rf "${tmp_dir}/fs" "$install_lib_dir/"
89+
# Install VERSION file for version detection
90+
if [ -f "${tmp_dir}/VERSION" ]; then
91+
${USE_SUDO} cp -f "${tmp_dir}/VERSION" "$install_lib_dir/"
10392
fi
10493

94+
# Install libraries
95+
${USE_SUDO} cp -rf "${tmp_dir}/lib/core" "${tmp_dir}/lib/operations" "$install_lib_dir/"
96+
10597
# Install shell completions
10698
install_completions() {
10799
echo "-- Installing shell completions..."
108-
100+
109101
# Determine completion directories
110102
if [[ "$install_bin_dir" == "$HOME/.local/bin" ]]; then
111103
# User-local completion directories
@@ -116,22 +108,16 @@ install_completions() {
116108
bash_completion_dir="/usr/share/bash-completion/completions"
117109
zsh_completion_dir="/usr/share/zsh/site-functions"
118110
fi
119-
120-
# Install bash completion (handle both old and new structure)
121-
if [[ -f "${tmp_dir}/scripts/completion/bash_completion" ]]; then
122-
${USE_SUDO} mkdir -p "$bash_completion_dir"
123-
${USE_SUDO} cp "${tmp_dir}/scripts/completion/bash_completion" "$bash_completion_dir/functional-shell"
124-
echo " Installed bash completion to $bash_completion_dir/functional-shell"
125-
else
126-
echo " Shell completion not available in this version"
127-
fi
128-
129-
# Install zsh completion (handle both old and new structure)
130-
if [[ -f "${tmp_dir}/scripts/completion/zsh_completion" ]]; then
131-
${USE_SUDO} mkdir -p "$zsh_completion_dir"
132-
${USE_SUDO} cp "${tmp_dir}/scripts/completion/zsh_completion" "$zsh_completion_dir/_functional-shell"
133-
echo " Installed zsh completion to $zsh_completion_dir/_functional-shell"
134-
fi
111+
112+
# Install bash completion
113+
${USE_SUDO} mkdir -p "$bash_completion_dir"
114+
${USE_SUDO} cp "${tmp_dir}/scripts/completion/bash_completion" "$bash_completion_dir/functional-shell"
115+
echo " Installed bash completion to $bash_completion_dir/functional-shell"
116+
117+
# Install zsh completion
118+
${USE_SUDO} mkdir -p "$zsh_completion_dir"
119+
${USE_SUDO} cp "${tmp_dir}/scripts/completion/zsh_completion" "$zsh_completion_dir/_functional-shell"
120+
echo " Installed zsh completion to $zsh_completion_dir/_functional-shell"
135121
}
136122

137123
install_completions
@@ -148,17 +134,12 @@ LIB_DIR=$install_lib_dir
148134
# Installed files:
149135
$install_bin_dir/map
150136
$install_bin_dir/filter
137+
$install_lib_dir/VERSION
151138
EOF
152139

153140
# Add all library files to manifest
154-
if [ -d "${tmp_dir}/lib" ]; then
155-
# New structure
156-
find "${tmp_dir}/lib" -type f | sed "s|${tmp_dir}/lib|$install_lib_dir|" >> "${tmp_dir}/install_manifest"
157-
else
158-
# Old structure
159-
find "${tmp_dir}/fs" -type f | sed "s|${tmp_dir}/fs|$install_lib_dir|" >> "${tmp_dir}/install_manifest"
160-
fi
161-
141+
find "${tmp_dir}/lib/core" "${tmp_dir}/lib/operations" -type f | sed "s|${tmp_dir}/lib|$install_lib_dir|" >> "${tmp_dir}/install_manifest"
142+
162143
# Add completion files to manifest
163144
if [[ "$install_bin_dir" == "$HOME/.local/bin" ]]; then
164145
echo "$HOME/.local/share/bash-completion/completions/functional-shell" >> "${tmp_dir}/install_manifest"

0 commit comments

Comments
 (0)