Checks
Reproducible example
Commands I ran and their output:
> pixi intall -vv
..... # non important logs
DEBUG query{package=osx-arm64/ros-humble-talker-py=0.0.0=h60d57d3_0 source=(manifest-src: src/talker-py/package.xml, build-src: undefined)}: pixi_command_dispatcher::build::build_cache: opening source build cache entry source=src/talker-py/package.xml input_key=ros-humble-talker-py-0.0.0-osx-arm64-MZVp9t0FfDA name=ros-humble-talker-py version=0.0.0 subdir=osx-arm64 host_platform=osx-arm64 build=h60d57d3_0 channel_urls=[https://prefix.dev/pixi-build-backends/, https://prefix.dev/conda-forge/, https://prefix.dev/robostack-humble/] host_virtual_packages=[GenericVirtualPackage { name: PackageName { normalized: None, source: "__unix" }, version: Version { version: [[0], [0]], local: [] }, build_string: "0" }, GenericVirtualPackage { name: PackageName { normalized: None, source: "__osx" }, version: Version { version: [[0], [13], [0]], local: [] }, build_string: "0" }, GenericVirtualPackage { name: PackageName { normalized: None, source: "__archspec" }, version: Version { version: [[0], [1]], local: [] }, build_string: "m1" }] build_virtual_packages=[GenericVirtualPackage { name: PackageName { normalized: None, source: "__unix" }, version: Version { version: [[0], [0]], local: [] }, build_string: "0" }, GenericVirtualPackage { name: PackageName { normalized: None, source: "__osx" }, version: Version { version: [[0], [13], [0]], local: [] }, build_string: "0" }, GenericVirtualPackage { name: PackageName { normalized: None, source: "__archspec" }, version: Version { version: [[0], [1]], local: [] }, build_string: "m1" }] variants=Some({"target_platform": String("osx-arm64")})
DEBUG query{package=osx-arm64/ros-humble-talker-py=0.0.0=h60d57d3_0 source=(manifest-src: src/talker-py/package.xml, build-src: undefined)}: pixi_command_dispatcher::build::build_cache: found cached build metadata source=src/talker-py/package.xml input_key=ros-humble-talker-py-0.0.0-osx-arm64-MZVp9t0FfDA package=PackageName { normalized: None, source: "ros-humble-talker-py" } build=h60d57d3_0
DEBUG query{package=osx-arm64/ros-humble-talker-py=0.0.0=h60d57d3_0 source=(manifest-src: src/talker-py/package.xml, build-src: undefined)}: pixi_command_dispatcher::source_build_cache_status: package is stale, requested metadata for '/Users/rubenarts/envs/ros_workspace/src/talker-py/package.xml/package.xml' failed with: Not a directory (os error 20)
DEBUG query{package=osx-arm64/ros-humble-talker-py=0.0.0=h60d57d3_0 source=(manifest-src: src/talker-py/package.xml, build-src: undefined)}: pixi_command_dispatcher::source_build_cache_status: status of cached build for package 'osx-arm64/ros-humble-talker-py=0.0.0=h60d57d3_0' is 'stale ros-humble-talker-py=0.0.0=h60d57d3_0 @ osx-arm64'
DEBUG source-build{manifest_source=src/talker-py/package.xml package=osx-arm64/ros-humble-talker-py=0.0.0=h60d57d3_0}: pixi_command_dispatcher::source_build: rebuilding stale source build source=src/talker-py/package.xml package=PackageName { normalized: None, source: "ros-humble-talker-py" } build=h60d57d3_0
DEBUG pixi_command_dispatcher::instantiate_tool_env: Installing tool env for: pixi-build-ros
This runs with Pixi main on the project: https://github.com/ruben-arts/ros_workspace
Issue description
The metadata cache is always seen as stale because the file it tries to validate doesn't exist.
Which is xxx/package_dir/package.xml/package.xml This obviously has to be ``xxx/package_dir/package.xml` instead.
It seems to concatenate the input_globs to the build_source.path which can be both a file like package.xml and recipe.yaml or a package dir.
Expected behavior
It should not see the project as stale. But just use the cached build.
Checks
I have checked that this issue has not already been reported.
I have confirmed this bug exists on the latest version of pixi, using
pixi --version.Reproducible example
Commands I ran and their output:
This runs with Pixi
mainon the project: https://github.com/ruben-arts/ros_workspaceIssue description
The metadata cache is always seen as
stalebecause the file it tries to validate doesn't exist.Which is
xxx/package_dir/package.xml/package.xmlThis obviously has to be ``xxx/package_dir/package.xml` instead.It seems to concatenate the
input_globsto thebuild_source.pathwhich can be both a file likepackage.xmlandrecipe.yamlor a package dir.Expected behavior
It should not see the project as stale. But just use the cached build.