我第一次尝试将包上传到我的 PPA。
我想将PPA用于OpenStack Compute(nova)项目的定制版本,因此我尝试通过上传与该项目的bexar版本(lp:nova/bexar)相对应的包来进行测试,并带有新的版本号和更改日志条目。我使用已上传到 ubuntu 密钥服务器的 OpenGPG 密钥对源包进行了签名:
$ dch -v 2011.1-0ubuntu2-isi1 -D lucid "ISI bexar build #1"
$ dpkg-buildpackage -s -rfakeroot -tc -D -k4C8A14AB
Run Code Online (Sandbox Code Playgroud)
当我尝试将文件上传到存储库时,它似乎起作用了(真实的电子邮件被掩盖了):
$ dput ppa:lorinh/ppa nova_2011.2~bzr663-1isi1_source.changes
Checking signature on .changes
gpg: Signature made Fri 11 Feb 2011 03:52:50 PM EST using RSA key ID 4C8A14AB
gpg: Good signature from "Lorin Hochstein <lorin@...>"
Good signature on /home/lorin/packaging/nova_2011.2~bzr663-1isi1_source.changes.
Checking signature on .dsc
gpg: Signature made Fri 11 Feb 2011 03:52:44 PM EST using RSA …Run Code Online (Sandbox Code Playgroud) 我在 Git 存储库中开发我的大部分代码,现在我在 Launchpad 上变得稍微活跃一些,我开始选择 Bazaar,它与 Git 的工作流程有两个“小”差异,这与我通常开发代码的方式背道而驰。虽然我不介意使用 Bazaar,但我注意到 Launchpad 可以选择使用多个 VSC 工具

我很好奇它是如何与 Launchpad 配合使用的,重点是以下几点:
由于具有 Git/GitHub 背景并且对 Bazaar VCS 知之甚少,我想偶尔向 Launchpad 上托管的项目报告错误,甚至发送补丁。我想以“适当”的方式来做,这样它就可以在不妨碍合并或改进的情况下进行。
我似乎无法找到适合我需要的体面的简单操作方法。
到目前为止我做了什么:
我已经创建了一个 Launchpad 帐户,
报告了错误,
安装 Bazaar 并设置 SSH 密钥等。
现在如果是 GitHub,我会
分叉回购,
克隆分叉的回购,
创建一个命名合理的分支并完成工作,
提交+推送,
使用 GitHub WUI 创建拉取请求。
但它不是 GitHub,Launchpad 和 Bazaar 架构似乎与它们的 GitHub/Git 对应物有很大不同。
那么,一个善良的人能否让我免于淹没在大量文件中并编写一个简单的步骤路径,主要是第二部分?可能在需要时包括相关的 CLI 命令?
编辑:似乎我应该澄清一下我是专门询问 Ubuntu 软件包(无论它意味着什么)或 Launchpad 项目。
我不太关心 Ubuntu 包和非 Ubuntu 包之间的区别。任何软件都可能今天在 Ubuntu 中,明天就没有了,反之亦然。发展比分销更重要。
所以我假设
并非 Ubuntu 中分发的每个软件包都托管在 Launchpad 上,
Launchpad 的“官方”或“默认”工作流程存在(好吧,如果所有开发人员都同意使用 Bazaar,为什么他们中的大多数人不能就修补工作流程达成一致?),
所以我问的是 Launchpad 方式,而不是 Ubuntu 方式。我选择 AU 是因为因为交叉路口很大,我想这很适合这里的话题。
我目前正在 Launchpad 上查看总线,并且对它们进行分类的选项对我来说是灰色的。这是因为我的 Karma 不够高(撰写本文时为 599)还是因为我不是正确团队的一员(我正在剪纸)。
当我的包通过启动板使用配方构建时,它会忽略./debian/changelog我提供的文件,并生成一个无用的文件,如下所示:
harmonyseq (0.14~natty1) maverick; urgency=low
* Auto build.
-- Rafal Cieslak <rafalcieslak256@gmail.com> Tue, 25 Jan 2011 16:56:57 +0000
Run Code Online (Sandbox Code Playgroud)
如果启动板将我准备的更改列表存储在更改日志文件中,而不是仅仅将“自动构建”放在那里,那就更好了。
从配方构建包时,如何强制启动板使用我的更改日志文件中的更改列表?
我是一个狂热的开发者,但我从来没有真正开始设置我自己的 PPA——有人会怎么做?遇到的常见问题?如何让我的源代码编译成 PPA 上的包?
我已经使用 PPA 安装了 LibreOffice 4。我使用的是 LibreOffice 3,然后我升级到了 LibreOffice 4,因为我有点渴望尝试新版本。
现在因为我发现 LibreOffice 4 有一些问题,包括处理我的母语,我想回到 LibreOffice 3。
这个问题如何从 LibreOffice 4.0 降级到 3.6?已经有一些答案与我上面提到的问题有一些相似之处,但它并没有解决我的问题。这个问题讨论了从特定版本的 LibreOffice 降级,即从 4.0 降级到 3.6。提到的解决方案不是我正在寻找的解决方案。它们会起作用,但解决方案建议.deb为 LibreOffice 3.6下载文件或为它们添加 PPA。此外,一些答案不成比例~(然而,适用于解决方案)强调使用突触,而不是一般的命令行解决方案。
我想要一个不使用 PPA 或下载文件的通用解决方案.deb。我想要的只是从(较高的)PPA 版本移回(较低的)正式版本。
无论如何,为了实现这一点,我从家中删除了 LibreOffice 配置目录,然后从我的机器中清除了 LibreOffice。
sudo apt-get purge libreoffice-*
Run Code Online (Sandbox Code Playgroud)
然后我使用sudo apt-add-repository --remove命令删除了相关的 PPA 。然后跑了sudo apt-get update。
现在,当我尝试使用以下命令安装 LibreOffice 时
sudo apt-get install libreoffice
Run Code Online (Sandbox Code Playgroud)
我得到了大量关于未满足依赖项的输出,例如,
Run Code Online (Sandbox Code Playgroud)The following packages have unmet dependencies: libreoffice : Depends: libreoffice-core (= 1:3.5.7-0ubuntu4) …
我有一个程序需要为每个 ubuntu 版本重新编译。
目前我正在使用 Ubuntu 的 PPA 打包它,仅用于当前发行版。
最终,我必须为以前的 ubuntu 版本提供包。
我不知道如何做到这一点。
Ubuntu PPA 构建服务器是如何工作的——它是否只查看最新更改日志条目(在 debian/changelog 文件中)中的分布字段来确定应该构建包的分布?
debian 规范允许将多个发行版添加到发行版字段中。但这对我没有帮助。
一些 ubuntu 文档谈到将发行版名称编码为版本号(在 debian 更改日志文件中)。
但这在实践中如何运作?有新版本的程序可用,然后呢?我是否为每个发行版添加一个新的更改日志条目,并且 PPA buildserver 在 dput'ing 之后为每个发行版自动构建新包?还是 PPA 构建服务器只查看第一个更改日志条目?
我已按照http://developer.ubuntu.com/packaging/html/getting-set-up.html 中列出的说明设置我的台式计算机,以便我可以在 12.04 的开发过程中进行错误修复。
现在我正在尝试在我的笔记本电脑(不同的机器)上重新设置,以便我可以帮助将Ask Ubuntu 徽章与 Ubuntu Accomplishments 系统集成。但是,当我尝试运行列出的第一个命令来执行 a 时bzr branch,我的终端出现以下错误:
Permission denied (publickey).
ConnectionReset reading response for 'BzrDir.open_2.1', retrying
Permission denied (publickey).
bzr: ERROR: Connection closed: Unexpected end of message. Please check connectivity and permissions, and report a bug if problems persist.
Run Code Online (Sandbox Code Playgroud)
我需要做什么来设置并准备好在新机器上再次工作?我是否应该再次遵循第一个链接中的所有步骤(即使他们似乎认为这是您第一次使用 Launchpad 进行设置)?或者我应该跳过/做不同的步骤吗?
注意:此时我无法访问我原来的台式机。