Hi Roger,

sorry for not having replied last week, I was busy with other things.

On 2016-04-13 23:19 +0900, Roger Shimizu wrote:

> Dear Sven,
>
> On Sat, Apr 2, 2016 at 9:17 PM, Roger Shimizu <rogershim...@gmail.com> wrote:
>>
>> And here's patch v4.
>>
>> Changes v2:
>>  - add udeb supoort to libncurses5
>> Changes v3:
>>  - add "Priority: extra" to udeb in debian/control
>>  - fix typo when calling dh_makeshlibs
>> Changes v4:
>>  - remove udeb support for libncurses5, since it's not required by 
>> screen-udeb
>
> I was always on armel boxes do the screen support for d-i, so I didn't
> find there's a problem on amd64 until yesterday.
> With the previous v4 patch, building packages for src:ncurses on ARCH
> amd64, then check the dependency of built udeb:
>
> $ dpkg-deb -I libtinfo5-udeb_6.0+20160319-2_amd64.udeb
> Depends: lib32tinfo5 (>= 6), libc6-udeb (>= 2.19)

I see why: the debian/libtinfo5-udeb.install file installs files named
usr/lib/*/libtic.so.*, and unfortunately the multilib libraries match
that wildcard, so you end up with /usr/lib/32/libtic.so.5 in the udeb
which is not what we want.

> It seems "lib32tinfo5" only exists on amd64 and ppc64.
> Then I tried to add "lib32tinfo5-udeb" support in debian/control and
> debian/rules, but built "lib32tinfo5-udeb" depend on libc6-i386, which
> is not udeb. So I decide not to choose this solution.

Yes, the right solution is not to install these files into the udeb in
the first place.  This could be achieved by creating
libtinfo5-udeb.install from libtinfo5-udeb.install.in, as in the first
version of your patch.

> I find another way, may be considered tricky though.
> I find screen actually uses libtinfo.so, but not uses libtic.so, which
> includes in libtinfo5-udeb.
> After I applied the patch below to removed libtic.so from
> libtinfo5-udeb, the dependency becomes normal as ARCH armel:
>
> $ dpkg-deb -I libtinfo5-udeb_6.0+20160319-2_amd64.udeb
> Depends: libc6-udeb (>= 2.19)
>
> diff --git a/debian/libtinfo5-udeb.install b/debian/libtinfo5-udeb.install
> index c6aa24a..576962e 100644
> --- a/debian/libtinfo5-udeb.install
> +++ b/debian/libtinfo5-udeb.install
> @@ -1,2 +1 @@
>  usr/lib/*/libtinfo.so.*
> -usr/lib/*/libtic.so.*

I don't like that, since the information in the libtinfo5 shlibs file
information then becomes incorrect.  The shlibs file says that udebs
with binaries linking to libtic should depend on libtinfo5-udeb, but
libtinfo5-udeb would not actually contain the library.

Cheers,
       Sven

Reply via email to