[Multiarch-devel] [Pkg-ia32-libs-maintainers] Proper upgrade path for lib32v4l-{0, dev}?

Goswin von Brederlow goswin-v-b at web.de
Tue Jul 3 10:12:32 UTC 2012


On Sun, Jul 01, 2012 at 10:01:28PM +0200, Sven Joachim wrote:
> [ CC'ing ia32-libs maintainers for their opinion. ]
> 
> On 2012-07-01 16:04 +0200, Gregor Jasny wrote:
> 
> > Hello,
> >
> > currently my source package v4l-utils builds lib32v4l-0 and
> > lib32v4l-dev packages on amd64. I'd like to get rid of them sooner
> > than later and provide a proper upgrade path to multiarch
> > packages. What's the best way to achieve this?
> 
> Getting rid of reverse dependencies so these packages can be removed as
> unused, I think.
> 
> > As far as I can see this always involves manual action due to the
> > required addition of the foreign i386 architecture.
> 
> Correct, but the same is true for ia32-libs which is usually the reason
> why people install lib32v4l-0.

True. So I wouldn't worry about that. There is no way around it anyway.
 
> > So should I simply drop the lib32 packages? The only dependent users
> > of these packages are Skype and Google talk plugin users. They usually
> > preload the libs via LD_PRELOAD. Due to the changed library paths when
> > migrating from lib32 packages to multiarch they need to perform manual
> > actions anyway.

If you provide a lib32v4l-0 you could put symlinks in there linking from
lib32 to lib/i486-linux-gnu/ so the old LD_PRELOAD still works.

> > Or should I change the packages from:
> >
> > Package: lib32v4l-0
> > Section: libs
> > Architecture: amd64
> > Depends: libv4l-0 (= ${binary:Version}),
> >          ${shlibs:Depends},
> >          ${misc:Depends}
> >
> > to virtual transition packages:
> >
> > Package: lib32v4l-0
> > Section: libs
> > Architecture: i386
> > Pre-Depends: multiarch-support
> > Depends: libv4l-0 (= ${binary:Version}),
> >          ${misc:Depends}
> 
> The Pre-Depends: multiarch-support is not necessary, but you would need
> to mark lib32v4l-0 as "Multi-Arch: foreign".
>
> However, since lib32v4l-0 is usually installed because ia32-libs depends
> on it, and the skype-debian_4.0.0.7-1_amd64.deb package I downloaded
> from Skype's website depends on ia32-libs but not lib32v4l-0: maybe a
> better upgrade path would be given by letting ia32-libs-i386 depend on
> libv4l-0?
> 
> The ia32-libs-i386 package depends on all libraries formerly included in
> ia32-libs (well, as far as they are still available), but not on the
> i386 counterparts of the various lib32* packages ia32-libs depended
> upon.  This seems like a bug to me.

Yes it is. I didn't consider that ia32-libs depended on some lib32* that
isn't already a dependency of one of the included libs. I will have to go
over the depends again and check which need to be added to the control file.
 
> Cheers,
>        Sven

MfG
	Goswin



More information about the Multiarch-devel mailing list