annotate deploy/linux/debian-dependencies.sh @ 1354:ae68ebb5fbe8 3.0-integration

Fixes to mp3 decode in subrepo. Filter out Xing/LAME info frames, rather than letting them go to the mp3 decoder as if they were audio frames, fixing the 1152-sample zero pad at start of some decoded mp3 files (distinct from decoder delay). Add MAD_BUFFER_GUARD padding at end of mp3 buffer, in order to ensure last frame is decoded successfully (otherwise the decoded audio is truncated). Both gleaned from madplay source code.
author Chris Cannam
date Thu, 24 Nov 2016 17:10:40 +0000
parents c977df9da61e
children a901eff2acaf
rev   line source
Chris@378 1 #!/bin/bash
Chris@378 2
Chris@378 3 target=$1
Chris@378 4
Chris@378 5 if [ ! -f "$target" ]; then
Chris@378 6 echo "Usage: $0 target-executable"
Chris@378 7 exit 1
Chris@378 8 fi
Chris@378 9
Chris@378 10 pfile=/tmp/packages_$$
Chris@378 11 rfile=/tmp/redundant_$$
Chris@378 12
Chris@378 13 trap "rm -f $pfile $rfile" 0
Chris@863 14 echo 1>&2
Chris@378 15
Chris@460 16 ldd "$target" | awk '{ print $3; }' | grep '^/' | while read lib; do
Chris@378 17 if test -n "$lib" ; then
Chris@378 18 dpkg-query -S "$lib"
Chris@378 19 fi
Chris@378 20 done | grep ': ' | awk -F: '{ print $1 }' | sort | uniq > $pfile
Chris@378 21
Chris@863 22 echo "Packages providing required libraries:" 1>&2
Chris@863 23 cat $pfile 1>&2
Chris@863 24 echo 1>&2
Chris@378 25
Chris@378 26 for p in `cat $pfile`; do
Chris@460 27 echo Looking at $p 1>&2
Chris@378 28 apt-cache showpkg "$p" | grep '^ ' | grep ',' | awk -F, '{ print $1; }' | \
Chris@378 29 while read d; do
Chris@378 30 if grep -q '^'$d'$' $pfile; then
Chris@865 31 echo $p
Chris@378 32 fi
Chris@378 33 done
Chris@378 34 done | sort | uniq > $rfile
Chris@378 35
Chris@863 36 echo "Packages that can be eliminated because other packages depend on them:" 1>&2
Chris@863 37 cat $rfile 1>&2
Chris@863 38 echo 1>&2
Chris@378 39
Chris@1081 40 cat $pfile $rfile | sort | uniq -u | sed 's/$/,/' | fmt -1000 | sed 's/^/Depends: /' | sed 's/,$/, libc6/' | sed 's/libjack0,/jackd,/'
Chris@378 41
Chris@863 42