【问题标题】:How do I build a debian package whose sources include symbolic links outside of the source tree?如何构建一个 debian 软件包,其源代码包含源代码树之外的符号链接?
【发布时间】:2012-06-10 15:29:59
【问题描述】:

我有一个项目,其源代码包含指向其他源代码树的符号链接(特别是 CppUTest 框架)。我需要从我的项目中构建一个 debian 包,但 dpkg-source 不会跟随符号链接。

进一步挖掘,我相信这是因为tar 的默认行为是不取消引用符号链接,除非明确告知(-h)。

在构建 debian 源代码压缩包时,我无法找到将这个额外选项传递给 tar 的方法。

那么我在这里做错了什么?是否可以构建一个包含符号链接的 debian 源代码压缩包?如果有,怎么做?

【问题讨论】:

  • 鉴于您已经得到了关于 deb 包中的符号链接的两个答案,也许强调您已经知道如何做到这一点,这是关于构建 _orig.tgz 文件。
  • @tripleee 我在 3 个不同的日子里 3 个不同的时间回到这里,试图弄清楚为什么你拒绝投票所有答案(我删除了我的,但它是 stackoverflow.com/a/15941526/117471)我认为问题在于在“构建 debian 包”的双重含义中。我认为最常见的解释是“创建一个 debian 包”。但是,最后一句的下一句是“构建一个 debian 源代码压缩包”。这可以解释为“安装 debian 源代码压缩包”。区别在于生产者与消费者。
  • 构建一个完整的源代码包包括构建一个orig.tar.gz。恕我直言,这个问题很清楚,这就是问题所在,而不是生成 .deb 文件,当然答案是微不足道的,在这里无关紧要。

标签: package debian symlink tar


【解决方案1】:

正如在这个线程中所读到的.. http://ubuntuforums.org/showpost.php?p=9752860&postcount=3

它们可以像普通文件一样包含在包中。

详细信息取决于您进行打包的方式,但在 debian/rules 的“安装”目标中使用类似以下内容应该可以:

ln -s /usr/share/whatever/file/you/want $(CURDIR)/debian/<pkgname>/usr/whatever/place/you/want/the/link

debian/ 中的所有内容都将在 .deb 中结束,包括您放在那里的符号链接。

【讨论】:

  • -1 这似乎回答了与被问到的问题不同的问题。源 tarball,而不是 deb 文件。
猜你喜欢
  • 2023-03-04
  • 2018-08-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-18
  • 2013-07-14
  • 2012-06-11
相关资源
最近更新 更多