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

verify shlib errors on partial upgrade bypassed by multilib

Đang mở
#580 0 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
45/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, operating-systems

Hướng nghiên cứu

Reproduce the issue using the linked testpkgs.zip and the xbps-src/xi command sequence in the report. Start by tracing the shlib checks used during xi -u and how installed 32-bit and 64-bit packages are recorded. Done means the reported partial-upgrade scenario warns about the broken 64-bit application instead of allowing the 32-bit package to bypass the check.

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

Mô tả

bug

When performing shlib checks before upgrading, libraries provided by 32bit packages are treated the same as libraries provided by 64bit packages. This can result in system breakage on partial upgrades without warning as noticed on the r/voidlinux subreddit: https://www.reddit.com/r/voidlinux/comments/18r0swm/psa_libxcrypt_updates/

I verified this behavior using the following:

  1. Download testpkgs.zip
  2. Run ./setup.sh
  3. In the cloned void-packages repo run:
./xbps-src binary-bootstrap
./xbps-src -m masterdir-i686 binary-bootstrap i686
./xbps-src pkg libhelloworld
./xbps-src -m masterdir-i686 pkg libhelloworld
./xbps-src pkg test1
xi test1
  1. You can run test1 and it will output hello world 7 as expected.
  2. After that, modify the libhelloworld package to not install libhelloworld.so.1 and build it as version=2 (do not build the 32bit package with this change).
  3. When doing xi -u, you will receive a shlibs error as expected. test1-1_1: broken, unresolvable shlib 'libhelloworld.so.1'
  4. Run xi libhelloworld-32bit
  5. Now run xi -u again, you will not receive any warnings and the upgrade will proceed as normal.
  6. Confirm the breakage of test1 as running it now outputs test1: error while loading shared libraries: libhelloworld.so.1: cannot open shared object file: No such file or directory

Ideally, xbps should be able to detect that the libraries provided by 32bit packages are not applicable to 64bit applications and visa-versa.

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.