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