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