.\" -*- mode: troff; coding: utf-8 -*- .TH "ALPM-REPO-DESCV2" "5" "2024-03-04" "ALPM" "راهنمای قالب‌های فایل" .SH "نام (NAME)" alpm-repo-descv2 \- قالب فایل برای نمایش فراداده‌های بسته‌های مبتنی بر ALPM در مخازن بسته (نسخه ۲) .SH "توضیحات (DESCRIPTION)" .LP قالب \fBalpm-repo-desc\fR یک قالب متنی است که فراداده‌های یک بسته منفرد را در نسخه‌ای مشخص در یک مخزن نمایش می‌دهد. هر فایل ویژگی‌های گوناگون یک فایل \fBalpm-package\fR را توصیف می‌کند، از جمله نام، نسخه، وابستگی‌ها، اندازه، اطلاعات مجوز و موارد دیگر. برای فهرست کامل ویژگی‌ها به .B بخش‌ها مراجعه کنید. .PP مجموع تمامی فایل‌های \fBalpm-repo-desc\fR در یک \fBalpm-repo-db\fR وضعیت فعلی مخزن را توصیف می‌کنند (یعنی چه بسته‌هایی در چه نسخه‌ای در دسترس هستند). .PP یک سیستم‌عامل متکی بر \fBA\fRrch \fBL\fRinux \fBP\fRackage \fBM\fRanagement یک یا چند فایل \fBalpm-repo-db\fR را نگهداری می‌کند که هر یک شامل یک فایل \fBalpm-repo-desc\fR به ازای هر بسته هستند؛ هر یک از این فایل‌ها .I desc نامیده شده و در پوشه‌ای منحصربه‌فرد برای هر بسته قرار دارند. به طور مشخص‌تر، نرم‌افزارهای مدیریت بسته مانند \fBpacman\fR و ابزارهای مرتبط از این قالب فایل برای نمونه جهت حل وابستگی‌ها و نمایش اطلاعات بسته‌های \fBalpm-package\fR در مخازن استفاده می‌کنند. .PP داده‌های موجود در یک فایل \fBalpm-repo-desc\fR از یک \fBalpm-package\fR مشتق شده‌اند. بخش عمده‌ای از فراداده‌های آن از داده‌های \fBPKGINFO\fR بسته سرچشمه می‌گیرد. یک فایل \fBalpm-repo-desc\fR معمولاً توسط نرم‌افزارهای مدیریت‌کننده یک \fBalpm-repo\fR، مانند \fBrepo-add\fR ایجاد می‌شود. .PP قالب فایل توصیف‌شده در این سند نباید با قالب فایل \fBalpm-db-desc\fR اشتباه گرفته شود، که در چارچوب یک پایگاه‌داده \fBlibalpm\fR استفاده می‌شود و مجموعه متفاوتی از فراداده‌ها را حمل می‌کند، اما معمولاً آن هم .I desc نامیده می‌شود. .PP قالب \fBalpm-repo-desc\fR در چندین نسخه وجود دارد. اطلاعات موجود در این سند مربوط به نسخه ۲ است، که نسخه فعلی بوده و با انتشار pacman 6.1.0 در تاریخ 2024-03-04 معرفی شده است. .SS قالب کلی .LP یک فایل \fBalpm-repo-desc\fR فایلی با کدگذاری UTF-8 و جداشده با خط جدید است که از مجموعه‌ای از .B بخش‌ها تشکیل شده است. .PP هر بخش با یک \fIخط سربرگ بخش\fR منحصربه‌فرد آغاز می‌شود. خط سربرگ بخش با یک یا چند خط دنبال می‌شود که هر کدام حاوی یک \fIمقدار مختص بخش\fR هستند. تمام \fIمقادیر مختص بخش\fR باید از .B نویسه‌های اسکی قابل چاپ\c [1] تشکیل شوند، مگر آنکه خلاف آن ذکر شده باشد. یک بخش زمانی پایان می‌یابد که به خط سربرگ بخش دیگری برخورد شود یا به پایان فایل برسد. .PP خطوط خالی میان بخش‌ها نادیده گرفته می‌شوند. .SS تغییرات از نسخه پیشین .LP بخش \f(CR%MD5SUM%\fR حذف شده است. بخش \f(CR%PGPSIG%\fR به صورت اختیاری درآمده است. .SS بخش‌ها .LP هر \fIخط سربرگ بخش\fR شامل \fIنام بخش\fR با حروف تمام‌بزرگ است که میان علامت‌های درصد قرار دارد (مانند \f(CR%NAME%\fR). \fIنام‌های بخش\fR به عنوان کلید برای هر \fIمقدار مختص بخش\fR عمل می‌کنند. .PP هر بخش پس از \fIخط سربرگ بخش\fR، تنها اجازه قرارگیری یک \fIمقدار مختص بخش\fR را می‌دهد. به عنوان استثنایی بر این قاعده، بخش‌های .BR %LICENSE% ، .BR %GROUPS% ، .BR %CHECKDEPENDS% ، .BR %DEPENDS% ، .BR %OPTDEPENDS% ، .BR %REPLACES% ، .B %CONFLICTS% و .B %PROVIDES% می‌توانند بیش از یک \fIمقدار مختص بخش\fR داشته باشند. .SS %FILENAME% .LP نام فایل \fBalpm-package\fR (مانند \f(CRexample-1.2.3-any.pkg.tar.zst\fR). .SS %NAME% .LP یک \fBalpm-package-name\fR، که نشان‌دهنده نام یک بسته است (مانند \f(CRexample\fR). .SS %BASE% .LP یک \fBalpm-package-base\fR که پایه بسته را که بسته از آن سرچشمه می‌گیرد نشان می‌دهد. اگر یک بسته \fBalpm-split-package\fR نباشد، مقدار آن همانند مقدار بخش \f(CR%NAME%\fR است. اگر یک بسته \fBalpm-split-package\fR باشد، مقدار آن ممکن است با مقدار بخش \f(CR%NAME%\fR متفاوت باشد. .SS %VERSION% .LP یک \fBalpm-package-version\fR (\fIfull\fR یا \fIfull with epoch\fR) که نشان‌دهنده نسخه یک بسته است (مانند \f(CR1.0-1\fR). .SS %DESC% .LP توضیحات بسته. مقدار یک رشته UTF-8 با طول صفر یا چند نویسه است (مانند \f(CRA project used for something\fR). اگر توضیحات خالی باشد، این بخش می‌تواند حذف شود. .SS %GROUPS% .LP یک \fBalpm-package-group\fR که نشان‌دهنده یک گروه سراسری در توزیع است که بسته در آن قرار دارد. ممکن است یک یا چند مقدار وجود داشته باشد. اگر بسته در هیچ گروهی نباشد، این بخش حذف می‌شود. .PP مقدار با یک رشته UTF-8 نمایش داده می‌شود. اگرچه امکان استفاده از یک رشته UTF-8 وجود دارد، اما اکیداً توصیه می‌شود که به جای آن از قالب \fBalpm-package-name\fR برای مقدار استفاده شود، زیرا مدیران بسته ممکن است از گروه بسته برای نصب کل گروه بسته‌ها استفاده کنند. .SS %CSIZE% .LP اندازه بسته فشرده‌شده \fBalpm-package\fR بر حسب بایت. مقدار یک عدد صحیح غیرمنفی است (مانند \f(CR1818463\fR). .SS %ISIZE% .LP اندازه محتویات بسته (فشرده‌نشده و بازشده) بر حسب بایت. مقدار یک عدد صحیح غیرمنفی است که اندازه مطلق محتویات بسته را نشان می‌دهد؛ فایل‌های دارای چندین پیوند سخت (hardlink) تنها یک‌بار شمرده می‌شوند (مانند \f(CR181849963\fR). .SS %SHA256SUM% .LP خلاصه درهم‌ساز \fBSHA-256\fR\c [2] از فایل \fBalpm-package\fR. این رشته شامل ۶۴ نویسه شانزده‌شانزدهی (هگزادسیمال) است (مانند \f(CRb5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c\fR). .SS %PGPSIG% .LP یک \fBامضای OpenPGP\fR\c [4] با کدگذاری اختیاری \fBbase64\fR\c [3] برای فایل \fBalpm-package\fR (مانند \f(CRiHUEABYKAB0WIQRizHP4hOUpV7L92IObeih9mi7GCAUCaBZuVAAKCRCbeih9mi7GCIlMAP9ws/jU4f580ZRQlTQKvUiLbAZOdcB7mQQj83hD1Nc/GwD/WIHhO1/OQkpMERejUrLo3AgVmY3b4/uGhx9XufWEbgE=\fR). ابزار ایجادکننده فایل \fBalpm-repo-desc\fR ممکن است ترجیح دهد بازنمایی امضا را درج نکند، که در این صورت از این بخش صرف‌نظر می‌شود. .SS %URL% .LP نشانی وب (URL) برای پروژه بسته. مقدار یک URL معتبر یا یک رشته خالی است (مانند \f(CRhttps://example.org\fR). اگر توضیحات خالی باشد، این بخش می‌تواند حذف شود. .SS %LICENSE% .LP مجموعه‌ای اختیاری از شناسه‌های مجوز که برای بسته اعمال می‌شوند. ممکن است یک یا چند مقدار وجود داشته باشد. اگر هیچ شناسه مجوزی وجود نداشته باشد، این بخش حذف می‌شود. .PP هر مقدار نشان‌دهنده یک شناسه مجوز است، که رشته‌ای با طول غیرصفر است (مانند \f(CRGPL\fR). اگرچه به جز طول رشته هیچ محدودیت خاصی برای مقدار اعمال نمی‌شود، اما اکیداً توصیه می‌شود که از عبارات مجوز SPDX استفاده شود (مانند \f(CRGPL-3.0-or-later\fR یا \f(CRApache-2.0 OR MIT\fR). برای اطلاعات بیشتر به \fBفهرست مجوزهای SPDX\fR\c [5] مراجعه کنید. .SS %ARCH% .LP معماری بسته (برای اطلاعات بیشتر به \fBalpm-architecture\fR مراجعه کنید). مقدار باید از مجموعه نویسه‌های الفبایی-عددی و \(oq_\(oq تشکیل شده باشد (مانند \f(CRx86_64\fR یا \f(CRany\fR). .SS %BUILDDATE% .LP تاریخی که ساخت بسته در آن آغاز شده است. مقدار باید عددی بوده و نشان‌دهنده ثانیه‌های سپری‌شده از مبدأ زمانی (Epoch)، معروف به \(oqزمان یونیکس\(cq باشد (مانند \f(CR1729181726\fR). .SS %PACKAGER% .LP شناسه کاربری (User ID) موجودیتی که بسته را ساخته است. این مقدار برای جستجوی هویت در نظر گرفته شده و نمایانگر یک \fBشناسه کاربری OpenPGP\fR\c [6] است. به این ترتیب، مقدار یک رشته کدگذاری‌شده با UTF-8 است که بر اساس عرف از یک نام و یک نشانی ایمیل تشکیل شده و با ساختار توصیف‌شده در \fBRFC 2822\fR\c .UR e.g.%20%60John%20Doe%20%3Cjohn@example.org%3E%60 7 .UE \c \& مطابقت دارد. .SS %REPLACES% .LP یک \fIمؤلفه مجازی\fR یا \fIبسته\fR دیگر، که این بسته هنگام نصب جایگزین آن می‌شود. ممکن است یک یا چند مقدار وجود داشته باشد. اگر بسته جایگزین چیزی نشود، این بخش حذف می‌شود. مقدار یک \fBalpm-package-relation\fR از نوع \fBreplacement\fR است (مانند \f(CRexample\fR یا \f(CRexample=1.0.0\fR). .SS %CONFLICTS% .LP یک \fIمؤلفه مجازی\fR یا \fIبسته\fR دیگر، که این بسته با آن تداخل دارد. ممکن است یک یا چند مقدار وجود داشته باشد. اگر بسته با چیزی تداخل نداشته باشد، این بخش حذف می‌شود. مقدار یک \fBalpm-package-relation\fR از نوع \fBconflict\fR است (مانند \f(CRexample\fR یا \f(CRexample=1.0.0\fR). .SS %PROVIDES% .LP یک \fIمؤلفه مجازی\fR یا \fIبسته\fR دیگر، که این بسته آن را فراهم می‌کند. ممکن است یک یا چند مقدار وجود داشته باشد. اگر بسته چیزی فراهم نکند، این بخش حذف می‌شود. مقدار یک \fBalpm-package-relation\fR از نوع \fBprovision\fR است (مانند \f(CRexample\fR یا \f(CRexample=1.0.0\fR). .SS %DEPENDS% .LP یک وابستگی زمان اجرای بسته (\fIمؤلفه مجازی\fR یا \fIبسته\fR). ممکن است یک یا چند مقدار وجود داشته باشد. اگر بسته هیچ وابستگی زمان اجرایی نداشته باشد، این بخش حذف می‌شود. مقدار یک \fBalpm-package-relation\fR از نوع \fBrun-time dependency\fR است (مانند \f(CRexample\fR یا \f(CRexample=1.0.0\fR). .SS %OPTDEPENDS% .LP یک وابستگی اختیاری بسته (\f(CRvirtual component\fR یا \f(CRpackage\fR). ممکن است یک یا چند مقدار وجود داشته باشد. اگر بسته هیچ وابستگی اختیاری نداشته باشد، این بخش حذف می‌شود. مقدار یک \fBalpm-package-relation\fR از نوع \fBoptional dependency\fR است (مانند \f(CRexample\fR یا \f(CRexample: this is a description\fR). .SS %MAKEDEPENDS% .LP یک وابستگی برای ساخت نرم‌افزار بالادستی بسته. ممکن است یک یا چند مقدار وجود داشته باشد. اگر بسته هیچ وابستگی برای ساخت نداشته باشد، این بخش حذف می‌شود. مقدار یک \fBalpm-package-relation\fR از نوع \fBbuild dependency\fR است (مانند \f(CRexample\fR یا \f(CRexample=1.0.0\fR). .SS %CHECKDEPENDS% .LP یک وابستگی برای اجرای آزمون‌های پروژه بالادستی بسته. ممکن است یک یا چند مقدار وجود داشته باشد. اگر بسته هیچ وابستگی برای آزمون نداشته باشد، این بخش حذف می‌شود. مقدار یک \fBalpm-package-relation\fR از نوع \fBtest dependency\fR است (مانند \f(CRexample\fR یا \f(CRexample=1.0.0\fR). .SH "مثال‌ها (EXAMPLES)" .LP یک مثال کامل از یک فایل \fBalpm-repo-desc\fR برای بسته‌ای به نام \f(CRexample\fR در نسخه \f(CR1.0.0-1\fR: .LP .EX %FILENAME% example-1.0.0-1-any.pkg.tar.zst %NAME% example %BASE% example %VERSION% 1.0.0-1 %DESC% An example package %GROUPS% example-group other-group %CSIZE% 1818463 %ISIZE% 18184634 %SHA256SUM% b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c %PGPSIG% iHUEABYKAB0WIQRizHP4hOUpV7L92IObeih9mi7GCAUCaBZuVAAKCRCbeih9mi7GCIlMAP9ws/jU4f580ZRQlTQKvUiLbAZOdcB7mQQj83hD1Nc/GwD/WIHhO1/OQkpMERejUrLo3AgVmY3b4/uGhx9XufWEbgE= %URL% https://example.org %LICENSE% MIT Apache-2.0 %ARCH% x86_64 %BUILDDATE% 1729181726 %PACKAGER% Foobar McFooface %REPLACES% other-pkg-replaced %CONFLICTS% other-pkg-conflicts %PROVIDES% example-component %DEPENDS% glibc gcc-libs %OPTDEPENDS% bash: for a script %MAKEDEPENDS% cmake %CHECKDEPENDS% bats .EE .PP یک مثال حداقلی از یک فایل \fBalpm-repo-desc\fR برای یک \fBalpm-meta-package\fR به نام \f(CRexample-meta\fR در نسخه \f(CR1.0.0-1\fR: .LP .EX %FILENAME% example-meta-1.0.0-1-any.pkg.tar.zst %NAME% example-meta %BASE% example-meta %VERSION% 1.0.0-1 %DESC% An example meta package %CSIZE% 4634 %ISIZE% 0 %SHA256SUM% b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c %URL% https://example.org %LICENSE% GPL-3.0-or-later %ARCH% any %BUILDDATE% 1729181726 %PACKAGER% Foobar McFooface .EE .SH "همچنین ببینید (SEE ALSO)" .LP \fBlibalpm\fR(3), \fBBUILDINFO\fR(5), \fBPKGBUILD\fR(5), \fBPKGINFO\fR(5), \fBalpm-db-desc\fR(5), \fBalpm-architecture\fR(7), \fBalpm-meta-package\fR(7), \fBalpm-package\fR(7), \fBalpm-package-name\fR(7), \fBalpm-package-relation\fR(7), \fBalpm-package-version\fR(7), \fBalpm-repo-db\fR(7), \fBalpm-split-package\fR(7), \fBpacman\fR(8), \fBrepo-add\fR(8) .SH "یادداشت‌ها (NOTES)" .IP "1." 3 نویسه‌های اسکی قابل چاپ (printable ASCII characters) .IP .UR https://en.wikipedia.org/wiki/ASCII#Printable_characters .UE .IP "2." 3 SHA-256 .IP .UR https://en.wikipedia.org/wiki/SHA-2 .UE .IP "3." 3 Base64 .IP .UR https://en.wikipedia.org/wiki/Base64 .UE .IP "4." 3 امضای OpenPGP (OpenPGP signature) .IP .UR https://openpgp.dev/book/signing_data.html#detached-signatures .UE .IP "5." 3 فهرست مجوزهای SPDX (SPDX License List) .IP .UR https://spdx.org/licenses .UE .IP "6." 3 شناسه کاربری OpenPGP (OpenPGP User ID) .IP .UR https://openpgp.dev/book/certificates.html#user-ids .UE .IP "7." 3 RFC 2822 .IP .UR https://www.rfc-editor.org/rfc/rfc2822 .UE