On 05/03/12 06:19, Florian Pritz wrote: > libperl.so results in soname="libperl.so.so" which is wrong. > > This returns the correct string: "libperl.so" > > Fix-by: Dave Reisner <dreis...@archlinux.org> > Signed-off-by: Florian Pritz <bluew...@xinu.at> > --- > This should be applied to both master and maint.
Ugh.. I didn't review this but the patch is entirely broken on the first file I tried it on. > scripts/makepkg.sh.in | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in > index 6e7a556..9301730 100644 > --- a/scripts/makepkg.sh.in > +++ b/scripts/makepkg.sh.in > @@ -1071,7 +1071,7 @@ find_libdepends() { > for sofile in $(LC_ALL=C readelf -d "$filename" 2>/dev/null | > sed -nr 's/.*Shared library: \[(.*)\].*/\1/p') > do > # extract the library name: libfoo.so > - soname="${sofile%%\.so\.*}.so" > + soname="${sofile%.so?(+(.+([0-9])))}".so Broken: > LC_ALL=C readelf -d /usr/lib/libalpm.so.7.0.2 2>/dev/null | sed -nr 's/.*Shared library: \[(.*)\].*/\1/p' libcurl.so.4 libarchive.so.12 libcrypto.so.1.0.0 libgpgme.so.11 libc.so.6 > sofile="libcrypto.so.1.0.0" > echo "${sofile%.so?(+(.+([0-9])))}".so libcrypto.so.1.0.0.so Why not just: soname="${sofile%%\.so*}.so" I suppose that would not correctly work for... foo.so.bar.so.9 Allan