Your message dated Tue, 06 Jan 2026 15:10:08 +0000
with message-id <[email protected]>
and subject line Bug#1123338: fixed in python-xarray 2025.12.0-2
has caused the Debian Bug report #1123338,
regarding sarsen: FTBFS: dh_auto_test: error: pybuild --test --test-pytest -i
python{version} -p "3.14 3.13" returned exit code 13
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
1123338: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1123338
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: src:sarsen
Version: 0.9.5+ds-1
Severity: serious
Tags: ftbfs forky sid
Dear maintainer:
During a rebuild of all packages in unstable, this package failed to build.
Below you will find the last part of the build log (probably the most
relevant part, but not necessarily). If required, the full build log
is available here:
https://people.debian.org/~sanvila/build-logs/202512/
About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.
If you cannot reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.
If this is really a bug in one of the build-depends, please use
reassign and add an affects on src:sarsen, so that this is still
visible in the BTS web page for this package.
Thanks.
--------------------------------------------------------------------------------
[...]
debian/rules clean
dh clean --buildsystem=pybuild
dh_auto_clean -O--buildsystem=pybuild
dh_autoreconf_clean -O--buildsystem=pybuild
dh_clean -O--buildsystem=pybuild
debian/rules binary
dh binary --buildsystem=pybuild
dh_update_autotools_config -O--buildsystem=pybuild
dh_autoreconf -O--buildsystem=pybuild
dh_auto_configure -O--buildsystem=pybuild
dh_auto_build -O--buildsystem=pybuild
I: pybuild plugin_pyproject:131: Building wheel for python3.14 with "build"
module
I: pybuild base:317: python3.14 -m build --skip-dependency-check --no-isolation
--wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14
* Building wheel...
/usr/lib/python3/dist-packages/setuptools/config/_apply_pyprojecttoml.py:82:
SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated
[... snipped ...]
"""
dims: dict[Hashable, int] = {}
last_used = {}
scalar_vars = {k for k, v in variables.items() if not v.dims}
for k, var in variables.items():
for dim, size in zip(var.dims, var.shape, strict=True):
if dim in scalar_vars:
raise ValueError(
f"dimension {dim!r} already exists as a scalar variable"
)
if dim not in dims:
dims[dim] = size
last_used[dim] = k
elif dims[dim] != size:
> raise ValueError(
f"conflicting sizes for dimension {dim!r}: "
f"length {size} on {k!r} and length {dims[dim]} on
{last_used!r}"
)
E ValueError: conflicting sizes for dimension 'y': length 0
on <this-array> and length 360 on {'x': 'x', 'y': 'y'}
/usr/lib/python3/dist-packages/xarray/core/variable.py:3143: ValueError
=================================== FAILURES ===================================
____________________________ test_convert_to_dem_3d ____________________________
dem_raster = <xarray.DataArray 'dem' (y: 0, x: 360)> Size: 0B
[0 values with dtype=float32]
Coordinates:
* y (y) float...
spatial_ref int64 8B ...
Attributes:
AREA_OR_POINT: Area
units: m
long_name: elevation
def test_convert_to_dem_3d(dem_raster: xr.DataArray) -> None:
> res = scene.convert_to_dem_3d(dem_raster)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
tests/test_10_scene.py:9:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
sarsen/scene.py:42: in convert_to_dem_3d
_, dem_raster_x = xr.broadcast(dem_raster,
dem_raster.coords[x].astype(dtype))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/xarray/structure/alignment.py:1297: in broadcast
args = align(*args, join="outer", copy=False, exclude=exclude)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/xarray/structure/alignment.py:967: in align
aligner.align()
/usr/lib/python3/dist-packages/xarray/structure/alignment.py:667: in align
self.reindex_all()
/usr/lib/python3/dist-packages/xarray/structure/alignment.py:638: in reindex_all
self.results = tuple(
/usr/lib/python3/dist-packages/xarray/structure/alignment.py:627: in
_reindex_one
return obj._reindex_callback(
/usr/lib/python3/dist-packages/xarray/core/dataarray.py:1968: in
_reindex_callback
ds = self._to_temp_dataset()
^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/xarray/core/dataarray.py:582: in _to_temp_dataset
return self._to_dataset_whole(name=_THIS_ARRAY, shallow_copy=False)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/xarray/core/dataarray.py:649: in
_to_dataset_whole
return Dataset._construct_direct(variables, coord_names, indexes=indexes)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/xarray/core/dataset.py:853: in _construct_direct
dims = calculate_dimensions(variables)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
variables = {'x': <xarray.IndexVariable 'x' (x: 360)> Size: 3kB
array([12.45 , 12.450278, 12.450556, ..., 12.549167, 12.549444,...[0 values
with dtype=float32]
Attributes:
AREA_OR_POINT: Area
units: m
long_name: elevation}
def calculate_dimensions(variables: Mapping[Any, Variable]) ->
dict[Hashable, int]:
"""Calculate the dimensions corresponding to a set of variables.
Returns dictionary mapping from dimension names to sizes. Raises
ValueError
if any of the dimension sizes conflict.
"""
dims: dict[Hashable, int] = {}
last_used = {}
scalar_vars = {k for k, v in variables.items() if not v.dims}
for k, var in variables.items():
for dim, size in zip(var.dims, var.shape, strict=True):
if dim in scalar_vars:
raise ValueError(
f"dimension {dim!r} already exists as a scalar variable"
)
if dim not in dims:
dims[dim] = size
last_used[dim] = k
elif dims[dim] != size:
> raise ValueError(
f"conflicting sizes for dimension {dim!r}: "
f"length {size} on {k!r} and length {dims[dim]} on
{last_used!r}"
)
E ValueError: conflicting sizes for dimension 'y': length 0
on <this-array> and length 360 on {'x': 'x', 'y': 'y'}
/usr/lib/python3/dist-packages/xarray/core/variable.py:3143: ValueError
________________________________ test_upsample _________________________________
dem_raster = <xarray.DataArray 'dem' (y: 0, x: 360)> Size: 0B
[0 values with dtype=float32]
Coordinates:
* y (y) float...
spatial_ref int64 8B ...
Attributes:
AREA_OR_POINT: Area
units: m
long_name: elevation
def test_upsample(dem_raster: xr.DataArray) -> None:
> res = scene.upsample(dem_raster, x=2)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
tests/test_10_scene.py:39:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
sarsen/scene.py:103: in upsample
return data.interp(coords, kwargs={"fill_value": "extrapolate"})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/xarray/core/dataarray.py:2414: in interp
ds = self._to_temp_dataset().interp(
^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/xarray/core/dataarray.py:582: in _to_temp_dataset
return self._to_dataset_whole(name=_THIS_ARRAY, shallow_copy=False)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/xarray/core/dataarray.py:649: in
_to_dataset_whole
return Dataset._construct_direct(variables, coord_names, indexes=indexes)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/xarray/core/dataset.py:853: in _construct_direct
dims = calculate_dimensions(variables)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
variables = {'x': <xarray.IndexVariable 'x' (x: 360)> Size: 3kB
array([12.45 , 12.450278, 12.450556, ..., 12.549167, 12.549444,...[0 values
with dtype=float32]
Attributes:
AREA_OR_POINT: Area
units: m
long_name: elevation}
def calculate_dimensions(variables: Mapping[Any, Variable]) ->
dict[Hashable, int]:
"""Calculate the dimensions corresponding to a set of variables.
Returns dictionary mapping from dimension names to sizes. Raises
ValueError
if any of the dimension sizes conflict.
"""
dims: dict[Hashable, int] = {}
last_used = {}
scalar_vars = {k for k, v in variables.items() if not v.dims}
for k, var in variables.items():
for dim, size in zip(var.dims, var.shape, strict=True):
if dim in scalar_vars:
raise ValueError(
f"dimension {dim!r} already exists as a scalar variable"
)
if dim not in dims:
dims[dim] = size
last_used[dim] = k
elif dims[dim] != size:
> raise ValueError(
f"conflicting sizes for dimension {dim!r}: "
f"length {size} on {k!r} and length {dims[dim]} on
{last_used!r}"
)
E ValueError: conflicting sizes for dimension 'y': length 0
on <this-array> and length 360 on {'x': 'x', 'y': 'y'}
/usr/lib/python3/dist-packages/xarray/core/variable.py:3143: ValueError
________________________ test_compute_dem_oriented_area ________________________
dem_raster = <xarray.DataArray 'dem' (y: 0, x: 360)> Size: 0B
[0 values with dtype=float32]
Coordinates:
* y (y) float...
spatial_ref int64 8B ...
Attributes:
AREA_OR_POINT: Area
units: m
long_name: elevation
def test_compute_dem_oriented_area(dem_raster: xr.DataArray) -> None:
> dem_3d = scene.convert_to_dem_3d(dem_raster)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
tests/test_10_scene.py:46:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
sarsen/scene.py:42: in convert_to_dem_3d
_, dem_raster_x = xr.broadcast(dem_raster,
dem_raster.coords[x].astype(dtype))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/xarray/structure/alignment.py:1297: in broadcast
args = align(*args, join="outer", copy=False, exclude=exclude)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/xarray/structure/alignment.py:967: in align
aligner.align()
/usr/lib/python3/dist-packages/xarray/structure/alignment.py:667: in align
self.reindex_all()
/usr/lib/python3/dist-packages/xarray/structure/alignment.py:638: in reindex_all
self.results = tuple(
/usr/lib/python3/dist-packages/xarray/structure/alignment.py:627: in
_reindex_one
return obj._reindex_callback(
/usr/lib/python3/dist-packages/xarray/core/dataarray.py:1968: in
_reindex_callback
ds = self._to_temp_dataset()
^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/xarray/core/dataarray.py:582: in _to_temp_dataset
return self._to_dataset_whole(name=_THIS_ARRAY, shallow_copy=False)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/xarray/core/dataarray.py:649: in
_to_dataset_whole
return Dataset._construct_direct(variables, coord_names, indexes=indexes)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/xarray/core/dataset.py:853: in _construct_direct
dims = calculate_dimensions(variables)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
variables = {'x': <xarray.IndexVariable 'x' (x: 360)> Size: 3kB
array([12.45 , 12.450278, 12.450556, ..., 12.549167, 12.549444,...[0 values
with dtype=float32]
Attributes:
AREA_OR_POINT: Area
units: m
long_name: elevation}
def calculate_dimensions(variables: Mapping[Any, Variable]) ->
dict[Hashable, int]:
"""Calculate the dimensions corresponding to a set of variables.
Returns dictionary mapping from dimension names to sizes. Raises
ValueError
if any of the dimension sizes conflict.
"""
dims: dict[Hashable, int] = {}
last_used = {}
scalar_vars = {k for k, v in variables.items() if not v.dims}
for k, var in variables.items():
for dim, size in zip(var.dims, var.shape, strict=True):
if dim in scalar_vars:
raise ValueError(
f"dimension {dim!r} already exists as a scalar variable"
)
if dim not in dims:
dims[dim] = size
last_used[dim] = k
elif dims[dim] != size:
> raise ValueError(
f"conflicting sizes for dimension {dim!r}: "
f"length {size} on {k!r} and length {dims[dim]} on
{last_used!r}"
)
E ValueError: conflicting sizes for dimension 'y': length 0
on <this-array> and length 360 on {'x': 'x', 'y': 'y'}
/usr/lib/python3/dist-packages/xarray/core/variable.py:3143: ValueError
=============================== warnings summary ===============================
tests/test_20_sentinel1.py::test_Sentinel1SarProduct[data_path0-IW/VV]
tests/test_20_sentinel1.py::test_Sentinel1SarProduct[data_path0-IW/VV]
tests/test_20_sentinel1.py::test_Sentinel1SarProduct[data_path0-IW/VV]
tests/test_20_sentinel1.py::test_Sentinel1SarProduct[data_path1-IW1/VV]
tests/test_20_sentinel1.py::test_Sentinel1SarProduct[data_path1-IW1/VV]
tests/test_20_sentinel1.py::test_Sentinel1SarProduct[data_path1-IW1/VV]
tests/test_20_sentinel1.py::test_product_info
/usr/lib/python3/dist-packages/xarray_sentinel/sentinel1.py:411:
DeprecationWarning: Arrays of 2-dimensional vectors are deprecated. Use arrays
of 3-dimensional vectors instead. (deprecated in NumPy 2.0)
return float(np.cross(poly[1] - start, poly[2] - start)) < 0
tests/test_20_sentinel1.py::test_Sentinel1SarProduct[data_path0-IW/VV]
tests/test_20_sentinel1.py::test_Sentinel1SarProduct[data_path0-IW/VV]
tests/test_20_sentinel1.py::test_Sentinel1SarProduct[data_path0-IW/VV]
/usr/lib/python3/dist-packages/rioxarray/_io.py:1143:
NotGeoreferencedWarning: Dataset has no geotransform, gcps, or rpcs. The
identity matrix will be returned.
warnings.warn(str(rio_warning.message), type(rio_warning.message)) # type:
ignore
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED tests/test_10_scene.py::test_convert_to_dem_3d - ValueError: conflicti...
FAILED tests/test_10_scene.py::test_upsample - ValueError: conflicting sizes ...
FAILED tests/test_10_scene.py::test_compute_dem_oriented_area - ValueError: c...
ERROR tests/test_20_geocoding.py::test_zero_doppler_plane_distance_velocity
ERROR tests/test_20_geocoding.py::test_backward_geocode - ValueError: conflic...
ERROR tests/test_30_radiometry.py::test_compute_gamma_area - ValueError: conf...
= 3 failed, 15 passed, 12 skipped, 1 xfailed, 1 xpassed, 10 warnings, 3 errors
in 10.85s =
E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build; python3.13 -m pytest tests
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.14
3.13" returned exit code 13
make: *** [debian/rules:12: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------
--- End Message ---
--- Begin Message ---
Source: python-xarray
Source-Version: 2025.12.0-2
Done: Alastair McKinstry <[email protected]>
We believe that the bug you reported is fixed in the latest version of
python-xarray, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Alastair McKinstry <[email protected]> (supplier of updated python-xarray
package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Format: 1.8
Date: Tue, 06 Jan 2026 14:24:37 +0000
Source: python-xarray
Architecture: source
Version: 2025.12.0-2
Distribution: unstable
Urgency: medium
Maintainer: Debian Science Maintainers
<[email protected]>
Changed-By: Alastair McKinstry <[email protected]>
Closes: 1123151 1123160 1123338
Changes:
python-xarray (2025.12.0-2) unstable; urgency=medium
.
* pr-11210.patch: Upstream bugfix. Thanks Antonio Valentino
Closes: #1123151, #1123338, #1123160
* Use sphinxdoc
* d/watch: Move to version 5 syntax
* Standards-Version: 4.7.3
* Drop Priority: optional from source in d/control per new policy
Checksums-Sha1:
b4dd55c9fe536397b73db00af728f9e960ac248b 4052 python-xarray_2025.12.0-2.dsc
d9e74df2638a7b9ebf9d222d9d6aaaaab7a25744 21300
python-xarray_2025.12.0-2.debian.tar.xz
Checksums-Sha256:
1313dad512303722ec252a5342f07b8524763041701bb427fdd91ec2524de553 4052
python-xarray_2025.12.0-2.dsc
2b3ee8d2ba3ae7af222a6c7c2882607c7686346f1c74cb50171db579e8cd73a2 21300
python-xarray_2025.12.0-2.debian.tar.xz
Files:
fdd810d55942ace21cc30da920bf45db 4052 python optional
python-xarray_2025.12.0-2.dsc
d2c5c6e4d02eddcd1702979749adb8ab 21300 python optional
python-xarray_2025.12.0-2.debian.tar.xz
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEEgjg86RZbNHx4cIGiy+a7Tl2a06UFAmldH3EACgkQy+a7Tl2a
06XD4Q/+I+EThl9EvvVP3RZawE0eeKecvUKl7UQrizFsapE67MjR/iFd3/O2sC29
XSVReLUB94U2FCJC5WyBeCF5IjIEZ9xbf1LLOhcpbsk4M/3Lmg8uCFdmfuWAx5B8
v2oV+XrS1o3FDG9+ny2ruqvS+0msWasFWg5SyXjGe84otxbt76KBVIigwMIvWflg
vm+0T07tCcvgSc0a72NyVEGO0+7QHQfrQAbkV2ica2EHIBoS4PZCPbGqs3axc4SR
uZt+JtVgUybzc2VRScNKfFc7hoAoaUlJSgW+hg1n++G/JaQLyLE85yFxY3u//Sw5
zB9aXvEYxORdh+Knti6HRAOOcLvahLCZz/5amkAuopn/MpIg0WsRVqiGh1X4gOhC
sjrDOJHdvmVJ9XiTbt9s8ShbDCCUy8R6rcyIasgu0xQDwLeIoKYqdjbMdJtITGrv
qF02+Ux7Xo8GntqBM0P+FD6ZNO8RkgYUKcpI5AYUJarsY/ZkrFUIzYMVcYPbSoYu
3m4/XB9WsxXnvsOC6GOX2QEVAPZ5hENOLRf/S9je/kUwpti4Je5eEFDy55UHZqvA
r8KlwR6sZg7xTC4ga63Ah3Xs1VfGZi+L7znXOrsYWG2RMwhwuq1oUQTJA43ZaFDj
YPoOIVXv8+2KpCwzCdEKBuaiMLTy5p9APNTXzdjblBQa4jiZjz8=
=urPW
-----END PGP SIGNATURE-----
pgpWjlXzb3FZK.pgp
Description: PGP signature
--- End Message ---
--
debian-science-maintainers mailing list
[email protected]
https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/debian-science-maintainers