All pastes #1415525 Raw Edit

Stuff

public text v1 · immutable
#1415525 ·published 2009-05-07 18:19 UTC
rendered paste body
#!/bin/bash
MATCHLIST=$(tempfile)
FILELIST=$(tempfile)
TEMPLIST=$(tempfile)

if [ -z $1 ]; then
  echo "DUDE!!! You must point me to a package log.."
  echo "Those from /var/log/packages/, you know?"
  exit 127
fi

for i in $(grep \/ $1 | grep -v LOCATION); do
  j="/$i"
  file $j | grep "executable" | grep ELF | cut -f 1 -d : >> $FILELIST
  file $j | grep "shared object" | grep ELF | cut -f 1 -d : >> $FILELIST
done

for i in $(cat $FILELIST); do
  objdump -p $i | grep NEEDED | cut -d ' ' -f 18 >> $TEMPLIST
done

# Sort and strip out dublicates to speed up grepping /var/log/packages/*
cat $TEMPLIST | sort -u > $MATCHLIST

# Find the relevant packages, and make sure a package dont show up as depending on itself...
grep -l -f $MATCHLIST /var/log/packages/* | grep -v $(basename $1)

echo Matchlist $MATCHLIST, Filelist $FILELIST