RPM Package Manager הוא כלי לניהול חבילות שנועד להתקין, לעדכן, להסיר, לאמת ולבקש תוכניות
הוכרזה השקת הגרסה החדשה של מנהל החבילות "RPM 4.19", תוך הדגשת השיפורים והתיקונים שבוצעו, כמו גם שיפורים ב-APIS, תמיכה, מערכת קומפילציה חדשה של CMake, בין היתר בהמשך.
נכון לעכשיו פרויקט 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).
חבילת RPM יכולה להכיל קבוצה שרירותית של קבצים. רוב קבצי RPM הם "RPM בינארי" (או BRPM) המכילים את גרסת הקומפילציה של תוכנה כלשהי. ישנם גם RPMs מקור (או SRPMs) המכילים את קוד המקור המשמש לבניית חבילה בינארית. ל-SRPM יש בדרך כלל את סיומת הקובץ ".src.rpm" (.spm במערכות קבצים מוגבלת ל-3 תווים בסיומת, למשל DOS FAT ישן).
התכונות החדשות העיקריות של RPM 4.19
בגרסה החדשה הזו של RPM 4.19 שמוצגת, אחת התכונות החדשות שבולטות היא שהיא נוספה תמיכה בקבצי ".specpart". ליצירה דינמית של קבצי מפרט, כמו גם «–ליצור-תת-חבילות» נוסף ל-find_lang.sh שמשתמש ב-.specpart.
שינוי נוסף שבולט בגרסה החדשה הזו של RPM 4.19 הוא שהואe מספק אינטגרציה עם ספריית חשבון המשתמש של מערכת sysusers.d לעיבוד אוטומטי של משתמשים וקבוצות, בנוסף גם הוספה תמיכה ביצירת משתמשים וקבוצות מקבצי /etc/passwd, /etc/group ו-sysusers.d כלול בחבילה.
בנוגע לשיפורי התמיכה, בולט שרמות הארכיטקטורה x86-64 () נוספו כארכיטקטורות, בנוסף לעובדה ש תיקנו כיצד דגמי x86 נגזרים ב-rpmrc, כמו כן בוצע שינוי במערכת ההידור CMake המחליפה את Autotools, וכן fakechroot הוחלף בטכנולוגיית מיכל.
אנו יכולים גם לגלות שתמיכה בסקריפטים %preuntrans ו-%postuntrans נוספה בקבצי המפרט, כלי השירות rpmsort נוספה כדי למיין גרסאות חבילות rpm.
בנוסף לכך, נוספו האפשרויות "–nopreuntrans", "–nopostuntrans" ו-"–nosysusers" כדי להשבית סקריפטים וליצור משתמשים וקבוצות באופן אוטומטי במהלך התקנת החבילה.
משאר השינויים הבולטים מהגרסה החדשה הזו:
- גרמו למידע על משתמש/קבוצה לעבוד בצורה מהימנה ב-chroot
- הפוך את מכונות rpmscript לידידותיות ל-chroot
- רגרסיית הוק של תוספים קבועה לכל קובץ שהוצגה ב-4.18
- דחק את הודעת האזהרה של מניעת נעילה כאשר שירות DBus אינו זמין
- תיקון חסר כולל ב-macOS
- הפונקציה הקשורה לקובץ classifierrpmfcNew() הוכרזה מיושנת
- תוקן התעלמות מקוד יציאה של סקריפטים צאצאים במקרה של EINTR
- קוד הפעלת השרשור של rpmioe פושט ונוקה.
- הכלי לחסימה %files ושורת הפקודה תומכים כעת בגלובלינג בסגנון מעטפת ובריחה של תווים מיוחדים.
- הסר כמה בדיקות זמן תצורה ישנות ומיותרות אחרות
- פיצול תרגומים לפרויקט נפרד
- ברירת המחדל לאקומי C.UTF-8, מאפשרת חזרה ל-C
- ספריות יוצאו בתור תצורת cmake "find_package()".
- הפונקציות rpmGlobPath(), rpmEscape()ו-rpmUnescape() נוספו ל-API.
- הקבילה של הרכבה מתבצעת כעת תוך התחשבות בזיכרון ובמרחב הכתובות.
- נוסף תיעוד פיתוח ביצירת תיעוד.
- עוד תוספות ותיקונים שונים
- עבור פרויקטים המשתמשים ב- CMake, הפונקציה find_package(rpm) מסופקת.
- תוקנה תקלת פילוח בארגומנט שאינו ניתן לשרשרת עבור קריאת מאקרו מ- Lua
בסופו של דבר אם אתה מעוניין לדעת יותר על כך של הגרסה החדשה הזו, אתה יכול לבדוק את הפרטים בקישור הבא.