#!/bin/bash . debian/debian.env if [ "$#" != "2" ]; then echo "Usage: $0 " 1>&2 exit 1 fi ver=$1 revision=$2 abi=$(echo $revision | awk -F. '{print $1}') verabi=$ver-$abi verfull=$ver-$revision src_pkg_name=$(dpkg-parsechangelog -l${DEBIAN}/changelog|grep Source|sed 's/^.*Source: //') WGET="wget --quiet -c" abidir="`pwd`/$DEBIAN/abi/$verfull" tmpdir="`pwd`/abi-tmp-$verfull" origdir="`pwd`" test -d $tmpdir || mkdir $tmpdir getall() { arch=$1 shift mkdir -p $abidir/$arch for sub in $@; do if [ -f $abidir/$arch/$sub ]; then echo "Exists: $sub" continue fi echo -n "Fetching $sub..." filename=linux-image-${verabi}-${sub}_${verfull}_${arch}.deb cd $tmpdir for r in "${repo_list[@]}" do url="`echo $r | sed 's/linux$/'${src_pkg_name}'/'`" if ! [ -f $filename ]; then $WGET $url/$filename fi done if [ "$?" = "0" ]; then echo -n "extracting..." dpkg-deb --extract $filename tmp if [ -f tmp/boot/abi-* ]; then mv tmp/boot/abi-* $abidir/$arch/$sub else echo -n "NO ABI FILE..." fi (cd tmp; find lib/modules/$verabi-$sub/kernel -name '*.ko') | \ sed -e 's/.*\/\([^\/]*\)\.ko/\1/' | sort > \ $abidir/$arch/$sub.modules rm -rf tmp $filename echo "done." else echo "FAILED." fi cd $origdir done } # MAIN # Setup abi directory mkdir -p $abidir echo $abi > $abidir/abiname # NOTE: The flavours are hardcoded, because they may have changed from the # current build. . $DEBIAN/etc/getabis rmdir $tmpdir