rattler-build icon indicating copy to clipboard operation
rattler-build copied to clipboard

patch generation cannot find the folder/file

Open zelosleone opened this issue 4 months ago • 3 comments

Running rattler-build create-patch --directory "C:\Users\deniz\source\repos\zelosleone\staged-recipes\recipes\o3de\output\bld\rattler-build_o3de_1756134280\work to generate a patch for the changes results in:

Image (Even if the folder is clearly there)

Even if we edit the source file to point out the folder for source json file via for example

{"recipe_path":"C:\\Users\\deniz\\source\\repos\\zelosleone\\staged-recipes\\recipes\\o3de\\recipe.yaml","source_cache":"C:\\Users\\deniz\\source\\repos\\zelosleone\\staged-recipes\\recipes\\o3de\\output\\src_cache","sources":[{"url":"https://github.com/o3de/o3de/archive/refs/tags/2505.1.tar.gz","sha256":"181c2153582fda6b7819e994653c40125312efc3d245e8dacddccc8e86c2be5f"}]}

It won't be able to find, and we won't be able to generate patches for these cases.

zelosleone avatar Aug 25 '25 15:08 zelosleone

yeah so we changed the location of the extraction to respect the Content-Disposition header (in the source cache). However, we do not store that information anywhere and thus the mapping is not quite right anymore (before we just removed the .tar.gz from the URL if possible).

We need to redesign this a bit. Maybe the best way would be to build a cache module and properly implement everything there.

wolfv avatar Aug 25 '25 16:08 wolfv

https://github.com/prefix-dev/rattler-build/pull/1860

zelosleone avatar Aug 28 '25 18:08 zelosleone

Hey,

this bug still exists in rattler-build==0.49.0. I also checked and this bug exists for the following versions >=0.45.0.,<=0.49.0.

It seem rattler-build create-patch only works for rattler-build==0.44.0.

I don't know the extent of this error, but here is the recipe I am using to produce the error

context:
  version: 0.4.4

package:
  name: ccimport
  version: ${{ version }}

source:
  url: https://github.com/FindDefinition/ccimport/archive/refs/tags/v${{ version }}.tar.gz
  sha256: 4d50ac19d912c3d5985e5005818233939113535fd31bee4828a3fa67faf9bb15

build:
  number: 0
  script: ${{ PYTHON }} -m pip install .

requirements:
  build:
    - ${{ compiler('cxx') }}
    - ${{ compiler('c') }}
    - ${{ stdlib('c') }}
    - ninja
    - cmake
    - make
  host:
    - python
    - pip
    - setuptools
    - wheel
    - ninja
    - ninja_syntax
  run:
    - python
    - ninja
    - ninja_syntax
    - pybind11
    - requests
    - importlib-metadata

tests:
  - python:
      imports:
        - ccimport
      pip_check: true

about: 
  homepage: https://github.com/FindDefinition/ccimport
  license: MIT
  license_family: MIT
  license_file: 
    - LICENSE
  repository: https://github.com/FindDefinition/ccimport
  summary: |
    A tiny package for fast python c++ binding build.

I the follow the commands from the patches documentation

lllangWV avatar Nov 15 '25 20:11 lllangWV