سطح بالای
فایل
مانیفست،
ویژگیهای
سراسری
برنامه،
نحوه ساخت
آن و فهرست
ماژولهایی
را که باید
ساخته شوند
توصیف
میکند.
اینها
ویژگیهایی
هستند که
پذیرفته
میشوند:
id یا app-id
(رشته)
رشتهای
که شناسه
برنامه (application id)
را تعریف
میکند.
توجه
داشته
باشید که
«app-id» منسوخ
شده و فقط
برای
سازگاری با
نسخههای
پیشین حفظ
شده است.
branch (رشته)
شاخهای
که هنگام
خروجی
گرفتن (export) از
برنامه
استفاده
میشود. اگر
این گزینه
تنظیم
نشود،
مقدار
پیشفرض از
گزینه default-branch
گرفته
میشود.
این کلید
هم کلید default-branch و
هم گزینه خط
فرمان --default-branch را
رونویسی (override)
میکند. مگر
در مواردی
که به نام
شاخه بسیار
خاصی نیاز
دارید
(مانند یک
رانتایم
یا یک
افزونه)،
توصیه
میشود به
جای آن از
کلید default-branch
استفاده
کنید، زیرا
این کلید را
میتوان با
گزینه --default-branch
رونویسی
کرد.
default-branch (رشته)
شاخه
پیشفرضی
که هنگام
خروجی
گرفتن از
برنامه
استفاده
میشود.
مقدار
پیشفرض master
است.
این کلید
میتواند
با گزینه خط
فرمان --default-branch
رونویسی
شود.
collection-id (رشته)
شناسه
مجموعه (collection ID)
مخزن؛ به
طور
پیشفرض
تنظیم نشده
است. تنظیم
یک شناسه
مجموعه
یکتا در سطح
جهانی
امکان به
اشتراکگذاری
برنامههای
موجود در
مخزن را از
طریق
سیستمهای
همتا به
همتا (P2P) بدون
نیاز به
پیکربندی
بیشتر
فراهم
میکند. در
صورت ساخت
در یک مخزن
موجود،
شناسه
مجموعه
باید با
شناسه
مجموعه
پیکربندیشده
موجود برای
آن مخزن
مطابقت
داشته
باشد.
extension-tag (رشته)
اگر در
حال ساخت یک
افزونه
هستید،
برچسب
مربوط به
نقطه اتصال
افزونه (extension point)
برای
استفاده. از
نسخه ۰.۱۱.۴
فلتپک به
بعد، یک
رانتایم
ممکن است
چندین مکان
را برای یک
نقطه اتصال
افزونه با
این هدف
تعریف کند
که
شاخههای
مختلف
افزونه در
هر مکان
سوار (mount) شوند.
هنگام ساخت
یک افزونه،
دانستن
اینکه
افزونه
باید در
کدام نقطه
اتصال نصب
شود ضروری
است. این
گزینه
هرگونه
ابهام در
انتخاب
نقطه
افزونه را
برطرف
میکند. در
صورت عدم
تعیین،
انتخاب
پیشفرض
نصب در تنها
مکان مربوط
به آن نقطه
افزونه یا
در مکان
نقطه
افزونه
بدون برچسب
است. اگر
چندین مکان
برای یک
نقطه
افزونه با
برچسبهای
متفاوت
تعریف شده
باشد، خطا
رخ خواهد
داد.
token-type (عدد
صحیح)
نوع توکن
مورد نیاز
برای نصب
این کامیت.
تنظیم این
مقدار به
عددی
بزرگتر از ۰
به این
معناست که
برای نصب
این فلتپک
به احراز
هویت نیاز
خواهد بود.
runtime (رشته)
نام
رانتایمی
(runtime) که برنامه
استفاده
میکند.
runtime-version (رشته)
نسخه
رانتایمی
که برنامه
استفاده
میکند؛
مقدار
پیشفرض master
است.
sdk (رشته)
نام
رانتایم
توسعه (SDK) که
برنامه با
آن ساخته
میشود.
var (رشته)
مقداردهی
اولیه شاخه
قابل نوشتن /var
(که در حالت
عادی خالی
است) در
فرآیند
ساخت با
رونوشتی از
این
رانتایم.
metadata (رشته)
استفاده
از این فایل
به عنوان
فایل
فراداده
پایه هنگام
نهاییسازی
(finishing).
command (رشته)
نام فایل
یا مسیر
باینری
اصلی
برنامه.
توجه داشته
باشید که
این باید یک
فایل
اجرایی
واحد باشد،
نه یک خط
فرمان یا
مسیر مطلق.
اگر
میخواهید
آرگومانهایی
را ارسال
کنید، یک
اسکریپت
پوسته واسط
(wrapper) نصب کرده و
از آن به
عنوان
دستور
استفاده
کنید.
همچنین
توجه داشته
باشید که
این دستور
زمانی
استفاده
میشود که
برنامه از
طریق flatpak run
اجرا شود، و
بر آنچه
هنگام
اجرای
برنامه به
روشهای
دیگر،
مثلاً از
طریق فایل
دسکتاپ یا
فعالسازی
D-Bus اجرا
میشود،
تاثیری
ندارد.
build-runtime (بولی)
ساخت یک
رانتایم
جدید به جای
یک برنامه
کاربردی.
build-extension (بولی)
ساخت یک
افزونه (extension).
separate-locales (بولی)
تفکیک
فایلهای
محلی (locale) و
ترجمهها
به یک
رانتایم
افزونه
مجزا. مقدار
پیشفرض true
است.
id-platform (رشته)
هنگام
ساخت یک SDK
رانتایم،
همچنین یک
پلتفرم بر
پایه آن با
این شناسه
ایجاد شود.
metadata-platform (رشته)
فایل
فرادادهای
که برای
پلتفرم
ایجاد شده
استفاده
میشود.
writable-sdk (بولی)
اگر true
باشد، از یک
نسخه قابل
نوشتن از SDK
برای مسیر /usr
استفاده
میشود. در
صورت تعیین
build-runtime، مقدار
پیشفرض true
خواهد بود.
appstream-compose (بولی)
اجرای
دستور appstreamcli compose
در طول
مرحله
پاکسازی (cleanup).
مقدار
پیشفرض true
است.
sdk-extensions
(آرایهای
از
رشتهها)
نصب این
افزونههای
اضافی SDK در
مسیر /usr.
platform-extensions
(آرایهای
از
رشتهها)
نصب این
افزونههای
اضافی SDK
هنگام
ایجاد
پلتفرم.
base (رشته)
شروع
ساخت با
فایلهای
برنامه
مشخصشده.
این گزینه
میتواند
برای ایجاد
برنامههایی
استفاده
شود که
برنامه
دیگری را
گسترش
میدهند.
base-version (رشته)
استفاده
از این نسخه
خاص از
برنامه
مشخصشده
در base. در صورت
عدم تعیین،
از مقدار
مشخصشده
در branch
استفاده
میشود.
base-extensions
(آرایهای
از
رشتهها)
نصب این
افزونههای
اضافی از
برنامه
پایه هنگام
مقداردهی
اولیه پوشه
برنامه.
inherit-extensions
(آرایهای
از
رشتهها)
به ارث
بردن این
نقاط اتصال
افزونه
اضافی از
برنامه
پایه یا SDK
هنگام
نهاییسازی
ساخت.
inherit-sdk-extensions
(آرایهای
از
رشتهها)
به ارث
بردن این
نقاط اتصال
افزونه
اضافی از
برنامه
پایه یا SDK
هنگام
نهاییسازی
ساخت، بدون
به ارث بردن
آنها در
پلتفرم.
tags
(آرایهای
از
رشتهها)
افزودن
این
برچسبها
به فایل
فراداده.
build-options (شیء)
شیئی که
محیط ساخت
را مشخص
میکند.
برای
جزئیات به
بخشهای
زیر مراجعه
کنید.
modules
(آرایهای
از اشیاء یا
رشتهها)
آرایهای
از اشیاء که
ماژولهای
ساختهشونده
را به ترتیب
مشخص
میکنند.
اعضای
رشتهای در
آرایه به
عنوان نام
یک فایل json یا yaml
مجزا تفسیر
میشوند که
حاوی یک
ماژول است.
برای
جزئیات به
بخشهای
زیر مراجعه
کنید.
add-extensions
(اشیاء)
فرهنگلغتی
از اشیاء
افزونه.
کلید، نام
افزونه است.
برای
جزئیات به
بخشهای
زیر مراجعه
کنید.
add-build-extensions
(اشیاء)
فرهنگلغتی
از اشیاء
افزونه
مشابه add-extensions.
تفاوت اصلی
در این است
که
افزونهها
زودتر
اضافه
میشوند و
در طول
فرآیند
ساخت در
دسترس
هستند.
cleanup
(آرایهای
از
رشتهها)
آرایهای
از الگوهای
فایل که
باید در
پایان حذف
شوند.
الگوهایی
که با / شروع
میشوند به
عنوان نام
مسیرهای
کامل (بدون
پیشوند /app) در
نظر گرفته
میشوند،
در غیر این
صورت فقط با
نام پایه (basename)
تطبیق داده
میشوند.
cleanup-commands
(آرایهای
از
رشتهها)
آرایهای
از خطوط
فرمان که در
طول مرحله
پاکسازی
اجرا
میشوند.
cleanup-platform
(آرایهای
از
رشتهها)
فایلهای
اضافی برای
پاکسازی
در پلتفرم.
cleanup-platform-commands
(آرایهای
از
رشتهها)
آرایهای
از خطوط
فرمان که در
طول مرحله
پاکسازی
پلتفرم
اجرا
میشوند.
prepare-platform-commands
(آرایهای
از
رشتهها)
آرایهای
از خطوط
فرمان که پس
از وارد
کردن
پلتفرم
پایه اما
قبل از
اعمال
فایلهای
جدید از SDK
اجرا
میشوند.
این مکان
مناسبی
برای مثال
برای حذف
مواردی از
پایه است که
ممکن است با
فایلهای
اضافهشده
در SDK تداخل
داشته
باشند.
finish-args
(آرایهای
از
رشتهها)
آرایهای
از
آرگومانها
که به دستور
flatpak build-finish ارسال
میشوند.
rename-desktop-file (رشته)
هر فایل
دسکتاپ با
این نام در
طول مرحله
پاکسازی
به نامی بر
اساس شناسه (id)
تغییر نام
خواهد یافت.
بخش launchable فایل appdata
نیز در صورت
نیاز
بهروزرسانی
میشود.
rename-appdata-file (رشته)
هر فایل appdata
(metainfo) با این نام
در طول
مرحله
پاکسازی
به نامی بر
اساس شناسه
تغییر نام
خواهد یافت.
شناسه
موجود در
فایل و provides
متعاقب آن
در صورت
نیاز
بهروزرسانی
خواهد شد. (از
نسخه ۱.۴.۱)
rename-mime-file (رشته)
هر فایل
mimetypes با این نام
در طول
مرحله
پاکسازی
به نامی بر
اساس شناسه
تغییر نام
خواهد یافت.
(از نسخه
۱.۴.۰)
rename-icon (رشته)
هر آیکون
با این نام
در طول
مرحله
پاکسازی
به نامی بر
اساس شناسه
تغییر نام
خواهد یافت.
توجه داشته
باشید که
این نام
آیکون است
نه نام کامل
فایل،
بنابراین
نباید شامل
پسوند فایل
باشد.
rename-mime-icons
(آرایهای
از
رشتهها)
هر آیکون
mime با هر یک از
این نامها
در طول
مرحله
پاکسازی
به نامی با
پیشوند
شناسه
تغییر نام
خواهد یافت.
توجه داشته
باشید که
اینها
نامهای
آیکون
هستند نه
نامهای
کامل فایل،
بنابراین
نباید شامل
پسوند فایل
باشند. (از
نسخه ۱.۴.۰)
appdata-license (رشته)
جایگزینی
فیلد project_license در appdata
(metainfo) با این
رشته. این
گزینه مفید
است زیرا
مجوز
بالادستی
معمولاً
فقط مربوط
به خود
برنامه
است، در
حالی که
برنامه
بستهبندیشده
میتواند
شامل
مجوزهای
دیگر نیز
باشد.
copy-icon (بولی)
اگر rename-icon
تنظیم شده
باشد، یک
رونوشت از
فایل آیکون
قدیمی نگه
داشته
میشود.
desktop-file-name-prefix
(رشته)
این رشته
به عنوان
پیشوند به
کلید Name در
فایل
دسکتاپ
اصلی
برنامه
اضافه
میشود.
desktop-file-name-suffix
(رشته)
این رشته
به عنوان
پسوند به
کلید Name در
فایل
دسکتاپ
اصلی
برنامه
اضافه
میشود.
گزینههای
ساخت، محیط
ساخت یک
ماژول را
مشخص
میکنند و
میتوانند
هم به صورت
سراسری و هم
به ازای هر
ماژول
تعریف شوند.
همچنین
میتوان
گزینهها
را با
استفاده از
ویژگی arch به
ازای هر
معماری
سختافزاری
تعیین کرد.
اینها
ویژگیهایی
هستند که
پذیرفته
میشوند:
cflags (رشته)
این
مقدار در
طول ساخت در
متغیر
محیطی CFLAGS
تنظیم
میشود.
تعریفهای
متعدد از
این گزینه
(برای نمونه
در بخش
مربوط به هر
معماری) با
فاصله به
یکدیگر
متصل
میشوند.
cflags-override (بولی)
اگر true
باشد، قبل
از افزودن
مقادیر از
این
گزینهها،
مقادیر cflags از
گزینههای
ساخت قبلی
پاک
میشوند.
cppflags (رشته)
این
مقدار در
طول ساخت در
متغیر
محیطی CPPFLAGS
تنظیم
میشود.
تعریفهای
متعدد از
این گزینه
(برای نمونه
در بخش
مربوط به هر
معماری) با
فاصله به
یکدیگر
متصل
میشوند.
cppflags-override (بولی)
اگر true
باشد، قبل
از افزودن
مقادیر از
این
گزینهها،
مقادیر cppflags از
گزینههای
ساخت قبلی
پاک
میشوند.
cxxflags (رشته)
این
مقدار در
طول ساخت در
متغیر
محیطی CXXFLAGS
تنظیم
میشود.
تعریفهای
متعدد از
این گزینه
(برای نمونه
در بخش
مربوط به هر
معماری) با
فاصله به
یکدیگر
متصل
میشوند.
cxxflags-override (بولی)
اگر true
باشد، قبل
از افزودن
مقادیر از
این
گزینهها،
مقادیر cxxflags از
گزینههای
ساخت قبلی
پاک
میشوند.
ldflags (رشته)
این
مقدار در
طول ساخت در
متغیر
محیطی LDFLAGS
تنظیم
میشود.
تعریفهای
متعدد از
این گزینه
(برای نمونه
در بخش
مربوط به هر
معماری) با
فاصله به
یکدیگر
متصل
میشوند.
ldflags-override (بولی)
اگر true
باشد، قبل
از افزودن
مقادیر از
این
گزینهها،
مقادیر ldflags از
گزینههای
ساخت قبلی
پاک
میشوند.
prefix (رشته)
پیشوند
مسیر ساخت
برای
ماژولها
(به طور
پیشفرض
برای
برنامهها /app
و برای
رانتایمها
/usr است).
libdir (رشته)
پوشه
کتابخانهها
(libdir) برای
ماژولها
در هنگام
ساخت (به طور
پیشفرض
برای
برنامهها
/app/lib و برای
رانتایمها
/usr/lib است).
append-path (رشته)
این
مقدار در
محیط ساخت
به متغیر PATH
الحاق
میشود (در
صورت نیاز
با یک
دونقطه
ابتدایی).
prepend-path (رشته)
این
مقدار در
محیط ساخت
به ابتدای
متغیر PATH
اضافه
میشود (در
صورت نیاز
با یک
دونقطه
پایانی).
append-ld-library-path
(رشته)
این
مقدار در
محیط ساخت
به متغیر LD_LIBRARY_PATH
الحاق
میشود (در
صورت نیاز
با یک
دونقطه
ابتدایی).
prepend-ld-library-path
(رشته)
این
مقدار در
محیط ساخت
به ابتدای
متغیر LD_LIBRARY_PATH
اضافه
میشود (در
صورت نیاز
با یک
دونقطه
پایانی).
append-pkg-config-path
(رشته)
این
مقدار در
محیط ساخت
به متغیر PKG_CONFIG_PATH
الحاق
میشود (در
صورت نیاز
با یک
دونقطه
ابتدایی).
prepend-pkg-config-path
(رشته)
این
مقدار در
محیط ساخت
به ابتدای
متغیر PKG_CONFIG_PATH
اضافه
میشود (در
صورت نیاز
با یک
دونقطه
پایانی).
env (شیء)
فرهنگلغتی
که
متغیرهای
محیطی قابل
تنظیم در
طول ساخت را
تعریف
میکند.
عناصر
موجود در
این بخش بر
ویژگیهایی
که محیط را
تنظیم
میکنند
(مانند cflags و ldflags)
اولویت
دارند.
کلیدهایی
با مقدار
تهی (null) متغیر
مربوطه را
حذف
میکنند.
secret-env
(آرایهای
از
رشتهها)
آرایهای
که مشخص
میکند
کدام
متغیرهای
محیطی
سیستم
میزبان به
محیط build-commands یا post-install
منتقل
شوند.
build-args
(آرایهای
از
رشتهها)
آرایهای
شامل
گزینههای
اضافی برای
ارسال به flatpak build.
test-args
(آرایهای
از
رشتهها)
مشابه build-args
اما روی
آزمونها
اثر
میگذارد،
نه ساخت
عادی.
config-opts
(آرایهای
از
رشتهها)
آرایهای
شامل
گزینههای
اضافی
ارسالشده
به سیستم
ساخت در طول
پیکربندی.
secret-opts
(آرایهای
از
رشتهها)
آرایهای
از
گزینهها
که به
اسکریپت
پیکربندی (configure)
ارسال
میشوند.
این گزینه
برای
انتقال
اطلاعات
محرمانه از
طریق
متغیرهای
محیطی
میزبان در
نظر گرفته
شده است.
متغیرهای
محیطی
موجود در
گزینهها
بسط داده
میشوند:
'-DSECRET_ID=$CI_SECRET'
make-args
(آرایهای
از
رشتهها)
آرایهای
از
آرگومانهای
اضافی که به
دستور make
ارسال
خواهند شد.
make-install-args
(آرایهای
از
رشتهها)
آرایهای
از
آرگومانهای
اضافی که به
دستور make install
ارسال
خواهند شد.
strip (بولی)
اگر این
مقدار true باشد
(پیشفرض false
است)،
نمادهای
اشکالزدایی
از تمام
فایلهای ELF
پس از نصب
حذف
میشوند (strip).
no-debuginfo (بولی)
به طور
پیشفرض
(اگر strip برابر
با true نباشد)،
ابزار flatpak-builder
تمام
اطلاعات
اشکالزدایی
در
فایلهای ELF
را به
فایلهای
مجزا
استخراج
کرده و
آنها را در
یک افزونه
قرار
میدهد. اگر
میخواهید
این ویژگی
را غیرفعال
کنید، no-debuginfo را
روی true تنظیم
نمایید.
no-debuginfo-compression
(بولی)
به طور
پیشفرض
هنگام
استخراج debuginfo،
بخشهای
اشکالزدایی
فشردهسازی
میشوند.
اگر
میخواهید
این
فشردهسازی
را غیرفعال
کنید، no-debuginfo-compression
را روی true
تنظیم
کنید.
arch (شیء)
فرهنگلغتی
که یک شیء
گزینههای
ساخت مجزا
را برای هر
معماری
تعریف
میکند تا
گزینههای
اصلی ساخت
را رونویسی
نماید.
نقاط
اتصال
افزونه را
در برنامه
یا
رانتایم
تعریف
میکند که
میتوانند
توسط
افزونهها
پیادهسازی
شوند و
فایلهای
اضافی را که
در زمان
اجرا در
دسترس
هستند
ارائه
دهند.
اینها
ویژگیهایی
هستند که
پذیرفته
میشوند:
directory (رشته)
پوشهای
که افزونه
در آن سوار (mount)
میشود. اگر
نقطه
افزونه
برای یک
برنامه
کاربردی
باشد، این
مسیر نسبت
به /app سنجیده
میشود، در
غیر این
صورت نسبت
به /usr خواهد
بود.
bundle (بولی)
اگر true
باشد،
دادههای
ایجادشده
در پوشه
افزونه از
نتیجه
نهایی حذف
شده و در عوض
در یک
افزونه
جداگانه
بستهبندی
میشوند.
remove-after-build (بولی)
اگر true
باشد،
افزونه
هنگام
نهاییسازی
حذف میشود.
این ویژگی
فقط برای
افزونههای
موجود در
ویژگی add-build-extensions
کاربرد
دارد.
علاوه بر
این،
ویژگیهای
استاندارد
افزونه
فلتپک
پشتیبانی
شده و
مستقیماً
در فایل
فراداده
قرار
میگیرند:
autodelete, no-autodownload, subdirectories, add-ld-path, download-if,
enable-if, autoprune-unless, merge-dirs, subdirectory-suffix, locale-subset,
version, versions. برای
اطلاعات
بیشتر در
مورد این
موارد، به
مستندات
فراداده
فلتپک
مراجعه
کنید.
هر ماژول
یک منبع (source) را
مشخص
میکند که
باید به طور
جداگانه
ساخته و نصب
شود. ماژول
شامل
گزینههای
ساخت و
فهرستی از
منابع است
که قبل از
ساخت باید
دانلود و
استخراج
شوند.
ماژولها
میتوانند
به صورت
تودرتو
باشند تا
بتوان
ماژولهای
مرتبط را با
یک کلید
واحد روشن و
خاموش کرد.
حوزههای
ماژول
همیشه
ایزوله
هستند،
بنابراین
ماژولهای
تودرتو
ویژگیها
را از
ماژولهای
والد به ارث
نمیبرند.
اینها
ویژگیهایی
هستند که
پذیرفته
میشوند:
name (رشته)
نام
ماژول، که
برای نمونه
در
گزارشهای
ساخت
استفاده
میشود. این
نام همچنین
برای ساختن
نام
فایلها و
آرگومانهای
خط فرمان
استفاده
میشود،
بنابراین
استفاده از
فاصلهها
یا '/' در این
رشته ایده
نامناسبی
است.
disabled (بولی)
اگر true
باشد، این
ماژول
نادیده
گرفته
میشود.
sources
(آرایهای
از اشیاء یا
رشتهها)
آرایهای
از اشیاء که
منابعی را
تعریف
میکنند که
باید به
ترتیب
دانلود و
استخراج
شوند. اعضای
رشتهای در
آرایه به
عنوان نام
یک فایل json یا yaml
مجزا تفسیر
میشوند که
حاوی منابع
است. برای
جزئیات به
بخشهای
زیر مراجعه
کنید.
secret-env
(آرایهای
از
رشتهها)
آرایهای
که مشخص
میکند
کدام
متغیرهای
محیطی
سیستم
میزبان به
محیط build-commands یا post-install
منتقل
شوند.
config-opts
(آرایهای
از
رشتهها)
آرایهای
از
گزینهها
که به
اسکریپت
پیکربندی (configure)
ارسال
خواهند شد.
secret-opts
(آرایهای
از
رشتهها)
آرایهای
از
گزینهها
که به configure
ارسال
میشوند و
هدف از
آنها
انتقال
اطلاعات
محرمانه از
طریق
متغیرهای
محیطی
میزبان است.
گزینه را
همراه با یک
متغیر
محیطی قرار
دهید تا از
قبل
مقداردهی
شود: '-DSECRET_ID=$CI_SECRET'
make-args
(آرایهای
از
رشتهها)
آرایهای
از
آرگومانها
که به make
ارسال
خواهند شد.
make-install-args
(آرایهای
از
رشتهها)
آرایهای
از
آرگومانها
که به make install
ارسال
خواهند شد.
rm-configure (بولی)
اگر true
باشد،
اسکریپت configure
قبل از شروع
ساخت حذف
میشود. این
امر مستلزم
وجود
اسکریپت configure
در پوشه
منبع است.
no-autogen (بولی)
نادیده
گرفتن وجود
اسکریپت autogen.
no-parallel-make (بولی)
عدم
فراخوانی make
با
آرگومانهای
ساخت
موازی.
install-rule (رشته)
نام
قاعدهای
که برای
مرحله نصب
به make ارسال
میشود؛
پیشفرض install
است.
no-make-install (بولی)
عدم
اجرای
مرحله make install (یا
معادل آن).
no-python-timestamp-fix
(بولی)
عدم
اصلاح
برچسبهای
زمانی
سرایند *.py[oc]
برای
استفاده در
ostree.
cmake (بولی)
استفاده
از cmake به جای configure
(منسوخ شده:
به جای آن از
buildsystem استفاده
کنید).
buildsystem (رشته)
سیستم
ساخت مورد
استفاده: autotools, cmake,
cmake-ninja, meson, simple, qmake
builddir (بولی)
استفاده
از یک پوشه
ساخت مجزا
از پوشه
منبع.
subdir (رشته)
ساخت
درون این
زیرپوشه از
منابع
استخراجشده.
build-options (شیء)
یک شیء
گزینههای
ساخت که
میتواند
گزینههای
سراسری را
رونویسی
کند. توجه
داشته
باشید که
این ویژگی
توسط
ماژولهای
تودرتو به
ارث برده
نمیشود.
build-commands
(آرایهای
از
رشتهها)
آرایهای
از دستورات
برای اجرا
در طول
فرآیند
ساخت (بین make و make
install در صورت
استفاده از
آنها). این
گزینه
عمدتاً
هنگام
استفاده از
سیستم ساخت
«simple» کاربرد
دارد. هر
دستور در
محیط /
bin/sh -c اجرا
میشود،
بنابراین
میتواند
از نحو
استاندارد
پوسته POSIX
مانند
هدایت
لولهای
خروجی (piping)
استفاده
کند. اگر هر
ورودی
منفرد در
آرایه با
شکست مواجه
شود، کل
فرآیند
ساخت با
شکست روبرو
خواهد شد،
مشابه
دستورات
موجود در یک
دستورالعمل
make(1).
post-install
(آرایهای
از
رشتهها)
آرایهای
از دستورات
پوسته که پس
از مرحله
نصب اجرا
میشوند.
برای مثال
میتواند
پوشه نصب را
پاکسازی
کرده یا
فایلهای
اضافی را
نصب کند.
cleanup
(آرایهای
از
رشتهها)
آرایهای
از الگوهای
فایل که
باید در
پایان حذف
شوند.
الگوهایی
که با / شروع
میشوند به
عنوان نام
مسیرهای
کامل (بدون
پیشوند /app) در
نظر گرفته
میشوند،
در غیر این
صورت فقط با
نام پایه
تطبیق داده
میشوند.
توجه داشته
باشید که هر
الگو فقط با
فایلهای
نصبشده
توسط این
ماژول
تطبیق داده
خواهد شد.
ensure-writable
(آرایهای
از
رشتهها)
روش کار
سازنده به
این صورت
است که
فایلهای
موجود در
پوشه نصب،
پیوندهای
سخت (hard-links) به
فایلهای
کششده
هستند،
بنابراین
مجاز به
اصلاح
آنها درجا
نیستید. اگر
فایلی را در
اینجا
فهرست
کنید،
پیوند سخت
شکسته شده و
میتوانید
آن را اصلاح
نمایید. این
یک راهکار
موقت است؛
در حالت
ایدهآل
نصب
فایلها
باید
جایگزین
فایلها
شود، نه
اینکه
فایلهای
موجود را
اصلاح کند.
only-arches
(آرایهای
از
رشتهها)
در صورت
غیرخالی
بودن،
ماژول فقط
روی
معماریهای
فهرستشده
ساخته
میشود.
skip-arches
(آرایهای
از
رشتهها)
عدم ساخت
روی هر یک از
معماریهای
فهرستشده.
cleanup-platform
(آرایهای
از
رشتهها)
فایلهای
اضافی برای
پاکسازی
در پلتفرم.
run-tests (بولی)
اگر true
باشد،
آزمونها
پس از نصب
اجرا
خواهند شد.
test-rule (رشته)
هدف (target)
ساختهشونده
هنگام
اجرای
آزمونها.
برای make
پیشفرض «check»
و برای ninja
پیشفرض «test»
است. برای
غیرفعال
کردن، آن را
خالی
بگذارید.
test-commands
(آرایهای
از
رشتهها)
آرایهای
از دستورات
برای اجرا
در طول
آزمونها.
license-files
(آرایهای
از
رشتهها)
آرایهای
از مسیرها
به
فایلهای LICENSE
ماژول.
modules
(آرایهای
از اشیاء یا
رشتهها)
آرایهای
از اشیاء که
ماژولهای
تودرتو را
برای ساخت
قبل از این
ماژول مشخص
میکنند.
اعضای
رشتهای در
آرایه به
عنوان
نامهای یک
فایل json یا yaml
مجزا تفسیر
میشوند که
حاوی یک
ماژول است.
این
بخشها
شامل
اشارهگری
به منبعی
هستند که
قبل از شروع
ساخت در
پوشه منبع
استخراج
خواهد شد.
آنها
میتوانند
از انواع
مختلفی
باشند که با
ویژگی type
متمایز
میشوند.
علاوه بر
این، فهرست
منابع
میتواند
شامل یک
رشته ساده
باشد که به
عنوان نام
یک فایل json یا yaml
مجزا تفسیر
میشود که
در این نقطه
خوانده و
درج
میگردد.
این فایل
میتواند
شامل یک
منبع واحد
یا
آرایهای
از منابع
باشد.
تمام
منابع (All sources)
only-arches
(آرایهای
از
رشتهها)
در صورت
غیرخالی
بودن،
ماژول فقط
روی
معماریهای
فهرستشده
ساخته
میشود.
skip-arches
(آرایهای
از
رشتهها)
عدم ساخت
روی هر یک از
معماریهای
فهرستشده.
dest (رشته)
پوشهای
در داخل
پوشه منبع
که این منبع
در آن
استخراج
خواهد شد.
منابع
آرشیو (Archive sources - tar, zip)
type
"archive"
path (رشته)
مسیر
فایل
آرشیو.
url (رشته)
نشانی
اینترنتی (URL)
یک آرشیو
راه دور که
دانلود
خواهد شد.
اگر هر دو
مشخص شده
باشند، این
گزینه بر path
اولویت
دارد.
mirror-urls
(آرایهای
از
رشتهها)
فهرستی
از
نشانیهای
اینترنتی
جایگزین که
در صورت
شکست نشانی
اصلی
استفاده
میشوند.
referer (رشته)
تنظیم
هدر «Referer» در
پروتکل HTTP
هنگام
دانلود
آرشیو.
disable-http-decompression
(بولی)
غیرفعال
کردن رفع
فشردهسازی
دانلودها
روی HTTP برای
سرورهایی
با
پیکربندی
نادرست.
git-init (بولی)
آیا مخزن
به عنوان یک
مخزن گیت
مقداردهی
اولیه شود
یا خیر.
archive-type (رشته)
نوع
آرشیو در
صورتی که
نتوان آن را
از روی مسیر
حدس زد.
مقادیر
مجاز
عبارتند از:
"rpm", "tar", "tar-gzip",
"tar-compress", "tar-bzip2", "tar-lzip",
"tar-lzma", "tar-lzop", "tar-xz",
"tar-zst", "zip" و "7z".
md5 (رشته)
چکسام md5
فایل، که پس
از دانلود
تایید
میشود.
توجه
داشته
باشید که md5
دیگر یک
چکسام امن
تلقی
نمیشود؛
توصیه
میکنیم
حداقل از sha256
استفاده
کنید.
sha1 (رشته)
چکسام sha1
فایل، که پس
از دانلود
تایید
میشود.
توجه
داشته
باشید که sha1
دیگر یک
چکسام امن
تلقی
نمیشود؛
توصیه
میکنیم
حداقل از sha256
استفاده
کنید.
sha256 (رشته)
چکسام sha256
فایل، که پس
از دانلود
تایید
میشود.
sha512 (رشته)
چکسام sha512
فایل، که پس
از دانلود
تایید
میشود.
strip-components (عدد
صحیح)
تعداد
بخشهای
اولیه مسیر
برای حذف در
هنگام
استخراج.
مقدار
پیشفرض ۱
است.
dest-filename (رشته)
نام فایل
برای فایل
دانلودشده؛
پیشفرض
همان نام
پایه (basename)
نشانی
اینترنتی
است.
منابع
گیت (Git sources)
type
"git"
path (رشته)
مسیر به
یک نسخه
محلی از
مخزن گیت. به
دلیل نحوه
عملکرد git-clone،
این بسیار
سریعتر از
تعیین یک URL به
صورت file:///...
خواهد بود.
url (رشته)
نشانی
اینترنتی
مخزن گیت.
اگر هر دو
مشخص شده
باشند، این
گزینه بر path
اولویت
دارد. هنگام
استفاده از
گیت از طریق
SSH، نحو صحیح
ssh://user@domain/path/to/repo.git است.
branch (رشته)
شاخهای
که باید از
مخزن گیت
استفاده
شود. از نسخه
۱.۲.۳ تلاش
میشود تا
شاخه
پیشفرض
بالادستی
به طور
خودکار
شناسایی
شود. پیش از
این،
پیشفرض master
بود.
tag (رشته)
برچسبی (tag)
که باید از
مخزن گیت
استفاده
شود.
commit (رشته)
کامیتی
که باید از
مخزن گیت
استفاده
شود. اگر branch
نیز مشخص
شده باشد،
بررسی
میشود که
آن
شاخه/برچسب
دقیقاً روی
این کامیت
مشخص باشد.
این روشی
خوانا برای
مستندسازی
استفاده از
یک تگ خاص و
در عین حال
تایید
تغییر
نکردن آن
است.
disable-fsckobjects (بولی)
عدم
استفاده از
transfer.fsckObjects=1 برای
آینهکردن
مخزن گیت.
این ممکن
است برای
برخی مخازن
(خراب) لازم
باشد.
disable-shallow-clone
(بولی)
عدم
بهینهسازی
با ایجاد یک
کلون
کمعمق (shallow clone)
هنگام
دانلود
مخزن گیت.
disable-submodules (بولی)
عدم
دریافت
زیرماژولهای
گیت هنگام
کلون کردن
مخزن.
disable-lfs (بولی)
عدم
دریافت یا
چکاوت
صریح اشیاء Git
LFS. اگر
فیلترهای LFS
در gitconfig سراسری
یا سیستمی
فعال
باشند، این
گزینه توسط
گیت نادیده
گرفته
خواهد شد.
منابع Bzr (Bzr sources)
type
"bzr"
url (رشته)
نشانی
اینترنتی
مخزن bzr.
revision (رشته)
یک
بازنگری (revision)
خاص برای
استفاده در
شاخه.
منابع Svn (Svn sources)
type
"svn"
url (رشته)
نشانی
اینترنتی
مخزن svn، شامل
بخش
شاخه/برچسب.
revision (رشته)
یک شماره
بازنگری
خاص برای
استفاده.
منابع
پوشهای (Directory
sources)
type
"dir"
path (رشته)
مسیر یک
پوشه محلی
که محتوای
آن در پوشه
منبع کپی
خواهد شد.
توجه داشته
باشید که
منابع
پوشهای در
حال حاضر از
ذخیرهسازی
کش
پشتیبانی
نمیکنند،
بنابراین
هر بار
مجدداً
ساخته
خواهند شد.
skip
(آرایهای
از
رشتهها)
فایلهای
منبعی که
باید در
پوشه
نادیده
گرفته
شوند.
منابع
فایلی (File sources)
type
"file"
path (رشته)
مسیر یک
فایل محلی
که در پوشه
منبع کپی
خواهد شد.
url (رشته)
نشانی
اینترنتی
یک فایل راه
دور که
دانلود شده
و در پوشه
منبع کپی
خواهد شد.
اگر هر دو
مشخص شده
باشند، این
گزینه بر path
اولویت
دارد.
mirror-urls
(آرایهای
از
رشتهها)
فهرستی
از
نشانیهای
اینترنتی
جایگزین که
در صورت
شکست نشانی
اصلی
استفاده
میشوند.
referer (رشته)
تنظیم
هدر «Referer» در
پروتکل HTTP
هنگام
دانلود
فایل.
disable-http-decompression
(بولی)
غیرفعال
کردن رفع
فشردهسازی
دانلودها
روی HTTP برای
سرورهایی
با
پیکربندی
نادرست.
md5 (رشته)
چکسام md5
فایل، که پس
از دانلود
تایید
میشود. این
گزینه برای
فایلهای
محلی
اختیاری
است.
توجه
داشته
باشید که md5
دیگر یک
چکسام امن
تلقی
نمیشود؛
توصیه
میکنیم
حداقل از sha256
استفاده
کنید.
sha1 (رشته)
چکسام sha1
فایل، که پس
از دانلود
تایید
میشود. این
گزینه برای
فایلهای
محلی
اختیاری
است.
توجه
داشته
باشید که sha1
دیگر یک
چکسام امن
تلقی
نمیشود؛
توصیه
میکنیم
حداقل از sha256
استفاده
کنید.
sha256 (رشته)
چکسام sha256
فایل، که پس
از دانلود
تایید
میشود. این
گزینه برای
فایلهای
محلی
اختیاری
است.
sha512 (رشته)
چکسام sha512
فایل، که پس
از دانلود
تایید
میشود. این
گزینه برای
فایلهای
محلی
اختیاری
است.
dest-filename (رشته)
نام فایل
برای
استفاده در
داخل پوشه
منبع؛
پیشفرض
همان نام
پایه path است.
منابع
اسکریپت (Script
sources)
روشی برای
ایجاد یک
اسکریپت
پوسته (/bin/sh) از
یک مجموعه
دستورات
درونبرنامهای.
type
"script"
commands
(آرایهای
از
رشتهها)
آرایهای
از دستورات
پوسته که در
یک فایل
اسکریپت
پوسته قرار
خواهند
گرفت.
dest-filename (رشته)
نام فایل
برای
استفاده در
داخل پوشه
منبع؛
پیشفرض autogen.sh
است.
منابع
داده
درونخطی (Inline
data sources)
روشی برای
ایجاد یک
فایل با
محتویات
مشخصشده.
type
"inline"
dest-filename (رشته)
نام فایل
برای
استفاده در
داخل پوشه
منبع.
contents (رشته)
دادههای
متنی که
درون فایل
قرار
خواهند
گرفت.
base64 (بولی)
آیا
محتوا با
قالب base64
کدگذاری
شده است یا
خیر.
منابع
پوسته (Shell sources)
روشی برای
ایجاد یا
اصلاح
منابع با
اجرای
دستورات
پوسته.
type
"shell"
commands
(آرایهای
از
رشتهها)
آرایهای
از دستورات
پوسته که در
حین
استخراج
منبع اجرا
خواهند شد.
منابع
وصله (Patch sources)
type
"patch"
path (رشته)
مسیر یک
فایل وصله (patch)
که در پوشه
منبع اعمال
خواهد شد.
paths
(آرایهای
از
رشتهها)
فهرستی
از مسیرها
به
فایلهای
وصله که به
ترتیب در
پوشه منبع
اعمال
خواهند شد.
strip-components (عدد
صحیح)
مقدار
آرگومان -p
برای دستور
patch؛ پیشفرض
۱ است.
use-git (بولی)
استفاده
از «git apply» به
جای «patch»
برای اعمال
وصله؛
هنگامی که
فایل وصله
حاوی
تغییرات
دودویی (binary diffs)
است الزامی
میباشد.
use-git-am (بولی)
استفاده
از «git am» به
جای «patch»
برای اعمال
وصله؛
هنگامی که
فایل وصله
حاوی
تغییرات
دودویی است
الزامی
میباشد.
نمیتوانید
این گزینه
را همزمان
با use-git
استفاده
کنید.
options
(آرایهای
از
رشتهها)
گزینههای
اضافی برای
ارسال به
دستور patch.
منابع
داده اضافی
(Extra data sources)
type
"extra-data"
filename (رشته)
نام مورد
استفاده
برای
دادههای
اضافی
دانلودشده.
url (رشته)
نشانی
اینترنتی
دادههای
اضافی.
sha256 (رشته)
چکسام sha256
دادههای
اضافی.
size (عدد)
اندازه
دادههای
اضافی بر
حسب بایت.
installed-size (رشته)
اندازه
نصبشده
اضافی که
این مورد به
برنامه
اضافه
میکند
(اختیاری).