在Launchpad上,所有的源代码都可以浏览吗?请问具体在哪里可以找到?

我一直觉得Launchpad的源代码浏览器非常有用,当我需要在回答中链接到打包代码时。URL模式足够简单(https://code.launchpad.net/ubuntu/+source/<package>),我通常只需在地址栏中输入code后替换最后一个单词即可。但是,最近我发现实际的打包代码越来越难找到了。
例如:
  • GDM - 没有比15.10(wily)更新的版本。但从变更日志中可以明显看出打包代码自那时以来已经发生了变化。
  • Bash - 这很有趣。在该页面上有一个指向Launchpad上的Git仓库的链接,在那里你可以看到更新版本的打包。类似地,对于apt, bash, git, grub2等也是如此。
请注意,GDM打包没有列出Git存储库。其他像GDM一样的软件有:bazaar itselfLightDMzshChromium,...。
那些打包代码都去哪了?
请注意,我不想下载打包代码,我可以使用apt-get source来获取。我也不想浏览软件源代码,我会在LP之外寻找(当然,除非该软件是在LP上开发的)。我想在线浏览Ubuntu的打包代码,并且能够链接到它。对于Debian,我通常可以在Alioth上找到打包代码。
1个回答

简短回答:要获取所有内容,您需要逐个下载源代码包;目前没有单一的公共浏览服务可用于Ubuntu。但我们正在努力改进!
长篇回答:
所有Ubuntu的规范源代码都以源代码包的形式提供。例如,您可以访问https://launchpad.net/ubuntu/+source/hello,点击其中一个版本号,然后从“Downloads”部分下载源代码。要找到Ubuntu发布的每个hello版本的源代码,您可以跟随链接查看其完整发布历史,然后从中选择任何版本号字符串。对于任何源代码包,相同的URL模式都适用;您只需要知道源代码包的名称。
源代码包是规范的,因为它们是Ubuntu开发人员用来开发Ubuntu的基本单位。但它们有些复杂;解压源代码包需要一些工具。如果您提供dsc文件的URL,devscripts软件包中的dget命令可以在一个命令中下载、验证和解压源代码包。
这当然不是很方便。
多年前,有人努力改善这个问题。Ubuntu称之为“Ubuntu分布式开发”,简称UDD,并开发了一个名为Bazaar的分布式版本控制系统来尝试解决这个问题。作为这一努力的一部分,源代码包会在发布时自动导入到Launchpad上的Bazaar VCS托管平台上。那时候,理论上你可以在code.launchpad.net找到任何软件包的源代码。例如,你仍然可以在Precise和Trusty版本的Ubuntu上看到hello软件包的Bazaar导入源代码,链接为https://code.launchpad.net/ubuntu/+source/hello
Bazaar专注于一系列特定的用例,并且具有非常周全的命令行界面。其中一位开发者Jelmer Vernooij写了一篇关于Bazaar开发的有趣回顾文章,其中包括它如何与当时正在开发的其他分布式版本控制系统相适应。
时间过去了,Git占据了世界舞台,Bazaar则退居二线。与此同时,UDD开始显露出裂痕。越来越多的软件包无法导入,需要手动干预修复。这意味着,尽管Ubuntu的源代码包开发仍在继续,但在code.launchpad.net上的Bazaar视图未能更新。
最终,由于没有人维护它并且不值得继续运行,UDD导入器被关闭
与此同时,在2014年,我发布了一些关于如何使用git进行Ubuntu开发的笔记;尽管当时Ubuntu软件包通常并未在git中进行维护。

这个基于Git的工作流程已经被我的团队(Ubuntu服务器团队)采用,并且我们一直在努力通过Git提供Ubuntu源代码。我和一个同事正在撰写一篇博客系列(尚未完成),解释我们正在做的事情。

你找到的一些软件包的Git仓库是我们导入器(~usd-import-team)的结果。我们仍在积极开展工作,这就是为什么还不是所有软件包都可以通过这种方式获取。我们还没有达到“beta”阶段,希望在准备好之前重新导入所有软件包(破坏之前的所有提交哈希),并且暂时没有将所有导入的仓库与最新的Ubuntu开发工作保持同步。但是,对于我们导入的特定版本的软件包,它应该足够准确以供浏览。

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

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