From 94ac9a4a5096f81a11a8570cc31ee77eefb4a653 Mon Sep 17 00:00:00 2001 From: James Page Date: Wed, 19 Mar 2025 12:28:35 +0000 Subject: [PATCH 1/3] New version stream: py3-bcrypt-3.2 bcrypt >= 4.0.0 uses a Rust based implementation which is not yet compatible with the use of this module in Ceph. Provide bcrypt < 4.0.0 as a version stream to support this specific use case until the Ceph project updates. Signed-off-by: James Page --- py3-bcrypt-3.2.yaml | 81 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 py3-bcrypt-3.2.yaml diff --git a/py3-bcrypt-3.2.yaml b/py3-bcrypt-3.2.yaml new file mode 100644 index 00000000000..082bbd3bd8e --- /dev/null +++ b/py3-bcrypt-3.2.yaml @@ -0,0 +1,81 @@ +package: + name: py3-bcrypt-3.2 + version: "3.2.2" + epoch: 0 + description: Modern password hashing for your software and your servers + copyright: + - license: Apache-2.0 + dependencies: + provider-priority: 0 + +vars: + pypi-package: bcrypt + import: bcrypt + +data: + - name: py-versions + items: + 3.10: '310' + 3.11: '311' + 3.12: '312' + 3.13: '313' + +environment: + contents: + packages: + - py3-supported-build-base-dev + - py3-supported-cffi + +pipeline: + - uses: git-checkout + with: + expected-commit: a86360fef7859054c6a8050cf67e62127f5e2643 + repository: https://github.com/pyca/bcrypt + tag: ${{package.version}} + +subpackages: + - range: py-versions + name: py${{range.key}}-${{vars.pypi-package}}-3.2 + description: python${{range.key}} version of ${{vars.pypi-package}} + dependencies: + provider-priority: ${{range.value}} + provides: + - py3-${{vars.pypi-package}} + runtime: + - py${{range.key}}-cffi + pipeline: + - uses: py/pip-build-install + with: + python: python${{range.key}} + - uses: strip + test: + pipeline: + - uses: python/import + with: + python: python${{range.key}} + imports: | + import ${{vars.import}} + + - name: py3-supported-${{vars.pypi-package}}-3.2 + description: meta package providing ${{vars.pypi-package}} for supported python versions. + dependencies: + runtime: + - py3.10-${{vars.pypi-package}}-3.2 + - py3.11-${{vars.pypi-package}}-3.2 + - py3.12-${{vars.pypi-package}}-3.2 + - py3.13-${{vars.pypi-package}}-3.2 + +test: + pipeline: + - uses: python/import + with: + imports: | + import ${{vars.import}} + +update: + enabled: true + manual: false + github: + identifier: pyca/bcrypt + use-tag: true + tag-filter: 3.2. From 33b4fd5514da39ab742eb2f57cbb0bdb8edfdcec Mon Sep 17 00:00:00 2001 From: James Page Date: Wed, 19 Mar 2025 12:45:12 +0000 Subject: [PATCH 2/3] new version stream: py3-bcrypt-3.2 py3-bcrypt >= 4.0.0 uses a Rust backend integrated with Py03 which is not compatible with the sub-interpreter usage in the Ceph Manager module; provide a version channel for the pre-Rust version which is compatible with this use-case. Signed-off-by: James Page --- py3-bcrypt-3.2.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/py3-bcrypt-3.2.yaml b/py3-bcrypt-3.2.yaml index 082bbd3bd8e..0ce1da14f70 100644 --- a/py3-bcrypt-3.2.yaml +++ b/py3-bcrypt-3.2.yaml @@ -40,7 +40,7 @@ subpackages: dependencies: provider-priority: ${{range.value}} provides: - - py3-${{vars.pypi-package}} + - py3-${{vars.pypi-package}}-3.2 runtime: - py${{range.key}}-cffi pipeline: From bafc853fbd0abcafd19dfd993fbcce172d95d756 Mon Sep 17 00:00:00 2001 From: James Page Date: Wed, 19 Mar 2025 13:11:17 +0000 Subject: [PATCH 3/3] Misc fixes Fix provides. Move top-level test to metapackage. Signed-off-by: James Page --- py3-bcrypt-3.2.yaml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/py3-bcrypt-3.2.yaml b/py3-bcrypt-3.2.yaml index 0ce1da14f70..fdcf4549fac 100644 --- a/py3-bcrypt-3.2.yaml +++ b/py3-bcrypt-3.2.yaml @@ -40,7 +40,7 @@ subpackages: dependencies: provider-priority: ${{range.value}} provides: - - py3-${{vars.pypi-package}}-3.2 + - py3-${{vars.pypi-package}} runtime: - py${{range.key}}-cffi pipeline: @@ -64,13 +64,12 @@ subpackages: - py3.11-${{vars.pypi-package}}-3.2 - py3.12-${{vars.pypi-package}}-3.2 - py3.13-${{vars.pypi-package}}-3.2 - -test: - pipeline: - - uses: python/import - with: - imports: | - import ${{vars.import}} + test: + pipeline: + - uses: python/import + with: + python: python3.10 + import: ${{vars.pypi-package}} update: enabled: true