| BUILDINFOv1(5) | راهنمای فرمتهای فایل | BUILDINFOv1(5) |
نام (NAME)
BUILDINFOv1 - اطلاعات محیط ساخت بسته برای بستههای مبتنی بر ALPM (نسخه ۱)
توضیحات (DESCRIPTION)
قالب BUILDINFO یک قالب متنی است که محیط ساخت یک بسته را توصیف میکند. این فایلها در ریشه بستههای ALPM قرار دارند، .BUILDINFO نامیده میشوند و معمولاً برای بازتولید محیطی که بسته در آن ساخته شده است به کار میروند. برای اطلاعات بیشتر به تلاش Arch Linux برای ساختهای بازتولیدپذیر[1] مراجعه کنید.
قالب BUILDINFO در چند نسخه وجود دارد. این سند نسخه ۱ را توصیف میکند که یک نسخه قدیمی (legacy) است و با انتشار pacman 5.1.0 در تاریخ 2018-05-28 معرفی شد. برای آخرین مشخصات، به BUILDINFO مراجعه کنید.
قالب کلی (General Format)
یک فایل BUILDINFO شامل مجموعهای از خطوط است که هر کدام اطلاعاتی درباره جنبهای از محیط ساخت یک بسته، یا خود قالب فایل ارائه میدهند. فاصلههای خالی ابتدای خطوط همیشه نادیده گرفته میشوند.
مگر در مواردی که خلاف آن ذکر شده باشد، اطلاعات موجود در یک فایل BUILDINFO مشمول مجموعه ۹۵ نویسه قابل چاپ ASCII در نظر گرفته میشود.
کلیدواژهها (Keywords)
هر خط اطلاعاتی را کدگذاری میکند که بیانگر یک مقداردهی کلیدواژه است. تمام انتسابهای کلیدواژهها شامل یک کلید از فهرست زیر است که بلافاصله پس از آن یک نویسه فاصله، یک علامت ‘=’، یک نویسه فاصله دیگر و سپس یک مقدار قرار میگیرد.
بهطور پیشفرض، دقیقاً یک انتساب کلیدواژه به ازای هر کلیدواژه باید در یک BUILDINFO وجود داشته باشد. به عنوان استثنای این قاعده، کلیدواژههای buildenv، options و installed میتوانند صفر یا چند بار مشخص شوند.
format
نسخه قالب فایل BUILDINFO. باید اولین کلیدواژه در فایل BUILDINFO باشد. مقدار باید یک عدد صحیح مثبت ساده باشد. این مقدار برای نسخه ۱ BUILDINFO باید 1 باشد.
pkgname
نام بسته. مقدار یک alpm-package-name است (مانند example).
pkgbase
شناسه alpm-package-base بسته. مقدار یک alpm-package-base است (مانند example).
pkgver
نسخه کامل بسته. توجه داشته باشید که نباید با alpm-pkgver اشتباه گرفته شود، که تنها زیرمجموعهای از این کلیدواژه را نشان میدهد! مقدار یک alpm-package-version است، یا به شکل کامل (full) یا به شکل کامل به همراه epoch (full with epoch) (به ترتیب مانند 1.0.0-1 یا 1:1.0.0-1).
pkgarch
معماری بسته (برای اطلاعات بیشتر به alpm-architecture مراجعه کنید). مقدار باید شامل مجموعهای از نویسههای الفبایی-عددی و ‘_’ باشد (مانند x86_64 یا any).
pkgbuild_sha256sum
نمایش هگزادسیمال جمع کنترلی (checksum) از نوع SHA-256 فایل PKGBUILD که برای ساخت بسته استفاده شده است. مقدار باید شامل مجموعهای از نویسههای هگزادسیمال باشد و طول آن ۶۴ نویسه باشد (مانند 946d8362de3cebe3c86765cb36671a1dfd70993ac73e12892ac7ac5e6ff7ef95).
packager
شناسه کاربری (User ID) موجودیتی که بسته را ساخته است. مقدار برای جستجوهای هویتی در نظر گرفته شده و نشاندهنده یک OpenPGP User ID[2] است. به همین ترتیب، مقدار یک رشته با کدگذاری UTF-8 است که به طور معمول از یک نام و نشانی رایانامه تشکیل شده و با قالب توصیفشده در RFC 28223مطابقت دارد.
builddate
تاریخ و زمانی که ساخت بسته شروع شد. مقدار باید عددی باشد و ثانیههای سپریشده از مبدا زمان (Epoch)، یعنی ‘زمان یونیکس’ را نشان دهد (مانند 1729181726).
builddir
مسیر مطلق دایرکتوری که بسته توسط ابزار ساخت (مانند makepkg) در آن ساخته شده است. مقدار یک رشته با کدگذاری UTF-8 است و باید نشاندهنده یک دایرکتوری معتبر با مسیر مطلق باشد (مانند /builddir).
buildenv
یک محیط ساخت استفادهشده توسط ابزار ساخت بسته (یعنی makepkg، تعریفشده در BUILDENV فایل makepkg.conf) هنگام ساخت بسته. این کلیدواژه ممکن است صفر یا چند بار مشخص شود. مقدار باید یک کلمه یکتا باشد، که اختیاری میتواند با یک ‘!’ آغاز شود که نشاندهنده نفی آن محیط است (مانند color یا !color).
options
یک گزینه استفادهشده توسط ابزار ساخت بسته (یعنی makepkg، تعریفشده در OPTIONS فایل makepkg.conf) هنگام ساخت بسته. این کلیدواژه ممکن است صفر یا چند بار مشخص شود. مقدار باید یک کلمه یکتا باشد، که اختیاری میتواند با یک ‘!’ آغاز شود که نشاندهنده نفی آن گزینه است (مانند debug یا !debug).
installed
اطلاعات مربوط به یک بسته نصبشده در زمان ساخت بسته. این کلیدواژه ممکن است صفر یا چند بار مشخص شود. مقدار نشاندهنده یک رشته ترکیبی است که از یک alpm-package-name، بلافاصله بعد از آن یک علامت ‘-’، بلافاصله بعد از آن یک alpm-package-version (به شکل کامل (full) یا به شکل کامل به همراه epoch (full with epoch))، بلافاصله بعد از آن یک علامت ‘-’ و به دنبال آن یک alpm-architecture تشکیل شده است (مانند example-1:1.0.0-1-x86_64).
مثالها (EXAMPLES)
format = 1 pkgname = example pkgbase = example pkgver = 1:1.0.0-1 pkgarch = any pkgbuild_sha256sum = b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c packager = John Doe <john@example.org> builddate = 1729181726 builddir = /build buildenv = !color buildenv = check options = !strip options = staticlibs installed = other-package-1:0.5.0-3-any installed = package2-2.1.0-6-x86_64
همچنین ببینید (SEE ALSO)
alpm-buildinfo(1), PKGBUILD(5), makepkg.conf(5), alpm-architecture(7), alpm-package-name(7), alpm-package-version(7), alpm-pkgver(7), makepkg(8), pacman(8)
یادداشتها (NOTES)
- 1.
- Arch Linux’s Reproducible Builds effort
- https://wiki.archlinux.org/title/Reproducible_builds
- 2.
- OpenPGP User ID
- https://openpgp.dev/book/certificates.html#user-ids
- 3.
- RFC 2822
- https://www.rfc-editor.org/rfc/rfc2822
| 2024-03-01 | Pacman |