Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Packages that `replace` another circumvent dependency checks on installation

Đang mở
#569 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
35/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
c
Lĩnh vực
cli, tooling

Hướng nghiên cứu

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.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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:

  1. [Optional] Install sagemath<=10.1_1, which depends on python3-Cython. Both packages are installed.
  2. Install (or update to) sagemath>=10.1_2, which depends on python3-Cython0.29. Both packages will be installed, removing an existing python3-Cython package if previously installed.
  3. 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.
    
  4. Install python3-Cython>=3.0.2_1. This will succeed, removing python3-Cython0.29.
  5. Running xbps-pkgdb -a reports an unsatisfied dependency for sagemath:
    ERROR: sagemath: dependency not satisfied: python3-Cython0.29>=0
    
  6. Updating (or force-reinstalling) sagemath will install python3-Cython0.29 and remove python3-Cython.

Expected behavior:
Step 4 should detect the unresolved dependency in the transaction, preventing the installation of python3-Cython.

Ngôn ngữ chính
C
Star
1.2k
Fork
152
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của void-linux/xbps

Tất cả issue của void-linux/xbps

Issue tương tự

Thêm issue về C

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.