71 lines
2.3 KiB
Bash
Raw Normal View History

2020-11-16 18:05:08 +05:30
# Function to install libraries required by couchbase
add_couchbase_clibs() {
ext=$1
2022-05-24 15:45:18 +05:30
trunk="https://github.com/couchbase/libcouchbase/releases"
if [[ "$ext" =~ couchbase-2.+ ]]; then
release="2.10.9"
2020-11-16 18:05:08 +05:30
else
2022-10-25 14:41:26 +05:30
release=$(get -s -n "" "$trunk"/latest | grep -Eo -m 1 "[0-9]+\.[0-9]+\.[0-9]+" | head -n 1)
2020-11-16 18:05:08 +05:30
fi
2022-05-24 15:45:18 +05:30
[ "$VERSION_ID" = "22.04" ] && vid=20.04 || vid="$VERSION_ID"
[ "$VERSION_CODENAME" = "jammy" ] && vcn=focal || vcn="$VERSION_CODENAME"
deb_url="$trunk/download/$release/libcouchbase-${release}_ubuntu${vid/./}_${vcn}_amd64.tar"
get -q -n /tmp/libcouchbase.tar "$deb_url"
sudo tar -xf /tmp/libcouchbase.tar -C /tmp
install_packages libev4 libevent-dev
sudo dpkg -i /tmp/libcouchbase-*/*.deb
2020-11-16 18:05:08 +05:30
}
add_couchbase_cxxlibs() {
2022-05-24 15:45:18 +05:30
if [ "${runner:?}" = "self-hosted" ]; then
add_list cmake https://apt.kitware.com/ubuntu/ https://apt.kitware.com/keys/kitware-archive-latest.asc "$VERSION_CODENAME" main
fi
2022-05-24 15:45:18 +05:30
install_packages cmake ccache
}
get_couchbase_version() {
2022-05-24 15:45:18 +05:30
if [[ "${version:?}" =~ ${old_versions:?} ]]; then
echo couchbase-2.2.3
elif [[ "${version:?}" =~ 5.6|7.[0-1] ]]; then
echo couchbase-2.6.2
elif [ "${version:?}" = '7.2' ]; then
echo couchbase-3.0.4
elif [ "${version:?}" = '7.3' ]; then
echo couchbase-3.2.2
else
echo couchbase
fi
}
2020-11-16 18:05:08 +05:30
# Function to add couchbase.
add_couchbase() {
ext=$1
2022-05-24 15:45:18 +05:30
if [ "$(uname -s)" = "Linux" ]; then
if [ "$ext" = "couchbase" ]; then
ext=$(get_couchbase_version)
fi
if [[ "$ext" =~ couchbase-[2-3].+ ]]; then
add_couchbase_clibs "$ext" >/dev/null 2>&1
else
add_couchbase_cxxlibs >/dev/null 2>&1
fi
enable_extension "couchbase" "extension"
if check_extension "couchbase"; then
add_log "${tick:?}" "couchbase" "Enabled"
else
if [ "$ext" = "couchbase" ]; then
ext="couchbase-$(get_pecl_version "couchbase" "stable")"
add_extension_from_source couchbase https://pecl.php.net couchbase couchbase "${ext##*-}" extension pecl >/dev/null 2>&1
else
pecl_install "${ext}" >/dev/null 2>&1
fi
add_extension_log "couchbase" "Installed and enabled"
fi
2020-11-16 18:05:08 +05:30
else
2022-05-24 15:45:18 +05:30
if [ -e "${ext_dir:?}"/libcouchbase_php_core.dylib ]; then
2022-10-25 14:41:26 +05:30
sudo cp "${ext_dir:?}"/libcouchbase_php_core.dylib "${brew_prefix:?}"/lib
2022-05-24 15:45:18 +05:30
fi
add_brew_extension couchbase extension
2020-11-16 18:05:08 +05:30
fi
}