source: npl/checkdeps @ 128fde4

gcc484perl-5.22
Last change on this file since 128fde4 was c5c522c, checked in by Edwin Eefting <edwin@datux.nl>, 8 years ago

initial commit, transferred from cleaned syn3 svn tree

  • Property mode set to 100755
File size: 1.3 KB
Line 
1#!/bin/bash
2#Check if $PKG has all binary dependencies also referenced as #DEP: in slackbuild:"
3
4PKG="$1"
5[ "$PKG" ] || exit 1
6
7BUILD=`./findbuild $PKG`.SlackBuild || exit 1
8DEPS=`cat $BUILD|grep '^#DEP:'| cut -f2 -d:`
9
10tar -tzf `./findpkg $PKG` 2>/dev/null > /tmp/.ownfiles
11
12
13BIN_DEPS=` ./showbindeps $PKG |sed 's/.* NEEDED \W*//g'|sed 's/\.so.*//'|sort|uniq`
14
15NEW_DEPS=""
16for BIN_DEP in $BIN_DEPS; do
17        #echo "Binary dep $BIN_DEP"
18        [ "$BIN_DEP" == "ld-linux" ] && continue;
19        PROVIDERS="`grep \"/$BIN_DEP[-.][0-9a-z.-]*so[0-9a-z.-]*$\" .pkgfiles |cut -f1 -d: |sort |uniq| sed 's@.*/@@'|sed 's/\.pkg$//' |
20                #false positives:
21                grep -vx zarafa_licensed |
22                grep -vx samba
23        `"
24        FOUND=0;
25        for PROVIDER in $PROVIDERS; do
26                #default buildroot libraries
27                [ "$PROVIDER" == "glibc" ] && FOUND=1;
28                [ "$PROVIDER" == "gcc_g++" ] && FOUND=1;
29                [ "$PROVIDER" == "gcc" ] && FOUND=1;
30
31                #most depend on theirself as well
32                [ "$PROVIDER" == "$PKG" ] && FOUND=1;
33
34                if echo "$DEPS" | grep -x $PROVIDER >/dev/null; then
35                        FOUND=1
36                fi
37        done
38        if [ "$FOUND" == "0" ]; then
39                echo
40                echo "$PKG has not DEP for $BIN_DEP"
41                echo "## Providers:"
42                echo "$PROVIDERS"
43                NEW_DEPS="$NEW_DEPS $PROVIDERS"
44        fi
45       
46done
47
48
49if [ "$NEW_DEPS" ]; then
50        echo "Proposed deps:"
51        echo "$NEW_DEPS"|tr ' ' '\n'|sort|uniq|grep -xv "" |sed 's/^/#DEP:/'
52fi
Note: See TracBrowser for help on using the repository browser.