Scroll to navigation

MAKEPKG.CONF(5) دليل Pacman MAKEPKG.CONF(5)

الاسم

makepkg.conf - ملف تهيئة makepkg

موجز

/etc/makepkg.conf, $XDG_CONFIG_HOME/pacman/makepkg.conf, ~/.makepkg.conf

الوصف

خيارات التهيئة لـ makepkg تُخزَّن في makepkg.conf. هذا الملف يُستدعى (sourced) لتتمكن من تضمين أي أعلام مترجم خاصة ترغب في استخدامها. هذا مفيد عند البناء لبنى معمارية مختلفة أو مع تحسينات مختلفة. ومع ذلك، فقط المتغيرات الموصوفة أدناه تُصدَّر إلى بيئة البناء.


ملاحظة

هذا لا يضمن أن جميع ملفات Makefile للحزم ستستخدم متغيراتك المُصدَّرة. بعضها غير قياسي.

ملف التهيئة على مستوى النظام يوجد في /etc/makepkg.conf. الإضافات المحددة (مثل أعلام البناء للغات إضافية) يمكن وضعها في /etc/makepkg.conf.d/*.conf.

الخيارات الفردية يمكن تجاوزها (أو الإضافة إليها) على أساس كل مستخدم في $XDG_CONFIG_HOME/pacman/makepkg.conf أو ~/.makepkg.conf، مع إعطاء الأولوية للأول.

الملف المبدئي مُعلَّق عليه بشكل جيد، لذا قد يكون من الأسهل ببساطة اتباع التوجيهات الواردة هناك للتخصيص.

الخيارات

DLAGENTS=('protocol::/path/to/command [options]' ...)

يُعيَّن وكلاء التحميل المستخدمين لجلب ملفات المصدر المحددة بعنوان URL في ملف PKGBUILD(5). الخيارات يمكن تحديدها لكل أمر أيضًا، وأي بروتوكول يمكن أن يكون له وكيل تحميل. أي مسافات في وسائط الخيارات يجب أن تُهرب (escape) لتجنب التقسيم. عدة أمثلة مُقدَّمة في makepkg.conf المبدئي.

إذا وُجد، %u سيُستبدل بعنوان URL للتحميل. وإلا، عنوان URL للتحميل سيُوضع في نهاية الأمر. إذا وُجد، %o سيُستبدل باسم الملف المحلي، بالإضافة إلى امتداد “.part”، مما يسمح لـ makepkg بمعالجة استئناف تحميلات الملفات.

VCSCLIENTS=('protocol::package' ...)

يُعيَّن الحزم المطلوبة لجلب ملفات المصدر المُتحكم في إصداراتها. عند الحاجة، makepkg سيتحقق من أن هذه الحزم مثبتة أو مُضمَّنة في مصفوفات depends أو makedepends في PKGBUILD.

CARCH="carch"

يُحدد بنية حاسوبك؛ القيم الممكنة تتضمن أشياء مثل “i686”, “x86_64”, “ppc”, إلخ. هذا يجب أن يُعيَّن آليًا عند التثبيت.

CHOST="chost"

سلسلة مثل “i686-pc-linux-gnu”؛ لا تلمس هذا إلا إذا كنت تعرف ما تفعله. هذا يمكن تعليقه (commented out) بواسطة معظم المستخدمين إذا رغبوا.

NPROC=""

يُعيَّن عدد المعالجات لاستخدامها للمهام المتوازية في makepkg. ملاحظة: هذا لا يؤثر على توازي المهام أثناء “build()“ والوظائف ذات الصلة.

CPPFLAGS="cppflags"

أعلام تُستخدم للمُعالج الأولي للغة C؛ انظر CFLAGS لمزيد من المعلومات.

CFLAGS="cflags"

أعلام تُستخدم لمترجم لغة C. هذا جزء أساسي في استخدام makepkg. عادةً عدة خيارات تُحدد، وأكثر سلسلة شيوعًا تشبه شيئًا مثل: “-march=i686 -O2 -pipe”. خيار مفيد آخر قد يكون -mcpu بدلاً من -march. اقرأ gcc(1) لمزيد من التفاصيل حول التنوع الواسع لأعلام المترجم المتاحة.

CXXFLAGS="cxxflags"

أعلام تُستخدم لمترجم لغة C++؛ انظر CFLAGS لمزيد من المعلومات.

LDFLAGS="ldflags"

أعلام تُستخدم للرابط (linker). عدة خيارات قد تُحدد مع استخدام شائع يشبه “-Wl,--hash-style=gnu”. اقرأ ld(1) لمزيد من التفاصيل حول أعلام الرابط المتاحة.

LTOFLAGS="ltoflags"

أعلام مترجم ورابط إضافية تُلحق بـ CFLAGS و CXXFLAGS و LDFLAGS عند البناء مع تحسين وقت الربط. إذا كانت فارغة، “-flto” يُستخدم.

MAKEFLAGS="makeflags"

هذا غالبًا يُستخدم لتعيين عدد المهام المستخدمة؛ على سبيل المثال، -j2. أعلام أخرى يقبلها make يمكن أيضًا تمريرها.

DEBUG_CFLAGS="debug_cflags"

أعلام مترجم إضافية تُلحق بـ CFLAGS للاستخدام في التصحيح. عادةً هذا سيتضمن: “-g”. اقرأ gcc(1) لمزيد من التفاصيل حول التنوع الواسع لأعلام المترجم المتاحة.

DEBUG_CXXFLAGS="debug_cxxflags"

أعلام تصحيح تُستخدم لمترجم لغة C++؛ انظر DEBUG_CFLAGS لمزيد من المعلومات.

BUILDENV=(!distcc !color !ccache check !sign)

تحتوي هذه المصفوفة على خيارات تؤثر على بيئة البناء؛ المبدئيات موضحة هنا. يجب دائمًا ترك جميع الخيارات في المصفوفة؛ لتفعيل أو تعطيل خيار، ببساطة قم بإزالة أو إضافة “!” في بداية الخيار. إذا تم تحديد خيار عدة مرات، فإن القيمة النهائية هي السائدة. يعمل كل خيار على النحو التالي:

distcc

استخدم المترجم الموزع C/C++/ObjC لتوزيع التجميع بين عدة أجهزة. إذا تم تفعيل هذا، يجب أيضًا تحديد DISTCC_HOSTS.

color

لوّن رسائل الإخراج، مما يجعل الإخراج أسهل للقراءة.

ccache

استخدم ccache لتخزين التجميع مؤقتًا بشكل مبدئي. يسمح هذا بتجميع أسرع إذا كنت تعيد تجميع نفس الحزم باستمرار. يمكن تعطيله للحزم الفردية بوضع !ccache في مصفوفة خيارات PKGBUILD.

check

شغّل دالة check() إذا كانت موجودة في PKGBUILD. يمكن تفعيل أو تعطيل هذا للحزم الفردية من خلال استخدام خياري makepkg’s --check و --nocheck، على التوالي.

sign

أنشئ ملف توقيع PGP باستخدام GnuPG. سينفذ هذا gpg --detach-sign على الحزمة المبنية لإنشاء ملف توقيع منفصل، باستخدام وكيل GPG، إذا كان متاحًا. سيكون ملف التوقيع هو اسم الملف الكامل للحزمة بامتداد “.sig”.

DISTCC_HOSTS="host1 ..."

إذا كنت تستخدم DistCC، يُستخدم هذا لتحديد قائمة مفصولة بمسافات من المضيفات العاملة في مجموعة DistCC. بالإضافة إلى ذلك، سترغب في تعديل MAKEFLAGS الخاصة بك.

دليل_البناء="/مسار/إلى/الدليل"

إذا لم يتم تعيين هذه القيمة، فسيتم بناء الحزم، بشكل مبدئي، في أدلة فرعية من الدليل الذي يُستدعى منه makepkg. يسمح هذا الخيار بتعيين موقع البناء إلى دليل آخر. قد يتسبب الاستخدام غير الصحيح لـ $startdir في PKGBUILD في فشل البناء بهذا الخيار.

GPGKEY=""

حدد مفتاحًا لاستخدامه في توقيع GPG بدلاً من المفتاح المبدئي في سلسلة المفاتيح. يمكن تجاوزه بخيار makepkg’s --key.

OPTIONS=(!strip docs libtool staticlibs emptydirs ...)

تحتوي هذه المصفوفة على خيارات تؤثر على التعبئة المبدئية. وهي مكافئة للخيارات التي يمكن وضعها في PKGBUILD؛ المبدئيات موضحة هنا. يجب دائمًا ترك جميع الخيارات في المصفوفة؛ لتفعيل أو تعطيل خيار، ببساطة قم بإزالة أو إضافة “!” في بداية الخيار. إذا تم تحديد خيار عدة مرات، فإن القيمة النهائية هي السائدة. يعمل كل خيار على النحو التالي:

strip

تجريد (Strip) الرموز من الملفات الثنائية والمكتبات. إذا كنت تستخدم مصحح أخطاء بشكل متكرر على البرامج أو المكتبات، فقد يكون من المفيد تعطيل هذا الخيار.

docs

احفظ أدلة المستندات. إذا كنت ترغب في حذف أدلة المستندات، حدد !docs في المصفوفة. الأدلة المتأثرة محددة بواسطة متغير DOC_DIRS.

libtool

تُترك ملفات libtool (.la) في الحزم. حدد !libtool لإزالتها.

staticlibs

اترك ملفات المكتبات الثابتة (.a) في الحزم. حدد !staticlibs لإزالتها، إذا كان لها نظير مشترك.

emptydirs

تُترك الأدلة الفارغة في الحزم.

zipman

اضغط صفحات الدليل (man و info) باستخدام gzip. الأدلة المتأثرة محددة بواسطة متغير MAN_DIRS.

purge

أزل الملفات المحددة بواسطة متغير PURGE_TARGETS من الحزمة.

debug

أضف أعلام التصحيح المحددة من قبل المستخدم كما هو محدد في DEBUG_CFLAGS و DEBUG_CXXFLAGS إلى أعلام البناء المقابلة لها. ينشئ حزمة منفصلة تحتوي على رموز التصحيح عند استخدامها مع ‘strip’.

lto

فعّل بناء الحزم باستخدام تحسين وقت الربط. يضيف الأعلام المحددة في LTOFLAGS إلى CFLAGS و CXXFLAGS و LDFLAGS (أو “-flto” إذا كان LTOFLAGS فارغًا).

autodeps

فعّل الإضافة الآلية للمكتبات إلى مصفوفات depends و provides. أدلة البحث عن المكتبات يتم التحكم بها بواسطة متغير LIB_DIRS المحدد أدناه.

INTEGRITY_CHECK=(check1 ...)

فحوصات سلامة الملفات لاستخدامها. يمكن تحديد فحوصات متعددة؛ هذا يؤثر على كل من التوليد والفحص. الخيارات الصالحة الحالية هي: ck, md5, sha1, sha224, sha256, sha384, sha512, و b2.

STRIP_BINARIES="--strip-all"

خيارات لاستخدامها عند تجريد الثنائيات. انظر strip(1) للتفاصيل.

STRIP_SHARED="--strip-unneeded"

خيارات تُستخدم عند تجريد المكتبات المشتركة أو الملفات التنفيذية PIE. انظر strip(1) للتفاصيل.

STRIP_STATIC="--strip-debug"

خيارات تُستخدم عند تجريد المكتبات الثابتة. انظر strip(1) للتفاصيل.

MAN_DIRS=(usr{,/local}{,/share}/{man,info} ...)

إذا حُدد zipman في مصفوفة OPTIONS، يُوجّه هذا المتغير makepkg أين يبحث لضغط صفحات الدليل (man و info). إذا بنيت حزمًا موجودة في opt/، قد تحتاج لإضافة الدليل إلى هذه المصفوفة. ملاحظة: لا تُضف الشرطة المائلة البادئة لاسم الدليل.

DOC_DIRS=(usr/{,share/}{doc,gtk-doc} ...)

إذا حُدد !docs في مصفوفة OPTIONS، يُوجّه هذا المتغير makepkg أين يبحث لإزالة المستندات. إذا بنيت حزمًا موجودة في opt/، قد تحتاج لإضافة الدليل إلى هذه المصفوفة. ملاحظة: لا تُضف الشرطة المائلة البادئة لاسم الدليل.

LIB_DIRS=(lib:usr/lib ...)

إذا حُدد autodeps في مصفوفة OPTIONS، يُوجّه هذا المتغير makepkg أين يبحث لإيجاد مكتبات لإضافتها إلى مصفوفة provides. التنسيق هو "بادئة:مسار"، حيث تُضاف provides للمكتبات الموجودة في "المسار" مع إضافة البادئة المحددة.

PURGE_TARGETS=(usr/{,share}/info/dir .podlist *.pod...)

إذا حُدد purge في مصفوفة OPTIONS، يُوجّه هذا المتغير makepkg أي الملفات تُزال من الحزمة. هذا مفيد لملفات الفهرس التي تُضاف بواسطة حزم متعددة.

DBGSRCDIR="/usr/src/debug"

إذا حُدد strip و debug في مصفوفة OPTIONS، يُوجّه هذا المتغير makepkg أين يضع ملفات المصدر للملفات الثنائية المثبتة. تُعدّل الملفات الثنائية لربط هذا الدليل لمسار بحث المصحح.

PKGDEST="/مسار/إلى/دليل"

إذا لم تُضبط هذه القيمة، تُوضع الحزم مبدئيًا في الدليل الحالي (موقع PKGBUILD(5)). يفضّل كثيرون الاحتفاظ بجميع حزمهم في مكان واحد، لذا يسمح هذا الخيار بهذا السلوك. موقع شائع هو “/home/packages”.

SRCDEST="/path/to/directory"

إذا لم تُضبط هذه القيمة، تُخزّن ملفات المصدر المُنزّلة فقط في الدليل الحالي. يفضّل كثيرون الاحتفاظ بجميع ملفات المصدر في موقع مركزي لسهولة التنظيف، لذا يمكن ضبط هذا المسار هنا.

SRCPKGDEST="/path/to/directory"

إذا لم تُضبط هذه القيمة، تُخزّن ملفات حزمة المصدر في الدليل الحالي. يفضّل كثيرون الاحتفاظ بجميع ملفات حزمة المصدر في موقع مركزي لسهولة التنظيف، لذا يمكن ضبط هذا المسار هنا.

LOGDEST="/مسار/إلى/دليل"

إذا لم تُضبط هذه القيمة، تُكتب ملفات السجل إلى الدليل الحالي. هذا يمركز موقع السجل، مما يُسهّل التنظيف والضغط.

PACKAGER="John Doe <john@example.com>"

تُستخدم هذه القيمة عند الاستعلام عن حزمة لمعرفة من كان الباني. التنسيق المُعطى مطلوب للبحث عن مفتاح PGP عبر WKD. يُوصى بتغيير هذا إلى اسمك وعنوان بريدك الإلكتروني.

COMPRESSGZ="(gzip -c -f -n)", COMPRESSBZ2="(bzip2 -c -f)", COMPRESSXZ="(xz -c -z -)", COMPRESSZST="(zstd -c -z -)", COMPRESSLZO"(lzop -q)", COMPRESSLRZ="(lrzip -q)", COMPRESSLZ4="(lz4 -q)", COMPRESSZ="(compress -c -f)", COMPRESSLZ="(lzip -c -f)"

يضبط الأمر والخيارات المُستخدمة عند ضغط الحزم المُجمّعة أو المصدر بالتنسيق المُسمى.

PKGEXT=".pkg.tar.gz"، SRCEXT=".src.tar.gz"

يضبط الضغط المُستخدم عند صنع الحزم المُجمّعة أو المصدر. اللواحق الصالحة هي .pkg أو .src (لـ PKGEXT و SRCEXT على التوالي) متبوعة بواحد من .tar.gz، .tar.bz2، .tar.xz، .tar.zst، .tar.lzo، .tar.lrz، .tar.lz4، .tar.lz و .tar.Z، أو ببساطة .tar لتعطيل الضغط كليًا.

PACMAN_AUTH=()

حدد بادئة أمر لتشغيل pacman كجذر. إذا لم تُضبط، يتحقق makepkg من وجود sudo(8) و su(1) بالتناوب، ويجرب أول ما يجده.

إذا وُجد، يُستبدل %c بالصيغة المُقتبسة في الصدفة للأمر المراد تشغيله. وإلا، يُلحق الأمر المراد تشغيله بأمر الاستيثاق.

انظر أيضًا

makepkg(8), pacman(8), PKGBUILD(5)

راجع موقع pacman الإلكتروني على https://archlinux.org/pacman/ للحصول على معلومات حديثة حول pacman والأدوات المرتبطة به.

العلل

علل؟ لا بد أنك تمزح؛ لا توجد علل في هذا البرنامج. ولكن إذا صدف وكنا مخطئين، فيُرجى الإبلاغ عنها في متتبع المشكلات في https://gitlab.archlinux.org/pacman/pacman/-/issues مع معلومات محددة مثل سطر الأوامر الخاص بك، وطبيعة العلة، وحتى قاعدة بيانات الحزمة إذا كان ذلك يساعد.

المؤلفون

المصينون الحاليون:

•آلان مكراي <allan@archlinux.org>

•أندرو غريغوري <andrew.gregory.8@gmail.com>

•Morgan Adamiec <morganamilo@archlinux.org>

المساهمون الرئيسون السابقون:

•Judd Vinet <jvinet@zeroflux.org>

•أوريليان فوريه <aurelien@archlinux.org>

•آرون غريفين <aaron@archlinux.org>

•دان ماكغي <dan@archlinux.org>

•Xavier Chantry <shiningxc@gmail.com>

•Nagy Gabor <ngaba@bibl.u-szeged.hu>

•ديف رايزنر <dreisner@archlinux.org>

•إيلي شوارتز <eschwartz@archlinux.org>

للمساهمين الإضافيين، استخدم git shortlog -s على مستودع pacman.git.

ترجمة

تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.

11-11-1111 Pacman 7.1.0