RPM 4.16 انتشار

پس از یک سال توسعه صورت گرفت انتشار مدیر بسته دور در دقیقه 4.16.0. پروژه RPM4 توسط Red Hat توسعه داده شده است و در توزیع هایی مانند RHEL (شامل پروژه های مشتق CentOS، Scientific Linux، AsiaLinux، Red Flag Linux، Oracle Linux)، Fedora، SUSE، openSUSE، ALT Linux، OpenMandriva، Mageia، PCLinuxOS، استفاده می شود. تایزن و بسیاری دیگر. قبلاً تیم توسعه مستقل توسعه یافته پروژه RPM5، که مستقیماً به RPM4 مربوط نمی شود و در حال حاضر رها شده است (از سال 2010 به روز نشده است). کد پروژه توزیع شده توسط تحت مجوز GPLv2 و LGPLv2.

قابل توجه ترین پیشرفت ها در RPM 4.16:

  • یک Backend جدید برای ذخیره سازی پایگاه های داده در SQLite DBMS پیاده سازی شده است. این باطن استفاده خواهد شد در فدورا لینوکس 33 به جای یک باطن مبتنی بر BerkeleyDB.
  • یک Backend آزمایشی جدید برای ذخیره پایگاه‌های داده در BDB (Oracle Berkeley DB) اجرا شده است که در حالت فقط خواندنی کار می‌کند. این پیاده‌سازی از ابتدا نوشته شده است و از کدی از باطن BerkeleyDB قدیمی استفاده نمی‌کند، که منسوخ شده است اما همچنان به طور پیش‌فرض گنجانده شده است.
  • پایگاه داده تجربی مبتنی بر LMDB حذف شده است.
  • پایگاه داده پشتیبان مبتنی بر ذخیره سازی NDB پایدار اعلام شده است.
  • پشتیبانی از ماکروها و عبارات "%if" اضافه شده است اپراتور تنار (%{expr:1==0?"yes":"no"}) و یک ویژگی مقایسه نسخه داخلی را ارائه می دهد ('%[v"3:1.2-1" > v"2.0"]').
  • پشتیبانی از طبقه بندی فایل ها بر اساس انواع MIME محتوای آنها اجرا شده است.
  • اضافه شدن قابلیت ایجاد وابستگی با استفاده از ماکروهای پارامتریک.
  • نسخه جدیدی از API تجزیه و مقایسه برای C و Python پیشنهاد شده است.
  • موازی سازی اجرای brp-strip و اجزای مجموعه تست تضمین شده است. بهینه سازی موازی سازی فرآیند تولید بسته انجام شده است.
  • به ابزار rpmdb اضافه گزینه "—salvagedb" برای بازیابی پایگاه داده آسیب دیده (فقط با باطن NDB کار می کند).
  • ماکروهای جدید %arm32، %arm64 و %riscv برای تشخیص معماری اضافه شد. همچنین یک ماکرو داخلی %{macrobody:...} برای دریافت محتویات ماکروها اضافه کرد.
  • استفاده از کلماتی که با علامت نقل قول جدا نشده اند در عبارات ممنوع است. به جای 'a == b' اکنون باید '"a" == "b" را بنویسید.
  • تجزیه‌کننده عبارت، نحو «%[...]» را برای اجرای یک عبارت با بسط ماکرو پیاده‌سازی می‌کند (با «%{expr:...}» تفاوت دارد که ابتدا ماکروها اجرا می‌شوند).
  • پشتیبانی اضافه شده برای گسترش کوتاه عملگرهای منطقی و thenar در عبارات ("%[0 && 1 / 0]" به جای ایجاد خطا به دلیل تلاش برای تقسیم بر صفر به عنوان 0 در نظر گرفته می شود.
  • اضافه شدن پشتیبانی برای استفاده از عملگر منطقی NOT در زمینه های دلخواه (!"%?foo").
  • رفتار عملگرهای "||". و "&&" با Perl/Python/Ruby مطابقت داده می شود، یعنی. به جای برگرداندن یک مقدار بولی، اکنون آخرین مقدار محاسبه شده را برمی گرداند (برای مثال، "%[2 || 3]" 2 را برمی گرداند).
  • قابلیت تأیید فرمت های جایگزین امضای دیجیتال و هش اضافه شده است.
  • پشتیبانی اضافه شده برای متا وابستگی ها (نیاز (متا): somepkg)، که بر ترتیب نصب و حذف تأثیر نمی گذارد.
  • گزینه "--rpmv3" به rpmsign اضافه شد تا استفاده از امضای دیجیتال در قالب RPM3 را مجبور کند.
  • گزینه نصب "--excludeartifacts" برای پرش از نصب اسناد، فایل های پیکربندی نمونه و سایر داده های مرتبط اضافه شده است.
  • پشتیبانی منسوخ شده از RPMv3 و رمزارزهای beecrypt و NSS کریپتو.
  • پشتیبانی از DSA2 (gcrypt) و EdDSA اضافه شده است.

منبع: opennet.ru

اضافه کردن نظر