.\" -*- mode: troff; coding: utf-8 -*- .TH "BUILDINFOv1" "5" "2024-03-01" "Pacman" "راهنمای فرمت‌های فایل" .SH "نام (NAME)" BUILDINFOv1 \- اطلاعات محیط ساخت بسته برای بسته‌های مبتنی بر ALPM (نسخه ۱) .SH "توضیحات (DESCRIPTION)" .LP قالب .B BUILDINFO یک قالب متنی است که محیط ساخت یک بسته را توصیف می‌کند. این فایل‌ها در ریشه بسته‌های ALPM قرار دارند، .B .BUILDINFO نامیده می‌شوند و معمولاً برای بازتولید محیطی که بسته در آن ساخته شده است به کار می‌روند. برای اطلاعات بیشتر به \fBتلاش Arch Linux برای ساخت‌های بازتولیدپذیر\fR[1] مراجعه کنید. .PP قالب .B BUILDINFO در چند نسخه وجود دارد. این سند نسخه ۱ را توصیف می‌کند که یک نسخه قدیمی (legacy) است و با انتشار pacman 5.1.0 در تاریخ 2018-05-28 معرفی شد. برای آخرین مشخصات، به .B BUILDINFO مراجعه کنید. .SS قالب کلی (General Format) .LP یک فایل .B BUILDINFO شامل مجموعه‌ای از خطوط است که هر کدام اطلاعاتی درباره جنبه‌ای از محیط ساخت یک بسته، یا خود قالب فایل ارائه می‌دهند. فاصله‌های خالی ابتدای خطوط همیشه نادیده گرفته می‌شوند. .PP مگر در مواردی که خلاف آن ذکر شده باشد، اطلاعات موجود در یک فایل .B BUILDINFO مشمول مجموعه ۹۵ نویسه قابل چاپ ASCII در نظر گرفته می‌شود. .SS کلیدواژه‌ها (Keywords) .LP هر خط اطلاعاتی را کدگذاری می‌کند که بیانگر یک مقداردهی کلیدواژه است. تمام انتساب‌های کلیدواژه‌ها شامل یک کلید از فهرست زیر است که بلافاصله پس از آن یک نویسه فاصله، یک علامت \(oq=\(cq، یک نویسه فاصله دیگر و سپس یک مقدار قرار می‌گیرد. .PP به‌طور پیش‌فرض، دقیقاً یک انتساب کلیدواژه به ازای هر کلیدواژه باید در یک .B BUILDINFO وجود داشته باشد. به عنوان استثنای این قاعده، کلیدواژه‌های .BR buildenv ، .B options و .B installed می‌توانند صفر یا چند بار مشخص شوند. .SS format .LP نسخه قالب فایل .BR BUILDINFO . باید اولین کلیدواژه در فایل .B BUILDINFO باشد. مقدار باید یک عدد صحیح مثبت ساده باشد. این مقدار برای نسخه ۱ .B BUILDINFO باید .B 1 باشد. .SS pkgname .LP نام بسته. مقدار یک .I alpm-package-name است (مانند \f(CRexample\fR). .SS pkgbase .LP شناسه .I alpm-package-base بسته. مقدار یک .I alpm-package-base است (مانند \f(CRexample\fR). .SS pkgver .LP نسخه کامل بسته. توجه داشته باشید که نباید با .I alpm-pkgver اشتباه گرفته شود، که تنها زیرمجموعه‌ای از این کلیدواژه را نشان می‌دهد! مقدار یک .I alpm-package-version است، یا به شکل .I کامل (full) یا به شکل .I کامل به همراه epoch (full with epoch) (به ترتیب مانند \f(CR1.0.0-1\fR یا \f(CR1:1.0.0-1\fR). .SS pkgarch .LP معماری بسته (برای اطلاعات بیشتر به .I alpm-architecture مراجعه کنید). مقدار باید شامل مجموعه‌ای از نویسه‌های الفبایی-عددی و \(oq_\(cq باشد (مانند \f(CRx86_64\fR یا \f(CRany\fR). .SS pkgbuild_sha256sum .LP نمایش هگزادسیمال جمع کنترلی (checksum) از نوع SHA-256 فایل .B PKGBUILD که برای ساخت بسته استفاده شده است. مقدار باید شامل مجموعه‌ای از نویسه‌های هگزادسیمال باشد و طول آن ۶۴ نویسه باشد (مانند \f(CR946d8362de3cebe3c86765cb36671a1dfd70993ac73e12892ac7ac5e6ff7ef95\fR). .SS packager .LP شناسه کاربری (User ID) موجودیتی که بسته را ساخته است. مقدار برای جستجوهای هویتی در نظر گرفته شده و نشان‌دهنده یک \fBOpenPGP User ID\fR[2] است. به همین ترتیب، مقدار یک رشته با کدگذاری UTF-8 است که به طور معمول از یک نام و نشانی رایانامه تشکیل شده و با قالب توصیف‌شده در \fBRFC 2822\fR\c .UR e.g.%20%60John%20Doe%20%3Cjohn@example.org%3E%60 3 .UE \c مطابقت دارد. .SS builddate .LP تاریخ و زمانی که ساخت بسته شروع شد. مقدار باید عددی باشد و ثانیه‌های سپری‌شده از مبدا زمان (Epoch)، یعنی \(oqزمان یونیکس\(cq را نشان دهد (مانند \f(CR1729181726\fR). .SS builddir .LP مسیر مطلق دایرکتوری که بسته توسط ابزار ساخت (مانند \f(CRmakepkg\fR) در آن ساخته شده است. مقدار یک رشته با کدگذاری UTF-8 است و باید نشان‌دهنده یک دایرکتوری معتبر با مسیر مطلق باشد (مانند \f(CR/builddir\fR). .SS buildenv .LP یک محیط ساخت استفاده‌شده توسط ابزار ساخت بسته (یعنی \f(CRmakepkg\fR، تعریف‌شده در \f(CRBUILDENV\fR فایل makepkg.conf) هنگام ساخت بسته. این کلیدواژه ممکن است صفر یا چند بار مشخص شود. مقدار باید یک کلمه یکتا باشد، که اختیاری می‌تواند با یک \(oq!\(cq آغاز شود که نشان‌دهنده نفی آن محیط است (مانند \f(CRcolor\fR یا \f(CR!color\fR). .SS options .LP یک گزینه استفاده‌شده توسط ابزار ساخت بسته (یعنی \f(CRmakepkg\fR، تعریف‌شده در \f(CROPTIONS\fR فایل makepkg.conf) هنگام ساخت بسته. این کلیدواژه ممکن است صفر یا چند بار مشخص شود. مقدار باید یک کلمه یکتا باشد، که اختیاری می‌تواند با یک \(oq!\(cq آغاز شود که نشان‌دهنده نفی آن گزینه است (مانند \f(CRdebug\fR یا \f(CR!debug\fR). .SS installed .LP اطلاعات مربوط به یک بسته نصب‌شده در زمان ساخت بسته. این کلیدواژه ممکن است صفر یا چند بار مشخص شود. مقدار نشان‌دهنده یک رشته ترکیبی است که از یک \fBalpm-package-name\fR، بلافاصله بعد از آن یک علامت \(oq-\(cq، بلافاصله بعد از آن یک \fBalpm-package-version\fR (به شکل .I کامل (full) یا به شکل .IR "کامل به همراه epoch (full with epoch)" )، بلافاصله بعد از آن یک علامت \(oq-\(cq و به دنبال آن یک \fBalpm-architecture\fR تشکیل شده است (مانند \f(CRexample-1:1.0.0-1-x86_64\fR). .SH "مثال‌ها (EXAMPLES)" .LP .EX format = 1 pkgname = example pkgbase = example pkgver = 1:1.0.0-1 pkgarch = any pkgbuild_sha256sum = b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c packager = John Doe 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 .EE .SH "همچنین ببینید (SEE ALSO)" .LP \fBalpm-buildinfo\fR(1), \fBPKGBUILD\fR(5), \fBmakepkg.conf\fR(5), \fBalpm-architecture\fR(7), \fBalpm-package-name\fR(7), \fBalpm-package-version\fR(7), \fBalpm-pkgver\fR(7), \fBmakepkg\fR(8), \fBpacman\fR(8) .SH "یادداشت‌ها (NOTES)" .IP "1." 3 \fBArch Linux\(cqs Reproducible Builds effort\fR .IP .UR https://wiki.archlinux.org/title/Reproducible_builds .UE .IP "2." 3 \fBOpenPGP User ID\fR .IP .UR https://openpgp.dev/book/certificates.html#user-ids .UE .IP "3." 3 \fBRFC 2822\fR .IP .UR https://www.rfc-editor.org/rfc/rfc2822 .UE