PKGCONF-PERSONALITY(5) File Formats Manual PKGCONF-PERSONALITY(5)

pkgconf-personality — فرمت فایلهای شخصیت و پیکربندی هدف در pkgconf

پرونده‌های شخصیت (personality) کامپایل متقاطع در pkgconf سازوکاری سودمند را برای ذخیره‌سازی اطلاعات گوناگون درباره زنجیره‌های ابزار (toolchains) سیستم فراهم می‌کنند. اطلاعات ذخیره‌شده توسط پرونده‌های .personality شامل اطلاعاتی درباره مسیرهای مورداستفاده زنجیره ابزار کامپایل متقاطع، مانند دایرکتوری sysroot و مسیرهای پیشفرض include و کتابخانه‌ها است. pkgconf از این اطلاعات برای تشخیص اینکه چه اطلاعاتی جهت استفاده از کتابخانه‌ها ضروری است، استفاده می‌کند.

پرونده .personality از قالبی الهام‌گرفته از RFC822 پیروی می‌کند. توضیحات با یک علامت پوند، هش یا مربع (#) آغاز می‌شوند و انتساب متغیرها مشابه پوسته استاندارد POSIX است. ویژگی‌ها با استفاده از بندهایی (stanzas) به سبک RFC822 تعریف می‌شوند.

ویژگی‌ها با استفاده از بندهایی به سبک RFC822 تنظیم می‌شوند که شامل یک کلیدواژه، به دنبال آن علامت دونقطه (:) و سپس مقداری است که ویژگی باید بر روی آن تنظیم گردد. جایگزینی متغیرها بدون توجه به نوع ویژگی همواره انجام می‌شود.

سه نوع ویژگی وجود دارد:

Literal
ویژگی بر روی متن صریح مقدار تنظیم خواهد شد.
Fragment List
ویژگی بر روی فهرستی از قطعات (fragments) تجزیه‌شده از متن تنظیم خواهد شد. متن ورودی باید در قالبی باشد که برای ارسال به یک پوسته POSIX بدون هیچ‌گونه بسط پوسته پس از انجام جایگزینی متغیرها مناسب باشد. عناصر با علامت دونقطه (:) از یکدیگر جدا می‌شوند.
Boolean
اگر مقدار یکی از موارد: true، yes یا 1 باشد، ویژگی بر روی true تنظیم خواهد شد. در غیر این صورت بر روی false تنظیم می‌شود.

Triplet
سه‌تایی (triplet) مورداستفاده توسط زنجیره ابزار کامپایل متقاطع. (اجباری؛ متن صریح)
SysrootDir
دایرکتوری مورداستفاده توسط ریشه سیستم (sysroot) زنجیره ابزار کامپایل متقاطع. (اجباری؛ متن صریح)
DefaultSearchPaths
فهرستی از دایرکتوری‌ها برای جستجوی پرونده‌های pc(5) در آن‌ها. (اجباری؛ فهرست قطعات)
SystemIncludePaths
فهرستی از دایرکتوری‌ها که به صورت پیشفرض در مسیر جستجو برای پرونده‌های include گنجانده می‌شوند. (اجباری؛ فهرست قطعات)
SystemLibraryPaths
فهرستی از دایرکتوری‌ها که به صورت پیشفرض در مسیر جستجو برای کتابخانه‌ها گنجانده می‌شوند. (اجباری؛ فهرست قطعات)
WantDefaultPure
در صورت درست بودن (true)، رفتار پیشفرض pkgconf ترجیح دادن یک گراف وابستگی خالص خواهد بود. (اختیاری؛ بولی؛ پیشفرض false است)
WantDefaultStatic
در صورت درست بودن (true)، رفتار پیشفرض pkgconf کارکرد در حالت پیوند ایستا (static linking) خواهد بود. (اختیاری؛ بولی؛ پیشفرض false است)

نمونه‌ای از یک پرونده .personality:

# This is a comment
Triplet: x86_64-pc-linux-gnu
SysrootDir: /home/kaniini/sysroot/x86_64-pc-linux-gnu
DefaultSearchPaths: /home/kaniini/sysroot/x86_64-pc-linux-gnu/lib/pkgconfig:/home/kaniini/sysroot/x86_64-pc-linux-gnu/share/pkgconfig
SystemIncludePaths: /home/kaniini/sysroot/x86_64-pc-linux-gnu/include
SystemLibraryPaths: /home/kaniini/sysroot/x86_64-pc-linux-gnu/lib

pkgconf(1), pc(5), pkg.m4(7)

pkgconf توسط نویسندگان pkgconf توسعه داده شده است (پروندهٔ AUTHORS را ببینید).

July 19, 2018 Linux 6.12.107+deb13-amd64