#!/bin/bash #Check if $PKG has all binary dependencies also referenced as #DEP: in slackbuild:" PKG="$1" [ "$PKG" ] || exit 1 BUILD=`./findbuild $PKG`.SlackBuild || exit 1 DEPS=`cat $BUILD|grep '^#DEP:'| cut -f2 -d:` tar -tzf `./findpkg $PKG` 2>/dev/null > /tmp/.ownfiles BIN_DEPS=` ./showbindeps $PKG |sed 's/.* NEEDED \W*//g'|sed 's/\.so.*//'|sort|uniq` NEW_DEPS="" for BIN_DEP in $BIN_DEPS; do #echo "Binary dep $BIN_DEP" [ "$BIN_DEP" == "ld-linux" ] && continue; PROVIDERS="`grep \"/$BIN_DEP[-.][0-9a-z.-]*so[0-9a-z.-]*$\" .pkgfiles |cut -f1 -d: |sort |uniq| sed 's@.*/@@'|sed 's/\.pkg$//' | #false positives: grep -vx zarafa_licensed | grep -vx samba `" FOUND=0; for PROVIDER in $PROVIDERS; do #default buildroot libraries [ "$PROVIDER" == "glibc" ] && FOUND=1; [ "$PROVIDER" == "gcc_g++" ] && FOUND=1; [ "$PROVIDER" == "gcc" ] && FOUND=1; #most depend on theirself as well [ "$PROVIDER" == "$PKG" ] && FOUND=1; if echo "$DEPS" | grep -x $PROVIDER >/dev/null; then FOUND=1 fi done if [ "$FOUND" == "0" ]; then echo echo "$PKG has not DEP for $BIN_DEP" echo "## Providers:" echo "$PROVIDERS" NEW_DEPS="$NEW_DEPS $PROVIDERS" fi done if [ "$NEW_DEPS" ]; then echo "Proposed deps:" echo "$NEW_DEPS"|tr ' ' '\n'|sort|uniq|grep -xv "" |sed 's/^/#DEP:/' fi