Skip to content
This repository has been archived by the owner on Oct 19, 2018. It is now read-only.
Ray edited this page Aug 21, 2015 · 8 revisions

#FAQ #常见问题

What is the purpose of Copr?

It is build system. Available for everybody. You provide src.rpm, Copr provides yum repository. You just need a ​FAS account. You can use it for upstream builds, for continuous integration, or to provide yum repos for user for your project if you are not yet in Fedora.

Copr是做什么的?

是构建系统。每个人都可以(免费)使用。您提供 src.rpm ,Copr 提供 yum 源。你只需要一个 FAS 帐户。你可以用它为上游构建,持续集成,或者为您的项目用户提供 yum 源(如果你还没有开始用Fedora)。

Tutorial

See screenshots tutorial for interacting with ​copr.fdzh.org

如何使用?

查看快速入门

What I can build in Copr?

You agree not to use Coprs to upload software code or other material ("Material") that:

you do not have the right to upload or use, such as Material that infringes the rights of any third party under intellectual property or other applicable laws; is governed in whole or in part by a license not contained in the list of acceptable licenses for Fedora, currently located at ​https://fedoraproject.org/wiki/Licensing, as that list may be revised from time to time by the Fedora Project Board; is categorized as a "Forbidden Item" at ​https://fedoraproject.org/wiki/Forbidden_items, as that page may be revised from time to time by the Fedora Project Board; is designed to interfere with, disable, overburden, damage, impair or disrupt Coprs or Fedora Project infrastructure; violates any rules or guidelines of the Fedora Project; or violates any applicable laws and regulations. It is your responsibility to check licenses and to be sure you can make the resulting yum repo public.

If you think that some repo may be violating license, you can raise legal flag - there is dedicated text area in each project and notifications are send to admins and we will act accordingly.

It would be nice if you state license of your packages in Description or Install instructions.

我(不)可以用 Copr 做什么?

###您同意不使用 Coprs 上传软件代码或其他如下材料:

您没有权利上传或使用 侵犯了任何第三方的知识产权或其他适用法律 的材料;

所属于非 Fedora 可接受的许可列表 外的一份或部分许可 (该列表可能会不时由 Fedora 项目委员会修改);

被归类为 禁止项目的(可能会不时由 Fedora 项目委员会修改);

旨在干扰,终止,过载损坏,损害或破坏 COPRS 或 Fedora 项目基础设施的;

违反 Fedora 项目的任何规则或准则的;

违反任何适用的法律和法规的。

检查 许可 是您的责任,请确保您的公开 repo 源不违反相关法律法规。

如果你认为某些 repo 可能会违反许可,您可以点击 法律标志 - 每个项目有专用文本区域,通知会发送给管理员并将采取相应的行动。

如果您能够在介绍或安装指南中声明包许可证,想必是极好的。

How can I package software as RPM?

There are several tutorials:

​Packaging Workshop (video) ​How to create an RPM package ​Creating and Building Packages ​How To Make An RPM With Red Hat Package Manager (video) ​http://www.rpm.org/max-rpm/ ​Getting Started with RPMs (RH subscribers only) Can I build for different versions of Fedora?

Yes. Just hit "Edit" tab in your project and select several chroots, e.g. "fedora-19-x86_64" and "fedora-18-x86_64". And then you just submit one src.rpm and your package will be built for both Fedoras. You can build for EPEL as well.

Can I have more yum repositories?

Yes. Each user can have more than one project. And each project have one yum repository - to be more precise one per chroot.

我可以有多个yum源吗?

当然。每个用户可以拥有多个项目。每个项目有一个yum源-更准确的说是一个chroot

Can I submit more builds at once?

Yes. Just separate them by space or new line. However we do not guarantee build order.

我可以一次提交多个编译吗?

当然。仅需用空格或者换行分开它们。尽管我们不确保编译顺序。

What happens when I try to build the same package of the same version again?

Your new package will be skipped and marked as built successfully. That is mainly because we are saving user's time and the build power by building just packages of new version. That enables user to submit the same build query as usual while changing just some of their packages. If you need to have your change built, please provide a package with bumped up version.

当我再次编译同一版本的某个包时会发生什么?

你的“新包”会跳过并标记为编译成功。主要因为我们只编译新版本的包,以节约用户的时间和(机器的)编译能力。这允许用户在包发生一些改变的时候可以和往常一样去提交同样的编译队列。如果你需要改变你的编译,请提供升级版包。

Can I depend on other packages, which are not in Fedora/EPEL?

Yes. They just need to be available in some yum repo. It can be either other Copr repo or thirdparty yum repo (e.g jpackage). Click on "Edit" in your project and add them into "Repos" field. Packages from your project are available in build time as well. But just from that project you are building into. Not from your others projects.

我可以依赖在 Fedora/EPEL 外的其他包吗?

当然。请在 Repos 区域添加。在同一项目里编译的包也可以使用。请注意在该项目外的不可以。

Can I give access to my repo to my team mate?

Yes. If somebody want to build into your project and you want give hime access, just point him to your Copr project page, he should then click on "Permission" tab. And request permission he want. "Builder" can just submit builds. "Admin" can approve permissions requests. You then navigate to the same "Permission" tab and either approve or reject the request.

我可以给我的同事进入我的源的权限吗?

可以。在 Permission 标签里,可以赋予 Builder (只能提交编译)权限和 Admin (可以通过权限申请)权限。你可以在该标签下通过或驳回(好友权限)申请。

Do you have command line client?

Yes. Just do yum install copr-cli and learn more by man copr-cli.

Copr有命令行客户端吗?

官方有。我们暂无。

Do you have an API?

Yes. See link in footer of every Copr page. Or jump directly to the ​API page.

你们有 API 吗?

有。API

How long do you keep the builds?

We keep the last successful build from each package indefinitely. All other builds (old packages, failed builds) are deleted after 14 days.

你们会保存编译结果多长时间?

我们会无限期保存最新的编译好的包。其他(过期的,失败的)会在 14 天后删除。违规的会立即删除。

How is Copr pronounced?

In American English Copr is pronounced /kä'pər/ like the metallic element spelled "copper".

Copr怎么读?

读作 /kä'pər/, 就像金属元素 copper 的发声一样。

Why another buildsystem?

We didn't start off to create another buildsystem. We originally just wanted to make building third party rpm repositories easier. But after talking to the koji developers and the developers who are building packages for CentOS we realized that there's a need for a maintainable, pluggable, lightweight build system.

为什么做这另外一个编译系统呢?

我们初衷不是建立一个新的编译系统。我们最初希望可以尽快编译第三方 rpm 源。但是在通过和 koji 的开发者(为 CentOS 打包)聊过之后,我们意识到我们需要一个可维护的,可植入的,轻量级的编译系统。

Did you consider OBS?

Yes, we did. See ​Copr and integration with Koji and ​Copr Implemented using OBS And the ​mailing list discussion, as well as the ​conclusion.

你们考虑过 OBS 吗?

是的,我们考虑过。这是我们的结论

Can I get notifications from Copr builds?

Yes, you can. Enable email/irc/android notifications at ​Fedora notifications service.

What Copr means?

Cool Other Package Repositories

Copr是什么意思?

又一个酷包源

How can I tell yum to prefer Copr packages

If for some reason you build package with the same version-release in Copr as are distributed in official repos (which is discouraged - you should bump up release) and you want to tell yum to prefer Copr packages over distribution ones, then you you should also add cost=900 to the .repo file.

Can Copr build directly from git?

No. But there are some tools which can create src.rpm from git repository and send it to Copr:

  1. ​Tito (​blog post)

  2. ​dgroc (​blog post)

How to get notification about finished build?

See this ​blog post.

Why Copr does not download my updated package?

Sometimes people are reporting that they updated they src.rpm file, submit the new build, but Copr is still using the old one src.rpm. This is not true and in fact is caused by two things. First: you change src.rpm file, but did not bump up release (bad boy, you should do that). As consequence the resulting files have the same URL, so your browser does not bother to fetch new log files and server those files from its cache. Thefore you are still seeing old content from previous task. You should press Ctrl+Shift+R to invalidate your cache and reload page

I have a problem. I need to talk to a human

We do not provide support per se, but try your luck here: ​https://fedorahosted.org/copr/wiki#Communications

我有一个问题需要找人解决

我们本身不提供支持服务,但你可以在 IRC 试下运气。