On 2023/09/02 13:46, Klemens Nanni wrote:
> +_CHECK_SYM = /usr/src/lib/check_sym
> +check-lib-symbols:
> +.for _n _v in ${SHARED_LIBS}
> +     ${_PBUILD} ${_CHECK_SYM} {,${WRKINST}}${PREFIX}/lib/lib${_n}.so.${_v}
> +.endfor

note that libraries can be in subdirs too.

fwiw here is the script I've been using for this for ages.

#!/bin/ksh -e
# Usage: env FLAVOR=... diffsyms

set -A libs -- $(make print-plist-libs)

[[ -f $(make show=_FAKE_COOKIE) ]] || {
        print -u2 'run "make fake" first'
        exit 1
}

obj=$(make show=WRKINST)

for _l in "${libs[@]}"; do
        lib=${_l##*/}
        lib=${lib%.so.*}

        old=$(ls -rt ${_l%.so.*}.so.* | tail -1)

        newver=$(make show=LIB${lib#lib}_VERSION)
        new=${obj}/${_l%.so*}.so.${newver}

        /usr/src/lib/check_sym "${old}" "${new}"
done

Reply via email to