Atheme عبارة عن مجموعة من خدمات IRC المصممة لشبكات IRC الكبيرة ذات متطلبات قابلية التوسع العالية. إنه برنامج ناضج نسبيًا، مع بعض التعليمات البرمجية والتصميم المستمدة من حزمة أخرى تسمى Shrike.
يمكن ضبط سلوك Atheme باستخدام الوحدات النمطية وملف تكوين مفصل للغاية. يمكن تغيير كل السلوكيات تقريبًا في وقت النشر فقط عن طريق تحرير التكوين.
إذا كان لديك إصدار حديث من Git (1.6.5 أو أحدث)، فيمكنك استنساخ المستودع بشكل متكرر:
$ git clone --recursive 'https://github.com/atheme/atheme/' atheme-devel
$ cd atheme-devel
إذا كان لديك إصدار أقدم من Git، فيجب عليك استنساخ المستودع، ثم جلب وحداته الفرعية:
$ git clone 'https://github.com/atheme/atheme/' atheme-devel
$ cd atheme-devel
$ git submodule init
$ git submodule update
إذا لم يكن لديك Git، يمكنك تنزيل أرشيف الحزمة من موقعنا على https://atheme.github.io/.
إذا كنت تتصفح مستودع GitHub الخاص بنا، فيرجى عدم النقر فوق الزر "Download ZIP" أو روابط "Source Code" هناك، لأنها ستمنحك أرشيفًا يفتقر إلى الوحدات الفرعية المطلوبة. توجد أرشيفات .tar.bz2
أو .tar.xz
مناسبة لكل إصدار ضمن "الأصول"، وهو ما سينقلك إليه زر "تنزيل" الموجود على موقعنا.
احصل على مستودع التعليمات البرمجية المصدر وقم بالتغيير إلى الدليل الخاص به (باستخدام الأوامر المذكورة أعلاه).
إذا كنت تقوم بإنشاء Atheme على نظام GNU/Linux، أو أي شيء يمكنه محاكاة ذلك بشكل كافٍ (مثل WSL 2 على نظام التشغيل Windows 10)، فقم بتنفيذ الأوامر التالية:
$ ./configure
$ make
$ make install
إذا كنت تقوم بإنشاء Atheme على نظام OpenBSD (أو نظام مشابه)، فقم بتنفيذ الأوامر التالية بدلاً من ذلك:
# pkg_add gmake
$ ./configure --disable-linker-defs
$ gmake
$ gmake install
إذا تم تثبيت المكتبات المثبتة بواسطة المستخدم والتي تريد أن يستخدمها Atheme بواسطة مدير الحزم الخاص بك إلى دليل مثل /usr/local/
، فقد تحتاج إلى تكملة مسارات البحث الخاصة بالمترجم والرابط الافتراضي حتى يتمكن Atheme من اكتشاف تلك المكتبات (على سبيل المثال cracklib من منافذ FreeBSD):
$ ./configure CPPFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib"
تتطلب المكتبات التالية عمومًا تثبيت pkg-config:
libargon2.pc
)libcrypto.pc
)libidn.pc
)nettle.pc
)libpcre.pc
)libqrencode.pc
)libsodium.pc
) إذا لم يكن لديك pkg-config مثبتًا وتريد استخدام واحدة أو أكثر من هذه المكتبات، فيرجى مراجعة ./configure --help
للتعرف على الخيارات التي يمكنك ضبطها لتجاوز اكتشاف pkg-config لتلك المكتبات. على سبيل المثال، إذا كنت ترغب في استخدام GNU libidn، وتم تثبيته في مسار بحث افتراضي للمترجم والرابط الخاص بك، ولم يكن لديك pkg-config مثبتًا، فقم بتنفيذ:
$ ./configure LIBIDN_CFLAGS="" LIBIDN_LIBS="-lidn"
إذا كانت المكتبة تعتمد على تعبئة LIBFOO_CFLAGS
ببعض تعريفات المعالج المسبق، أو تعبئة LIBFOO_LIBS
ببعض إشارات ربط المكتبة، فسيفشل هذا بشكل عام. قم بتثبيت pkg-config للحصول على أفضل النتائج.
إذا كنت ترغب في ترجمة Atheme باستخدام مترجم C الخاص بمشروع LLVM ( clang
)، فقد ترغب أيضًا في استخدام رابط LLVM ( lld
). يمكنك تحقيق ذلك على النحو التالي:
$ ./configure CC="clang" LDFLAGS="-fuse-ld=lld"
إذا كنت ترغب في استخدام معقمات المترجم، وترغب في الإنشاء باستخدام Clang، فيجب عليك أيضًا استخدام LLD، حيث أن معظم المطهرات في Clang تتطلب LTO لتعمل بشكل صحيح، وClang في وضع LTO يصدر كود بت LLVM، وليس رمز الجهاز. يعتبر الرابط مسؤولاً في النهاية عن تنفيذ معظم عمليات الرفع الثقيل LTO، وترجمة النتيجة إلى رمز الآلة، ومعظم الروابط الأخرى لا تعرف كيفية القيام بذلك.
لاستخدام معقمات المترجم مع دول مجلس التعاون الخليجي (مدعومة):
$ ./configure --disable-heap-allocator --disable-linker-defs
--enable-compiler-sanitizers CC="gcc"
لاستخدام معقمات المترجم مع Clang (موصى به):
$ ./configure --disable-heap-allocator --disable-linker-defs
--enable-compiler-sanitizers CC="clang" LDFLAGS="-fuse-ld=lld"
إذا قمت بتمكين المطهرات، فمن المستحسن تمكين خيار التكوين general::db_save_blocking
; راجع ملف التكوين المثال لمزيد من التفاصيل.
لا يُنصح باستخدام المطهرات في الإنتاج، ولكن يوصى بها للمطورين، بما في ذلك الجهات الخارجية التي تكتب ميزات جديدة و/أو تعدل كود المصدر.
إذا كنت لا تزال ضائعًا، فاقرأ ملف التثبيت أو قم بمراجعة wiki الخاص بنا للحصول على مزيد من التلميحات.