Blob Blame History Raw
#! /bin/sh

# by default use PG_ prefix
: "${SYMBOL_VERSION_PREFIX=PG_}"

# we started symbol versioning since v10
: "${SYMBOL_VERSION_START=9.6}"

version=$SYMBOL_VERSION_START
version_prev=
first=:

open_block ()
{
	$first || echo
	first=false
	echo "${SYMBOL_VERSION_PREFIX}$version {"
	echo "global:"
}

close_block ()
{
	echo "}${version_prev:+ $SYMBOL_VERSION_PREFIX$version_prev};"
	version_prev=$version
	version=$1
}

open_block
while read -r symbol _ new_version
do
	case $symbol in '#'*) continue ;; esac
	if test -n "$new_version" && test "$new_version" != "$version"; then
		close_block "$new_version"
		open_block
	fi
	echo "	$symbol;"
done

echo "local:"
echo "	*;"
close_block