r1601 - in /experimental/mpeg2dec/debian: changelog patches/61_global-symbol-test.patch
lool at users.alioth.debian.org
lool at users.alioth.debian.org
Sat Dec 20 10:30:24 UTC 2008
Author: lool
Date: Sat Dec 20 10:30:24 2008
New Revision: 1601
URL: http://svn.debian.org/wsvn/pkg-multimedia/?sc=1&rev=1601
Log:
New patch, 61_global-symbol-test, rewrite the public symbol check to
verify the shared libraries, to check for more things, and to avoid
duplication; fixes make check on ARM.
Added:
experimental/mpeg2dec/debian/patches/61_global-symbol-test.patch
Modified:
experimental/mpeg2dec/debian/changelog
Modified: experimental/mpeg2dec/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-multimedia/experimental/mpeg2dec/debian/changelog?rev=1601&op=diff
==============================================================================
--- experimental/mpeg2dec/debian/changelog (original)
+++ experimental/mpeg2dec/debian/changelog Sat Dec 20 10:30:24 2008
@@ -1,8 +1,11 @@
-mpeg2dec (0.5.1-2) UNRELEASED; urgency=low
+mpeg2dec (0.5.1-2) experimental; urgency=low
* New patch, 60_arm-private-symbols, set visibility of global symbols used
in ARM specific assembly file to internal; spotted my make check on armel;
thanks Riku Voipio for the report.
+ * New patch, 61_global-symbol-test, rewrite the public symbol check to
+ verify the shared libraries, to check for more things, and to avoid
+ duplication; fixes make check on ARM.
-- Loic Minier <lool at dooz.org> Sat, 20 Dec 2008 09:42:41 +0100
Added: experimental/mpeg2dec/debian/patches/61_global-symbol-test.patch
URL: http://svn.debian.org/wsvn/pkg-multimedia/experimental/mpeg2dec/debian/patches/61_global-symbol-test.patch?rev=1601&op=file
==============================================================================
--- experimental/mpeg2dec/debian/patches/61_global-symbol-test.patch (added)
+++ experimental/mpeg2dec/debian/patches/61_global-symbol-test.patch Sat Dec 20 10:30:24 2008
@@ -1,0 +1,60 @@
+Rewrite the public symbol check to verify the shared libraries, to check for
+more things, and to avoid duplication; fixes make check on ARM
+
+--- a/test/globals
++++ b/test/globals
+@@ -1,4 +1,8 @@
+ #!/bin/sh
++# TODO
++# - fix checking of .a libs; problem is that "nm -g --defined-only" lists
++# internal symbols; this can be solved by using objdump, but it's probably
++# good enough to just run the tests on the shared lib
+
+ if test x"$srcdir" != x""; then
+ builddir="." # running from make check, but it does not define that
+@@ -14,22 +18,30 @@
+
+ error=0
+
+-bad_globals=`nm -g --defined-only $builddir/../libmpeg2/*.o |\
+- awk '{if ($3) print $3}' | grep -v '^_\?mpeg2_'`
+-
+-if test x"$bad_globals" != x""; then
+- echo BAD GLOBAL SYMBOLS:
+- for s in $bad_globals; do echo $s; done
++# check_bad_public_symbols <symbol prefix> <lib file> [<lib file>...]
++#
++# checks public symbols in shared libs:
++# - allow prefix_anything
++# - reject _prefixanything
++# - allow _anything
++# - reject anything else
++#
++# NB: skips missing files
++check_bad_public_symbols() {
++ symbols_prefix="$1"
++ shift
++ lib_files=`ls "$@" 2>/dev/null`
++ [ -z "$lib_files" ] && return
++ bad_globals=`nm -g --defined-only $lib_files |
++ awk '{if ($3) print $3}' |
++ sed -n "/^${symbols_prefix}_/ d; /^_${symbols_prefix}/ { p; d }; /^_/ d; p"`
++ [ -z "$bad_globals" ] && return
+ error=1
+-fi
+-
+-bad_globals=`nm -g --defined-only $builddir/../libmpeg2/convert/*.o |\
+- awk '{if ($3) print $3}' | grep -v '^_\?mpeg2convert_'`
++ echo BAD GLOBAL SYMBOLS in $lib_files:
++ echo "$bad_globals"
++}
+
+-if test x"$bad_globals" != x""; then
+- echo BAD GLOBAL SYMBOLS:
+- for s in $bad_globals; do echo $s; done
+- error=1
+-fi
++check_bad_public_symbols mpeg2 $builddir/../libmpeg2/.libs/libmpeg2.so
++check_bad_public_symbols mpeg2convert $builddir/../libmpeg2/convert/.libs/libmpeg2convert.so
+
+ exit $error
More information about the pkg-multimedia-commits
mailing list