# نشر برنامج رايليب أصلي

[English](deployment.en.md) · [الدليل](guide.ar.md) · [تجهيز المساهمين](contributor.md) · [حالة الأدلة](evidence.md)

الهدف Linux عام بمعمارية x86-64 وglibc 2.34 أو أحدث. الأداة والبرامج المولدة
ELF64 PIE بمفسر `/lib64/ld-linux-x86-64.so.2`، ولا تتطلب رموز GLIBC أحدث
من 2.34. تتضمن RELRO والربط الفوري ومكدسا غير قابل للتنفيذ. الاعتمادان
المباشران هما `libc.so.6` و`libm.so.6` فقط، دون RPATH أو RUNPATH. قد تتطلب
تنفيذات العرض والصوت مكتبات وأذونات ومشغلات خاصة بها. هذه شروط الهدف
المدعوم. تسجل التذكرة 30 تشغيل glibc 2.34 الفعلي والتثبيت دون شبكة والنشر
بلا مصدر في [تسليم التحقق](../releases/0.6.0/verification/30-handoff.md).

ثبت توزيعة ASPL العادية. لا يستدعي فحص التطبيق وبناؤه مترجم C أو مجمعا
أو رابطا، ولا يفتح جهازا. يحتوي البرنامج المولد البايتكود وآلة السجلات
والمحركات الخاصة المختارة. لا يحتاج المستلم بيئة ASPL أو رايليب النظام
أو خطوط المضيف أو المصدر.

## احصل على مرافق المضيف عند الحاجة

تحتاج الحسابات والنص على المعالج إلى أرضية المعالج وglibc فقط. لا يحمل
الاستيراد خلفية جهاز. تحتاج النافذة نقطة عرض مأذونة يمكن الوصول إليها
ومكتبات متوافقة وإصدار OpenGL 3.3 core:

| المسار | المكتبات والمرافق المطلوبة |
| --- | --- |
| X11 أصلي أو XWayland | `libX11.so.6`, `libXxf86vm.so.1`, `libXi.so.6`, `libXrandr.so.2`, `libXcursor.so.1`, `libXinerama.so.1`, `libXrender.so.1`, `libXext.so.6`. يجرب GLX `libGLX.so.0` ثم `libGL.so.1`. يتطلب DISPLAY مأذونا وسياق OpenGL 3.3 core صالحا. |
| Wayland أصلي | `libwayland-client.so.0`, `libwayland-cursor.so.0`, `libwayland-egl.so.1`, `libxkbcommon.so.0`, `libEGL.so.1`. يتطلب compositor/subcompositor وxdg-shell وذاكرة مشتركة وإدخال لوحة وفأرة ومخرجات صالحة وسمة مؤشر. يستخدم مسارا دون libdecor وOpenGL 3.3 core المكتبي. عند غياب إجراءات EGL يجرب `libOpenGL.so.0` ثم `libGL.so.1`. |
| PulseAudio أو خدمته المتوافقة في PipeWire | `libpulse.so.0` وخدمة تشغيل متاحة ونقطة إخراج صالحة. |
| ALSA مباشر | `libasound.so.2` وجهاز تشغيل مأذون صالح. |

يستخدم التحميل بحث الرابط العادي والنطاق المحلي والربط الفوري وفحص الرموز.
لا يحتاج رابط تطوير غير محدد الإصدار. تختار القيمة الدقيقة
`XDG_SESSION_TYPE=wayland` مسار Wayland أولا. تحدد قيم WAYLAND_DISPLAY و
DISPLAY غير الفارغة المرشحين، وتختار أنواع الجلسات الأخرى X11 أولا.
يجرب النقطة الأخرى المتاحة بعد فشل مضيف حرر بأمان. تحتفظ قيم النقاط
بتفسير المضيف بما فيه مسار مقبس Wayland المطلق.

يجرب الصوت PulseAudio ثم ALSA، بما فيه فشل بدء التشغيل. يسبق التحرير
الكامل الآمن كل محاولة بديلة. يوقف الوسيط غير الصالح ورفض الموارد والإلغاء
والتنظيف غير المثبت المحاولات. تبقى الخلفية الناجحة حتى الإغلاق، ولا يستبدل
نجاح وهمي أو بلا جهاز. غياب المرشحين يعيد `raylib.host_unavailable`، وفشلهم
الآمن جميعا يعيد فئة الأخير مع تفاصيل المحاولات. راجع أدلة
[النافذة](../raylib-window-hosts.md) و[الصوت](../raylib-audio-hosts.md).

## انسخ الأصول والإشعارات

تبدأ مسارات الملفات من مجلد عمل العملية، مستقلة عن مجلد المصدر والتنفيذ.
تحفظ الأمثلة مسارات دقيقة مثل `docs/examples/assets/raylib-sprites.png`.
انسخ الشجرة النسبية أو غير النصوص قبل البناء. تبقى PNG وWAV وOGG وMP3
والخطوط المخصصة TrueType ملفات خارجية. احتفظ برخصها. يحتفظ تحميل الخط
بنسخة البايتات ويحتفظ بث الموسيقى بحالة المفكك والملف والمخزن المملوكة.

```sh
aspl build -o build/sprites docs/examples/raylib/sprite-camera.ar.aspl
mkdir -p build/deploy/docs/examples
cp build/sprites build/sprites.THIRD-PARTY-NOTICES build/deploy/
cp -r docs/examples/assets build/deploy/docs/examples/
cd build/deploy
./sprites
```

يعمل التنفيذ المنسوخ دون مصدر. يتضمن `<program>.THIRD-PARTY-NOTICES`
جرد المكونات والبيانات والخطوط المثبت، بما فيه نسبة FreeType وإخلاء مسؤوليته.
وزعه مع التنفيذ وإشعارات الأصول. لا يقرأه التنفيذ. ينشر البناء الإشعار
ذريا أولا ثم التنفيذ ذريا. يمنع فشل الإشعار نشر التنفيذ. يحفظ فشل التنفيذ
اللاحق التنفيذ السابق ويبلغ عن الإشعار المنشور. تصادم المصدر يستخدم
`output-is-source` وتطابق مساري التنفيذ والإشعار يستخدم `output-path-collision`.
تستخدم الوجهة غير الآمنة وفشل الكتابة أو النشر `host-operation-failed` مع
المرحلة والمسار والنتيجة الجزئية. لا ينتج تشغيل المصدر ملف إشعار مرافق.

## البيانات المضمنة والهويات الخاصة

تضم برامج رايليب رايليب 6.0 وHarfBuzz 14.4.0 وICU 78.3 ببيانات Unicode
17.0.0 الكاملة وFreeType 2.14.3 وNoto Sans Arabic Regular 2.013 وNoto Sans
Regular 2.015. دعم C++ وفك المكدس المضبوط خاص. لا تستبدل اللغة أو خطوط
المضيف أو ICU_DATA أو الإضافات هذه الأرضية. يسجل دليل المساهمين تجزئات
المصدر والأرشيف والخطوط والإعدادات.

تختار شبكة الاستيراد كاملة صورة core 0 أو HTTP 1 أو رايليب 3 أو المركبة 4،
بما فيه الاستيراد غير المستخدم وغير المباشر. تحمل الأداة 2 القوالب الأربعة.
لا تضيف صور core وHTTP محركات أو خطوط أو بيانات أو متطلبات أجهزة رايليب.
يفحص القبول المستقل المتطلبات والمخططات والتواقيع والتأثيرات وعائلات الملاك
وهويات التجهيز قبل التأثيرات الأصلية.

الهويات الحالية هي البايتكود 7 وسجل الدمج 2 وواجهة المكتبات الأصلية 1
وعقد المراجعة `0x00010000` وكتالوج HTTP `0x00010006` وكتالوج رايليب
`0x0001000e` وواجهة رايليب الخاصة المسجلة 14. الحقل التاريخي
`http_private_abi=1` في سجل الاعتمادات مختلف عن إصدار حد أحداث HTTP الخاص 3.
لا تخلط الهويتين. يتبع المالك والعمل القابل للاستئناف واللقطات البناء
المطابق. لا توفر التعدادات والأعلام والثوابت والملاك والتقدم والصور الأربع
واجهة بايتكود أو خلفية عامة ثابتة. يرفض التعريف الخاص غير المتوافق حتى مع
إعادة حساب المجموع. تبقى عقود استدعاءات C العادية غير الآمنة والبرامج
الموزعة سابقا وهوياتها المضمنة.

يسجل [فهرس الأدلة](evidence.md) فحوص النشر الآلية والمضيفين المتاحين.
نجحت الملاحظات اليدوية للإدخال وتغيير الحجم وأعلام النافذة ومواضع الحروف
وقلب النسيج وسماع الصوت على Wayland وXWayland وPipeWire. استُثني فحص
HighDPI لأن شاشة المستخدم عادية الكثافة. لا تشمل الأدلة جلسة X11 أصلية
أو PulseAudio مستقلا أو ALSA مباشرا. تسجل
[ملاحظات 0.6.0](../releases/0.6.0/README.md) نطاق التحقق.
