[pacman-dev] [PATCH] add support for .so dependencies
Allan McRae
allan at archlinux.org
Sat Aug 15 10:45:50 EDT 2009
Christoph Schied wrote:
> Hi!
>
> Allan McRae wrote:
>
>>> +find_sodependencies()
>>> +{
>>> + find $pkgdir | while read filename
>>> + do
>>> + arch=$(readelf -h "$filename" 2> /dev/null| sed -nr
>>> 's/.*Class:.*ELF(.*).*/\1/p')
>>> + [ -n "$arch" ] || continue
>>>
>>>
>> Hmmm.... not good. Think arch=('i686' 'x86_64')
>>
>
> This was actually brain0s idea to make this feature compatible for an
> eventually coming multilib system. It should work without problems as
> your binaries should be linked against shared objects that match your
> arch. Or is it the naming of the variables that bothers you?
>
"arch" is a reserved variable name in PKGBUILDs. This will break split
package support for packages that have both binary and arch=any packages
(which will be supported in the future).
>> Huh... IFS?
>>
>
> I am not sure about the IFS messing, but I think its necessary to make
> sort and uniq work.
>
Please do not delete context. As far as I can tell, IFS does
absolutely nothing here.
>
>> I'm guessing this patch was more a request for comments rather than
>> for actual consideration given a few of the issues I point out below
>> mean this will not actually work... So I will not comment on
>> implementation at all.
>>
>
> I don't see a problem which really prevents this approach on dependency
> generation.
>
Well, the patch being broken and so I assume untested was my main
issue. I will not review a patch the submitter has not even tested.
>> As far as the idea goes, I do not like it... This turns makepkg into
>> a bit of a black box as you can no longer see the depends and provides
>> from the PKGBUILD.
>>
>
> This shouldn't generate new dependencies, as makepkg already needs to
> know which packages are needed for building the package. So its a
> specialization of the already provided dependencies. If it's not, it's a
> bug in the PKGBUILD.
Well, then... what is the point? Versioned dependencies already cover
soname values if the package is listed as a dep in addition to is library.
Allan
More information about the pacman-dev
mailing list