COPR-CLI(1) COPR COPR-CLI(1)

copr-cli - واسط خط فرمان برای سرویس Copr

copr-cli [-h] [--version] [--config CONFIG] {list,create,build} ...

این دستور به شما امکان می‌دهد از طریق خط فرمان با سرویس Copr تعامل داشته باشید.

ابتدا باید احراز هویت را پیکربندی کنید (بخش احراز هویت را در زیر ببینید).

-h, --help

نمایش این پیام راهنما و خروج

--version

نمایش شماره نسخه برنامه و خروج

--config

مسیر پرونده پیکربندی جایگزین (پیش‌فرض ~/.config/copr است).

list [username|@groupname]

فهرست کردن تمام پروژه‌های نام کاربری ارائه‌شده. اگر نام کاربری داده نشود، پروژه‌های خودتان فهرست می‌شوند.

create

ایجاد یک پروژه جدید.

delete

حذف کامل یک پروژه.

build

ساخت بسته‌ها برای یک پروژه مشخص.

status

دریافت وضعیت ساخت (build).

cancel

لغو ساخت با شناسه داده‌شده.

download-build

بارگیری یک ساخت در پوشه محلی.

modify

ویرایش copr موجود.

regenerate-repos

تولید مجدد متادیتای مخزن برای یک پروژه.

add-package-*

افزودن یک بسته جدید از نوع منبع مشخص (مانند add-package-tito).

edit-package-*

ویرایش تعریف و نوع منبع یک بسته موجود (مانند edit-package-tito).

list-packages

فهرست کردن تمام بسته‌های یک copr در قالب json.

list-package-names

خروجی دادن صرفاً نام بسته‌ها از copr مشخص‌شده.

get-package

نمایش جزئیات یک بسته تکی در قالب json.

delete-package

حذف بسته از یک copr و تمام ساخت‌های مربوط به آن.

reset-package

پاک‌سازی تعریف منبع یک بسته و نوع منبع آن.

build-package

ساخت بسته بر اساس تعریف منبع آن.

mock-config

دریافت نمایه mock (مشابه با koji mock-config).

edit-permissions

ویرایش نقش‌ها/مجوزها در یک پروژه copr.

list-permissions

چاپ نقش‌ها/مجوزهای پروژه copr.

request-permissions

درخواست (یا رد) نقش خود در پروژه copr.

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

--chroot

محیط chroot مورد استفاده برای این پروژه. می‌تواند چندین بار مشخص شود، اما حداقل یک مورد باید وجود داشته باشد.

--repo

مخزن برای افزودن به این پروژه. می‌تواند چندین بار تعیین شود.

--initial-pkgs

فهرست بسته‌ها برای ساخت در این پروژه جدید. می‌تواند چندین بار تکرار شود.

--description

توضیحات پروژه.

--instructions

راهنما و دستورالعمل‌های پروژه.

--disable_createrepo

غیرفعال کردن تولید خودکار متادیتای مخزن. مقادیر پذیرفته‌شده برای DISABLE_CREATEREPO برابر با true/false است.

--enable-net

آیا شبکه برای ساخت‌ها در این پروژه فعال باشد یا خیر.

--unlisted-on-hp

این پروژه در صفحه اصلی COPR فهرست نخواهد شد.

--persistent

پروژه و ساخت‌های آن غیرقابل حذف خواهند بود. این گزینه فقط توسط مدیر COPR قابل تعیین است.

--auto-prune

آیا اسکریپت هرس خودکار (auto-pruning) بک‌اند برای این پروژه اجرا شود یا خیر. این گزینه فقط توسط مدیر COPR تعیین می‌شود.

--isolation ISOLATION

انتخاب روش جداسازی برای اجرای دستورات در buildroot.

name

می‌تواند نام ساده پروژه یا در قالب username/projectname یا @groupname/projectname باشد.

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

تنها ویژگی‌های مشخص‌شده پروژه را تغییر می‌دهد.

--repo

مخزن برای افزودن به این پروژه. می‌تواند چندین بار مشخص شود.

--chroot

محیط chroot مورد استفاده برای این پروژه. می‌تواند چندین بار مشخص شود. زمانی که این گزینه استفاده نشود، chrootهای پروژه بدون تغییر باقی می‌مانند. هنگامی که یک chroot را مشخص کنید، در پروژه فعال می‌شود، اما chrootهای فعلی در صورتی که مشخص نشده باشند حفظ نخواهند شد.

--description

توضیحات پروژه.

--instructions

دستورالعمل‌های پروژه.

--disable_createrepo

غیرفعال کردن تولید خودکار متادیتای مخزن. مقادیر مجاز برای DISABLE_CREATEREPO برابر با true/false است.

--enable-net

آیا شبکه برای ساخت‌ها در این پروژه فعال باشد یا خیر.

--unlisted-on-hp

این پروژه در صفحه اصلی COPR فهرست نخواهد شد.

--auto-prune

آیا اسکریپت هرس خودکار برای این پروژه اجرا شود یا خیر. این گزینه فقط توسط مدیر COPR تعیین می‌شود.

--isolation ISOLATION

انتخاب روش جداسازی برای اجرای دستورات در buildroot.

name

می‌تواند فقط نام پروژه باشد یا در قالب username/projectname یا @groupname/projectname.

usage: copr-cli regenerate-repos [-h] copr

copr

می‌تواند فقط نام پروژه باشد یا در قالب username/projectname یا @groupname/projectname.

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 ...]

-r, --chroot

اگر نیازی به این ساخت برای تمام chrootهای پروژه ندارید. می‌توانید چندین بار برای هر chroot مورد نیاز از آن استفاده کنید. از الگوهای گلوب (glob) پشتیبانی می‌کند.

--exclude-chroot

اگر نیازی به این ساخت برای تمام chrootهای پروژه ندارید. می‌توانید چندین بار برای هر chroot که نیاز ندارید از آن استفاده کنید. از الگوهای گلوب پشتیبانی می‌کند.

--memory

بازنویسی مقدار حافظه برای این ساخت. این گزینه در عمل استفاده نمی‌شود و هیچ تاثیری ندارد.

--timeout

تعیین مهلت زمانی ساخت (بر حسب ثانیه)؛ اگر ساخت بیشتر از این طول بکشد، متوقف شده و با شکست مواجه می‌شود. مقدار پیش‌فرض معمولاً در بخش فرانت‌اند Copr روی ۵ ساعت تنظیم شده است.

--nowait

عدم انتظار برای اتمام ساخت.

--background

اجرای ساخت با اولویت پایین‌تر.

--isolation ISOLATION

انتخاب روش جداسازی برای اجرای دستورات در buildroot.

--enable-net

آیا شبکه برای این ساخت فعال باشد یا خیر.

copr_repo

مخزن copr که بسته باید در آن ساخته شود. این می‌تواند نام ساده‌ای از پروژه‌های شما باشد یا به‌صورت کامل در قالب username/project یا @groupname/project مشخص شود. بدین ترتیب در صورتی که دسترسی داشته باشید، می‌توانید در پروژه یک کاربر یا گروه دیگر ساخت انجام دهید. در نهایت، به‌جای فقط نام پروژه، می‌توانید project:tag را نیز ارسال کنید. در آن حالت، ساخت به‌جای مخزن اصلی وارد مخزن جانبی پروژه می‌شود. در صورتی که مخزن جانبی با نام project:tag هنوز وجود نداشته باشد، به‌طور خودکار ایجاد خواهد شد. برای نمونه می‌توانید از این قابلیت برای ساخت‌های آزمایشی استفاده کنید در حالی که مخزن اصلی بدون تغییر می‌ماند. می‌توانید هر برچسب مناسبی را برای ساخت(های) مشخص‌شده تعیین کنید.

PKG

این می‌تواند یک پرونده در ایستگاه کاری محلی شما یا نشانی اینترنتی (URL) بسته‌ای باشد که می‌خواهید بسازید. هنگام استفاده از نشانی وب، بسته باید روی یک وب‌سرور عمومی یا سرور ftp قرار داشته باشد. توجه داشته باشید که نمی‌توانید مسیر پرونده‌های محلی و آدرس‌های URL را در یک خط فرمان با هم ترکیب کنید و ساخت‌های با فایل محلی به نخستین PKG تعیین‌شده محدود می‌شوند. این محدودیت از API سرویس COPR ناشی می‌شود.

usage: copr-cli uploadrpm [-h] [-r, --chroot CHROOTS] [--memory MEMORY] [--timeout TIMEOUT] [--nowait] [--background] copr_repo RPM

انتشار یک فایل RPM محلی که از قبل ساخته شده است مستقیماً در یک پروژه، بدون نیاز به اجرای مرحله ساخت SRPM.

برای مشاهده آرگومان‌ها، دستور copr-cli build در بالا را ببینید.

RPM

مسیر محلی پرونده rpm. که از قبل ساخته شده است جهت انتشار.

usage: copr buildpypi [-h] [-r, --chroot CHROOTS] [--memory MEMORY] [--timeout TIMEOUT] [--nowait] [--background] [--with-deps] [--pythonversions [VERSION [VERSION ...]]] [--packageversion PYPIVERSION] --packagename PYPINAME project

--pythonversions [VERSION [VERSION ...]]

ساخت برای چه نسخه‌هایی از پایتون انجام شود (به‌طور پیش‌فرض: 3 2)

--packageversion PYPIVERSION

نسخه بسته PyPI جهت ساخت (پیش‌فرض: آخرین نسخه)

--packagename PYPINAME

نام بسته PyPI برای ساخت، الزامی است.

--with-deps

ساخت وابستگی‌های بسته نیز انجام شود. درخت وابستگی توسط کتابخانه coprtree حل می‌شود. نیازمند نصب بودن بسته python3-coprtree است. لطفاً اشکالات در حل وابستگی را در نشانی زیر گزارش کنید: https://github.com/sundaram123krishnan/coprtree

برای سایر آرگومان‌ها، دستور copr-cli build در بالا را ببینید.

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

ساخت بسته از یک مخزن Git/DistGit/SVN.

--clone-url CLONE_URL

نشانی کلون یک پروژه با سیستم کنترل نسخه Git یا SVN، الزامی است

--commit COMMITISH

نام شاخه، برچسب، یا هش گیت که باید ساخته شود

--subdir SUBDIRECTORY

مسیر نسبی از ریشه مخزن به محتوای بسته

--spec SPEC

مسیر نسبی از زیرپوشه به پرونده spec.

--type TYPE

تعیین ابزار کنترل نسخه. پیش‌فرض git است.

--method METHOD

روش ساخت Srpm. پیش‌فرض rpkg است.

برای سایر آرگومان‌ها، دستور copr-cli build در بالا را بررسی کنید.

usage: copr-cli download-build [-h] [-d, --dest DESTINATION] [-r, --chroot CHROOT] build_id

build_id

بارگیری بسته‌های ساخته‌شده برای شناسه ساخت مشخص‌شده توسط build_id.

-d, --dest

دایرکتوری پایه برای ذخیره بسته‌ها

-r, --chroot

فقط دریافت chrootهای انتخاب‌شده. می‌تواند چندین بار مشخص شود.

usage: copr delete-build [-h] build_id [build_id ...]

build_id

شناسه ساختی که باید حذف شود. می‌تواند چندین بار تکرار شود. توجه داشته باشید که تعیین چندین build_id بسیار سریع‌تر از اجرای مکرر copr delete-build است، زیرا در حالت نخست createrepo فقط یک بار اجرا می‌شود.

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

usage: copr edit-chroot [-h] [--upload-comps FILEPATH | --delete-comps] [--packages PACKAGES] [--repos REPOS] [--isolation {default, nspawn, simple}] coprchroot

ویرایش coprchroot مشخص‌شده.

coprchroot

مسیر به chroot پروژه به صورت owner/project/chroot یا project/chroot

--upload-comps FILEPATH

مسیر پرونده comps.xml برای بارگذاری

--delete-comps

حذف comps.xml موجود برای chroot

--packages PACKAGES

رشته‌ای از نام بسته‌ها جداشده با فاصله برای افزودن به buildroot (مثلاً "gcc ghc")

--repos REPOS

رشته‌ای از نشانی‌های اینترنتی مخازن اضافی جداشده با فاصله برای chroot (مانند "http://foo http://bar")

--isolation ISOLATION

انتخاب روش جداسازی برای اجرای دستورات در buildroot

usage: copr get-chroot [-h] coprchroot [--output-format {json, text, text-row}]

چاپ اطلاعات chroot مشخص‌شده.

coprchroot

مسیر به chroot پروژه به صورت owner/project/chroot یا project/chroot

--output-format FORMAT

تنظیم شیوه قالب‌بندی خروجی. توصیه می‌کنیم از json استفاده کنید که داده‌های درخواستی را در قالب json چاپ می‌کند. قالب text داده‌ها را در یک ستون با یک مورد در هر خط نمایش می‌دهد. قالب text-row تمام اطلاعات را با فاصله در یک خط چاپ می‌نماید.

usage: copr-cli edit-permissions [-h] [--admin USERNAME[=VALUE]] [--builder USERNAME[=VALUE]] PROJECT

ویرایش نقش‌ها/مجوزها در یک پروژه copr.

PROJECT

یک پروژه copr موجود.

--admin USERNAME[=VALUE]

تنظیم نقش admin برای USERNAME در PROJECT؛ مقدار VALUE می‌تواند یکی از موارد approved|request|nothing باشد (پیش‌فرض=approved).

--builder USERNAME[=VALUE]

تنظیم نقش builder برای USERNAME در PROJECT؛ مقدار VALUE می‌تواند یکی از موارد approved|request|nothing باشد (پیش‌فرض=approved).

usage: copr-cli list-permissions [-h] PROJECT

چاپ نقش‌ها/مجوزهای پروژه copr.

PROJECT

یک پروژه copr موجود.

usage: copr-cli request-permissions [-h] [--admin [VALUE]] [--builder [VALUE]] PROJECT

درخواست (یا رد) نقش خود در پروژه copr.

PROJECT

یک پروژه copr موجود.

--admin [VALUE]

درخواست/لغو درخواست/حذف دسترسی‌های admin شما در PROJECT. مقدار VALUE می‌تواند یکی از گزینه‌های request|nothing باشد (پیش‌فرض=request).

--builder [VALUE]

درخواست/لغو درخواست/حذف دسترسی‌های builder شما در PROJECT. مقدار VALUE می‌تواند یکی از گزینه‌های request|nothing باشد (پیش‌فرض=request).

usage: copr add-package-pypi [-h] [--pythonversions [VERSION [VERSION ...]]] [--packageversion PYPIVERSION] --packagename PYPINAME --name PKGNAME [--webhook-rebuild {on,off}] [--chroot-denylist CHROOT_DENYLIST] project

افزودن بسته از نوع منبع PyPI.

--pythonversions [VERSION [VERSION ...]]

ساخت برای چه نسخه‌هایی از پایتون صورت گیرد (پیش‌فرض: 3 2)

--packageversion PYPIVERSION

نسخه بسته PyPI برای ساخت (پیش‌فرض: آخرین نسخه)

--packagename PYPINAME

نام بسته PyPI برای ساخت، الزامی است

--name PKGNAME

نام بسته برای ویرایش یا ایجاد

--webhook-rebuild {on,off}

فعال‌سازی ساخت مجدد خودکار (auto-rebuilding)

--chroot-denylist CHROOT_DENYLIST

فهرستی جداشده با کاما از الگوهای جانشین (wildcard) برای chrootهایی که باید از ساخت‌ها مستثنی شوند، برای نمونه fedora-,epel--i386

usage: copr edit-package-pypi [-h] [--pythonversions [VERSION [VERSION ...]]] [--packageversion PYPIVERSION] --packagename PYPINAME --name PKGNAME [--webhook-rebuild {on,off}] [--chroot-denylist CHROOT_DENYLIST] project

ویرایش تعریف و نوع منبع یک بسته موجود. گزینه‌ها با add-package-pypi مشترک هستند.

copr-cli add-package-scm [options]

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 'git'.
--method METHOD::
Srpm build method. Default is 'rpkg'.
--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. 'fedora-*,epel-*-i386'
`copr-cli edit-package-scm [options]`

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

ویرایش بسته از نوع منبع SCM.

usage: copr add-package-rubygems [-h] [--gem GEM] --name PKGNAME [--webhook-rebuild {on,off}] [--chroot-denylist CHROOT_DENYLIST] project

افزودن بسته از نوع منبع RubyGems.

--gem GEM

تعیین نام gem

--name PKGNAME

نام بسته برای ویرایش یا ایجاد

--webhook-rebuild {on,off}

فعال‌سازی ساخت مجدد خودکار

--chroot-denylist CHROOT_DENYLIST

فهرستی جداشده با کاما از الگوهای جانشین مربوط به chrootها جهت مستثنی شدن از ساخت‌ها، مثلاً fedora-,epel--i386

usage: copr edit-package-rubygems [-h] [--gem GEM] --name PKGNAME [--webhook-rebuild {on,off}] [--chroot-denylist CHROOT_DENYLIST] project

ویرایش تعریف و نوع منبع یک بسته موجود. گزینه‌ها با add-package-rubygems مشترک هستند.

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

افزودن بسته از نوع منبع Custom.

--script SCRIPT

پرونده متنی (اسکریپت) برای استفاده جهت آماده‌سازی سورس‌ها

--script-chroot SCRIPT_CHROOT

محیط Mock chroot برای ساخت منابع SRPM در آن

--script-builddeps SCRIPT_BUILDDEPS

فهرستی از بسته‌های مورد نیاز جداشده با فاصله برای ساخت سورس‌ها

--script-resultdir SCRIPT_RESULTDIR

محلی که SCRIPT نتیجه را در آن تولید می‌کند، به‌صورت نسبی نسبت به PWD$ اسکریپت (پیش‌فرض . است)

--script-repos SCRIPT_REPOS

رشته‌ای از نشانی‌های وب مخازن اضافه جداشده با فاصله برای وابستگی‌های اسکریپت

--name PKGNAME

نام بسته برای ایجاد یا ویرایش

--webhook-rebuild {on,off}

فعال‌سازی ساخت مجدد خودکار.

--chroot-denylist CHROOT_DENYLIST

فهرستی جداشده با کاما از الگوهای جانشین chroot برای مستثنی شدن از ساخت‌ها، مانند fedora-,epel--i386

--max-builds MAX_BUILDS

فقط نگه‌داشتن تعداد مشخص‌شده از جدیدترین ساخت‌ها بر اساس شناسه (جمع‌آوری‌کننده زباله به‌صورت روزانه اجرا می‌شود)، مقدار صفر آن را غیرفعال می‌کند (پیش‌فرض)

--timeout TIMEOUT

تعداد ثانیه‌های مجاز برای اجرای ساخت‌ها، مقدار پیش‌فرض ۱۸۰۰۰ ثانیه (۵ ساعت) است

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

ویرایش تعریف و نوع منبع یک بسته موجود. گزینه‌ها با add-package-custom مشترک هستند.

usage: copr list-packages [-h] [--with-latest-build] [--with-latest-succeeded-build] [--with-all-builds] [--output-format {json, text, text-row}] project

فهرست کردن تمام بسته‌های موجود در پروژه داده‌شده در قالب json.

--with-latest-build

همچنین نمایش داده‌های مربوط به جدیدترین ساخت برای هر بسته.

--with-latest-succeeded-build

همچنین نمایش داده‌های مربوط به جدیدترین ساخت موفق برای هر بسته.

--with-all-builds

همچنین نمایش داده‌های مربوط به تمام ساخت‌ها برای هر بسته.

--output-format FORMAT

تنظیم قالب خروجی. پیشنهاد می‌کنیم از json استفاده کنید که داده‌های درخواستی را در قالب json چاپ می‌کند. قالب text داده‌ها را در یک ستون با یک مورد در هر خط چاپ می‌نماید. قالب text-row تمام اطلاعات را با یک فاصله در یک خط چاپ می‌کند.

usage: copr list-package-names [-h] project

فقط فهرست کردن نام بسته‌ها در پروژه داده‌شده خط به خط.

usage: copr get-package [-h] --name PKGNAME [--with-latest-build] [--with-latest-succeeded-build] [--with-all-builds] [--output-format {json, text, text-row}] project

مشابه list-packages است اما فقط یک بسته را مستقیماً به‌صورت ساختار json برمی‌گرداند (بدون قرار گرفتن درون لیست).

--output-format FORMAT

تنظیم قالب خروجی. استفاده از json توصیه می‌شود. قالب text داده‌ها را در یک ستون و text-row داده‌ها را با فاصله در یک خط چاپ می‌کند.

usage: copr delete-package [-h] --name PKGNAME project

حذف بسته و تمام ساخت‌های آن از پروژه داده‌شده.

usage: copr reset-package [-h] --name PKGNAME project

پاک کردن منبع پیش‌فرض یک بسته و نوع منبع آن (تمام تنظیمات بسته پس از فراخوانی این دستور از بین می‌روند!).

usage: copr build-package [-h] [--memory MEMORY] [--timeout TIMEOUT] [--nowait] [-r CHROOTS] --name PKGNAME project

ایجاد یک ساخت جدید برای بسته داده‌شده بر اساس تعریف منبع آن.

--name PKGNAME

نام بسته‌ای که باید ساخته شود

برای سایر آرگومان‌ها، دستور copr-cli build در بالا را ببینید.

usage: copr mock-config [-h] project chroot

دریافت نمایه mock (مشابه با koji mock-config) و چاپ آن در خروجی استاندارد. پیکربندی ممکن است کمی با پیکربندی واقعی mock مورد استفاده سازندگان Copr متفاوت باشد، اما برای اشکال‌زدایی اولیه (مثلاً با mock --shell) به اندازه کافی مشابه است.

copr-cli add-package-tito myproject --name pkgname --git-url http://github.com/clime/example.git --test on
copr-cli get-package myproject --name pkgname
copr-cli build-package myproject --name pkgname --nowait --timeout 10000 -r fedora-23-x86_64
copr-cli delete-package myproject --name pkgname
copr-cli mock-config myproject fedora-rawhide-x86_64

در حالت عادی، کد خروج در صورت موفقیت همه چیز 0 است. اما در صورت بروز خطا، مقادیر زیر ممکن است بازگردانده شوند:

1 - درخواست نامعتبر مانند نام اشتباه پروژه، دسترسی‌های ناکافی و غیره. همچنین ممکن است زمانی رخ دهد که کاربر عملیات را متوقف کند در حالی که نباید متوقف می‌کرد.

2 - آرگومان‌های داده‌شده نادرست هستند.

3 - پیکربندی نامعتبر است یا وجود ندارد.

4 - فرآیند ساخت شکست خورد یا لغو شد.

5 - خطای ارتباطی میان Cli و سرور. این مشکل احتمالاً نشان‌دهنده اشکال در برنامه است و باید گزارش شود.

6 - خطای پیکربندی.

7 - احراز هویت با سرور Copr با شکست مواجه شد.

کلاینت Copr از احراز هویت مبتنی بر توکن و GSSAPI پشتیبانی می‌کند.

برای دریافت توکن API از صفحه https://copr.fedorainfracloud.org/api بازدید کنید. این توکن باید در پرونده پیکربندی ~/.config/copr با قالب زیر ذخیره شود:

[copr-cli]
username = msuchy
login = Y57wcg==##fkfaxbkjhuoiebfafadl
token = vbfseelqdebzedukgombekmuvbkqwo
copr_url = https://copr.fedorainfracloud.org
# expiration date: 2023-01-01

توجه داشته باشید که توکن‌های API دارای تاریخ انقضا هستند!

برای فعال‌سازی GSSAPI نیاز به دریافت یک بلیت کربروس (Kerberos ticket) دارید. اگر می‌خواهید با Fedora Copr کار کنید، می‌توانید دستور زیر را اجرا کنید:

$ fkinit
Enter your password and OTP concatenated. (Ignore that the prompt is for only the token)
Enter OTP Token Value: <your password + OTP token>

برای کار با یک نمونه متفاوت (غیر از Fedora Copr)، بلیت را به روش متفاوتی دریافت خواهید کرد و همچنان باید یک پرونده پیکربندی داشته باشید که به copr_url مناسب اشاره کند:

$ kinit username@EXAMPLE.COM
$ cat ~/.config/copr
[copr-cli]
copr_url = https://copr.example.com

کلاینت Copr به‌طور داخلی از پایتون API استفاده می‌کند، برای اطلاعات بیشتر نگاهی به صفحه https://python-copr.readthedocs.io/en/latest/ClientV3.html#example-usage بیندازید.

اگر قصد دارید کلاینت copr را در برابر نمونه‌ای غیر از نمونه پیش‌فرض Copr اجرا کنید، توکن API در صفحه http://YOUR.COPR.URL/api در دسترس است. می‌توانید پرونده پیش‌فرض ~/.config/copr خود را جایگزین کنید، یا از پرونده جایگزین همراه با یک نام مستعار پوسته استفاده نمایید:

alias your_copr='copr --config ~/.config/your-copr'

که درون پروفایل شما درج شده باشد.

Miroslav Suchý <msuchy@redhat.com>, clime <clime@redhat.com>

08/12/2026 copr