RPM 4.16 rhyddhau

Ar ôl blwyddyn o ddatblygiad ddigwyddodd rhyddhau rheolwr pecyn RPM 4.16.0. Datblygir y prosiect RPM4 gan Red Hat ac fe'i defnyddir mewn dosbarthiadau fel RHEL (gan gynnwys prosiectau deilliadol CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen a llawer o rai eraill. Tîm datblygu annibynnol yn flaenorol datblygu y prosiect RPM5, nad yw'n ymwneud yn uniongyrchol ag RPM4 ac sydd wedi'i adael ar hyn o bryd (heb ei ddiweddaru ers 2010). Cod prosiect dosbarthu gan trwyddedig o dan GPLv2 a LGPLv2.

Mwyaf nodedig gwelliannau yn RPM 4.16:

  • Mae ôl-groniad newydd wedi'i roi ar waith ar gyfer storio cronfeydd data yn y SQLite DBMS. Y backend hwn bydd yn cael ei ddefnyddio yn Fedora Linux 33 yn lle backend yn seiliedig ar BerkeleyDB.
  • Mae backend arbrofol newydd ar gyfer storio cronfeydd data yn BDB (Oracle Berkeley DB), sy'n gweithredu yn y modd darllen yn unig, wedi'i roi ar waith. Mae'r gweithrediad wedi'i ysgrifennu o'r dechrau ac nid yw'n defnyddio cod o gefndir etifeddiaeth BerkeleyDB, sydd wedi'i anghymeradwyo ond sy'n dal i gael ei gynnwys yn ddiofyn.
  • Mae ôl-wyneb cronfa ddata arbrofol LMDB wedi'i ddileu.
  • Mae'r gronfa ddata ôl-wyneb sy'n seiliedig ar storfa'r NDB wedi'i datgan yn sefydlog.
  • Ychwanegwyd cefnogaeth ar gyfer macros ac ymadroddion "%if". gweithredwr thenar (%{expr:1==0?"ie":"na"}) ac yn cynnig nodwedd cymharu fersiwn adeiledig ('%[v"3:1.2-1″> v"2.0″]').
  • Mae cefnogaeth ar gyfer dosbarthu ffeiliau yn seiliedig ar fathau MIME eu cynnwys wedi'i roi ar waith.
  • Ychwanegwyd y gallu i gynhyrchu dibyniaethau gan ddefnyddio macros parametrig.
  • Mae fersiwn newydd o'r API dosrannu a chymharu ar gyfer C a Python wedi'i gynnig.
  • Sicrheir bod y gwaith o weithredu cydrannau brp-stribed a'r gyfres brawf yn cyd-fynd. Mae optimeiddio paraleleiddio'r broses cynhyrchu pecynnau wedi'i wneud.
  • I'r cyfleustodau rpmdb wedi adio opsiwn “—salvagedb” i adfer cronfa ddata wedi'i difrodi (yn gweithio gyda'r backend NDB yn unig).
  • Ychwanegwyd macros newydd % arm32, %arm64 a %riscv ar gyfer canfod pensaernïaeth. Hefyd wedi ychwanegu macro adeiledig %{macrobody:...} i gael cynnwys macros.
  • Gwaherddir defnyddio geiriau sydd heb eu gwahanu gan ddyfynodau mewn ymadroddion, h.y. yn lle 'a == b' nawr mae angen i chi ysgrifennu '"a" == "b"'.
  • Mae'r parser mynegiad yn gweithredu'r gystrawen “%[...]” ar gyfer gweithredu mynegiad gydag ehangiad macro (mae'n wahanol i "%{expr:...}" gan fod y macros yn cael eu gweithredu yn gyntaf).
  • Cefnogaeth ychwanegol ar gyfer ehangiad byr o weithredwyr rhesymegol a thenar mewn mynegiadau (mae "%[0 && 1/0]" yn cael ei drin fel 0 yn hytrach nag achosi gwall oherwydd ymgais i rannu â sero).
  • Ychwanegwyd cefnogaeth ar gyfer defnyddio'r gweithredwr rhesymegol NOT mewn cyd-destunau mympwyol (!"%?foo").
  • Ymddygiad y gweithredwyr "||". a chaiff "&&" ei gysoni â Perl/Python/Ruby, h.y. Yn lle dychwelyd gwerth boolaidd, mae bellach yn dychwelyd y gwerth cyfrifedig diwethaf (er enghraifft, bydd "%[2 || 3]" yn dychwelyd 2).
  • Ychwanegwyd y gallu i wirio fformatau amgen o lofnodion digidol a hashes.
  • Cefnogaeth ychwanegol ar gyfer meta-ddibyniaethau (Angen (meta): somepkg), nad ydynt yn effeithio ar drefn gosod a thynnu.
  • Ychwanegwyd opsiwn "--rpmv3" i rpmsign i orfodi'r defnydd o lofnodion digidol mewn fformat RPM3.
  • Ychwanegwyd opsiwn gosod "--excludeartifacts" i hepgor gosod dogfennaeth, ffeiliau ffurfweddu enghreifftiol a data cysylltiedig arall.
  • Cefnogaeth anghymeradwy ar gyfer RPMv3 a'r backends crypto beecrypt ac NSS.
  • Cefnogaeth ychwanegol ar gyfer DSA2 (gcrypt) ac EdDSA.

Ffynhonnell: opennet.ru

Ychwanegu sylw