登录
Ubuntu Kylin首页| 新闻| 应用| 下载| 社区| 论坛| 知识库

Launchpad平台介绍

Launchpad是Ubuntu母公司Canonical有限公司所资助架设的网站,是一个提供维护、支援或连络Ubuntu开发者的平台。 launchpad功能类似于koji,可以在launchpad上进行deb包的管理和编译,进行 Ubuntu(或其相关软体)的翻译工作或管理开发专权,也可以利用该网站的回报机制来回报相关软体的 Bug,或进一步提供相关建议 。

一、Lauchpad ID注册

1、生成OpenPGP密钥,终端输入gpg --gen-key,会提示输入各种信息,按照提示输入默认的即可,最后生成的密钥格式为

pub 4096R/DA4B90A1 2012-10-29

密钥指纹 = 5816 2575 2356 CEEA ADFE C3C5 1FE5 3F96 EE0A ECCE

uid Kobe Lee (kylinkobe) <xiangli@ubuntukylin.com>

sub 1024g/98765432 2012-10-29

2、提交密钥到密钥服务器,终端输入gpg --keyserver keyserver.ubuntu.com --send-key BBF9DC40,其中BBF9DC40是生成密钥后提示的字符串,可以使用gpg --fingerprint来查看。

3、进入个人主页的OpenPGP keys 设置,将密钥指纹填入,然后提交,最后会在注册邮箱中收到一份邮件,邮件正文是加密的,将正文存为本地a.txt文件,终端输入gpg –d a.txt来解密,解密完成后内容是一个网址,点击该网址来确认密钥的导入。

4、使用PPA之前还要签署Code of Conduct。在导入openPGP的页面上有一个Code of Conduct(行为守则)的链接。进入后下载UbuntuCodeofConduct-1.1.txt文件。然后使用gpg命令生成明文签名 ,终端输入

gpg --clearsignUbuntuCodeofConduct-1.1.txt

此时会生成UbuntuCodeofConduct-1.1.txt.asc文件,用编辑器打开,把里面的内容都贴到签署Code of Conduct输入框即可 。

5、完成上面OpenPGP密钥生成和签署Code of Conduct后,最后就可以创建个人编包的PPA了。进入个人主页,点击create a new PPA来生成,然后就是提示输入PPA的名字和介绍,输入完后,点击active完成PPA的创建。

二、Lauchpad Project注册

bzr whoami "yourID "

bzr launchpad-login launchpad括号中的ID

bzr branch; bzr add; bzr commit; bzr push

示例:

bzr whoami "kobe<xiangli@ubuntukylin.com>"

bzr launchpad-login kobe

参考http://teliute.org/linux/Telp/index.html

三、Debian patch

1.下载需要修改的源码包:sudo apt-get source testsource

2.将源码进行备份

cp -r testsource-1.0.0 testsource-1.0.0.old

将对源码的修改都添加到 testsource-1.0.0中,然后将改动生成patch ( 修改源码文件时,不要使用gedit,建议使用vim,gedit修改后会留下缓存文件~,这样diff时会将该文件也diff进patch从而污染patch)

diff -Nur testsource-1.0.0.old testsource-1.0.0 > testsource-diff.patch

将patch加到debian文件夹中

rm -rf testsource-1.0.0

mv testsource-1.0.0.old testsource-1.0.0

cd testsource-1.0.0

cd debian

cd patches (如果没有该文件夹请自行创建)

cp ../../testsource-diff.patch ./

打开debian/patches/series文件(没有请自行创建),将添加的patch名加入该列表。进入 testsource-1.0.0文件夹,开始执行dpkg-buildpackage -rfakeroot生成deb包。往源码中添加patch内容:

patch -p0 < testsource-diff.patch(patch -p1 < ../testsource-diff.patch)