หลังจากพัฒนามาเกือบสองปี ไปยังสถานที่ การเปิดตัวตัวจัดการแพ็คเกจ รอบต่อนาที 4.15.0. โครงการ RPM4 ได้รับการพัฒนาโดย Red Hat และใช้ในการแจกจ่ายเช่น RHEL (รวมถึงโครงการอนุพันธ์ CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen และอื่นๆอีกมากมาย ทีมพัฒนาอิสระก่อนหน้านี้ ที่พัฒนา โครงการ รอบต่อนาที 5ซึ่งไม่เกี่ยวข้องโดยตรงกับ RPM4 และปัจจุบันถูกยกเลิกแล้ว (ไม่ได้อัปเดตตั้งแต่ปี 2010)

โดดเด่นที่สุด การปรับปรุง รอบต่อนาที 4.15:

  • เพิ่มการสนับสนุนการทดลองสำหรับแอสเซมบลีที่ไม่มีสิทธิ์ในสภาพแวดล้อม chroot
  • ดำเนินการแล้ว รองรับการประกอบแพ็คเกจแบบขนานบนระบบมัลติคอร์ ขีดจำกัดของจำนวนเธรดถูกกำหนดผ่านมาโคร “%_smp_build_ncpus” และตัวแปร $RPM_BUILD_NCPUS ในการกำหนดจำนวน CPU จะมีการเสนอมาโคร “%getncpus”
  • ขณะนี้ไฟล์ Spec รองรับตัวดำเนินการแบบมีเงื่อนไข “%elif” (หรือหากเป็นอย่างอื่น) เช่นเดียวกับตัวเลือก “%elifos” และ “%elifarch” สำหรับการเชื่อมโยงกับการแจกจ่ายและสถาปัตยกรรม
  • เพิ่ม ส่วนใหม่ "%patchlist" และ "%sourcelist" ซึ่งสามารถใช้เพื่อเพิ่มแพตช์และแหล่งที่มาโดยเพียงแค่แสดงชื่อโดยไม่ต้องระบุหมายเลขรายการ (เช่น แทน
    “Patch0: popt-1.16-pkgconfig.patch” ในส่วน %patchlist คุณสามารถระบุ “popt-1.16-pkgconfig.patch”);

  • ใน rpmbuild เพิ่ม รองรับแอสเซมบลีแบบไดนามิกของการขึ้นต่อกันโดยรวมไว้ใน src.rpm ในไฟล์ข้อมูลจำเพาะ มีการเพิ่มการรองรับส่วน “%generate_buildrequires” แล้ว ซึ่งเนื้อหาจะได้รับการประมวลผลเป็นรายการการขึ้นต่อกัน (BuildRequires) ซึ่งต้องมีการตรวจสอบ (หากการขึ้นต่อกันหายไป ข้อผิดพลาดจะปรากฏขึ้น)
  • ดำเนินการแล้ว ตัวดำเนินการ "^" ใช้ในการตรวจสอบเวอร์ชันที่เก่ากว่าวันที่กำหนด โดยตรงกันข้ามกับตัวดำเนินการ "~" ตัวอย่างเช่น,
    "1.1^20160101" จะครอบคลุมเวอร์ชัน 1.1 และแพตช์ที่เพิ่มหลังวันที่ 1 มกราคม 2016

  • เพิ่มตัวเลือก "--scm" เพื่อเปิดใช้งานโหมด "% autosetup SCM";
  • เพิ่มมาโครในตัว "%{expr:...}" สำหรับการประเมินนิพจน์ที่กำหนดเอง (ไม่กี่วันที่ผ่านมาก็มีเช่นกัน เสนอ รูปแบบ "%[ expr ]");
  • ตรวจสอบให้แน่ใจว่าการเข้ารหัสเริ่มต้นคือ UTF-8 สำหรับข้อมูลสตริงในส่วนหัว
  • เพิ่มมาโครส่วนกลาง %build_cflags, %build_cxxflags, %build_fflags และ %build_ldflags พร้อมแฟล็กสำหรับคอมไพเลอร์และตัวเชื่อมโยง
  • เพิ่มมาโคร “%dnl” (ละทิ้งไปที่บรรทัดถัดไป) เพื่อใส่ความคิดเห็น
  • การเชื่อมโยงสำหรับ Python 3 ช่วยให้มั่นใจได้ว่าสตริงจะถูกส่งกลับเป็นลำดับ UTF-8 ที่หลบหนีแทนที่จะเป็นข้อมูลไบต์
  • เพิ่มแบ็กเอนด์ฐานข้อมูลจำลองเพื่อปรับปรุงการรองรับระบบที่ไม่มี rpmdb (เช่น Debian)
  • ปรับปรุงการตรวจจับสถาปัตยกรรม ARM และเพิ่มการรองรับ armv8;
  • ให้การสนับสนุน Lua 5.2-5.3 ได้อย่างราบรื่น ซึ่งไม่จำเป็นต้องมีคำจำกัดความที่เข้ากันได้ในโค้ด

ที่มา: opennet.ru

เพิ่มความคิดเห็น