Hi Simon,

El 30/08/18 a las 18:54, Simon McVittie escribió:
> Package: grep
> Version: 3.1-2
> Severity: normal
> 
> The version of grep in Debian carries a patch to dlopen libpcre.so.3.
> However, it is also directly linked to libpcre.so.3 (objdump -Tx /bin/grep
> shows "NEEDED libpcre.so.3"), and will not execute without it. This also
> generates a hard dependency (in fact a Pre-Depends, because grep is
> Essential: yes).

Thanks for spotting and reporting this.
And sorry for this delayed answer.

> 
> If the intention was to make grep -P opportunistically use libpcre.so.3
> if present, but not use it if absent (like the way libopenal1 has a weak
> dependency on libasound2, libpulse0 and libportaudio2), then it should
> not be linked with -lpcre, only with -ldl. This will need some sort of
> patch to its build system.
> 
> Alternatively, if grep -P is considered to be part of the Essential
> functionality of grep, then the dlopen patch can be dropped and it can
> just use libpcre like a normal library (the same as pcregrep).
> 
> Please choose one or the other: the current situation is the worst of
> both worlds (you have the maintenance headache of the patch, but you
> still have the dependency).

Well, *I* don't consider -P as an essential functionality of grep. But
on the other side, declaring the normal dependency would make the things
simpler (and the simpler the better). 

I still prefer a weak dependency, but it's not up to me to decide.
Aníbal, any thoughts?

> The changelog entry for 2.25-6 suggests that a weak dependency
> is what was intended. If so, then it should be possible for the
> upstream-test-suite-no-pcre3 autopkgtest to be reinstated and pass
> without libpcre3 installed. It would probably be also good to have an
> autopkgtest that runs "objdump -Tx /bin/grep | grep NEEDED" and
> asserts that libpcre is not in the output.

Yes, that makes sense.

Thanks,

 -- Santiago

Attachment: signature.asc
Description: PGP signature

Reply via email to