mirror of
https://github.com/webinstall/webi-installers.git
synced 2026-02-14 17:49:53 +00:00
64 lines
1.7 KiB
Bash
64 lines
1.7 KiB
Bash
#!/bin/sh
|
|
# shellcheck disable=SC2034
|
|
|
|
__init_ollama() {
|
|
set -e
|
|
set -u
|
|
|
|
##################
|
|
# Install ollama #
|
|
##################
|
|
|
|
# Every package should define these 6 variables
|
|
pkg_cmd_name="ollama"
|
|
|
|
pkg_dst_cmd="${HOME}/.local/opt/ollama/bin/ollama"
|
|
pkg_dst_dir="${HOME}/.local/opt/ollama"
|
|
pkg_dst="${pkg_dst_dir}"
|
|
|
|
pkg_src_cmd="${HOME}/.local/opt/ollama-v${WEBI_VERSION}/bin/ollama"
|
|
pkg_src_dir="${HOME}/.local/opt/ollama-v${WEBI_VERSION}"
|
|
pkg_src="${pkg_src_dir}"
|
|
|
|
# pkg_install must be defined by every package
|
|
pkg_install() {
|
|
# ~/.local/opt/
|
|
mkdir -p "$(dirname "${pkg_src_dir}")"
|
|
|
|
if test -d ./ollama-*/; then
|
|
# the de facto way (in case it's supported in the future)
|
|
# mv ./ollama-*/ ~/.local/opt/ollama-v3.27.0/
|
|
mv ./ollama-*/ "${pkg_src}"
|
|
elif test -d ./bin; then
|
|
# how linux is presently done
|
|
mkdir -p "${pkg_src_dir}"
|
|
mv ./bin "${pkg_src_dir}"
|
|
if test -f ./lib; then
|
|
mv ./lib "${pkg_src_dir}"
|
|
fi
|
|
else
|
|
# how macOS is presently done
|
|
mkdir -p "$(dirname "${pkg_src_cmd}")"
|
|
mv ./ollama-* "${pkg_src_cmd}"
|
|
fi
|
|
|
|
# remove previous location
|
|
if test -f ~/.local/bin/ollama; then
|
|
rm ~/.local/bin/ollama
|
|
fi
|
|
}
|
|
|
|
pkg_get_current_version() {
|
|
# 'ollama --version' has output in this format:
|
|
# ollama version is 0.3.10
|
|
# This trims it down to just the version number:
|
|
# 0.3.10
|
|
ollama --version 2> /dev/null |
|
|
head -n 1 |
|
|
cut -d' ' -f4 |
|
|
sed 's:^v::'
|
|
}
|
|
}
|
|
|
|
__init_ollama
|