RPM 4.16 มาพร้อมกับการปรับปรุงฐานข้อมูลตัวดำเนินการมาโครและอื่น ๆ

หลังจากหนึ่งปีของการพัฒนา โดยครีบ การเปิดตัว ตัวจัดการแพ็คเกจเวอร์ชันเสถียร "รอบต่อนาที 4.16", ซึ่งใน มีการปรับปรุงบางอย่าง เกี่ยวกับตัวดำเนินการแบ็กเอนด์ใหม่และการเปลี่ยนแปลงอื่น ๆ

โครงการ RPM4 ได้รับการพัฒนาโดย Red Hat และใช้ในการกระจายเช่น RHEL (รวมถึงที่มาจาก CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen และอื่น ๆ อีกมากมาย

ก่อนหน้านี้ทีมพัฒนาอิสระได้พัฒนาโครงการ RPM5 ซึ่งไม่เกี่ยวข้องโดยตรงกับ RPM4 และปัจจุบันถูกยกเลิก (ไม่ได้รับการอัปเดตตั้งแต่ปี 2010) รหัสโครงการแจกจ่ายภายใต้สิทธิ์การใช้งาน GPLv2

คุณสมบัติใหม่หลักของ RPM 4.16

ในเวอร์ชันใหม่ของตัวจัดการแพ็คเกจ RPM 4.16 มีการใช้แบ็กเอนด์ใหม่เพื่อจัดเก็บฐานข้อมูลใน SQLite DBMS โดยแบ็กเอนด์นี้มีการวางแผนว่า Fedora 33 เวอร์ชันจะใช้ประโยชน์จากสิ่งนี้แทนแบ็กเอนด์ที่ใช้ BerkeleyDB

การเปลี่ยนแปลงอีกอย่างที่นำมาใช้คือไฟล์ แบ็กเอนด์แบบอ่านอย่างเดียวแบบทดลองใหม่สำหรับการจัดเก็บฐานข้อมูล ที่ BDB (Oracle Berkeley DB) การใช้งานถูกเขียนขึ้นตั้งแต่ต้นและไม่ใช้โค้ดแบ็กเอนด์เดิมของ BerkeleyDB ซึ่งเลิกใช้งานแล้ว แต่ยังรวมไว้โดยค่าเริ่มต้น

ในส่วนของมาโครและนิพจน์ เพิ่มการรองรับ "% If" สำหรับตัวดำเนินการ tenary แล้ว (% {expr: 1 == 0? » yes »: » no »}) และเสนอการเปรียบเทียบเวอร์ชันในตัว ('% [v » 3: 1.2-1″> v » 2.0″]') และใหม่ ถูกเพิ่มมาโคร% arm32,% arm64 และ% riscv เพื่อกำหนดสถาปัตยกรรมและร่วมกับมาโครในตัว% {macrobody: …} เพื่อให้ได้เนื้อหามาโคร

นอกจากนี้ มีการเสนอ API การวิเคราะห์และเปรียบเทียบเวอร์ชันใหม่ สำหรับภาษา C และ Python

มีการขนานการดำเนินการ Brp-strip และส่วนประกอบของชุดทดสอบ การเพิ่มประสิทธิภาพของการขนานของกระบวนการสร้างแพคเกจได้ดำเนินการแล้ว

นอกจากนี้ยังเพิ่มตัวเลือก "–salvagedb" ลงในยูทิลิตี้ rpmdb เพื่อกู้คืนฐานข้อมูลที่เสียหาย (ใช้ได้กับแบ็กเอนด์ NDB เท่านั้น)

ห้ามมิให้ใช้คำที่ไม่คั่นด้วยเครื่องหมายคำพูดในนิพจน์เช่น เช่นแทนที่จะเป็น 'a == b' ตอนนี้คุณต้องเขียนว่า '» a » == » b »'

โปรแกรมแยกวิเคราะห์นิพจน์ใช้ไวยากรณ์ "% […]" เพื่อดำเนินการกับนิพจน์ที่มีการขยายมาโคร (แตกต่างจาก "% {expr: ... }" ในมาโครนั้นจะถูกเรียกใช้ก่อน)

ได้รับการเพิ่ม รองรับการขยายตัวสั้น ๆ ของตัวดำเนินการเชิงตรรกะและอายุ ในนิพจน์ ("% [0 && 1/0]" จะถือว่าเป็น 0 และไม่ส่งผลให้เกิดข้อผิดพลาดเนื่องจากความพยายามที่จะหารด้วยศูนย์)

เพิ่มแล้ว รองรับการใช้ตัวดำเนินการ NOT เชิงตรรกะในบริบทโดยพลการ (! "%? ฟู").

ลักษณะการทำงานของตัวดำเนินการ "||" และ "&&" อยู่ในแนว Perl / Python / Ruby กล่าวคือแทนที่จะส่งคืนค่าบูลีนตอนนี้จะส่งคืนค่าที่คำนวณล่าสุด (ตัวอย่างเช่น "% [2 || 3]" จะส่งกลับ 2)

ของ การเปลี่ยนแปลงอื่น ๆ ที่โดดเด่น ของ RPM 4.16 เวอร์ชันใหม่นี้:

  • เพิ่มความสามารถในการตรวจสอบรูปแบบทางเลือกสำหรับลายเซ็นดิจิทัลและแฮช
  • เพิ่มการสนับสนุนสำหรับ meta-dependencies (ต้องใช้ (meta): somepkg) ซึ่งไม่มีผลต่อลำดับการติดตั้งและการลบ
  • เพิ่มตัวเลือก "–rpmv3" ใน rpmsign เพื่อบังคับใช้ลายเซ็นดิจิทัล RPM3
  • เพิ่มตัวเลือกการติดตั้ง "–excludeartifacts" เพื่อข้ามการติดตั้งเอกสารประกอบไฟล์การกำหนดค่าตัวอย่างและข้อมูลอื่น ๆ ที่เกี่ยวข้อง
  • การสนับสนุนที่ล้าสมัยสำหรับแบ็กเอนด์การเข้ารหัส RPMv3 และ beecrypt และ NSS
  • เพิ่มการรองรับ DSA2 (gcrypt) และ EdDSA
  • ฐานข้อมูลแบ็กเอนด์ทดลองที่ใช้ LMDB ถูกลบออก
  • ฐานข้อมูลแบ็กเอนด์ที่เสถียรประกาศโดยใช้ที่เก็บข้อมูล NDB
  • มีการใช้การสนับสนุนสำหรับการจำแนกไฟล์ตามประเภทเนื้อหา MIME
  • เพิ่มความสามารถในการสร้างการอ้างอิงโดยใช้แมโครพาราเมตริก

ในที่สุด หากคุณต้องการทราบข้อมูลเพิ่มเติม คุณสามารถตรวจสอบบันทึกการเปลี่ยนแปลงทั้งหมดได้ ในลิงค์ต่อไปนี้.

สำหรับการใช้งานเวอร์ชันใหม่คุณต้องรอให้วางไว้ในช่องทางการจัดจำหน่ายของคุณหรือหากคุณเป็นผู้ที่ชื่นชอบคุณสามารถรวบรวมแพ็คเกจได้ ลิงค์ของ ดาวน์โหลดคือสิ่งนี้


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. รับผิดชอบข้อมูล: AB Internet Networks 2008 SL
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา