[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Adding runtime dependencies that aren't caught by shlibs:Depends



On 05/28/2016 12:30 PM, Jakub Wilk wrote:
> * Jens Reyer <jre.winesim@gmail.com>, 2016-05-27, 20:17:
>> I think I have it working now in wine to automatically generate a list
>> of runtime dependencies. I based it on Jakub's suggestions, however I
>> didn't go for creating a "dependency binary".
>>
>> For one I did get results this way, but unfortunately I neither really
>> know python nor perl which is usually used in wine packaging, in order
>> to cleanly implement it there.
> 
> I've attached shell implementation of SONAMEs-to-ELF converter.
> 
>> sonames=$(shell grep  "^\#define SONAME_" include/config.h | cut -d\"
>> -f2)
>> paths=/usr /usr/lib /lib/$(shell dpkg-architecture
>> -qDEB_HOST_MULTIARCH) /usr/lib/$(shell dpkg-architecture
>> -qDEB_HOST_MULTIARCH)
>> dlopenRecommends=$(shell \
>>    for soname in $(sonames); do \
>>    for path in $(paths); do \
>>        file=$$(echo $$path/$$soname | sed "s|//|/|g"); \
>>        [ -f $$file ] && dpkg -S $$file | cut -d: -f1 | sed "s/\\(.*\\)
>> */\\1,/" && break || true; \
>>        done; \
>>        done)

Massive thanks again, Jakub, that helped a lot to understand and
implement. As additional benefit I now also get alternative dependencies
(libgl1-mesa-glx|libgl1). I implemented it similar to what Paul suggested.

Should I put your coyright and the MIT/X11 (BSD like) license in the
script, as seen in dctypes2elf? Wine itself is LGPL-2.1+ licensed.

Greets
jre


Reply to: