#!/bin/sh

set -eu

vartmp="/var/tmp/oracle-libs"
mkdir -p $vartmp
test -O $vartmp
cd $vartmp

arch=$(dpkg --print-architecture)
case $arch in
    amd64) oarch="x64"    MA="x86_64-linux-gnu" ;;
    arm64) oarch="-arm64" MA="aarch64-linux-gnu" ;;
    i386)  oarch=""       MA="i386-linux-gnu" ;;
    s390x) oarch="z64"    MA="s390x-linux-gnu" ;;
    *) echo "oracle-libs: Unsupported architecture: $arch"
        exit 1 ;;
esac

url="download.oracle.com/otn_software/linux/instantclient"
flock $vartmp wget --mirror -nv "https://$url/instantclient-basiclite-linux$oarch.zip" "https://$url/instantclient-sdk-linux$oarch.zip"

tmp=$(mktemp -d --tmpdir oracle-libs.XXXXXX)
trap "rm -rf $tmp" EXIT
cd $tmp

unzip -o -q "$vartmp/$url/instantclient-basiclite-linux$oarch.zip"
unzip -o -q "$vartmp/$url/instantclient-sdk-linux$oarch.zip"

mkdir -p /usr/lib/oracle
test -O /usr/lib/oracle
cp -a instantclient_*/*.so* /usr/lib/oracle

mkdir -p /usr/include/oracle
test -O /usr/include/oracle
cp -a instantclient_*/sdk/include/* /usr/include/oracle

# work around t64 libaio renaming
if [ -e /usr/lib/$MA/libaio.so.1t64 ] && ! [ -e /usr/lib/$MA/libaio.so.1 ]; then
    ln -sv libaio.so.1t64 /usr/lib/$MA/libaio.so.1
fi

ldconfig
