Aaron Griffin schrieb:
Packages affected, according to the web interface:
   * abook
   * afterstep
   * archboot
   * bash
   * bc
   * cdcd
   * clisp
   * device-mapper
   * freeciv
   * fvwm
   * fvwm-devel
   * gftp
   * gnuchess
   * gnutls
   * gphoto2
   * gutenprint
   * hugs98
   * inetutils
   * jack-audio-connection-kit
   * lftp
   * libxml2
   * lua
   * maxima
   * mysql-clients
   * ntp
   * pal
   * php
   * pilot-link
   * postgresql-libs
   * python24
   * r
   * ratpoison
   * rosegarden
   * ruby
   * socat
   * sqlite3
   * sqlite3 (testing)
   * swi-prolog
   * tunepimp
   * uml_utilities
   * unixodbc
   * wvstreams

Add the new wpa_supplicant to that list (wpa_cli now uses readline).


#! /bin/bash

# Run in minimal chroot to avoid false positives due to dependancies.
# Chroot can be built with:
# sudo mkarchroot <chrootdir>/root glibc coreutils findutils grep tar gzip

# Copy script to <chrootdir>/root/tmp and packages to
<chrootdir>/root/tmp/pkg

# Usage:
# ./rebuildlist <library>
# <library> does not contain ".so"


library=$1
if [ "x$library" == "x" ]; then
       echo "Usage $0 <library>"
       exit
fi

for pkg in $(ls pkg); do
       echo $pkg
       mkdir tmp
       cp pkg/$pkg tmp
       cd tmp
       tar -xf $pkg
       rm $pkg
       found=$(ldd $(find .) 2>/dev/null | grep "${library}.so" | wc -l)
       if [ $found -ne 0 ]; then
               echo $pkg >> ../rebuildlist.txt
       fi
       cd ..
       rm -rf tmp
done

Don't use ldd here, as it also covers indirect dependencies. If libA depends on libB and libB depends on libC, then only libB needs updating when libC changes the SOname, as long as libA never calls libC directly.

You should parse the output of readelf -d, which only shows direct dependencies and thus allows you to distinguish between direct and indirect dependencies ... at least as far as I understand it.

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to