الخيارات¶
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
بالصيغة
المُقتبسة
في الصدفة
للأمر
المراد
تشغيله.
وإلا،
يُلحق
الأمر
المراد
تشغيله
بأمر
الاستيثاق.