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


8

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

例如:

  • GDM-那里没有什么比15.10更新的了。但是从变更日志中可以明显看出,此后包装代码发生更改。
  • 重击 -这很有趣。有一个链接Git仓库Launchpad上该网页,并可以看到包装新版本。对于apt,bash,git,grub2,...也是如此。

请注意,没有列出GDM包装的Git存储库。其他如GDM:集市本身LightDMzshChromium等。

所有包装代码都去了哪里?

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

Answers:


11

简短的答案:要全部使用,您必须单独下载源程序包;目前,通常没有针对Ubuntu的单一公共浏览服务。但是我们正在努力!

长答案:

所有Ubuntu的规范源代码都可以作为源包获得。例如,您可以转到https://launchpad.net/ubuntu/+source/hello,单击其中一个版本号,然后可以从“下载”部分下载源。要查找Ubuntu发行的每个版本的hello的来源,您可以单击链接查看其完整发行历史,然后单击此处的任何版本号字符串。相同的URL模式适用于任何源程序包。您只需要知道源程序包的名称即可。

源码包是规范的,因为它们是Ubuntu开发人员用来开发Ubuntu的基本单元。但是它们有些笨拙。打开源程序包的包装需要一些工具。如果您提供源代码包dsc的URL,则可以通过一个命令dget从该devscripts软件包中下载,验证和解压缩源软件包。

当然,这不是很方便。

几年前,人们一直在努力使它变得更好。Ubuntu将其称为“ Ubuntu分布式开发”,简称UDD,并开发了一种称为Bazaar的分布式版本控制系统来尝试解决此问题。作为此工作的一部分,源软件包在发布时会自动导入到Launchpad上的Bazaar VCS托管平台中。那时,理论上您可以在找到任何软件包的源代码code.launchpad.net。例如,您仍然可以hellohttps://code.launchpad.net/ubuntu/+source/hello上看到Precise和Trusty Ubuntu版本的软件包从Bazaar导入的源。

Bazaar专注于一组特定的用例,并且具有一个经过深思熟虑的命令行界面。其开发者之一JelmerVernooij写了一篇有趣的回顾,回顾了Bazaar的开发情况,包括如何将其与当时正在开发的其他分布式版本控制系统配合使用。

随着时间的流逝,git接管了整个世界,Bazaar占据了后座。同时,UDD已开始显示其裂缝。越来越多的软件包无法导入,需要手动干预才能修复。这意味着,即使继续对源软件包进行Ubuntu开发,这些软件包的Bazaar视图code.launchpad.net也无法更新。

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

与此同时,2014年,我发布了一些有关如何使用git进行Ubuntu开发的说明;即使当时通常不使用Ubuntu维护Ubuntu软件包。

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

您为某些软件包找到的git存储库是我们进口商(~usd-import-team)的结果。我们仍在积极地致力于这一点,这就是为什么现在还没有所有软件包可用的原因。我们尚未进入“测试”阶段,希望在准备就绪之前重新导入所有软件包(打破以前的所有提交哈希值),并且尚未使所有导入的存储库与最新的Ubuntu开发工作保持最新。但是,在我们导入了特定版本的软件包的地方,它应该足够准确才能浏览。

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

我们的目标之一就是要解决您要问的问题:在Launchpad上拥有一个正式的地方,可以浏览所有Ubuntu源代码。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.