Launchpad 上的所有源代码究竟在哪里可以浏览?

mur*_*uru 8 launchpad packaging source-code

当我需要在答案中链接到打包代码时,我一直发现 Launchpad 的源代码浏览器非常有用。URL 模式非常简单 ( https://code.launchpad.net/ubuntu/+source/<package>),我通常可以code在地址栏中输入后替换最后一个单词。但是,最近,我发现找到实际的打包代码变得越来越不一致。

例如:

  • GDM - 没有比 15.10(狡猾)更新的了。但是从更改日志中可以清楚地看出,打包代码从那时起发生了变化。
  • Bash - 这很有趣。在该页面的Launchpad 上有一个指向Git 存储库的链接,您可以在那里看到新版本的打包。同样对于apt、 bash、 git、 grub2、 ....

请注意,没有列出用于 GDM 打包的 Git 存储库。其他像 GDM:集市本身LightDMzshChromium,......

所有这些包装代码都去哪儿了?

请注意,我不想下载打包代码,我有apt-get source。我不想浏览软件源代码,我会在 LP 之外寻找(当然,除非软件是在 LP 上开发的)。我想在线浏览 Ubuntu 的打包代码,并能够链接到它。对于 Debian,我通常可以在Alioth上挖掘包装。

Rob*_*sak 11

简短的回答:要获得这​​一切,您必须单独下载源包;今天没有普遍可用的 Ubuntu 公共浏览服务。但我们正在努力!

长答案:

所有 Ubuntu 的规范源代码都作为源包提供。例如,您可以访问https://launchpad.net/ubuntu/+source/hello,单击其中一个版本号,然后可以从下载部分下载源代码。要查找 Ubuntu 发布的每个版本的 hello 的源代码,您可以点击链接查看其完整的发布历史记录,然后单击那里的任何版本号字符串。相同的 URL 模式适用于任何源包;你只需要知道源包的名称。

源包是规范的,因为它们是 Ubuntu 开发人员用来开发 Ubuntu 的基本单元。但它们有些笨拙;解压源包需要一些工具。dgetdevscripts如果您提供 dsc 文件的 URL,则可以通过一个命令从包中下载、验证和解压源包。

这当然不是很方便。

多年前,有人努力使这变得更好。Ubuntu 将其称为“Ubuntu Distributed Development”,简称 UDD,并开发了一个名为 Bazaar 的分布式版本控制系统来尝试解决这个问题。作为这项工作的一部分,源代码包在发布时会自动导入 Launchpad 上的 Bazaar VCS 托管平台。那个时候,理论上你可以在code.launchpad.net. 例如,您仍然可以hellohttps://code.launchpad.net/ubuntu/+source/hello 上看到用于 Precise and Trusty Ubuntu 版本的包的 Bazaar 导入源。

Bazaar 专注于一组特定的用例,并有一个经过深思熟虑的命令行界面。Jelmer Vernoo? 是其开发人员之一,他撰写了一篇关于 Bazaar 开发的有趣回顾,包括它如何与当时正在开发的其他分布式版本控制系统相适应。

随着时间的推移,git 接管了世界,而 Bazaar 则退居二线。与此同时,UDD也开始出现裂痕。越来越多的包无法导入,需要手动干预来修复。这意味着,即使 Ubuntu 对源包的开发仍在继续,这些包的 Bazaar 视图也code.launchpad.net未能更新。

最终,UDD 导入器被关闭,因为没有人维护它,并且认为不值得继续运行。

与此同时,2014 年我发表了一些关于我如何使用 git 执行 Ubuntu 开发的笔记;尽管当时 Ubuntu 软件包一般没有在 git 中维护。

这个基于 git 的工作流程已被我的团队(Ubuntu Server 团队)采用,我们继续致力于通过 git 提供 Ubuntu 源。我和一位同事已经开始写博客系列(尚未完成)来解释我们正在做的事情。

您为某些包找到的 git 存储库是我们的导入器 ( ~usd-import-team)的结果。我们仍在积极致力于此,这就是为什么并非所有软件包都可用这种方式。我们还没有处于“测试版”阶段,希望在我们准备好之前重新导入所有包(打破所有以前的提交哈希),并且还没有使所有导入的存储库与最新的 Ubuntu 开发工作保持同步。但是在我们导入包的特定版本的地方,它应该足够准确以供浏览。

我们希望在接下来的几个月内逐步导入所有软件包并自动使它们保持最新状态。

我们的目标之一正是解决您提出的问题:在 Launchpad 上有一个官方位置,可以在其中浏览所有 Ubuntu 源代码。