Packman
目录
什么是 Packman ?
openSUSE 的 Packman 不是吃豆人,而是 Package man 的缩写。意即指一群打包狂组成的团体。他们在尊重并重视版权的基础上做一些规避专利的事。总之,他们想要自由打包从多媒体到大型软件到游戏到甚至是自己的回收站的所有内容。
Packman 和 openSUSE 的关系
Packman 不隶属于任何 openSUSE 官方,是独立于 openSUSE 社区之外的社区,只是基于 openSUSE 打给 openSUSE 用的软件包。注意 openSUSE 社区也是官方,同样有在专利法最为严苛的美国和欧洲注册,这也是为什么 OBS 不能打包专利软件的原因,另一个原因是 OBS 的服务器坐落于德国诺伦堡。
Packman 的资源来自于成员捐献,不能和 openSUSE 官方有任何的联系,也就是说即使是 SuSE 的捐献,也要放弃一切权利。不能像 社区董事会 那样,主席要由 SuSE 指定,一般是 SuSE 员工。
Packman 欢迎大学和社区为它做镜像。现有的镜像。
Packman 收纳什么样的软件 ?
由于英文的 free 很有迷惑性(大部分外国人喜欢用法语 Libre,也就是自由):
- 这里的自由,仍然不包括商业和私有软件,版权产品应该尊重他们自有的分发渠道。也就是说,这里仍然不做盗版,也不做免费使用的商业软件。不规避版权,只规避专利。版权同样是保护 Linux 下的开源作品不被盗版的力量,而专利则是大公司用来牟利的工具。
- 这里只接纳由于或有专利纠纷而不能存在于官方构建服务中的软件。比如 FFMPEG,MPLAYER,MP3, AMULE。和依赖它们的软件。以及可以自由分发的软件,并且愿意允许从源代码编译。
也就是说,大部分时候这里的软件都是 FOSS/LOSS (自由和开源软件),而不是免费软件。而且是存在或有专利纠纷的软件,想想看什么软件最容易发生专利纠纷呢? 多媒体。于是 Packman 里有那么多多媒体软件也就不奇怪了。
另外 Packman 还允许两类软件:发行版中长期不更新的软件的最新版,和发行版中没有的软件。但这是 FTP 做源的时代延续下来的。目前这两类软件都建议走 OBS 流程来做,因为 OBS 的服务器比 Packman 的多快好省。
Packman 的软件源设置
Packman 内部布局一览 [更新]
- Essential、Extra、Multimedia and Games
这些都是最重要的源,相当于 openSUSE:Factory。会被最终用户添加。所以也有与 OBS 相同的审核机制。
- Essential
播放多媒体必须的编解码器,和 Broadcom 驱动。
- Extra
杂项
- Multimedia
所有其他的不是那么必须的多媒体软件都包含在这里。
- Games
名字就说明一切了
- Oracle,Videolan 和 openSUSE.org
这是三个站外链接源。不收软件,主要用于提供依赖。
- Subpixel
字体渲染
Packman 开发流程
和 build.o.o 大体相仿,但省略了开发源这一步。
在自己的私人车库编译好之后,直接发「提交申请(submit request,SR)」给相应的源。
Packman 的交流方式
IRC
freenode #packman 频道,yoloki 是管理员。
邮件列表
该邮件列表用于 Packman 打包社团的任何事务。
Packman 管理员
Pascal Bleser,个人简历在 社区董事会 页面。他不是 SuSE 的员工,也是利用闲余时间陪大家。
如何加入 Packman
申请流程
- 先联系。
一般来说你需要有一个 OBS 帐号来证明你是打包者。你需要提出你想要打包那个/些软件,来让 Packman 审核团队知道他们需要为你提供什么样的资源。如果满足不了,那也没必要注册。
- 首先去 pmbs 注册用户名。
之前有个著名的 Bug 就是:
OBS Web Interface Error: Error Details: Errorcode: unknown Message: <?xml version="1.0" encoding="UTF-8"?> <status code="err_register_save"> <summary>Could not save the registration</summ
无法返回注册成功状态。另外的著名 Bug 就是一些 Gmail 无法收到注册确认邮件。
在 openSUSE 星球 简繁合并时和 Pascal 沟通了一下,现在第一个 Bug 信息虽然还在,但是添加了提示消息来告诉你注册是否成功,注册也无需邮件确认。
- 然后发信给 Packman 管理员,格式大概是这样:
Hi, Pascal, I'm hillwood, I'm an openSUSE packager, 介绍你的打包经历 I want to package XXX, since it need ffmpeg I registered PMBS with username: 用户名 email: 电子邮件 Thanks for authorization. Wish you a happy day Signature
后续配置
把下面这行贴到你的 ~/.oscrc:
[https://pmbs-api.links2linux.org] aliases=packman,pm user=用户名 pass=密码
另外你需要:
osc -Apm meta prj -e home:marguerite
在里面加入这样的字段
<repository name="openSUSE_11.4"> <path repository="openSUSE_11.4" project="Essentials"/> <path repository="openSUSE_11.4" project="openSUSE.org:GNOME:Apps"/> <path repository="standard" project="openSUSE.org:openSUSE:11.4"/> <arch>i586</arch> <arch>x86_64</arch> </repository>
不然是找不到 ffmpeg 那些东西的。默认是和 OBS 一样的,并没有开启多媒体编解码器库。
另外下面那行是引入 OBS 源的方法,你甚至可以引入你自己在 OBS 上的私人车库来做依赖。
操作
任何对 PMBS 的操作都需要使用 osc -Apm 而不是 osc,例如:
osc -Apm co home:marguerite
除非你已经在一个 PMBS 的文件夹下了。
HTTP 401: Unauthorized
如果你的 .oscrc 设置正确,并且能够在 pmbs-api.links2linux.org 登录到 API 的网页界面,但是就是在本地使用 osc 的时候会出现这一错误,那么你需要删除 python-keyring:
sudo zypper rm --clean-deps python-keyring
出自 http://lists.opensuse.org/opensuse-buildservice/2012-09/msg00150.html
下载编译好的软件包
你想要下载编译好的软件包,却总是返回该页未找到,这时你只需要把链接里面的:
pmbs-api.links2linux.org:443 => pmbs-api.links2linux.org:80
就可以下载软件包了。
Bugzilla
Packman 有自己的 Bugzilla,地址是 bugs.links2linux.org
需要注册帐号,该帐号不等于 PMBS 帐号。任何人都可以注册。