ఒక సంవత్సరం అభివృద్ధి తర్వాత జరిగింది ప్యాకేజీ మేనేజర్ విడుదల ఆర్‌పిఎం 4.16.0. RPM4 ప్రాజెక్ట్ Red Hat చే అభివృద్ధి చేయబడింది మరియు RHEL (డెరివేటివ్ ప్రాజెక్ట్‌లు CentOS, సైంటిఫిక్ లైనక్స్, AsiaLinux, Red Flag Linux, Oracle Linuxతో సహా), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, PCLin వంటి పంపిణీలలో ఉపయోగించబడుతుంది. టిజెన్ మరియు అనేక ఇతర. గతంలో స్వతంత్ర అభివృద్ధి బృందం అభివృద్ధి చేశారు ప్రాజెక్ట్ RPM5, ఇది RPM4కి నేరుగా సంబంధం లేదు మరియు ప్రస్తుతం వదిలివేయబడింది (2010 నుండి నవీకరించబడలేదు). ప్రాజెక్ట్ కోడ్ ద్వారా పంపిణీ చేయబడింది GPLv2 మరియు LGPLv2 కింద లైసెన్స్ పొందింది.

అత్యంత గుర్తించదగినది మెరుగుదలలు RPM 4.16లో:

  • SQLite DBMSలో డేటాబేస్‌లను నిల్వ చేయడానికి కొత్త బ్యాకెండ్ అమలు చేయబడింది. ఈ బ్యాకెండ్ ఉపయొగించబడుతుంది Fedora Linux 33లో BerkeleyDB-ఆధారిత బ్యాకెండ్‌కు బదులుగా.
  • BDB (Oracle Berkeley DB)లో డేటాబేస్‌లను నిల్వ చేయడానికి కొత్త ప్రయోగాత్మక బ్యాకెండ్, రీడ్-ఓన్లీ మోడ్‌లో అమలు చేయబడింది. అమలు స్క్రాచ్ నుండి వ్రాయబడింది మరియు లెగసీ BerkeleyDB బ్యాకెండ్ నుండి కోడ్‌ని ఉపయోగించదు, ఇది నిలిపివేయబడింది కానీ ఇప్పటికీ డిఫాల్ట్‌గా చేర్చబడుతుంది.
  • ప్రయోగాత్మక LMDB-ఆధారిత డేటాబేస్ బ్యాకెండ్ తీసివేయబడింది.
  • NDB నిల్వపై ఆధారపడిన బ్యాకెండ్ డేటాబేస్ స్థిరంగా ఉన్నట్లు ప్రకటించబడింది.
  • "%if" మాక్రోలు మరియు వ్యక్తీకరణలకు మద్దతు జోడించబడింది thenar ఆపరేటర్ (%{expr:1==0?"yes":"no"}) మరియు అంతర్నిర్మిత వెర్షన్ పోలిక ఫీచర్‌ను అందిస్తుంది ('%[v"3:1.2-1″ > v"2.0″]').
  • వాటి కంటెంట్ యొక్క MIME రకాల ఆధారంగా ఫైల్‌లను వర్గీకరించడానికి మద్దతు అమలు చేయబడింది.
  • ఉపయోగించి డిపెండెన్సీలను రూపొందించే సామర్థ్యాన్ని జోడించారు పారామెట్రిక్ మాక్రోలు.
  • C మరియు Python కోసం పార్సింగ్ మరియు కంపారిజన్ API యొక్క కొత్త వెర్షన్ ప్రతిపాదించబడింది.
  • brp-స్ట్రిప్ మరియు టెస్ట్ సూట్ కాంపోనెంట్‌ల అమలు యొక్క సమాంతరీకరణ నిర్ధారించబడుతుంది. ప్యాకెట్ ఉత్పత్తి ప్రక్రియ యొక్క సమాంతరీకరణ యొక్క ఆప్టిమైజేషన్ నిర్వహించబడింది.
  • rpmdb యుటిలిటీకి జోడించారు దెబ్బతిన్న డేటాబేస్‌ను పునరుద్ధరించడానికి “—salvagedb” ఎంపిక (NDB బ్యాకెండ్‌తో మాత్రమే పని చేస్తుంది).
  • ఆర్కిటెక్చర్ డిటెక్షన్ కోసం కొత్త మాక్రోలు %arm32, %arm64 మరియు %riscv జోడించబడ్డాయి. మాక్రోల కంటెంట్‌లను పొందడానికి అంతర్నిర్మిత మాక్రో %{macrobody:...}ని కూడా జోడించారు.
  • వ్యక్తీకరణలలో కొటేషన్ గుర్తులతో వేరు చేయని పదాలను ఉపయోగించడం నిషేధించబడింది, అనగా. 'a == b'కి బదులుగా మీరు ఇప్పుడు '"a" == "b"' అని వ్రాయాలి.
  • ఎక్స్‌ప్రెషన్ పార్సర్ స్థూల విస్తరణతో వ్యక్తీకరణను అమలు చేయడానికి “%[...]” వాక్యనిర్మాణాన్ని అమలు చేస్తుంది (ఇది “%{expr:...}” నుండి భిన్నంగా ఉంటుంది, దీనిలో మాక్రోలు ముందుగా అమలు చేయబడతాయి).
  • ఎక్స్‌ప్రెషన్‌లలో లాజికల్ మరియు థెనార్ ఆపరేటర్‌ల క్లుప్త విస్తరణకు మద్దతు జోడించబడింది ("%[0 && 1 / 0]" సున్నాతో విభజించడానికి ప్రయత్నించడం వల్ల లోపం ఏర్పడకుండా 0గా పరిగణించబడుతుంది).
  • నాట్ లాజికల్ ఆపరేటర్‌ను ఏకపక్ష సందర్భాలలో (!"%?foo") ఉపయోగించడం కోసం మద్దతు జోడించబడింది.
  • "||" ఆపరేటర్ల ప్రవర్తన మరియు "&&" పెర్ల్/పైథాన్/రూబీతో లైన్‌లోకి తీసుకురాబడింది, అనగా. బూలియన్ విలువను తిరిగి ఇవ్వడానికి బదులుగా, ఇది ఇప్పుడు చివరిగా లెక్కించిన విలువను అందిస్తుంది (ఉదాహరణకు, "%[2 || 3]" 2ని అందిస్తుంది).
  • డిజిటల్ సంతకాలు మరియు హ్యాష్‌ల యొక్క ప్రత్యామ్నాయ ఫార్మాట్‌లను ధృవీకరించే సామర్థ్యం జోడించబడింది.
  • మెటా-డిపెండెన్సీలకు మద్దతు జోడించబడింది (అవసరం(మెటా): somepkg), ఇది ఇన్‌స్టాలేషన్ మరియు తొలగింపు క్రమాన్ని ప్రభావితం చేయదు.
  • RPM3 ఆకృతిలో డిజిటల్ సంతకాల వినియోగాన్ని బలవంతంగా rpmsign చేయడానికి "--rpmv3" ఎంపిక జోడించబడింది.
  • డాక్యుమెంటేషన్, ఉదాహరణ కాన్ఫిగరేషన్ ఫైల్‌లు మరియు ఇతర సంబంధిత డేటా యొక్క ఇన్‌స్టాలేషన్‌ను దాటవేయడానికి ఇన్‌స్టాలేషన్ ఎంపిక "--excludeartifacts" జోడించబడింది.
  • RPMv3 మరియు బీక్రిప్ట్ మరియు NSS క్రిప్టో బ్యాకెండ్‌లకు మద్దతు నిలిపివేయబడింది.
  • DSA2 (gcrypt) మరియు EdDSAకి మద్దతు జోడించబడింది.

మూలం: opennet.ru

ఒక వ్యాఖ్యను జోడించండి