Bản phát hành RPM 4.15

Sau gần hai năm phát triển đã diễn ra phát hành trình quản lý gói RPM 4.15.0. Dự án RPM4 được phát triển bởi Red Hat và được sử dụng trong các bản phân phối như RHEL (bao gồm các dự án phái sinh CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen và nhiều người khác. Nhóm phát triển độc lập trước đây đã phát triển dự án VÒNG/PHÚT5, không liên quan trực tiếp đến RPM4 và hiện đã bị bỏ (không được cập nhật từ năm 2010).

Đáng chú ý nhất cải tiến ở tốc độ vòng tua 4.15:

  • Đã thêm hỗ trợ thử nghiệm cho việc lắp ráp không có đặc quyền trong môi trường chroot;
  • thực hiện hỗ trợ song song hóa việc lắp ráp gói trên các hệ thống đa lõi. Giới hạn về số lượng luồng được đặt thông qua macro “%_smp_build_ncpus” và biến $RPM_BUILD_NCPUS. Để xác định số lượng CPU, macro “%getncpus” được đề xuất;
  • Các tệp thông số hiện hỗ trợ toán tử có điều kiện “%elif” (nếu khác nếu), cũng như các tùy chọn “%elifos” và “%elifarch” để liên kết với phân phối và kiến ​​trúc;
  • Thêm các phần mới "%patchlist" và "%sourcelist", có thể được sử dụng để thêm các bản vá và nguồn bằng cách liệt kê tên mà không chỉ định số mục nhập (ví dụ: thay vì
    “Patch0: popt-1.16-pkgconfig.patch” trong phần %patchlist bạn có thể chỉ định “popt-1.16-pkgconfig.patch”);

  • Trong vòng/phút xây dựng thêm hỗ trợ lắp ráp động các phần phụ thuộc bằng cách đưa chúng vào src.rpm. Trong tệp thông số kỹ thuật, phần hỗ trợ cho phần “%generate_buildrequires” đã được thêm vào, nội dung của phần này được xử lý dưới dạng danh sách các phần phụ thuộc (BuildRequires), yêu cầu xác minh (nếu thiếu phần phụ thuộc, lỗi sẽ hiển thị).
  • thực hiện Toán tử "^" được sử dụng để kiểm tra các phiên bản cũ hơn một ngày nhất định, thực hiện ngược lại với toán tử "~". Ví dụ,
    "1.1^20160101" sẽ bao gồm phiên bản 1.1 và các bản vá được thêm sau ngày 1 tháng 2016 năm XNUMX;

  • Đã thêm tùy chọn "--scm" để bật chế độ "%autosetup SCM";
  • Đã thêm macro tích hợp "%{expr:...}" để đánh giá các biểu thức tùy ý (vài ngày trước cũng có đề xuất định dạng "%[ expr ]");
  • Đảm bảo rằng mã hóa mặc định là UTF-8 cho dữ liệu chuỗi trong tiêu đề;
  • Đã thêm macro toàn cầu %build_cflags, %build_cxxflags, %build_fflags và %build_ldflags với các cờ cho trình biên dịch và trình liên kết;
  • Đã thêm macro “%dnl” (Hủy sang dòng tiếp theo) để chèn nhận xét;
  • Các ràng buộc dành cho Python 3 đảm bảo rằng các chuỗi được trả về dưới dạng chuỗi UTF-8 thoát thay vì dữ liệu byte;
  • Đã thêm phần phụ trợ cơ sở dữ liệu giả để cải thiện khả năng hỗ trợ cho các hệ thống không có vòng/phút (ví dụ: Debian);
  • Cải thiện khả năng phát hiện kiến ​​trúc ARM và hỗ trợ thêm cho armv8;
  • Cung cấp hỗ trợ liền mạch cho Lua 5.2-5.3, không yêu cầu định nghĩa tương thích trong mã.

Nguồn: opennet.ru

Thêm một lời nhận xét