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

Re: Multiarching perl



On Sun, Nov 18, 2012 at 11:52:50PM +0100, Guillem Jover wrote:
> [ Not subscribed, M-F-T set, please CC. ]

[ Done, and M-F-T preserved. ]

> Will try to clarify some things, w/o getting into specifics on how
> perl should be “multiarch-ified”, as I've not checked the details.

Thanks for this, much appreciated.

I'm still trying to wrap my head around it, so I'll just pick
on a couple of details for now.

> When we added the M-A:allowed value it was precisely for the case of
> interpreters that could load both arch-specific plugins/modules,
> and arch-indep scripts. So whatever package ends up with the perl
> interpreter needs to be marked as M-A:allowed.

Understood. There's a complication as perl-base and its /usr/bin/perl
are Essential:yes, not sure yet how much that changes things. I suspect
both perl-base and perl need to be M-A:allowed; perl is currently
going to be co-installable with itself but perl-base isn't.

> The only perl-using packages that would need their depedencies to be
> arch-qualified with :any, would be arch:any packages that just call
> the interpreter and do not require any linking.

> > - an arch:any package that has a /usr/bin/perl script that requires
> >   a perl XS module; example: devscripts
> 
> And this package (AFAICS) is just arch:any because of the tiny C wrappers,
> the rest of the scripts just use the interpreter side of perl or python,
> so those dependencies would be relaxed with :any arch-qualifiers. The
> dependencies between the XS modules and perl itself would be resolved
> between them.

I still can't see a guarantee that the XS module matches the arch of
/usr/bin/perl?

For instance, suppose we already have installed a foreign arch
application package linking against libperl (M-A:same), and the above
XS module package (M-A:same) on the same foreign arch, for use by this
libperl. Won't the already installed version of the XS module package
satisfy an :any qualified dependency? And therefore be incompatible
with /usr/bin/perl, breaking the script?

Or is there a guarantee that a hypothetical
 Depends: perl-base:any, libxs-whatever-perl:any

would pull in both packages on the same architecture?

(For now, I'm deliberately ignoring the fact that perl-base is Essential:yes
 and therefore no package currently needs to depend on it.)
-- 
Niko Tyni   ntyni@debian.org


Reply to: