Packages that `replace` another circumvent dependency checks on installation
还没有人认领这个 Issue。
评估
调研方向
Reproduce the transaction using the listed sagemath and Cython package versions, then inspect the dependency checks performed during installation and replacement handling. Done means installing python3-Cython is rejected when it would remove the version required by sagemath, while the transaction remains consistent and xbps-pkgdb -a reports no unsatisfied dependency.
由索引模型根据 Issue 内容生成。
描述
The package python3-Cython0.29 was created to provide a pre-3.0 version of Cython because half the dependants of python3-Cython will not build with 3.0 or later. The packages python3-Cython0.29 and python3-Cython conflict. This is usually not an issue because Cython is generally only a build-time dependency, so a package can hostmakedepend on one or the other as needed.
However, both urh and sagemath have run-time dependencies on python3-Cython0.29 (now; before the update to 3.0, they depended on python3-Cython). To smooth update paths for users, python3-Cython0.29 was marked replaces="python3-Cython>=0" while python3-Cython was marked replaces="python3-Cython0.29>=0" so that installing one will remove the other. Neither package provides the other because Cython 3 introduces breaking changes.
Installing or updating sagemath will cause python3-Cython0.29 to be installed as a dependency. Subsequently installing python3-Cython will succeed (removing python3-Cython0.29 in the process), although sagemath will now be broken because it is missing python3-Cython0.29
Steps to reproduce:
- [Optional] Install
sagemath<=10.1_1, which depends onpython3-Cython. Both packages are installed. - Install (or update to)
sagemath>=10.1_2, which depends onpython3-Cython0.29. Both packages will be installed, removing an existingpython3-Cythonpackage if previously installed. - Try removing
python3-Cython0.29:python3-Cython0.29-0.29.36_2 in transaction breaks installed pkg `sagemath-10.1_2' Transaction aborted due to unresolved dependencies. - Install
python3-Cython>=3.0.2_1. This will succeed, removingpython3-Cython0.29. - Running
xbps-pkgdb -areports an unsatisfied dependency forsagemath:ERROR: sagemath: dependency not satisfied: python3-Cython0.29>=0 - Updating (or force-reinstalling)
sagemathwill installpython3-Cython0.29and removepython3-Cython.
Expected behavior:
Step 4 should detect the unresolved dependency in the transaction, preventing the installation of python3-Cython.
- 主要语言
- C
- 星标
- 1.2k
- 派生
- 152
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
void-linux/xbps 的其他 Issue
-
难度 1/5 1 小时以内 新手友好度 68/100
void-linux/xbps#475 ·
-
难度 4/5 3-5 天 新手友好度 45/100
void-linux/xbps#701 ·
-
难度 4/5 3-5 天 新手友好度 55/100
void-linux/xbps#700 ·
-
xbps-query -RX repository overrides可能已有人在做 @outofsyncrs 于 34 天前认领。 未关闭bug
难度 3/5 1-2 天 新手友好度 45/100
void-linux/xbps#696 ·
-
难度 3/5 1-2 天 新手友好度 52/100
void-linux/xbps#695 · 7 条评论 ·
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 76/100
osam-cologne/archlinux-proaudio#909 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 84/100
ARM-software/CMSIS-DSP#354 ·
-
severity: low
难度 2/5 1-3 小时 新手友好度 68/100
luainkernel/lunatik#1876 ·
维护者通常 1 天内回复
-
good first issue help wanted
难度 2/5 1-3 小时 新手友好度 77/100
维护者通常 1 天内回复
-
documentation good first issue help wanted
难度 2/5 1-3 小时 新手友好度 76/100
ai-quokka-wannabe/link#40 ·