| 
									
										
										
										
											2020-11-16 18:05:08 +05:30
										 |  |  | # Function to install libraries required by couchbase | 
					
						
							|  |  |  | add_couchbase_libs() { | 
					
						
							|  |  |  |   if [ "$(uname -s)" = "Linux" ]; then | 
					
						
							| 
									
										
										
										
											2021-02-22 18:40:19 +05:30
										 |  |  |     if [[ ${version:?} =~ 5.[3-6]|7.[0-1] ]]; then | 
					
						
							| 
									
										
										
										
											2020-11-16 18:05:08 +05:30
										 |  |  |       trunk="http://packages.couchbase.com/ubuntu" | 
					
						
							|  |  |  |       list="deb $trunk ${DISTRIB_CODENAME:?} ${DISTRIB_CODENAME:?}/main" | 
					
						
							|  |  |  |     else | 
					
						
							|  |  |  |       trunk="http://packages.couchbase.com/clients/c/repos/deb" | 
					
						
							|  |  |  |       list="deb $trunk/ubuntu${DISTRIB_RELEASE/./} ${DISTRIB_CODENAME:?} ${DISTRIB_CODENAME:?}/main" | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  |     add_pecl | 
					
						
							|  |  |  |     get -s -n "" "$trunk/couchbase.key" | sudo apt-key add | 
					
						
							|  |  |  |     echo "$list" | sudo tee /etc/apt/sources.list.d/couchbase.list | 
					
						
							|  |  |  |     sudo apt-get update | 
					
						
							|  |  |  |     ${apt_install:?} libcouchbase-dev | 
					
						
							|  |  |  |   else | 
					
						
							| 
									
										
										
										
											2021-02-22 18:40:19 +05:30
										 |  |  |     if [[ ${version:?} =~ 5.[3-6]|7.[0-1] ]]; then | 
					
						
							| 
									
										
										
										
											2020-11-16 18:05:08 +05:30
										 |  |  |       brew install libcouchbase@2 | 
					
						
							|  |  |  |       brew link --overwrite --force libcouchbase@2 | 
					
						
							|  |  |  |     else | 
					
						
							|  |  |  |       brew install libcouchbase | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  |   fi | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Function to add couchbase. | 
					
						
							|  |  |  | add_couchbase() { | 
					
						
							|  |  |  |   add_couchbase_libs >/dev/null 2>&1 | 
					
						
							|  |  |  |   enable_extension "couchbase" "extension" | 
					
						
							|  |  |  |   if check_extension "couchbase"; then | 
					
						
							|  |  |  |     add_log "${tick:?}" "couchbase" "Enabled" | 
					
						
							|  |  |  |   else | 
					
						
							| 
									
										
										
										
											2021-02-22 18:40:19 +05:30
										 |  |  |     if [[ "${version:?}" =~ ${old_versions:?} ]]; then | 
					
						
							|  |  |  |       pecl_install couchbase-2.2.3 >/dev/null 2>&1 | 
					
						
							|  |  |  |     elif [[ "${version:?}" =~ 5.6|7.[0-1] ]]; then | 
					
						
							| 
									
										
										
										
											2020-11-16 18:05:08 +05:30
										 |  |  |       pecl_install couchbase-2.6.2 >/dev/null 2>&1 | 
					
						
							| 
									
										
										
										
											2021-02-22 18:40:19 +05:30
										 |  |  |     elif [[ "${version:?}" =~ 7.2 ]]; then | 
					
						
							| 
									
										
										
										
											2020-12-17 16:29:01 +05:30
										 |  |  |       pecl_install couchbase-3.0.4 >/dev/null 2>&1 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:05:08 +05:30
										 |  |  |     else | 
					
						
							|  |  |  |       pecl_install couchbase >/dev/null 2>&1 | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  |     add_extension_log "couchbase" "Installed and enabled" | 
					
						
							|  |  |  |   fi | 
					
						
							|  |  |  | } |