mirror of
				https://github.com/zokradonh/kopano-docker
				synced 2025-10-31 02:17:47 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			51 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| 
 | |
| set -eu
 | |
| 
 | |
| function urldecode { : "${*//+/ }"; echo -e "${_//%/\\x}"; }
 | |
| 
 | |
| function version_from_filename {
 | |
|     echo "$1" | sed -r 's#[a-z]+-([0-9_.+]+)-.*#\1#'
 | |
| }
 | |
| 
 | |
| function h5ai_query {
 | |
|     component="$1"
 | |
|     filename=$(curl -s -S -L -d "action=get&items%5Bhref%5D=%2Fcommunity%2F$component%3A%2F&items%5Bwhat%5D=1" -H \
 | |
|                 "Accept: application/json" https://download.kopano.io/community/ | jq '.items[].href' | \
 | |
|                 grep 'Debian_9.0-all\|Debian_9.0-amd64' | sed 's#"##g' | sed "s#/community/$component:/##")
 | |
| 
 | |
|     if [ -z "${filename// }" ]; then
 | |
|         echo "unknown component"
 | |
|         exit 1
 | |
|     fi
 | |
| 
 | |
|     filename=$(urldecode "$filename")
 | |
|     echo "$filename"
 | |
| }
 | |
| 
 | |
| function dl_and_package_community {
 | |
|     # take component as first argument and fallback to core if none given
 | |
|     component=${1:-core}
 | |
| 
 | |
|     # query community server by h5ai API
 | |
|     filename=$(h5ai_query "$component")
 | |
| 
 | |
|     # download & extract packages
 | |
|     curl -s -S -L -o "$filename" https://download.kopano.io/community/"$component":/"${filename}"
 | |
|     tar xf "$filename"
 | |
| 
 | |
|     # save buildversion
 | |
|     currentVersion=$(version_from_filename "$filename")
 | |
|     echo "$component-$currentVersion" >> /kopano/buildversion
 | |
| 
 | |
|     # save disk space
 | |
|     rm "$filename"
 | |
| 
 | |
|     mv "${filename%.tar.gz}" "$component"
 | |
| 
 | |
|     # prepare directory to be apt source
 | |
|     cd "$component"
 | |
|     apt-ftparchive packages . | gzip -9c > Packages.gz
 | |
|     cd ".."
 | |
| }
 |