Packman

跳转至: 导航, 搜索


注意: 由于会谈论版权和专利的内容,本页面不是官方页面,官方对此页面内容不保证真伪。
相信你一定对官方构建服务的一些限制有所察觉(甚至不满?), 想不通为什么 openSUSE 为什么会有两个构建服务, 为什么默认没有带任何的多媒体编解码器,这里你会找到答案,并学会在 openSUSE 下怎么玩转这部分内容。本页面将为你揭开 openSUSE 的特殊专利规避机制: 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

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

由于 Packman 资源有限,编译起来比 OBS 慢得多。因此请不要抱怨。也请只在真正有需要的时候才去申请。否则只会让所有人都卡着而已。
虽然 Packman 同 openSUSE 一样,鼓励多样性,但是它的审核只有两个人有权限。因此可能要等很久。由于个人邮箱会有被申请灌满的情况,审核小组的邮箱基本是满了就全部清空的。所以请先 IRC 或管理员邮件联系,再申请。

申请流程

  • 先联系。

一般来说你需要有一个 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 帐号。任何人都可以注册。