原始问题Packaging Go application for Debian是在三年前被问到的,当时Go是静态链接可执行文件。
现在,使用新的Go 1.5版本,release note说,
对链接器的更改允许将Go包作为共享库分发以链接到Go程序,并将Go包构建到可能链接到C程序或由C程序加载的存档或共享库中
我前往Debian GoPackaging wiki,但发现它还没有更新到Go 1.5,也许wiki没有维护,或者可能没有,但是,
我只是想知道,如果我想打包一个除了官方Go包之外什么都不需要的工具,我应该如何利用共享库,而不是将我的应用程序构建成一个巨大的静态链接可执行文件?
我知道官方答案可能需要一些时间,但我可以等。
感谢Braiam的回答,我动了一下。
我按照博客进入了步骤head -100 debian/**/*
,但我的输出与博客完全不同。我的就是以下几点。任何人都知道为什么以及如何解决?
$ head -100 debian/**/*
3.0 (quilt)
我尝试运行gbp buildpackage --git-pbuilder
,但遇到了错误:
gbp:info: Building with (cowbuilder) for sid
Base directory /var/cache/pbuilder/base.cow does not exist
gbp:error: 'git-pbuilder' failed: it exited with 1
我检查并确认我已经cowbuilder
&已安装pbuilder
:
ii cowbuilder amd64 pbuilder running on cowdancer
ii pbuilder all personal package builder for Debian packages
出了什么问题?这个pbuilder
对我来说是I build Debian/Ubuntu Package with Docker新的。
答案 0 :(得分:1)
最简单的方法是使用dh-make-golang并验证/更正自动生成的文件。否则,您必须关注Debian Packaging Guide并创建debian/*
目录并将控制和规则文件编辑为match the examples。