Arch User Repository (العربية) - ArchWiki

# Arch User Repository (العربية)

ملخص help replacing me
مستودع مستخدم آرتش The Arch User Repository عبارة عن مجموعة من ملفات PKGBUILD تم وضعها من قبل المستخدمين تزيد من توفر البرمجيات مع official repositories. هذه المقالة تشرح كيفية بناء حزم غير مدعومة من مستودع AUR.
نظرة عامة
في آرتش لينوكس يتم بناء الحزم باستخدام makepkg وسكربت بناء مخصص لكل حزمة (يُعرف بـ PKGBUILD). حالما يتم بناء الحزمة تستطيع تثبيت البرنامج وإدارته باستخدام مدير الحزم pacman. ملفات البناء PKGBUILDs للبرامج الموجودة في المستودعات الرسمية متوفرة عن طريق شجرة Arch Build System، وآلاف الملفات غيرها متوفرة في مستودع AUR.
مواضيع متصلة
AUR Helpers
AurJson
AUR Trusted User Guidelines
مصادر
AUR Web Interface
AUR Mailing List

مستودع مستخدِم آرتش (AUR) هو عبارة عن مستودع يديره أعضاء مجتمع آرتش لينوكس يحتوي على ملفات بناء الحزم (PKGBUILDs) والتي تسمح لك ببناء الحزمة من المصدر باستخدام سكربت makepkg ومن ثم تثبيت هذه الحزمة عن طريق مدير الحزم pacman، تم إنشاء AUR لكي تنظم وتُشارك الحزم الصادرة من المجتمع، ولكي تساعد في الإسراع من ضم الحزم الشائعة إلى مستودع [community]، هذا المستند يشرح كيفية الوصول والاستفادة من AUR.

عدد لا بأس به من الحزم التي تتواجد في المستودعات الرسمية بدأت أولاً في مستودع AUR، حيث أن المستخدمين قادرين على مشاركة ما قاموا بتصميمه (PKGBUILD والملفات المتعلقة بها)، ويستطيع أعضاء مجتمع AUR التصويت مع أو ضد الحزم الموجودة في المستودع، وإذا أصبح لإحدى الحزم شعبية كافية فقد يتم إدخالها إلى مستودع [community] (الذي تستطيع الوصول إليه مباشرة عن طريق pacman أو abs).

## الشروع في العمل

يمكن للمستخدمين أن يقوموا بالبحث عن ملفات بناء الحزم (PKGBUILDs) وتحميلها من AUR Web Interface، هذه الملفات يمكن بناؤها باستخدام السكربت makepkg لتصبح حزم قابلة للتثبيت، ومن ثم يستطيعون تثبيتها عن طريق مدير الحزم pacman.

- تأكد من أن حزمة مجموعة base-devel مثبتة لديك (`pacman -S base-devel`).
- إقرأ بقية المقال لمزيد من المعلومات حول تثبيت حزم AUR.
- قم بزيارة موقع AUR Web Interface لكي تطلع على الأخبار والتحديثات، ستجد أيضاً في الموقع قائمة متجددة بأحدث الحزم المتوفرة في AUR، بالإضافة إلى إحصائيات عن المستودع والحزم.
- قم بإلقاء نظرة على #FAQ للاطلاع على أجوبة لأكثر الأسئلة شيوعاً.
- قد ترغب في ضبط `/etc/makepkg.conf` لأفضل تحسين ممكن لأداء المعالج قبل أن تقوم ببناء الحزم من AUR، حيث أن ضبط متغير `/etc/makepkg.conf` سيحسن كثيراً من وقت التجميع compile times في الأنظمة العاملة بمعالجات متعددة الأنوية، قد ترغب أيضاً في تفعيل تحسينات خاصة للعتاد الصلب hardware في GCC بواسطة المتغير CFLAGS، قم بالاطلاع على makepkg.conf لمزيد من المعلومات.

## نشأة AUR

الأسطر التالية كُتبت لأغراض تاريخية فقط، وقد تم إبطال محتواها من قبل AUR.

في البداية كان هناك مُخدِّم `ftp://ftp.archlinux.org/incoming` وكان المستخدمون يساهمون عن طريق رفع ملفات بناء الحزم PKGBUILD والملفات الإضافية الضرورية والحزمة المبنية نفسها إلى المُخدم، تبقى الحزمة والملفات المتعلقة بها على المُخدم إلى أن يلاحظها أحد المشرفين Package Maintainer ويقوم باعتمادها.

ثم ولدت مستودعات المستخدم الموثوق Trusted User Repositories، تم السماح لأفراد معينين في المجتمع بإستضافة مستودعاتهم الخاصة لكي يستخدمها أي شخص، توسعت AUR على هذا الأساس مع هدف أن تجعل نفسها أكثر مرونة وأكثر قابلية للاستعمال، وإلى الآن يتم الرجوع إلى المشرفين AUR maintainers على أنهم مستخدمين موثوقين (Trusted Users).

## البحث

يمكنك الذهاب إلى صفحة مستودع AUR على الإنترنت من هنا، وللحصول على واجهة مناسبة للوصول إلى مستودع AUR عن طريق سكربت مثلاً قم بالدخول إلى هنا.

الاستفهامات Queries تقوم بالبحث عن اسم ووصف الحزمة باستعمال مقارنة تشابه طريقة MySQL، هذا الأمر يسمح بمعايير بحث أكثر مرونة (على سبيل المثال: جرب البحث عن tool%like%grep بدلاً من tool like grep)، إذا كنت تريد البحث عن وصف يحوي على الرمز "%" قم بالتخلص منه عن طريق "\%".

## تثبيت الحزم

تثبيت الحزم من مستودع AUR أمر سهل نسبياً وخاصةً:

1. إذا قمت بالحصول على ملف Tarball الذي يحتوي على ملفات بناء الحزم PKGBUILD وربما الملفات المطلوبة الأخرى مثل systemd-units والباتشات (لكن غالباً لا يحتوي على الكود الأصلي).
2. قم باستخراج محتويات ملف Tarball (يفضل أن يكون في مجلد خاص فقط لبناء الحزم من AUR) عن طريق `tar -xzf foo.tar.gz`
3. نفذ الأمر `makepkg` داخل المجلد الذي قمت بحفظ الملفات به (استخدام `makepkg -s` سيقوم بحل الاعتماديات تلقائياً مع pacman)، هذا الأمر سيقوم بتحميل الكود المصدري وتجميعه وتحزيمه.
4. ابحث عن ملف README في المجلد `src/` فقد يحتوي على معلومات قد تحتاجها فيما بعد.
5. قم بتثبيت الحزمة الناتجة عن طريق pacman:

      # pacman -U /path/to/pkg.tar.xz

اﻷدوات المساعدة AUR helpers تُقدم وصولاً سلساً إلى مستودع AUR، صحيح أن هذه الأدوات تختلف فيما بينها في ميزاتها لكن جميع هذه الأدوات تُسهل من عمليات البحث والتحميل والبناء والتثبيت لملفات بناء الحزم PKGBUILD الموجودة في AUR، تستطيع إيجاد جميع هذه الأدوات في مستودع AUR.

ملاحظة: ليس هناك ولن يكون في المستقبل أي آلية أو طريقة رسمية لتثبيت لوازم بناء الحزم من مستودع AUR، يجب على جميع مستخدمي مستودع AUR أن يكونوا على دراية بعملية بناء الحزم.

السطور التالية عبارة عن مثال مُفصَّل لتثبيت حزمة تُدعى "foo".

### المتطلبات الأساسية

في البداية قم بالتأكد من أن جميع الأدوات اللازمة مثبتة لديك، يكفي أن تثبت مجموعة base-devel فهي تحتوي على أداة make والأدوات الأخرى اللازمة للبناء من المصدر.

تحذير: تفترض حزم مستودع AUR أن مجموعة base-devel مثبتة لديك مسبقاً، ضع في اعتبارك أن هذه الحزم لن تقوم بوضع أي عنصر في المجموعة السابقة ضمن الاعتماديات المطلوبة حتى لو كان من غير الممكن بناء الحزمة بدون هذا العنصر، الرجاء التأكد من أن هذه المجموعة مثبتة لديك قبل أن تشتكي من عمليات البناء الفاشلة.

لتثبيت base-devel:

    # pacman -S base-devel

الآن قم باختيار مجلد لوضع الحزم التي ستُبنى فيه، تستطيع تحديد المجلد الذي يناسبك، ومن المجلدات الشائعة:

    ~/builds

وإذا كنت تستخدم ABS (نظام البناء الخاص بآرتش Arch Build System):

    /var/abs/local

لمزيد من المعلومات حول ABS قم بالاطلاع على مقال Arch Build System، سنقوم في مثالنا هذا باختيار مجلد `~/builds` كمجلد للبناء.

### الحصول على ملفات البناء

حدد الحزمة المطلوبة في مستودع AUR، وذلك عن طريق حقل البحث الموجود في أعلى صفحة AUR home page، الضغط على اسم الحزمة (أو التطبيق) سينقلك إلى صفحة تحتوي معلومات عن هذه الحزمة، إقرأ ما كُتب عن الحزمة لتتأكد من أنها الحزمة المطلوبة، كما لاحظ تاريخ التحديث الأخير للحزمة وقم بالاطلاع على التعليقات المكتوبة في الصفحة.

قم بتحميل الملفات اللازمة عن طريق الضغط على رابط Download tarball المتواجد تحت Package actions على الجانب الأيمن من الصفحة، الملف المُحمل يجب وضعه في المجلد الذي تم تخصيصه للبناء، في مثالنا هذا اسم الملف هو "foo.tar.gz" (الصيغة المعيارية للتسمية هي pkgname.tar.gz).

يمكنك أن تُحمّل ملف tarball من الطرفية بدلاً من الدخول إلى الموقع والتحميل منه وذلك عن طريق الأمر التالي، (السطر الأول للتوجه إلى مجلد البناء):

    $ cd ~/builds
    $ curl https://aur.archlinux.org/packages/fo/foo/foo.tar.gz

### بناء الحزمة

استخرج محتويات ملف tarball عن طريق:

    $ cd ~/builds
    $ tar -xvzf foo.tar.gz

الأوامر السابقة ستقوم بإنشاء مجلد جديد يُدعى "foo" داخل مجلد البناء.

تحذير: قم بتفحص جميع الملفات بعناية، اذهب إلى المجلد الجديد باستخدام الأمر `cd` وقم بتفحص ملفات البناء `PKGBUILD` وكل ملفات `.install` من أجل أي أوامر خبيثة، `PKGBUILD` عبارة عن سكربت باش bash يحتوي على دوال يتم تنفيذها عند استخدام `makepkg`، هذه الدوال قد تحتوي على أي أوامر صالحة أو تراكيب باش bash، وبالتالي فإنه من الممكن جداً على ملفات البناء `PKGBUILD` أن تحوي أوامر خطرة قد تكون وضعت بشكل مقصود أو قد تكون بسبب جهل المبرمج بها، وبما أن `makepkg` يستعمل ما يسمى بالجذر المزيف fakeroot (يجب عدم تنفيذ makepkg بصلاحيات الجذر أبداً) فهناك مستوى معين من الحماية ولكن لا يجب الاعتماد على هذه الحماية أبداً، إذا كنت متردداً فلا تقم ببناء الحزمة واطلب المشورة في المنتديات والقوائم البريدية.

    $ cd foo
    $ nano PKGBUILD
    $ nano foo.install

بعد أن تقوم بالتأكد من سلامة جميع الملفات نفذ makepkg بصلاحيات المستخدم العادي داخل مجلد البناء:

    $ makepkg -s

الخيار `-s` سيقوم باستخدام الأمر sudo لتثبيت أي اعتماديات ضرورية، إذا كنت لا ترغب بهذا الخيار فقم بتثبيت الاعتماديات يدوياً ولا تنسى إزالة `-s` من الأمر السابق.

### تثبيت الحزمة

من المفروض أنه تم إنشاء ملف tarball يدعى:

    <application name>-<application version number>-<package revision number>-<architecture>.pkg.tar.xz

ثبت الحزمة عن طريق pacman باستخدام خيار الترقية -U:

    # pacman -U foo-0.1-1-i686.pkg.tar.xz

هذه الحزم التي يتم تثبيتها يدوياً تدعى الحزم الخارجية foreign packages (هي الحزم التي لم يتم الحصول عليها من المستودعات المعروفة لمدير الحزم pacman)، لعرض جميع الحزم الخارجية:

    $ pacman -Qm

ملاحظة: المثال السابق عبارة عن ملخص لعملية بناء الحزم، يٌنصح بزيارة صفحات makepkg و ABS للاطلاع على المزيد من التفاصيل خاصة للمستخدمين الجدد.

## ردود الأفعال (التغذية الراجعة)

يقدم موقع AUR Web Interface خيار ترك تعليق من قبل المستخدمين وبالتالي يتمكن المستخدمون من كتابة نصائحهم وآرائهم feedback لتحسين الحزم، تجنب وضع باتشات أو ملفات PKGBUILD في قسم التعليق ﻷنه سيتم إهمالها، بدلاً من ذلك أرسل هذه الملفات إلى المشرف maintainer أو قم باستخدام pastebin.

واحدة من أسهل نشاطات كل مستخدمي آرتش هي تصفح موقع AUR والتصويت لحزمهم المفضلة، يحق لأي حزمة أن يتم اعتمادها من المستخدمين الموثوقين (TU) لكي تنضم إلى مستودع [community]، وعدد الأصوات من الأمور التي يتم أخذها بعين الاعتبار عند اعتماد حزمة ما.

## مشاركة ومتابعة الحزم

المستخدم يلعب دوراً أساسياً في AUR، حيث أن AUR لا يمكن أن تستمر بدون دعم ومشاركة ومساهمة مجتمع مستخدمي آرتش، فلو نظرنا إلى دورة حياة حزمة ما في AUR لوجدنا أنها تبدأ وتنتهي عند المستخدم.

يمكن للمستخدمين أن ينشروا ملفات بناء الحزم PKGBUILDs في مستودع AUR الذي لا يحتوي على أي حزم ثنائية binary ولكنه يسمح برفع ملفات PKGBUILDs ليتكمن مستخدمون آخرون من تحميلها، هذه الملفات PKGBUILDs ليست رسمية مطلقاً ولم يتم فحصها بدقة، وبالتالي فاستخدام هذه الملفات يتم على مسؤوليتك الشخصية.

## تقديم الحزم

بعد تسجيل الدخول إلى موقع AUR يمكن للمستخدم أن يقدم (يرفع) ملف gzipped tarball (`.tar.gz`) بداخله مجلد يحوي ملفات بناء الحزمة، يمكن للمجلد أن يحتوي على ملفات بناء PKGBUILD أو ملفات `.install` أو باتشات أو غيرها (لا يجب أن يحوي المجلد حزم ثنائية أبداً)، لكي تتطلع على أمثلة عن المحتويات التي يمكن أن تكون في المجلد قم بالدخول إلى مجلد `/var/abs` إذا كنت مثبتاً لـ Arch Build System،

يمكن إنشاء ملف tarball عن طريق الأمر التالي:

    $ makepkg --source

لاحظ أن هذا الملف بصيغة gzipped tarball. على افتراض أنك تقوم برفع حزمة تدعى libfoo فإن محتويات ملف tarball بعد إنشائه يجب أن تكون على الشكل التالي:

    $ tar tf libfoo-0.1-1.src.tar.gz

    libfoo/
    libfoo/PKGBUILD
    libfoo/libfoo.install

عندما تقوم بتقديم حزمة يجب عليك مراعاة القواعد التالية:

- ابحث عن الحزمة في قاعدة بيانات الحزم الرسمية official package database، إذا وجدت أي نسخة منها فلا تقم بتقديم الحزمة، إذا كانت الحزمة الرسمية منتهية الصلاحية فقم بوضع علامة عليها، إذا كانت الحزمة الرسمية تالفة أو تفتقد إلى ميزة ما فقم بالتبليغ إلى bug report.
- ابحث عن الحزمة في مستودع AUR فإذا كانت موجودة تستطيع ترك تعليق للمشرف حول تغييراتك وتطويراتك للحزمة، أما إذا كانت غير موجودة فيمكن اعتمادها وتحديثها كما هو مطلوب، لا تقم بإنشاء حزم مكررة.
- تحقق بدقة من أن الحزمة التي تقوم برفعها صحيحة، يجب على جميع المساهمين أن يقرؤوا ويلتزموا بمعايير تحزيم آرتش Arch packaging standards عند كتابة ملفات بناء الحزم PKGBUILDs، هذا الشيء أساسي للعمل السلس والنجاح العام لمستودع AUR، تذكر أنك لن تحصل على أية نقود أو أي احترام من قبل أندادك بتضييع وقتهم بحزمة تالفة.
- الحزم التي تحوي ثنائيات binaries أو التي كُتبت بشكل سيء قد تُحذف بدون أي تحذير.
- إذا كنت غير متأكد من حزمتك (أو عملية البناء أو التسليم) بأي شكل من الأشكال، قم بتقديم الحزمة إلى AUR Mailing List أو AUR boards في المنتدى لكي تُعرض على الجميع قبل إضافتها إلى مستودع AUR.
- تأكد من أن الحزمة مفيدة، واسأل نفسك هل يوجد شخص آخر سيرغب في استخدام هذه الحزمة؟ هل هي متخصصة للغاية؟ إذا كان عدد الأشخاص الذين قد يجدون هذه الحزمة مفيدة لا بأس به فقم بتقديم هذه الحزمة.
- مستودع AUR والمستودعات الرسمية أعدت للحزم التي تقوم بتثبيت برمجيات أو محتويات برمجية، بما فيها: الملفات التنفيذية executable، ملفات التكوين config files، وثائق على الإنترنت online أو بدون إنترنت offline لبرمجيات محددة أو لتوزيعة آرتش لينوكس ككل، وسائط أُعدت لكي تُستخدم مباشرة من قبل البرمجيات.
- اكتسب بعض الخبرات أو التجارب قبل تقديم الحزم، قم ببناء بعض الحزم لكي تتعلم عملية البناء ومن ثم قم بالتقديم.
- إذا قمت بتقديم ملف `package.tar.gz` وداخله ملف اسمه '`package`' فستحصل على خطأ 'Could not change to directory `/home/aur/unsupported/package/package`'، لحل هذا المشكلة قم بتغيير اسم الملف '`package`' إلى أي اسم آخر، مثلاً '`package.rc`'، وعندما يتم تثبيته في مجلد `pkg` يمكنك إعادة تسميته إلى '`package`'، قم بالاطلاع على معايير التحزيم في آرتش Arch packaging standards#Submitting packages to the AUR.

### الإشراف على الحزم

- إذا كنت تشرف على حزمة ما وأردت أن تُحدِّث ملفات البناء PKGBUILD الخاصة بالحزمة قم فقط بإعادة تقديمها resubmit.
- قم بالاطلاع على آراء وتعليقات المستخدمين الآخرين حول حزمتك وحاول أن تضيف التحسينات التي يقترحونها، اعتبرها عملية تعلم!
- الرجاء عدم تقديم حزمة ونسيانها فيما بعد، إنه عملك بالإشراف على الحزمة وتحديثها وتطوير ملفات PKGBUILD الخاصة بها.
- إذا لم تعد ترغب بالإشراف على الحزمة لسبب ما، قم بعملية إلغاء ملكية `disown` للحزمة باستخدام موقع AUR و/أو أرسل رسالة إلى القائمة البريدية الخاصة بـ AUR.

### طلبات أخرى

- تذهب طلبات إلغاء الملكية و طلبات الإزالة إلى قائمة AUR البريدية العامة للمستخدمين الموثوقين والأعضاء الآخرين لكي يتم البت فيها.
- قم بتضمين اسم الحزمة ورابط URL إلى صفحة AUR، يفضل أن يكون بحاشية [1].
- سيتم الموافقة على طلبات إلغاء الملكية في حال مضي أسبوعين على التواصل مع المشرف ولم يستجب.
- دمج الحزم أصبح ممكناً، وما زال على المستخدمين أن يقوموا بإعادة تقديم الحزم بأسماء جديدة وقد يطلبون دمج التعليقات والتصويتات على النسخ القديمة في القائمة البريدية.
- طلبات الإزالة تحتاج إلى المعلومات التالية:
  - اسم الحزمة ورابط URL إلى صفحتها على AUR.
  - سبب طلب الإزالة، على الأقل رسالة موجزة.
    ملاحظة: التعليقات قد لا تشير بشكل كاف إلى سبب وضع الحزمة على قائمة الحذف، ﻷنه وحالما يتخذ المستخدمون الموثوقون TU قرار الحذف يكون المكان الوحيد للحصول على تلك المعلومات هو القائمة البريدية العامة لمستودع AUR.
  - قم بتضمين تفاصيل مساعدة، مثلاً متى تم توفير الحزمة من قبل حزمة أخرى، أو إذا ما كنت المشرف بنفسك، أو إذا أعيد تسمية الحزمة بموافقة صاحبها الأصلي ...إلخ.

قد يتم رفض طلبات الإزالة، في هذه الحالة سيتم تقديم نصيحة لك بإلغاء ملكية الحزمة لكي تكون هذه الحزمة مصدراً للمحزمين مستقبلاً.

## مستودع [community]

يتم الإشراف على هذا المستودع من قبل الأعضاء الموثوقين Trusted Users، ويحتوي على أكثر الحزم شعبية في AUR، وهو مفعل تلقائياً ضمن الملف `/etc/pacman.conf`، إذا تم منعه أو حذفه من الملف السابق يمكنك إعادة تفعيله أو إضافته عن طريق إضافة الأسطر التالية إلى الملف السابق (إذا كانت هذه الأسطر موجودة ولكن يسبقها علامة # قم بإزالة هذه العلامة من بداية الأسطر):

    /etc/pacman.conf

    ...
    [community]
    Include = /etc/pacman.d/mirrorlist
    ...

هذا المستودع وعلى خلاف مستودع AUR يحتوي على حزم ثنائية يمكن تثبيتها مباشرة عن طريق مدير الحزم pacman، كما يمكن الحصول على ملفات البناء عن طريق ABS، في بعض الحالات يرى المطورون أن بعض هذه الحزم مهمة للتوزيعة عندها يقومون بنقلها من مستودع [community] إلى مستودعات [core] أو [extra].

يمكن للمستخدمين الوصول أيضاً إلى ملفات البناء في مستودع [community] عن طريق تفعيل مستودع [community] الموجود في مجموعة `REPOS` داخل الملف `/etc/abs.conf`.

## Git Repo

يتم الإشراف على بوابة المستودع Git Repo من قبل Thomas Dziedzic وهي تقدم تاريخ الحزم بالإضافة إلى أشياء أخرى، ويتم تحديثها على الأقل مرة واحدة في اليوم.

لكي تنسخ المستودع (حجمه بمئات الميجابايت):

    $ git clone git://pkgbuild.com/aur-mirror.git

لمزيد من المعلومات: Web interface, forum thread.

## الأسئلة المتكررة

### ما هو الـ AUR؟

AUR (Arch User Repository) هو عبارة عن مكان يقوم مستخدمو آرتش برفع ملفات بناء الحزم PKGBUILD للتطبيقات والمكتبات ..إلخ إليه ومن ثم مشاركتها بين المجتمع ككل، عندها يستطيع باقي المستخدمين التصويت لتطبيقاتهم المفضلة لكي يتم نقلها إلى مستودع [community] حتى تتوفر هذه التطبيقات بصيغة ثنائية لجميع مستخدمي آرتش.

### ماهي الحزم المسموح برفعها إلى AUR؟

الحزم الموجودة في AUR هي مجرد سكربتات بناء build scripts، أو توصيفات و طرق إجراء لبناء الحزم الثنائية من أجل pacman، في أغلب الحالات فإن كل شيء مسموح طالما أنه خاضع للمبادئ المذكورة أعلاه، وطالما أنك ممتثل إلى شروط الترخيص الخاصة بالمحتوى، في الحالات الأخرى عندما يُذكر أنه قد لا تستطيع الوصول إلى التحميلات "you may not link" to downloads أي المحتويات غير القابلة لإعادة التوزيع فإنك تستطيع فقط استخدام اسم الملف كمصدر، هذا يعني ويتطلب أن يكون الأعضاء ممتلكين للمصادر المحدودة في مجلد البناء قبل بناء الحزمة، في حالة الارتياب أو الشك قم بالسؤال.

### كيف يمكنني أن أصوت لحزمة ما في AUR؟

قم بالتسجيل في موقع AUR website لكي تحصل على خيار (صوّت لهذه الحزمة Vote for this package) أثناء تصفحك للحزم.

### ما هو الـ TU؟

المستخدم الموثوق TU (Trusted User) هو شخص تم اختياره لكي يقوم بالإشراف على مستودعي AUR و [community] ، المستخدمون الموثوقون هم الذين يحافظون ويتابعون ملفات بناء الحزم PKGBUILDs ذات الشعبية في مستودع [community] وقبل كل شيء يحافظون على استمرارية وعمل مستودع AUR.

### ما هو الفرق بين مستودع AUR ومستودع [community]؟

مستودع AUR هو المستودع الذي يتم فيه تخزين جميع ملفات بناء الحزم PKGBUILDs التي رفعها الأعضاء والتي يجب بناؤها يدوياً عن طريق الأمر makepkg، وعندما تحصل هذه الملفات على تقييم واهتمام المجتمع ودعم من قبل مستخدم موثوق TU أو أكثر وقتها يتم نقل هذه الحزم إلى مستودع [community] (الذي يشرف عليه المستخدمون الموثوقون TU) والذي يتم تثبيت الحزم الثنائية binary packages منه باستخدام مدير الحزم pacman.

### كم صوتاً تحتاج ملفات بناء حزمة ما لكي تُنقل إلى مستودع [community]؟

عادة يجب توفر عشرة أصوات لكي تُنقل الحزمة إلى مستودع [community]، أما إذا أراد أحد الأعضاء الموثوقين TU أن يدعم إحدى الحزم فيستطيع نقلها مباشرة إلى [community].

### كيف يمكنني أن أنشئ ملفات بناء حزمة PKGBUILD؟

أفضل مصدر لهذا الأمر هو Creating packages، ولا تنسى أن تلقي نظرة على الحزم في AUR قبل الشروع بإنشاء ملفات بناء PKGBUILD حتى لا تتكرر المحاولات أو الحزم.

### أقوم بتنفيذ "pacman -S foo" ولكن لا يتم تثبيت الحزمة مع أنني أعلم أنها موجودة في مستودع [community]؟

أنت على الأرجح لم تُفعّل مستودع [community] في ملف `/etc/pacman.conf`، قم بتفعيله عن طريق إزالة تعليق (علامة # التي تسبق السطر) الأسطر التي تخص مستودع [community]، أما إذا كان المستودع مفعلاً فقم بتنفيذ الأمر `pacman -Syu` لكي تُزامن معلومات الحزم ولكي تحدث النظام قبل أن تقوم بتثبيت foo مرة أخرى.

### حزمة foo في مستودع AUR لم تعد مدعومة، ماذا أفعل؟

للمبتدئين يمكنكم وضع الحزمة في قائمة انتهاء الدعم out-of-date، فإذا بقيت غير مدعومة لمدة طويلة من الزمن فأفضل شيء يمكن القيام به هو مراسلة المشرف، إذا لم تحصل على استجابة من المشرف بعد مرور أسبوعين قم بإرسال بريد إلكتروني إلى قائمة AUR البريدية العامة لكي يقوم عضو موثوق TU بجعل ملفات بناء الحزمة PKGBUILD "يتيمة" إذا كنت ترغب بالإشراف عليها بنفسك، عندما نتكلم عن حزمة لم تُدعم لمدة تتجاوز الثلاثة أشهر ولم يتم تحديثها منذ زمن بعيد فالرجاء أضافة هذه المعلومات في طلب orphan.

### لدي ملفات بناء حزمة PKGBUILD أرغب بتقديمها، هل يمكن ﻷحد أن يتفحصها لكي يتأكد من خلوها من الأخطاء؟

إذا كنت ترغب بوضع حزمتك في موضع النقد قم بإرسالها إلى قائمة AUR البريدية العامة لكي تتعرف على آراء وردود المستخدمين الموثوقين TU والأعضاء الزملاء في AUR، كما يمكنك الحصول على المساعدة من قناة آي آر سي IRC channel الخاصة بآرتش #archlinux على الرابط irc.freenode.net، كما يمكنك أيضاً استعمال namcap لفحص ملفات البناء والحزمة النهائية من الأخطاء.

### حزمة foo في AUR لا يتم بناؤها عند استخدام الأمر makepkg، ماذا يمكنني أن أفعل؟

أنت على الأرجح نسيت شيئاً بسيطاً.

1. نفذ `pacman -Syyu` قبل أن تبني أي شيء باستخدام `makepkg` فقد تكون المشكلة أن نظامك ليس على آخر تحديث.
2. تأكد من أن مجموعتي base و base-devel مثبتتان.
3. جرب استعمال خيار "`-s`" مع `makepkg` للتحقق من الاعتماديات الضرورية وتثبيتها قبل البدء بعملية البناء.

قم بالاطلاع على التعليقات على صفحة الحزمة على موقع AUR. قد يكون السبب ليس بسيطاً بعد كل هذا، فمتغيرات CFLAGS و LDFLAGS و MAKEFLAGS المخصصة قد تسبب أخطاء، ومن المحتمل أيضاً أن تكون ملفات بناء الحزمة تالفة، إذا لم تستطع اكتشاف المشكلة بنفسك قم بالتبليغ عنها إلى المشرف، وعند التبليغ عن الأخطاء فستحصل على التعليقات على صفحة AUR.

### كيف يمكنني أن أزيد من سرعة عملية البناء المتكررة؟

اذا كنت وبشكل متكرر تبني أكواد تستخدم حزم gcc - say أو git أو SVN فإنك ستجد هذا الرابط ccache (اختصار لـ compiler cache) مفيداً.

### كيف يمكنني الحصول على الحزم غير المدعومة؟

انظر إلى #Installing packages.

### كيف يمكنني الرفع إلى AUR بدون استخدام واجهة الويب (موقع AUR على الإنترنت)؟

يمكنك استخدام حزم burp أو aurploader (python3-aurAUR) أو aurupAUR ، فهي عبارة عن برامج تعمل في سطر الأوامر.

Categories:

- Arch User Repository (العربية)
- Package development (العربية)
- Package management (العربية)
- العربية