2020 کی پہلی سہ ماہی کے لیے فری بی ایس ڈی ڈیولپمنٹ رپورٹ

شائع ہوا جنوری سے مارچ 2020 تک فری بی ایس ڈی پروجیکٹ کی ترقی پر رپورٹ۔ تبدیلیوں میں سے ہم نوٹ کر سکتے ہیں:

  • عمومی اور نظاماتی مسائل
    • GCC کمپائلر سیٹ کو FreeBSD-CURRENT سورس ٹری سے ہٹا دیا، ساتھ ہی غیر استعمال شدہ gperf، gcov اور gtc (ڈیوائس ٹری کمپائلر) یوٹیلیٹیز۔ تمام پلیٹ فارمز جو کلینگ کو سپورٹ نہیں کرتے ہیں انہیں بندرگاہوں سے نصب بیرونی تعمیراتی ٹولز استعمال کرنے پر تبدیل کر دیا گیا ہے۔ بیس سسٹم نے GCC 4.2.1 کی ایک پرانی ریلیز بھیجی، اور GPLv4.2.2 لائسنس میں 3 کی منتقلی کی وجہ سے نئے ورژنز کا انضمام ممکن نہیں تھا، جسے FreeBSD بیس کے اجزاء کے لیے نامناسب سمجھا جاتا تھا۔ GCC کی موجودہ ریلیز، بشمول GCC 9، اب بھی پیکجوں اور بندرگاہوں سے انسٹال کی جا سکتی ہیں۔
    • لینکس اینوائرمنٹ ایمولیشن انفراسٹرکچر (لینکسولیٹر) نے سینڈ فائل سسٹم کال، TCP_CORK موڈ (nginx کے لیے درکار) اور MAP_32BIT فلیگ (اوبنٹو بایونک سے مونو کے ساتھ پیکجز لانچ کرنے کا مسئلہ حل کرتا ہے) کے لیے تعاون شامل کیا ہے۔ 2.30 (مثال کے طور پر CentOS 8 سے) glibc استعمال کرتے وقت DNS ریزولوشن کے مسائل حل ہو چکے ہیں۔
      مسلسل انضمام کا بنیادی ڈھانچہ لینکس کو سپورٹ کرنے کے لیے کوڈ میں کی گئی بہتری کو جانچنے کے لیے Linuxulator چلانے والے LTP (Linux Testing Project) جابز کو چلانے کی صلاحیت فراہم کرتا ہے۔ تقریباً 400 ٹیسٹ ناکام ہو جاتے ہیں اور اسے ٹھیک کرنے کی ضرورت ہوتی ہے (کچھ غلطیاں غلط مثبت کی وجہ سے ہوتی ہیں، کچھ کو معمولی اصلاحات کی ضرورت ہوتی ہے، لیکن کچھ ایسے بھی ہیں جن کو ٹھیک کرنے کے لیے نئے سسٹم کالز کے لیے سپورٹ شامل کرنے کی ضرورت ہوتی ہے)۔ لینکسولیٹر کوڈ کو صاف کرنے اور ڈیبگنگ کو آسان بنانے کے لیے کام کیا گیا ہے۔ توسیعی صفات اور fexecve سسٹم کال کی حمایت کے ساتھ پیچ تیار کیے گئے ہیں، لیکن ابھی تک ان کا جائزہ نہیں لیا گیا ہے۔

    • سینٹرلائزڈ سورس کنٹرول سسٹم سبورژن سے ڈی سینٹرلائزڈ سسٹم گِٹ میں سورس کوڈز کی منتقلی کے لیے بنائے گئے ورکنگ گروپ کی میٹنگز جاری ہیں۔ نقل مکانی کے لیے تجاویز کے ساتھ ایک رپورٹ تیاری کے مراحل میں ہے۔
    • В rtld (رن ٹائم لنکر) براہ راست عمل درآمد موڈ میں بہتری (“/libexec/ld-elf.so.1 {path} {arguments}”)۔
    • syzkaller سسٹم کا استعمال کرتے ہوئے FreeBSD کرنل کی فزنگ ٹیسٹنگ کا منصوبہ تیار ہو رہا ہے۔ رپورٹنگ کی مدت کے دوران، نیٹ ورک اسٹیک میں مسائل اور فائل ڈسکرپٹر ٹیبلز کے ساتھ کام کرنے کے لیے کوڈ جن کی شناخت syzkaller کا استعمال کرتے ہوئے کی گئی تھی ختم کر دی گئی۔ خرابی کی تشخیص کے بعد، ڈیبگنگ کو آسان بنانے کے لیے SCTP اسٹیک میں تبدیلیاں شامل کی گئی ہیں۔ ممکنہ رجعت کی نشاندہی کرنے کے لیے سٹریس 2 سیٹ میں قواعد شامل کیے گئے ہیں۔ نئی سسٹم کالز کی فز ٹیسٹنگ کے لیے سپورٹ شامل کیا گیا ہے، بشمول copy_file_range(), __realpathat() اور Capsicum subsystem کالز۔ فز ٹیسٹنگ کے ساتھ لینکس ایمولیشن پرت کا احاطہ کرنے کا کام جاری ہے۔ ہم نے تازہ ترین کورٹی اسکین رپورٹس میں درج غلطیوں کا تجزیہ کیا اور انہیں ختم کیا۔
    • مسلسل انضمام کا نظام صرف clang/lld کا استعمال کرتے ہوئے تمام ہیڈ برانچ ٹیسٹوں کو انجام دینے کے لیے تبدیل ہو گیا ہے۔ RISC-V کی جانچ کرتے وقت، OpenSBI کا استعمال کرتے ہوئے QEMU میں ٹیسٹ چلانے کے لیے ایک مکمل ڈسک امیج کی تشکیل کو یقینی بنایا جاتا ہے۔ امیجز اور پاور پی سی 64 ورچوئل مشینوں کی جانچ کے لیے نئے کام شامل کیے گئے (FreeBSD-head-powerpc64-images, FreeBSD-head-powerpc64-testvm)۔
    • Kyua ٹیسٹ سوٹ کو بندرگاہوں (devel/kyua) سے بیس سسٹم میں منتقل کرنے کے لیے کام جاری ہے تاکہ مسائل کو حل کیا جا سکے (پیکیجز بہت آہستہ سے انسٹال کیے جاتے ہیں) جو کہ نئے فن تعمیرات پر Kyua استعمال کرتے وقت پیدا ہوتے ہیں، جس کے لیے ایمولیٹر یا ڈیولپمنٹ کا استعمال کیا جاتا ہے۔ ایف پی جی اے۔ بیس سسٹم میں انضمام ایمبیڈڈ پلیٹ فارمز اور مسلسل انضمام کے نظام کے ساتھ انٹرفیس کی جانچ کو نمایاں طور پر آسان بنائے گا۔
    • نیٹ ورک برج ڈرائیور کی کارکردگی کو بہتر بنانے کے لیے ایک پروجیکٹ شروع کیا گیا ہے۔ if_bridge، جو اندرونی ڈیٹا کو مقفل کرنے کے لیے ایک واحد mutex کا استعمال کرتا ہے، جو کہ ایک نیٹ ورک میں ایک بڑی تعداد میں جیل کے ماحول یا ورچوئل مشینوں کے ساتھ سسٹمز پر مطلوبہ کارکردگی کو حاصل کرنے کی اجازت نہیں دیتا ہے۔ اس مرحلے پر، کوڈ میں ٹیسٹ شامل کیے گئے ہیں تاکہ تالے کے ساتھ کام کرنے کی جدید کاری کے دوران رجعت کو روکا جا سکے۔ ڈیٹا ٹرانسفر ہینڈلرز (bridge_input(), bridge_output(), bridge_forward(), ...) کو متوازی بنانے کے لیے ConcurrencyKit استعمال کرنے کے امکان پر غور کیا جا رہا ہے۔
    • استثنیٰ ہینڈلرز کی کارکردگی کو بہتر بنانے کے لیے ایک تیز سگنل ہینڈلر کے لیے ایک تھریڈ کو میموری کا ایک بلاک بتانے کی اجازت دینے کے لیے ایک نیا sigfastblock سسٹم کال شامل کی گئی۔
    • دانا ایل ایس ای (بڑے سسٹم ایکسٹینشن) کے لیے تعاون کا اضافہ کرتا ہے جو کہ ARMv8.1 سسٹمز کے ذریعے تعاون یافتہ ہے۔ Cavium ThunderX2 اور AWS Graviton 2 بورڈز پر چلتے وقت کارکردگی کو بہتر بنانے کے لیے یہ ہدایات درکار ہیں۔ اضافی تبدیلیاں LSE سپورٹ کا پتہ لگاتی ہیں اور ان کی بنیاد پر جوہری نفاذ کو متحرک طور پر فعال کرتی ہیں۔ جانچ کے دوران، LSE کے استعمال نے دانا کو جمع کرتے وقت گزارے گئے پروسیسر کے وقت کو 15% کم کرنا ممکن بنایا۔
    • کارکردگی کی اصلاح کی گئی ہے اور ELF فارمیٹ میں قابل عمل فائلوں کے لیے ٹول کٹ کی فعالیت کو بڑھا دیا گیا ہے۔
      DWARF ڈیبگنگ کی معلومات کو کیش کرنے کے لیے معاونت شامل کی گئی، elfcopy/objcopy یوٹیلیٹیز میں مسائل حل کیے گئے، DW_AT_ranges پروسیسنگ شامل کی گئی،
      readelf PROTMAX_DISABLE، STKGAP_DISABLE اور WXNEEDED جھنڈوں کے ساتھ ساتھ Xen اور GNU Build-ID کو ڈی کوڈ کرنے کی صلاحیت کو نافذ کرتا ہے۔

  • سیکورٹی
    • Azure کلاؤڈ ماحول میں FreeBSD کی کارکردگی کو بہتر بنانے کے لیے، HyperV Socket میکانزم کے لیے تعاون فراہم کرنے کے لیے کام جاری ہے، جو کہ نیٹ ورک قائم کیے بغیر مہمان نظام اور میزبان ماحول کے درمیان تعامل کے لیے ساکٹ انٹرفیس کے استعمال کی اجازت دیتا ہے۔
    • فری بی ایس ڈی کی دہرائی جانے والی تعمیرات فراہم کرنے کے لیے کام جاری ہے، اس بات کو یقینی بنانا ممکن ہے کہ سسٹم کے اجزاء کی ایگزیکیوٹیبل فائلیں اعلان کردہ سورس کوڈز سے بالکل مرتب کی گئی ہوں اور ان میں غیر معمولی تبدیلیاں نہ ہوں۔
    • انفرادی عمل کی سطح پر اضافی تحفظ کے میکانزم (ASLR، PROT_MAX، اسٹیک گیپ، W+X میپنگ) کو شامل کرنے کی صلاحیت کو elfctl افادیت میں شامل کیا گیا ہے۔
  • اسٹوریج اور فائل سسٹم
    • Kerberos (sec=krb1.3p موڈ) استعمال کرنے کے بجائے NFS کے لیے TLS 5 پر مبنی ایک انکرپٹڈ کمیونیکیشن چینل پر کام کرنے کی صلاحیت کو نافذ کرنے کے لیے کام جاری ہے، جو صرف RPC پیغامات کو خفیہ کرنے تک محدود ہے اور صرف سافٹ ویئر میں لاگو ہوتا ہے۔ نیا نفاذ ہارڈویئر ایکسلریشن کو فعال کرنے کے لیے کرنل کے ذریعے فراہم کردہ TLS اسٹیک کا استعمال کرتا ہے۔ NFS اوور TLS کوڈ ٹیسٹنگ کے لیے تقریباً تیار ہے، لیکن پھر بھی دستخط شدہ کلائنٹ سرٹیفکیٹس کو سپورٹ کرنے اور کرنل TLS اسٹیک کو NFS ڈیٹا بھیجنے کے لیے اپنانے کے لیے کام کی ضرورت ہے (وصول کرنے کے لیے پیچ پہلے ہی تیار ہیں)۔
  • ہارڈ ویئر سپورٹ
    • AMD ٹیکنالوجیز پر مبنی چینی x86 CPU Hygon کے لیے تعاون شامل کرنے کے لیے کام جاری ہے۔
    • چیری بی ایس ڈی کے حصے کے طور پر، ریسرچ پروسیسر فن تعمیر کے لیے فری بی ایس ڈی کا ایک کانٹا چیری (کیپیبلٹی ہارڈ ویئر اینہانسڈ RISC ہدایات)، ARM موریلو پروسیسر کے لیے سپورٹ کا نفاذ جاری ہے، جو کیپسیکم پروجیکٹ سیکیورٹی ماڈل پر مبنی CHERI میموری ایکسیس کنٹرول سسٹم کو سپورٹ کرے گا۔ موریلو چپ منصوبہ بندی کر رہے ہیں 2021 میں ریلیز۔ کام فی الحال Arm Neoverse N1 پلیٹ فارم کے لیے تعاون شامل کرنے پر مرکوز ہے جو موریلو کو طاقت دیتا ہے۔ RISC-V فن تعمیر کے لیے CheriBSD کی ابتدائی بندرگاہ پیش کی گئی ہے۔ MIPS64 فن تعمیر پر مبنی CHERI ریفرنس پروٹو ٹائپ کے لیے CheriBSD کی ترقی جاری ہے۔
    • ARMv64 Cortex-A1046 پروسیسر پر مبنی 8-bit SoC NXP LS72A کے لیے فری بی ایس ڈی پورٹنگ ایک مربوط نیٹ ورک پیکٹ پروسیسنگ ایکسلریشن انجن، 10 Gb ایتھرنیٹ، PCIe 3.0، SATA 3.0 اور USB 3.0 کے ساتھ جاری ہے۔ فی الحال، ڈرائیورز QorIQ اور LS1046A, GPIO, QorIQ LS10xx AHCI, VF610 I2C, Epson RX-8803 RTC, QorIQ LS10xx SDHCI کو مرکزی FreeBSD کمپوزیشن میں منتقل کرنے کے لیے تیار کیا جا رہا ہے۔
    • ena ڈرائیور کو ENAv2.1.1 (ایلاسٹک نیٹ ورک اڈاپٹر) کی دوسری نسل کے نیٹ ورک اڈاپٹر کی حمایت کے ساتھ ورژن 2 میں اپ ڈیٹ کیا گیا ہے جو لچکدار کمپیوٹ کلاؤڈ (EC2) انفراسٹرکچر میں EC2 نوڈس کے درمیان 25 Gb/ کی رفتار سے مواصلات کو منظم کرنے کے لیے استعمال کیا جاتا ہے۔ s ENA 2.2.0 کے لیے ایک اپ ڈیٹ تیار کیا جا رہا ہے۔
    • پاور پی سی 64 پلیٹ فارم کے لیے فری بی ایس ڈی پورٹ میں بہتری جاری ہے۔ IBM POWER8 اور POWER9 پروسیسرز والے سسٹمز پر معیاری کارکردگی فراہم کرنے پر توجہ مرکوز کی گئی ہے۔ رپورٹنگ کی مدت کے دوران، FreeBSD-CURRENT کو GCC کی بجائے LLVM/Clang 10.0 کمپائلر اور lld لنکر استعمال کرنے کے لیے منتقل کیا گیا تھا۔ پہلے سے طے شدہ طور پر، powerpc64 سسٹمز ELFv2 ABI استعمال کرتے ہیں اور ELFv1 ABI کے لیے سپورٹ کو بند کر دیا گیا ہے۔ FreeBSD-STABLE میں ابھی بھی gcc 4.2.1 ہے۔ virtio، aacraid اور ixl ڈرائیوروں کے مسائل حل ہو چکے ہیں۔ پاور پی سی 64 سسٹم پر ہیو پیجز سپورٹ کے بغیر QEMU چلانا ممکن ہے۔
    • RISC-V فن تعمیر کے لیے تعاون کو نافذ کرنے کے لیے کام جاری ہے۔ اپنی موجودہ شکل میں، فری بی ایس ڈی پہلے ہی سی فائیو ہائی فائیو انلیشڈ بورڈ پر کامیابی سے بوٹ کر رہا ہے، جس کے لیے ڈرائیور تیار کر لیے گئے ہیں۔
      UART، SPI اور PRCI، OpenSBI اور SBI 0.2 فرم ویئر کو سپورٹ کرتا ہے۔ رپورٹنگ کی مدت کے دوران، کام GCC سے clang اور lld کی طرف ہجرت پر مرکوز تھا۔

  • ایپلی کیشنز اور پورٹ سسٹم
    • فری بی ایس ڈی بندرگاہوں کا مجموعہ 39 ہزار بندرگاہوں کی حد کو عبور کر چکا ہے، غیر بند پی آرز کی تعداد 2400 سے قدرے زیادہ ہے، جن میں سے 640 پی آرز کو ابھی تک ترتیب نہیں دیا گیا ہے۔ رپورٹنگ کی مدت کے دوران 8146 ڈویلپرز سے 173 تبدیلیاں کی گئیں۔ چار نئے شرکاء نے کمٹٹر کے حقوق حاصل کیے (Loïc Bartoletti، Mikael Urankar، Kyle Evans، Lorenzo Salvadore)۔ USES=qca پرچم شامل کیا گیا اور USES=zope پرچم کو ہٹا دیا گیا (Python 3 کے ساتھ عدم مطابقت کی وجہ سے)۔ Python 2.7 کو پورٹس ٹری سے ہٹانے کے لیے کام جاری ہے - تمام Python 2 پر مبنی پورٹس کو Python 3 پر پورٹ کیا جانا چاہیے یا ہٹا دیا جائے گا۔ pkg پیکیج مینیجر کو 1.13.2 ریلیز کرنے کے لیے اپ ڈیٹ کر دیا گیا ہے۔
    • اپ ڈیٹ کردہ گرافکس اسٹیک اجزاء اور xorg متعلقہ پورٹس۔
      X.org سرور کو ورژن 1.20.8 (پہلے 1.18 برانچ پر بھیج دیا گیا تھا) میں اپ ڈیٹ کر دیا گیا ہے، جس نے ان پٹ ڈیوائسز کو ہینڈل کرنے کے لیے فری بی ایس ڈی کو udev/evdev بیک اینڈ استعمال کرنے کے لیے ڈیفالٹ کرنے کی اجازت دی۔ Mesa پیکیج کو ڈیفالٹ کے طور پر DRI3 کی بجائے DRI2 ایکسٹینشن استعمال کرنے کے لیے تبدیل کر دیا گیا ہے۔ گرافکس ڈرائیورز، ان پٹ ڈیوائس اسٹیک، اور drm-kmod اجزاء کو رکھنے کے لیے کام جاری ہے (ایک پورٹ جو amdgpu، i915 اور radeon DRM ماڈیولز کو چلانے کے قابل بناتا ہے، linuxkpi فریم ورک کا استعمال کرتے ہوئے لینکس کرنل کے ڈائریکٹ رینڈرنگ مینیجر کے ساتھ مطابقت رکھتا ہے) سب سے نیا.

    • کے ڈی ای پلازما ڈیسک ٹاپ، کے ڈی ای فریم ورک، کے ڈی ای ایپلی کیشنز اور کیو ٹی کو تازہ ترین رکھا گیا ہے اور تازہ ترین ریلیز میں اپ ڈیٹ کیا گیا ہے۔ بندرگاہوں میں ایک نئی ایپلی کیشن kstars (سٹار اٹلس) شامل کی گئی ہے۔
    • xfwm4 ونڈو مینیجر میں رجعت پسند تبدیلیوں کو ختم کرنے کے لیے کام کیا گیا ہے جو Xfce کو ورژن 4.14 میں اپ ڈیٹ کرنے کے بعد نمودار ہوئیں (مثال کے طور پر، ونڈوز کو سجاتے وقت نمونے ظاہر ہوئے)۔
    • وائن پورٹ کو وائن 5.0 جاری کرنے کے لیے اپ ڈیٹ کر دیا گیا ہے (پہلے 4.0.3 کی پیشکش کی گئی تھی)۔
    • ورژن 1.14 سے شروع کرتے ہوئے، گو لینگوئج کمپائلر نے فری بی ایس ڈی 64 کے لیے ARM12.0 فن تعمیر کے لیے آفیشل سپورٹ شامل کیا۔
    • بیس سسٹم پر OpenSSH کو 7.9p1 ریلیز کرنے کے لیے اپ ڈیٹ کر دیا گیا ہے۔
    • sysctlmibinfo2 لائبریری کو لاگو کیا گیا ہے اور اسے بندرگاہوں (devel/libsysctlmibinfo2) میں رکھا گیا ہے، جو sysctl MIB تک رسائی حاصل کرنے اور sysctl ناموں کو آبجیکٹ شناخت کنندگان (OIDs) میں ترجمہ کرنے کے لیے ایک API فراہم کرتا ہے۔
    • ڈسٹری بیوشن اپ ڈیٹ تیار کیا گیا ہے۔ خانہ بدوش 1.3.1جو کہ FreeBSD کا ایک ایڈیشن ہے جسے USB ڈرائیو سے بوٹ ایبل پورٹیبل ڈیسک ٹاپ کے طور پر استعمال کرنے کے لیے ڈھال لیا گیا ہے۔ گرافیکل ماحول ونڈو مینیجر پر مبنی ہے۔ کھلا ڈبہ. بڑھتے ہوئے ڈرائیوز کے لیے استعمال کیا جاتا ہے۔ ڈی ایس بی ایم ڈی (ماؤنٹنگ CD9660, FAT, HFS+, NTFS, Ext2/3/4 تعاون یافتہ ہے)، وائرلیس نیٹ ورک کو ترتیب دینے کے لیے - wifimgr، اور حجم کو کنٹرول کرنے کے لیے - ڈی ایس بی مکسر.
    • شروع کام جیل کے ماحول کے مینیجر کے لیے مکمل دستاویزات لکھنے پر برتن. پاٹ 0.11.0 کو ریلیز کے لیے تیار کیا جا رہا ہے، جس میں نیٹ ورک اسٹیک کے انتظام کے لیے ٹولز شامل ہوں گے۔

ماخذ: opennet.ru

نیا تبصرہ شامل کریں