blob: 1b091440bb1db23534e912c7b8131bc8a2d56c75 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
#!/bin/bash
perllibpath="/usr/lib/perl5/vendor_perl/auto/"
tmpdir=$(mktemp -d /tmp/find-broken-perl-package.XXXXXXXX)
find "$perllibpath" -name "*.so" |
sed \
-e "s|$perllibpath||" \
-e 's|/|::|g' \
-e 's|.so$||' \
-e 's|\(.*\)::.*$|\1|' |
while read module; do
output=$(perl -M$module -e1 2>&1)
if grep -q "perl: symbol lookup error:" <<< $output; then
sed -n 's|perl: symbol lookup error: \(.*\): undefined symbol: .*|\1|p' <<< $output >> $tmpdir/raw.txt
echo $module >> $tmpdir/perl-modules.txt
fi
done
pacman -Qqo $(<$tmpdir/raw.txt) &> $tmpdir/pacman.txt
echo "tempdir is \"$tmpdir\""
|