.\" Copyright (c) 2026 pkgconf authors (see AUTHORS). .\" .\" Permission to use, copy, modify, and/or distribute this software for any .\" purpose with or without fee is hereby granted, provided that the above .\" copyright notice and this permission notice appear in all copies. .\" .\" This software is provided 'as is' and without any warranty, express or .\" implied. In no event shall the authors be liable for any damages arising .\" from the use of this software. .Dd January 22, 2026 .Dt SPDXTOOL 1 .Os .Sh "نام (NAME)" .Nm spdxtool .Nd ابزاری برای تولید سند سیاهه نرم‌افزاری (SBOM) با نمایهٔ SPDX Lite 3.0.1 .Sh "خلاصه دستور (SYNOPSIS)" .Nm .Op Ar options .Ar module ... .Sh "توضیحات (DESCRIPTION)" .Nm برنامه‌ای است که یک سیاههٔ نرم‌افزاری (SBOM) با قالب‌بندی JSON-LD تحت نمایهٔ SPDX Lite 3.0.1 برای مجموعه‌ای مشخص از ماژول‌های pkg-config تولید می‌کند. خروجی این ابزار می‌تواند در صورت نیاز به سایر قالب‌های SBOM تبدیل شود. .Pp مستندات بیشتر دربارهٔ SPDX 3.0.1 را می‌توان در نشانی زیر یافت: .Lk https://spdx.github.io/spdx-spec/v3.0.1 .Pp .Ar options به شرح زیر هستند: .Bl -tag -width indent .It Fl -about چاپ شمارهٔ نسخه، اعلان حق نشر و مجوز برنامهٔ .Nm در خروجی استاندارد و خروج. بیشتر گزینه‌های دیگر و تمام آرگومان‌های خط فرمان نادیده گرفته می‌شوند. .It Fl -version چاپ شمارهٔ نسخهٔ برنامهٔ .Nm در خروجی استاندارد و خروج. بیشتر گزینه‌های دیگر و تمام آرگومان‌های خط فرمان نادیده گرفته می‌شوند. .It Fl -agent-name تنظیم ویژگی name در کلاس /Core/Agent. مقدار پیش‌فرض \(aqDefault\(aq است. .It Fl -creation-time تنظیم ویژگی زمان ایجاد در کلاس /Core/CreationInfo. مستندات SPDX توصیه می‌کند از زمان با قالب‌بندی ISO 8601 استفاده شود که عبارت است از: YYYY-MM-DDThh:mm:ssZ. پیش‌فرض زمان ایجاد سند است. این گزینه بر متغیر محیطی .Ev SOURCE_DATE_EPOCH اولویت دارد. .It Fl -creation-id تنظیم شناسهٔ ایجاد در کلاس /Core/CreationInfo. از آنجا که شناسه در اطلاعات ایجاد اغلب قالبی ویژه دارد، مقدار پیش‌فرض آن \(aq_:creationinfo_1\(aq است. .It Fl -define-variable Ns = Ns Ar varname Ns = Ns Ar value تعریف .Ar varname به‌عنوان .Ar value . متغیرها در خروجی پرس‌وجو استفاده می‌شوند و نتایج برخی ماژول‌ها ممکن است بر اساس وجود یک تعریف متغیر تغییر کند. .El .Sh "محیط (ENVIRONMENT)" .Bl -tag -width indent .It Ev PKG_CONFIG_DEBUG_SPEW در صورت تنظیم، پیام‌های اشکال‌زدایی را در خروجی خطای استاندارد (stderr) چاپ می‌کند. .It Ev PKG_CONFIG_IGNORE_CONFLICTS در صورت تنظیم، قواعد .Ic Conflicts را در ماژول‌ها نادیده می‌گیرد. اثری مشابه گزینهٔ .Fl -ignore-conflicts در .Xr pkgconf 1 دارد. .It Ev PKG_CONFIG_LIBDIR فهرستی از پوشه‌های با اولویت پایین جداشده با دو نقطه (:) که پرونده‌های .Xr pc 5 در آن‌ها جستجو می‌شوند. مسیر جستجوی ماژول با پیوست کردن این فهرست به .Ev PKG_CONFIG_PATH که اولویت بالاتری دارد ساخته می‌شود. اگر .Ev PKG_CONFIG_LIBDIR تعریف نشده باشد، فهرست پیش‌فرضی که از ماکروی پیش‌پردازندهٔ .Dv PKG_DEFAULT_PATH در برنامهٔ .Nm کامپایل شده است، پیوست می‌شود. اگر .Ev PKG_CONFIG_LIBDIR تعریف شده باشد اما خالی باشد، چیزی پیوست نمی‌شود. .It Ev PKG_CONFIG_MAXIMUM_TRAVERSE_DEPTH اعمال محدودیت بر عمق مجاز در گراف وابستگی. .It Ev PKG_CONFIG_PATH فهرستی از پوشه‌های با اولویت بالا جداشده با دو نقطه (:) که پرونده‌های .Xr pc 5 در آن‌ها جستجو می‌شوند. .It Ev PKG_CONFIG_PRELOADED_FILES فهرستی از پرونده‌های .Xr pc 5 جداشده با دو نقطه (:) که پیش از هر پروندهٔ pkg-config دیگری بارگذاری می‌شوند. این بسته‌ها نسبت به هر پروندهٔ .Xr pc 5 دیگری که آن بسته را فراهم می‌کردند، بالاترین اولویت را دریافت می‌کنند. .It Ev SOURCE_DATE_EPOCH در صورت تنظیم و عدم ارائهٔ گزینهٔ .Fl -creation-time Ns ، زمان ایجاد در کلاس /Core/CreationInfo به‌جای زمان فعلی از این برچسب زمان یونیکس (UNIX timestamp) مشتق می‌شود و امکان تولید تکرارپذیر SBOM را فراهم می‌سازد. .El .Sh "وضعیت خروج (EXIT STATUS)" .Ex -std .Sh "مثال‌ها (EXAMPLES)" تولید یک SBOM برای بسته‌ای به نام foo: .Dl $ spdxtool foo .Dl { .Dl "@context": "https://spdx.org/rdf/3.0.1/spdx-context.jsonld", .Dl "@graph": [ .Dl { .Dl "type": "Agent", .Dl "creationInfo": "_:creationinfo_1", .Dl "spdxId": "https://github.com/pkgconf/pkgconf/Agent/default", .Dl "name": "Default" .Dl }, .Dl { .Dl "type": "CreationInfo", .Dl "@id": "_:creationinfo_1", .Dl [...] .Sh "همچنین ببینید (SEE ALSO)" .Xr pc 5 , .Xr pkgconf 1