#!/bin/bash
# This is trying to follow this guide
#https://www.debian.org/doc/manuals/maint-guide/advanced.en.html#librarysymbols
# I dropped the sysmbols file to build 2.2 without conflicts and use the debs
# to generate symbols with proper references to 2.0 and 2.2 from that.
tmpdir="/tmp/getlibdpdksymbols/"
# Execute from the dir where sbuild drops .deb files
rm -rf ${tmpdir}
mkdir ${tmpdir}
cp libdpdk0*.deb ${tmpdir}
cd ${tmpdir}
# note that SOnames are a matter of long discussions in dpdk, for now both are
# 0 breaking the policy of ABI changes intentionally
# Eventually the lib will be split in sublibs and those have proper sover's
dpkg-deb -x libdpdk0_2.0.0-0ubuntu2_amd64.deb libdpdk0_2.0.0-0ubuntu2_amd64
dpkg-deb -x libdpdk0_2.0.0-0ubuntu2_i386.deb libdpdk0_2.0.0-0ubuntu2_i386
dpkg-deb -x libdpdk0_2.2.0-0ubuntu1_amd64.deb libdpdk0_2.2.0-0ubuntu1_amd64
dpkg-deb -x libdpdk0_2.2.0-0ubuntu1_i386.deb libdpdk0_2.2.0-0ubuntu1_i386
rm -f symbols-i386 symbols-amd64
: > symbols-i386
: > symbols-amd64
# Base i386
dpkg-gensymbols -v2.0 -plibdpdk0 -Plibdpdk0_2.0.0-0ubuntu2_i386 -Osymbols-i386
# Add V2.2 diff i386
dpkg-gensymbols -v2.2 -plibdpdk0 -Plibdpdk0_2.2.0-0ubuntu1_i386 -Osymbols-i386
# Base amd64
dpkg-gensymbols -v2.0 -plibdpdk0 -Plibdpdk0_2.0.0-0ubuntu2_amd64 -Osymbols-amd64
# Add V2.2 diff amd64
dpkg-gensymbols -v2.2 -plibdpdk0 -Plibdpdk0_2.2.0-0ubuntu1_amd64 -Osymbols-amd64
ls -laF --color
cd -