'\" t .\" Title: copr-cli .\" Author: [see the "AUTHORS" section] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 08/12/2026 .\" Manual: COPR .\" Source: copr .\" Language: English .\" .TH "COPR\-CLI" "1" "08/12/2026" "copr" "COPR" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "نام (NAME)" copr-cli \- واسط خط فرمان برای سرویس Copr .SH "خلاصه دستور (SYNOPSIS)" .sp copr\-cli [\-h] [\-\-version] [\-\-config CONFIG] {list,create,build} \&... .SH "توضیحات (DESCRIPTION)" .sp این دستور به شما امکان می‌دهد از طریق خط فرمان با سرویس Copr تعامل داشته باشید\&. .sp ابتدا باید احراز هویت را پیکربندی کنید (بخش احراز هویت را در زیر ببینید)\&. .SH "گزینه‌ها (OPTIONS)" .PP \-h, \-\-help .RS 4 نمایش این پیام راهنما و خروج .RE .PP \-\-version .RS 4 نمایش شماره نسخه برنامه و خروج .RE .PP \-\-config .RS 4 مسیر پرونده پیکربندی جایگزین (پیش‌فرض ~/\&.config/copr است)\&. .RE .SH "فهرست اقدامات (ACTION LIST)" .PP list [username|@groupname] .RS 4 فهرست کردن تمام پروژه‌های نام کاربری ارائه‌شده\&. اگر نام کاربری داده نشود، پروژه‌های خودتان فهرست می‌شوند\&. .RE .PP create .RS 4 ایجاد یک پروژه جدید\&. .RE .PP delete .RS 4 حذف کامل یک پروژه\&. .RE .PP build .RS 4 ساخت بسته‌ها برای یک پروژه مشخص\&. .RE .PP status .RS 4 دریافت وضعیت ساخت (build)\&. .RE .PP cancel .RS 4 لغو ساخت با شناسه داده‌شده\&. .RE .PP download\-build .RS 4 بارگیری یک ساخت در پوشه محلی\&. .RE .PP modify .RS 4 ویرایش copr موجود\&. .RE .PP regenerate\-repos .RS 4 تولید مجدد متادیتای مخزن برای یک پروژه\&. .RE .PP add\-package\-* .RS 4 افزودن یک بسته جدید از نوع منبع مشخص (مانند add\-package\-tito)\&. .RE .PP edit\-package\-* .RS 4 ویرایش تعریف و نوع منبع یک بسته موجود (مانند edit\-package\-tito)\&. .RE .PP list\-packages .RS 4 فهرست کردن تمام بسته‌های یک copr در قالب json\&. .RE .PP list\-package\-names .RS 4 خروجی دادن صرفاً نام بسته‌ها از copr مشخص‌شده\&. .RE .PP get\-package .RS 4 نمایش جزئیات یک بسته تکی در قالب json\&. .RE .PP delete\-package .RS 4 حذف بسته از یک copr و تمام ساخت‌های مربوط به آن\&. .RE .PP reset\-package .RS 4 پاک‌سازی تعریف منبع یک بسته و نوع منبع آن\&. .RE .PP build\-package .RS 4 ساخت بسته بر اساس تعریف منبع آن\&. .RE .PP mock\-config .RS 4 دریافت نمایه mock (مشابه با koji mock\-config)\&. .RE .PP edit\-permissions .RS 4 ویرایش نقش‌ها/مجوزها در یک پروژه copr\&. .RE .PP list\-permissions .RS 4 چاپ نقش‌ها/مجوزهای پروژه copr\&. .RE .PP request\-permissions .RS 4 درخواست (یا رد) نقش خود در پروژه copr\&. .RE .SH "اقدامات پروژه (PROJECT ACTIONS)" .SS "copr\-cli create [options]" .sp usage: copr\-cli create [\-h] \-\-chroot CHROOTS [\-\-repo REPOS] [\-\-initial\-pkgs PKGS] [\-\-description DESCRIPTION] [\-\-instructions INSTRUCTIONS] [\-\-disable_createrepo DISABLE_CREATEREPO] [\-\-enable\-net {on,off}] [\-\-unlisted\-on\-hp {on,off}] [\-\-persistent] [\-\-auto\-prune {on,off}] [\-\-isolation {default, nspawn, simple}] name .PP \-\-chroot .RS 4 محیط chroot مورد استفاده برای این پروژه\&. می‌تواند چندین بار مشخص شود، اما حداقل یک مورد باید وجود داشته باشد\&. .RE .PP \-\-repo .RS 4 مخزن برای افزودن به این پروژه\&. می‌تواند چندین بار تعیین شود\&. .RE .PP \-\-initial\-pkgs .RS 4 فهرست بسته‌ها برای ساخت در این پروژه جدید\&. می‌تواند چندین بار تکرار شود\&. .RE .PP \-\-description .RS 4 توضیحات پروژه\&. .RE .PP \-\-instructions .RS 4 راهنما و دستورالعمل‌های پروژه\&. .RE .PP \-\-disable_createrepo .RS 4 غیرفعال کردن تولید خودکار متادیتای مخزن\&. مقادیر پذیرفته‌شده برای DISABLE_CREATEREPO برابر با true/false است\&. .RE .PP \-\-enable\-net .RS 4 آیا شبکه برای ساخت‌ها در این پروژه فعال باشد یا خیر\&. .RE .PP \-\-unlisted\-on\-hp .RS 4 این پروژه در صفحه اصلی COPR فهرست نخواهد شد\&. .RE .PP \-\-persistent .RS 4 پروژه و ساخت‌های آن غیرقابل حذف خواهند بود\&. این گزینه فقط توسط مدیر COPR قابل تعیین است\&. .RE .PP \-\-auto\-prune .RS 4 آیا اسکریپت هرس خودکار (auto-pruning) بک‌اند برای این پروژه اجرا شود یا خیر\&. این گزینه فقط توسط مدیر COPR تعیین می‌شود\&. .RE .PP \-\-isolation ISOLATION .RS 4 انتخاب روش جداسازی برای اجرای دستورات در buildroot\&. .RE .PP name .RS 4 می‌تواند نام ساده پروژه یا در قالب username/projectname یا @groupname/projectname باشد\&. .RE .SS "copr\-cli modify [options]" .sp usage: copr\-cli modify [\-h] [\-\-repo REPOS] [\-\-chroot CHROOTS] [\-\-description DESCRIPTION] [\-\-instructions INSTRUCTIONS] [\-\-disable_createrepo DISABLE_CREATEREPO] [\-\-enable\-net {on,off}] [\-\-unlisted\-on\-hp {on,off}] [\-\-auto\-prune {on,off}] [\-\-isolation {default, nspawn, simple}] name .sp تنها ویژگی‌های مشخص‌شده پروژه را تغییر می‌دهد\&. .PP \-\-repo .RS 4 مخزن برای افزودن به این پروژه\&. می‌تواند چندین بار مشخص شود\&. .RE .PP \-\-chroot .RS 4 محیط chroot مورد استفاده برای این پروژه\&. می‌تواند چندین بار مشخص شود\&. زمانی که این گزینه استفاده نشود، chrootهای پروژه بدون تغییر باقی می‌مانند\&. هنگامی که یک chroot را مشخص کنید، در پروژه فعال می‌شود، اما chrootهای فعلی در صورتی که مشخص نشده باشند حفظ نخواهند شد\&. .RE .PP \-\-description .RS 4 توضیحات پروژه\&. .RE .PP \-\-instructions .RS 4 دستورالعمل‌های پروژه\&. .RE .PP \-\-disable_createrepo .RS 4 غیرفعال کردن تولید خودکار متادیتای مخزن\&. مقادیر مجاز برای DISABLE_CREATEREPO برابر با true/false است\&. .RE .PP \-\-enable\-net .RS 4 آیا شبکه برای ساخت‌ها در این پروژه فعال باشد یا خیر\&. .RE .PP \-\-unlisted\-on\-hp .RS 4 این پروژه در صفحه اصلی COPR فهرست نخواهد شد\&. .RE .PP \-\-auto\-prune .RS 4 آیا اسکریپت هرس خودکار برای این پروژه اجرا شود یا خیر\&. این گزینه فقط توسط مدیر COPR تعیین می‌شود\&. .RE .PP \-\-isolation ISOLATION .RS 4 انتخاب روش جداسازی برای اجرای دستورات در buildroot\&. .RE .PP name .RS 4 می‌تواند فقط نام پروژه باشد یا در قالب username/projectname یا @groupname/projectname\&. .RE .SS "copr\-cli regenerate\-repos [options]" .sp usage: copr\-cli regenerate\-repos [\-h] copr .PP copr .RS 4 می‌تواند فقط نام پروژه باشد یا در قالب username/projectname یا @groupname/projectname\&. .RE .SH "اقدامات ساخت (BUILD ACTIONS)" .SS "copr\-cli build [options]" .sp usage: copr\-cli build [\-h] [\-r, \-\-chroot CHROOTS] [\-\-memory MEMORY] [\-\-timeout TIMEOUT] [\-\-nowait] [\-\-background] [\-\-isolation {default, nspawn, simple}] [\-\-enable\-net {on,off}] copr_repo PKG [PKG \&...] .PP \-r, \-\-chroot .RS 4 اگر نیازی به این ساخت برای تمام chrootهای پروژه ندارید\&. می‌توانید چندین بار برای هر chroot مورد نیاز از آن استفاده کنید\&. از الگوهای گلوب (glob) پشتیبانی می‌کند\&. .RE .PP \-\-exclude\-chroot .RS 4 اگر نیازی به این ساخت برای تمام chrootهای پروژه ندارید\&. می‌توانید چندین بار برای هر chroot که نیاز ندارید از آن استفاده کنید\&. از الگوهای گلوب پشتیبانی می‌کند\&. .RE .PP \-\-memory .RS 4 بازنویسی مقدار حافظه برای این ساخت\&. این گزینه در عمل استفاده نمی‌شود و هیچ تاثیری ندارد\&. .RE .PP \-\-timeout .RS 4 تعیین مهلت زمانی ساخت (بر حسب ثانیه)؛ اگر ساخت بیشتر از این طول بکشد، متوقف شده و با شکست مواجه می‌شود\&. مقدار پیش‌فرض معمولاً در بخش فرانت‌اند Copr روی ۵ ساعت تنظیم شده است\&. .RE .PP \-\-nowait .RS 4 عدم انتظار برای اتمام ساخت\&. .RE .PP \-\-background .RS 4 اجرای ساخت با اولویت پایین‌تر\&. .RE .PP \-\-isolation ISOLATION .RS 4 انتخاب روش جداسازی برای اجرای دستورات در buildroot\&. .RE .PP \-\-enable\-net .RS 4 آیا شبکه برای این ساخت فعال باشد یا خیر\&. .RE .PP copr_repo .RS 4 مخزن copr که بسته باید در آن ساخته شود\&. این می‌تواند نام ساده‌ای از پروژه‌های شما باشد یا به‌صورت کامل در قالب username/project یا @groupname/project مشخص شود\&. بدین ترتیب در صورتی که دسترسی داشته باشید، می‌توانید در پروژه یک کاربر یا گروه دیگر ساخت انجام دهید\&. در نهایت، به‌جای فقط نام پروژه، می‌توانید project:tag را نیز ارسال کنید\&. در آن حالت، ساخت به‌جای مخزن اصلی وارد مخزن جانبی پروژه می‌شود\&. در صورتی که مخزن جانبی با نام project:tag هنوز وجود نداشته باشد، به‌طور خودکار ایجاد خواهد شد\&. برای نمونه می‌توانید از این قابلیت برای ساخت‌های آزمایشی استفاده کنید در حالی که مخزن اصلی بدون تغییر می‌ماند\&. می‌توانید هر برچسب مناسبی را برای ساخت(های) مشخص‌شده تعیین کنید\&. .RE .PP PKG .RS 4 این می‌تواند یک پرونده در ایستگاه کاری محلی شما یا نشانی اینترنتی (URL) بسته‌ای باشد که می‌خواهید بسازید\&. هنگام استفاده از نشانی وب، بسته باید روی یک وب‌سرور عمومی یا سرور ftp قرار داشته باشد\&. توجه داشته باشید که نمی‌توانید مسیر پرونده‌های محلی و آدرس‌های URL را در یک خط فرمان با هم ترکیب کنید و ساخت‌های با فایل محلی به نخستین PKG تعیین‌شده محدود می‌شوند\&. این محدودیت از API سرویس COPR ناشی می‌شود\&. .RE .SS "copr\-cli uploadrpm [options]" .sp usage: copr\-cli uploadrpm [\-h] [\-r, \-\-chroot CHROOTS] [\-\-memory MEMORY] [\-\-timeout TIMEOUT] [\-\-nowait] [\-\-background] copr_repo RPM .sp انتشار یک فایل RPM محلی که از قبل ساخته شده است مستقیماً در یک پروژه، بدون نیاز به اجرای مرحله ساخت SRPM\&. .sp برای مشاهده آرگومان‌ها، دستور copr\-cli build در بالا را ببینید\&. .PP RPM .RS 4 مسیر محلی پرونده rpm\&. که از قبل ساخته شده است جهت انتشار\&. .RE .SS "copr\-cli buildpypi [options]" .sp usage: copr buildpypi [\-h] [\-r, \-\-chroot CHROOTS] [\-\-memory MEMORY] [\-\-timeout TIMEOUT] [\-\-nowait] [\-\-background] [\-\-with\-deps] [\-\-pythonversions [VERSION [VERSION \&...]]] [\-\-packageversion PYPIVERSION] \-\-packagename PYPINAME project .PP \-\-pythonversions [VERSION [VERSION \&...]] .RS 4 ساخت برای چه نسخه‌هایی از پایتون انجام شود (به‌طور پیش‌فرض: 3 2) .RE .PP \-\-packageversion PYPIVERSION .RS 4 نسخه بسته PyPI جهت ساخت (پیش‌فرض: آخرین نسخه) .RE .PP \-\-packagename PYPINAME .RS 4 نام بسته PyPI برای ساخت، الزامی است\&. .RE .PP \-\-with\-deps .RS 4 ساخت وابستگی‌های بسته نیز انجام شود\&. درخت وابستگی توسط کتابخانه coprtree حل می‌شود\&. نیازمند نصب بودن بسته python3\-coprtree است\&. لطفاً اشکالات در حل وابستگی را در نشانی زیر گزارش کنید: https://github\&.com/sundaram123krishnan/coprtree .RE .sp برای سایر آرگومان‌ها، دستور copr\-cli build در بالا را ببینید\&. .SS "copr\-cli buildscm [options]" .sp usage: copr buildscm [\-h] \-\-clone\-url CLONE_URL [\-\-commit COMMITTISH] [\-\-subdir SUBDIRECTORY] [\-\-spec SPEC] [\-\-type {git,svn}] [\-\-method {rpkg,tito,tito_test,make_srpm}] [\-\-memory MEMORY] [\-\-timeout TIMEOUT] [\-\-nowait] [\-r CHROOTS] [\-\-background] copr_repo .sp ساخت بسته از یک مخزن Git/DistGit/SVN\&. .PP \-\-clone\-url CLONE_URL .RS 4 نشانی کلون یک پروژه با سیستم کنترل نسخه Git یا SVN، الزامی است .RE .PP \-\-commit COMMITISH .RS 4 نام شاخه، برچسب، یا هش گیت که باید ساخته شود .RE .PP \-\-subdir SUBDIRECTORY .RS 4 مسیر نسبی از ریشه مخزن به محتوای بسته .RE .PP \-\-spec SPEC .RS 4 مسیر نسبی از زیرپوشه به پرونده spec\&. .RE .PP \-\-type TYPE .RS 4 تعیین ابزار کنترل نسخه\&. پیش‌فرض \fIgit\fR است\&. .RE .PP \-\-method METHOD .RS 4 روش ساخت Srpm\&. پیش‌فرض \fIrpkg\fR است\&. .RE .sp برای سایر آرگومان‌ها، دستور copr\-cli build در بالا را بررسی کنید\&. .SS "copr\-cli download\-build [options]" .sp usage: copr\-cli download\-build [\-h] [\-d, \-\-dest DESTINATION] [\-r, \-\-chroot CHROOT] build_id .PP build_id .RS 4 بارگیری بسته‌های ساخته‌شده برای شناسه ساخت مشخص‌شده توسط build_id\&. .RE .PP \-d, \-\-dest .RS 4 دایرکتوری پایه برای ذخیره بسته‌ها .RE .PP \-r, \-\-chroot .RS 4 فقط دریافت chrootهای انتخاب‌شده\&. می‌تواند چندین بار مشخص شود\&. .RE .SS "copr\-cli delete\-build [options]" .sp usage: copr delete\-build [\-h] build_id [build_id \&...] .PP build_id .RS 4 شناسه ساختی که باید حذف شود\&. می‌تواند چندین بار تکرار شود\&. توجه داشته باشید که تعیین چندین build_id بسیار سریع‌تر از اجرای مکرر copr delete\-build است، زیرا در حالت نخست createrepo فقط یک بار اجرا می‌شود\&. .RE .SH "مثال‌ها (EXAMPLES)" .sp .if n \{\ .RS 4 .\} .nf copr\-cli build myproject some\&.src\&.rpm copr\-cli build someone_else/project some\&.src\&.rpm copr\-cli build \-r fedora\-24\-x86_64 \-r fedora\-24\-i386 "@somegroup/project" some\&.src\&.rpm .fi .if n \{\ .RE .\} .SH "اقدامات CHROOT (CHROOT ACTIONS)" .SS "copr\-cli edit\-chroot [options] coprchroot" .sp usage: copr edit\-chroot [\-h] [\-\-upload\-comps FILEPATH | \-\-delete\-comps] [\-\-packages PACKAGES] [\-\-repos REPOS] [\-\-isolation {default, nspawn, simple}] coprchroot .sp ویرایش coprchroot مشخص‌شده\&. .PP coprchroot .RS 4 مسیر به chroot پروژه به صورت owner/project/chroot یا project/chroot .RE .PP \-\-upload\-comps FILEPATH .RS 4 مسیر پرونده comps\&.xml برای بارگذاری .RE .PP \-\-delete\-comps .RS 4 حذف comps\&.xml موجود برای chroot .RE .PP \-\-packages PACKAGES .RS 4 رشته‌ای از نام بسته‌ها جداشده با فاصله برای افزودن به buildroot (مثلاً "gcc ghc") .RE .PP \-\-repos REPOS .RS 4 رشته‌ای از نشانی‌های اینترنتی مخازن اضافی جداشده با فاصله برای chroot (مانند "http://foo http://bar") .RE .PP \-\-isolation ISOLATION .RS 4 انتخاب روش جداسازی برای اجرای دستورات در buildroot .RE .SS "copr\-cli get\-chroot coprchroot" .sp usage: copr get\-chroot [\-h] coprchroot [\-\-output\-format {json, text, text\-row}] .sp چاپ اطلاعات chroot مشخص‌شده\&. .PP coprchroot .RS 4 مسیر به chroot پروژه به صورت owner/project/chroot یا project/chroot .RE .PP \-\-output\-format FORMAT .RS 4 تنظیم شیوه قالب‌بندی خروجی\&. توصیه می‌کنیم از json استفاده کنید که داده‌های درخواستی را در قالب json چاپ می‌کند\&. قالب text داده‌ها را در یک ستون با یک مورد در هر خط نمایش می‌دهد\&. قالب text\-row تمام اطلاعات را با فاصله در یک خط چاپ می‌نماید\&. .RE .SH "اقدامات مجوز (PERMISSION ACTIONS)" .SS "copr\-cli edit\-permissions [options]" .sp usage: copr\-cli edit\-permissions [\-h] [\-\-admin USERNAME[=VALUE]] [\-\-builder USERNAME[=VALUE]] PROJECT .sp ویرایش نقش‌ها/مجوزها در یک پروژه copr\&. .PP PROJECT .RS 4 یک پروژه copr موجود\&. .RE .PP \-\-admin USERNAME[=VALUE] .RS 4 تنظیم نقش \fIadmin\fR برای USERNAME در PROJECT؛ مقدار VALUE می‌تواند یکی از موارد \fIapproved|request|nothing\fR باشد (پیش‌فرض=approved)\&. .RE .PP \-\-builder USERNAME[=VALUE] .RS 4 تنظیم نقش \fIbuilder\fR برای USERNAME در PROJECT؛ مقدار VALUE می‌تواند یکی از موارد \fIapproved|request|nothing\fR باشد (پیش‌فرض=approved)\&. .RE .SS "copr\-cli list\-permissions [options]" .sp usage: copr\-cli list\-permissions [\-h] PROJECT .sp چاپ نقش‌ها/مجوزهای پروژه copr\&. .PP PROJECT .RS 4 یک پروژه copr موجود\&. .RE .SS "copr\-cli request\-permissions [options]" .sp usage: copr\-cli request\-permissions [\-h] [\-\-admin [VALUE]] [\-\-builder [VALUE]] PROJECT .sp درخواست (یا رد) نقش خود در پروژه copr\&. .PP PROJECT .RS 4 یک پروژه copr موجود\&. .RE .PP \-\-admin [VALUE] .RS 4 درخواست/لغو درخواست/حذف دسترسی‌های \fIadmin\fR شما در PROJECT\&. مقدار VALUE می‌تواند یکی از گزینه‌های \fIrequest|nothing\fR باشد (پیش‌فرض=request)\&. .RE .PP \-\-builder [VALUE] .RS 4 درخواست/لغو درخواست/حذف دسترسی‌های \fIbuilder\fR شما در PROJECT\&. مقدار VALUE می‌تواند یکی از گزینه‌های \fIrequest|nothing\fR باشد (پیش‌فرض=request)\&. .RE .SH "اقدامات بسته (PACKAGE ACTIONS)" .SS "copr\-cli add\-package\-pypi [options]" .sp usage: copr add\-package\-pypi [\-h] [\-\-pythonversions [VERSION [VERSION \&...]]] [\-\-packageversion PYPIVERSION] \-\-packagename PYPINAME \-\-name PKGNAME [\-\-webhook\-rebuild {on,off}] [\-\-chroot\-denylist CHROOT_DENYLIST] project .sp افزودن بسته از نوع منبع \fIPyPI\fR\&. .PP \-\-pythonversions [VERSION [VERSION \&...]] .RS 4 ساخت برای چه نسخه‌هایی از پایتون صورت گیرد (پیش‌فرض: 3 2) .RE .PP \-\-packageversion PYPIVERSION .RS 4 نسخه بسته PyPI برای ساخت (پیش‌فرض: آخرین نسخه) .RE .PP \-\-packagename PYPINAME .RS 4 نام بسته PyPI برای ساخت، الزامی است .RE .PP \-\-name PKGNAME .RS 4 نام بسته برای ویرایش یا ایجاد .RE .PP \-\-webhook\-rebuild {on,off} .RS 4 فعال‌سازی ساخت مجدد خودکار (auto-rebuilding) .RE .PP \-\-chroot\-denylist CHROOT_DENYLIST .RS 4 فهرستی جداشده با کاما از الگوهای جانشین (wildcard) برای chrootهایی که باید از ساخت‌ها مستثنی شوند، برای نمونه \fIfedora\-\fR\fI\fB,epel\-\fR\fR\fI\-i386\fR .RE .SS "copr\-cli edit\-package\-pypi [options]" .sp usage: copr edit\-package\-pypi [\-h] [\-\-pythonversions [VERSION [VERSION \&...]]] [\-\-packageversion PYPIVERSION] \-\-packagename PYPINAME \-\-name PKGNAME [\-\-webhook\-rebuild {on,off}] [\-\-chroot\-denylist CHROOT_DENYLIST] project .sp ویرایش تعریف و نوع منبع یک بسته موجود\&. گزینه‌ها با add\-package\-pypi مشترک هستند\&. .sp copr\-cli add\-package\-scm [options] .sp .if n \{\ .RS 4 .\} .nf usage: copr add\-package\-scm [\-h] \-\-clone\-url CLONE_URL [\-\-commit COMMITTISH] [\-\-subdir SUBDIRECTORY] [\-\-spec SPEC] [\-\-type {git,svn}] [\-\-method {rpkg,tito,tito_test,make_srpm}] \-\-name PKGNAME [\-\-webhook\-rebuild {on,off}] [\-\-chroot\-denylist CHROOT_DENYLIST] copr Add package of SCM source type\&. \-\-clone\-url CLONE_URL:: clone url to a project versioned by Git or SVN, required \-\-commit COMMITISH:: branch name, tag name, or git hash to be built \-\-subdir SUBDIRECTORY:: relative path from the repo root to the package content \-\-spec SPEC:: relative path from the subdirectory to the \&.spec file \-\-type TYPE:: Specify versioning tool\&. Default is \*(Aqgit\*(Aq\&. \-\-method METHOD:: Srpm build method\&. Default is \*(Aqrpkg\*(Aq\&. \-\-name PKGNAME:: Name of the package to be edited or created \-\-webhook\-rebuild {on,off}:: Enable auto\-rebuilding \-\-chroot\-denylist CHROOT_DENYLIST:: Comma\-separated list of wildcard patterns of chroots to exclude from builds, e\&.g\&. \*(Aqfedora\-*,epel\-*\-i386\*(Aq `copr\-cli edit\-package\-scm [options]` .fi .if n \{\ .RE .\} .sp usage: copr edit\-package\-scm [\-h] \-\-clone\-url CLONE_URL [\-\-commit COMMITTISH] [\-\-subdir SUBDIRECTORY] [\-\-spec SPEC] [\-\-type {git,svn}] [\-\-method {rpkg,tito,tito_test,make_srpm}] \-\-name PKGNAME [\-\-webhook\-rebuild {on,off}] [\-\-chroot\-denylist CHROOT_DENYLIST] copr .sp ویرایش بسته از نوع منبع SCM\&. .SS "copr\-cli add\-package\-rubygems [options]" .sp usage: copr add\-package\-rubygems [\-h] [\-\-gem GEM] \-\-name PKGNAME [\-\-webhook\-rebuild {on,off}] [\-\-chroot\-denylist CHROOT_DENYLIST] project .sp افزودن بسته از نوع منبع \fIRubyGems\fR\&. .PP \-\-gem GEM .RS 4 تعیین نام gem .RE .PP \-\-name PKGNAME .RS 4 نام بسته برای ویرایش یا ایجاد .RE .PP \-\-webhook\-rebuild {on,off} .RS 4 فعال‌سازی ساخت مجدد خودکار .RE .PP \-\-chroot\-denylist CHROOT_DENYLIST .RS 4 فهرستی جداشده با کاما از الگوهای جانشین مربوط به chrootها جهت مستثنی شدن از ساخت‌ها، مثلاً \fIfedora\-\fR\fI\fB,epel\-\fR\fR\fI\-i386\fR .RE .SS "copr\-cli edit\-package\-rubygems [options]" .sp usage: copr edit\-package\-rubygems [\-h] [\-\-gem GEM] \-\-name PKGNAME [\-\-webhook\-rebuild {on,off}] [\-\-chroot\-denylist CHROOT_DENYLIST] project .sp ویرایش تعریف و نوع منبع یک بسته موجود\&. گزینه‌ها با add\-package\-rubygems مشترک هستند\&. .SS "copr\-cli add\-package\-custom [options]" .sp usage: copr add\-package\-custom [\-h] \-\-script SCRIPT [\-\-script\-chroot SCRIPT_CHROOT] [\-\-script\-builddeps SCRIPT_BUILDDEPS] [\-\-script\-resultdir SCRIPT_RESULTDIR] [\-\-script\-repos SCRIPT_REPOS] \-\-name PKGNAME [\-\-webhook\-rebuild {on,off}] [\-\-chroot\-denylist CHROOT_DENYLIST] [\-\-max\-builds MAX_BUILDS] [\-\-timeout TIMEOUT] project .sp افزودن بسته از نوع منبع \fICustom\fR\&. .PP \-\-script SCRIPT .RS 4 پرونده متنی (اسکریپت) برای استفاده جهت آماده‌سازی سورس‌ها .RE .PP \-\-script\-chroot SCRIPT_CHROOT .RS 4 محیط Mock chroot برای ساخت منابع SRPM در آن .RE .PP \-\-script\-builddeps SCRIPT_BUILDDEPS .RS 4 فهرستی از بسته‌های مورد نیاز جداشده با فاصله برای ساخت سورس‌ها .RE .PP \-\-script\-resultdir SCRIPT_RESULTDIR .RS 4 محلی که SCRIPT نتیجه را در آن تولید می‌کند، به‌صورت نسبی نسبت به PWD$ اسکریپت (پیش‌فرض \fI\&.\fR است) .RE .PP \-\-script\-repos SCRIPT_REPOS .RS 4 رشته‌ای از نشانی‌های وب مخازن اضافه جداشده با فاصله برای وابستگی‌های اسکریپت .RE .PP \-\-name PKGNAME .RS 4 نام بسته برای ایجاد یا ویرایش .RE .PP \-\-webhook\-rebuild {on,off} .RS 4 فعال‌سازی ساخت مجدد خودکار\&. .RE .PP \-\-chroot\-denylist CHROOT_DENYLIST .RS 4 فهرستی جداشده با کاما از الگوهای جانشین chroot برای مستثنی شدن از ساخت‌ها، مانند \fIfedora\-\fR\fI\fB,epel\-\fR\fR\fI\-i386\fR .RE .PP \-\-max\-builds MAX_BUILDS .RS 4 فقط نگه‌داشتن تعداد مشخص‌شده از جدیدترین ساخت‌ها بر اساس شناسه (جمع‌آوری‌کننده زباله به‌صورت روزانه اجرا می‌شود)، مقدار صفر آن را غیرفعال می‌کند (پیش‌فرض) .RE .PP \-\-timeout TIMEOUT .RS 4 تعداد ثانیه‌های مجاز برای اجرای ساخت‌ها، مقدار پیش‌فرض ۱۸۰۰۰ ثانیه (۵ ساعت) است .RE .SS "copr\-cli edit\-package\-custom [options]" .sp usage: copr edit\-package\-custom [\-h] \-\-script SCRIPT [\-\-script\-chroot SCRIPT_CHROOT] [\-\-script\-builddeps SCRIPT_BUILDDEPS] [\-\-script\-resultdir SCRIPT_RESULTDIR] [\-\-script\-repos SCRIPT_REPOS] \-\-name PKGNAME [\-\-webhook\-rebuild {on,off}] [\-\-chroot\-denylist CHROOT_DENYLIST] [\-\-max\-builds MAX_BUILDS] [\-\-timeout TIMEOUT] project .sp ویرایش تعریف و نوع منبع یک بسته موجود\&. گزینه‌ها با add\-package\-custom مشترک هستند\&. .SS "copr\-cli list\-packages [options]" .sp usage: copr list\-packages [\-h] [\-\-with\-latest\-build] [\-\-with\-latest\-succeeded\-build] [\-\-with\-all\-builds] [\-\-output\-format {json, text, text\-row}] project .sp فهرست کردن تمام بسته‌های موجود در پروژه داده‌شده در قالب json\&. .PP \-\-with\-latest\-build .RS 4 همچنین نمایش داده‌های مربوط به جدیدترین ساخت برای هر بسته\&. .RE .PP \-\-with\-latest\-succeeded\-build .RS 4 همچنین نمایش داده‌های مربوط به جدیدترین ساخت موفق برای هر بسته\&. .RE .PP \-\-with\-all\-builds .RS 4 همچنین نمایش داده‌های مربوط به تمام ساخت‌ها برای هر بسته\&. .RE .PP \-\-output\-format FORMAT .RS 4 تنظیم قالب خروجی\&. پیشنهاد می‌کنیم از json استفاده کنید که داده‌های درخواستی را در قالب json چاپ می‌کند\&. قالب text داده‌ها را در یک ستون با یک مورد در هر خط چاپ می‌نماید\&. قالب text\-row تمام اطلاعات را با یک فاصله در یک خط چاپ می‌کند\&. .RE .SS "copr\-cli list\-package\-names [options]" .sp usage: copr list\-package\-names [\-h] project .sp فقط فهرست کردن نام بسته‌ها در پروژه داده‌شده خط به خط\&. .SS "copr\-cli get\-package [options]" .sp usage: copr get\-package [\-h] \-\-name PKGNAME [\-\-with\-latest\-build] [\-\-with\-latest\-succeeded\-build] [\-\-with\-all\-builds] [\-\-output\-format {json, text, text\-row}] project .sp مشابه list\-packages است اما فقط یک بسته را مستقیماً به‌صورت ساختار json برمی‌گرداند (بدون قرار گرفتن درون لیست)\&. .PP \-\-output\-format FORMAT .RS 4 تنظیم قالب خروجی\&. استفاده از json توصیه می‌شود\&. قالب text داده‌ها را در یک ستون و text\-row داده‌ها را با فاصله در یک خط چاپ می‌کند\&. .RE .SS "copr\-cli delete\-package [options]" .sp usage: copr delete\-package [\-h] \-\-name PKGNAME project .sp حذف بسته و تمام ساخت‌های آن از پروژه داده‌شده\&. .SS "copr\-cli reset\-package [options]" .sp usage: copr reset\-package [\-h] \-\-name PKGNAME project .sp پاک کردن منبع پیش‌فرض یک بسته و نوع منبع آن (تمام تنظیمات بسته پس از فراخوانی این دستور از بین می‌روند!)\&. .SS "copr\-cli build\-package [options]" .sp usage: copr build\-package [\-h] [\-\-memory MEMORY] [\-\-timeout TIMEOUT] [\-\-nowait] [\-r CHROOTS] \-\-name PKGNAME project .sp ایجاد یک ساخت جدید برای بسته داده‌شده بر اساس تعریف منبع آن\&. .PP \-\-name PKGNAME .RS 4 نام بسته‌ای که باید ساخته شود .RE .sp برای سایر آرگومان‌ها، دستور copr\-cli build در بالا را ببینید\&. .SS "copr\-cli mock\-config [options]" .sp usage: copr mock\-config [\-h] project chroot .sp دریافت نمایه mock (مشابه با koji mock\-config) و چاپ آن در خروجی استاندارد\&. پیکربندی ممکن است کمی با پیکربندی واقعی mock مورد استفاده سازندگان Copr متفاوت باشد، اما برای اشکال‌زدایی اولیه (مثلاً با mock \-\-shell) به اندازه کافی مشابه است\&. .SH "مثال‌ها (EXAMPLES)" .sp .if n \{\ .RS 4 .\} .nf copr\-cli add\-package\-tito myproject \-\-name pkgname \-\-git\-url http://github\&.com/clime/example\&.git \-\-test on .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf copr\-cli get\-package myproject \-\-name pkgname .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf copr\-cli build\-package myproject \-\-name pkgname \-\-nowait \-\-timeout 10000 \-r fedora\-23\-x86_64 .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf copr\-cli delete\-package myproject \-\-name pkgname .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf copr\-cli mock\-config myproject fedora\-rawhide\-x86_64 .fi .if n \{\ .RE .\} .SH "وضعیت خروج (EXIT STATUS)" .sp در حالت عادی، کد خروج در صورت موفقیت همه چیز 0 است\&. اما در صورت بروز خطا، مقادیر زیر ممکن است بازگردانده شوند: .sp 1 \- درخواست نامعتبر مانند نام اشتباه پروژه، دسترسی‌های ناکافی و غیره\&. همچنین ممکن است زمانی رخ دهد که کاربر عملیات را متوقف کند در حالی که نباید متوقف می‌کرد\&. .sp 2 \- آرگومان‌های داده‌شده نادرست هستند\&. .sp 3 \- پیکربندی نامعتبر است یا وجود ندارد\&. .sp 4 \- فرآیند ساخت شکست خورد یا لغو شد\&. .sp 5 \- خطای ارتباطی میان Cli و سرور\&. این مشکل احتمالاً نشان‌دهنده اشکال در برنامه است و باید گزارش شود\&. .sp 6 \- خطای پیکربندی\&. .sp 7 \- احراز هویت با سرور Copr با شکست مواجه شد\&. .SH "احراز هویت (AUTHENTICATION)" .sp کلاینت Copr از احراز هویت مبتنی بر توکن و GSSAPI پشتیبانی می‌کند\&. .sp برای دریافت توکن API از صفحه https://copr\&.fedorainfracloud\&.org/api بازدید کنید\&. این توکن باید در پرونده پیکربندی ~/\&.config/copr با قالب زیر ذخیره شود: .sp .if n \{\ .RS 4 .\} .nf [copr\-cli] username = msuchy login = Y57wcg==##fkfaxbkjhuoiebfafadl token = vbfseelqdebzedukgombekmuvbkqwo copr_url = https://copr\&.fedorainfracloud\&.org # expiration date: 2023\-01\-01 .fi .if n \{\ .RE .\} .sp توجه داشته باشید که توکن‌های API دارای تاریخ انقضا هستند! .sp برای فعال‌سازی GSSAPI نیاز به دریافت یک بلیت کربروس (Kerberos ticket) دارید\&. اگر می‌خواهید با Fedora Copr کار کنید، می‌توانید دستور زیر را اجرا کنید: .sp .if n \{\ .RS 4 .\} .nf $ fkinit Enter your password and OTP concatenated\&. (Ignore that the prompt is for only the token) Enter OTP Token Value: .fi .if n \{\ .RE .\} .sp برای کار با یک نمونه متفاوت (غیر از Fedora Copr)، بلیت را به روش متفاوتی دریافت خواهید کرد و همچنان باید یک پرونده پیکربندی داشته باشید که به copr_url مناسب اشاره کند: .sp .if n \{\ .RS 4 .\} .nf $ kinit username@EXAMPLE\&.COM $ cat ~/\&.config/copr [copr\-cli] copr_url = https://copr\&.example\&.com .fi .if n \{\ .RE .\} .sp کلاینت Copr به‌طور داخلی از پایتون API استفاده می‌کند، برای اطلاعات بیشتر نگاهی به صفحه https://python\-copr\&.readthedocs\&.io/en/latest/ClientV3\&.html#example\-usage بیندازید\&. .SH "استفاده از نمونه دیگر COPR (USING DIFFERENT COPR INSTANCE)" .sp اگر قصد دارید کلاینت copr را در برابر نمونه‌ای غیر از نمونه پیش‌فرض Copr اجرا کنید، توکن API در صفحه http://YOUR\&.COPR\&.URL/api در دسترس است\&. می‌توانید پرونده پیش‌فرض ~/\&.config/copr خود را جایگزین کنید، یا از پرونده جایگزین همراه با یک نام مستعار پوسته استفاده نمایید: .sp .if n \{\ .RS 4 .\} .nf alias your_copr=\*(Aqcopr \-\-config ~/\&.config/your\-copr\*(Aq .fi .if n \{\ .RE .\} .sp که درون پروفایل شما درج شده باشد\&. .SH "نویسندگان (AUTHORS)" .sp Miroslav Suchý , clime