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

Re: RFS: python-cartopy/0.14.2-2



On Tue, 2017-01-17 at 20:39 +0000, James Clarke wrote:
> On Tue, Jan 17, 2017 at 07:59:25PM +0000, Ghislain Vaillant wrote:
> > Hi James,
> > 
> > Le 17 janv. 2017 7:44 PM, "James Clarke" <jrtc27@debian.org> a écrit :
> > 
> > On Tue, Jan 17, 2017 at 07:22:32PM +0000, Ghislain Vaillant wrote:
> > > Dear all,
> > > 
> > > I am looking for a sponsor for python-cartopy:
> > > 
> > >   https://anonscm.debian.org/cgit/debian-science/packages/
> > 
> > python-cartopy.git
> > > 
> > > 
> > > Changes since the last upload:
> > > 
> > >   [ Andreas Tille ]
> > >   * Do not force the package maintainer to install build-dependencies like
> > >     geos on local machine
> > > 
> > >   [ Ghislain Antony Vaillant ]
> > >   * Fix FTBFS on 32-bit architectures (Closes: #848634)
> > >     New patch 0001-Skip-tests-failing-on-32-bit-architectures.patch
> > > 
> > > 
> > > The test skip patch is a result of upstream being not responsive to the
> > > issue so far. Since the failing test is fairly minor, I see no reason
> > > to block the package for non 32-bit architectures.
> > 
> > This doesn't look right; it only failed on i386 (and
> > hurd/kfreebsd-i386), but it built on armel, armhf, mips, mipsel, hppa,
> > m68k and powerpc. This is not a 32-bit issue, but an x86 floating-point
> > issue, most likely because the x87 FPU uses 80-bit floats internally.
> > 
> > 
> > Would you have a better patch to propose then?
> > 
> > If you're going to disable the test, please do so *only* if the CPU is
> > i386.
> > 
> > 
> > I only know how to test for 32-bit, not for *i386 specifically, in Python.
> > Please advise if you do.
> 
> There are platform.architecture()/machine()/processor(), but processor()
> seems to give '' on Debian, machine() will give x86_64 if using an i386
> chroot on an amd64 host, and architecture() just gives ('32bit', '').

Not to mention that platform.architecture is notoriously unreliable to
detect bitness from my initial reading (Python docs and SO).

> Then there's the additional complication that x32 is a 32-bit version of
> amd64, so it shouldn't fail the test. Therefore, I would propose
> something like the following Debian-specific hack:
> 
> host_cpu = subprocess.check_output(['dpkg-architecture', '-qDEB_HOST_ARCH_CPU'])
> if host_cpu != 'i386':
>     # Do the assert

Is it really worth going to so much trouble for just one test, you
reckon? I understand your rationales for it and appreciate the
pointers, but my pragmatic self is wondering whether putting such hack
in place would be worth the reward from a maintenance perspective.

> I would be interested to know if there's a way of doing this without
> having to call dpkg-architecture.

I would prefer such a solution too, TBH.

Ghis


Reply to: