xbps-install -u xbps may leave system in an unusable state
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 25/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- c
- Lĩnh vực
- cli, operating-systems
Hướng nghiên cứu
Start in lib/transaction_ops.c around lines 276-285 and trace how xbps-install -u xbps handles missing dependencies and shlibs. Reproduce the glibc 2.38/libcrypt.so.1 scenario, then define and validate a safer self-upgrade path that does not leave core dependents such as PAM unusable.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
When updating through xbps, if the repositories have an update for xbps available, then the only install/update action that may be performed is xbps-install -u xbps.
Since this may sometimes result in a situation where xbps may be unable to be updated since one of its dependencies may break their dependents, the decision was made to have xbps-install -u xbps ignore all missing dependency and missing shlibs errors:
https://github.com/void-linux/xbps/blob/master/lib/transaction_ops.c#L276-L285
This is problematic since with glibc 2.38, libcrypt.so.1 was dropped. In order to upgrade xbps, glibc must be updated, however, the glibc upgrade may break glibc dependents, which gets ignored.
The comment in the transaction_ops.c file suggests that you can just make sure to do xbps-install -Su afterwards and the problem will be resolved, however, if something like PAM gets broken, then now you now are going to have a real hard time logging in or changing user (sudo, for example, won't work anymore).
My question is, is this really the best way to handle this or is there a more intelligent way to handle xbps self upgrades.
(I know it is too late to fix this for the old ISOs but if we can fix this for the future, then that would be nice)
- 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
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của void-linux/xbps
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 68/100
void-linux/xbps#475 ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
void-linux/xbps#701 ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 55/100
void-linux/xbps#700 ·
-
xbps-query -RX repository overridesCó thể đã có người làm @outofsyncrs đã nhận 36 ngày trước. Đang mởbug
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 45/100
void-linux/xbps#696 ·
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 52/100
void-linux/xbps#695 · 7 bình luận ·
Tất cả issue của void-linux/xbps
Issue tương tự
-
chore: update release scheduleĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
Maintainer thường phản hồi trong vòng 4 ngày
-
Độ khó 2/5 Nửa ngày Mức phù hợp với người mới 62/100
Maintainer thường phản hồi trong vòng 1 ngày
-
bug good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
-
enhancement help wanted
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
kabirvashisht4-glitch/Vet#22 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100