Linux Archive

Linux Archive (http://www.linux-archive.org/)
-   ArchLinux Pacman Development (http://www.linux-archive.org/archlinux-pacman-development/)
-   -   makepkg: fix extraction of soname in find_libdepends (http://www.linux-archive.org/archlinux-pacman-development/642849-makepkg-fix-extraction-soname-find_libdepends.html)

Allan McRae 03-10-2012 12:43 AM

makepkg: fix extraction of soname in find_libdepends
 
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 <dreisner@archlinux.org>
> Signed-off-by: Florian Pritz <bluewind@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

Allan McRae 03-10-2012 12:55 AM

makepkg: fix extraction of soname in find_libdepends
 
On 10/03/12 11:43, Allan McRae wrote:
> 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 <dreisner@archlinux.org>
>> Signed-off-by: Florian Pritz <bluewind@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.

Ignore me... I was testing without extglob enabled.


All times are GMT. The time now is 09:54 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.