go - 为类 Debian 系统打包 Go 1.5 应用程序

标签 go debian-packaging

原来的问题,Packaging Go application for Debian , 在三年多前被问到,当 Go 静态链接可执行文件时。

现在,有了新的 Go 1.5 版本,它的 release note说,

Changes to the linker enable distributing Go packages as shared libraries to link into Go programs, and building Go packages into archives or shared libraries that may be linked into or loaded by C programs

我前往 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
    
  • 我检查并确认我已经安装了 cowbuilderpbuilder:

    ii cowbuilder  amd64 pbuilder running on cowdancer
    ii pbuilder  all personal package builder for Debian packages
    

怎么了?这个 pbuilder 东西对我来说是新的 I build Debian/Ubuntu Package with Docker .

最佳答案

最简单的方法是使用dh-make-golang并验证/更正自动生成的文件。否则你必须关注 Debian Packaging Guide并创建 debian/* 目录并将控制和规则文件编辑到 match the examples .

关于go - 为类 Debian 系统打包 Go 1.5 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32171867/

相关文章:

github - 如何制作动态 github 徽章,即 README 中改变状态的图像?

debian-packaging - Debian 如何管理软件包名称的冲突?

debian-packaging - Debian 包含二进制文件格式

debian-packaging - 如何将软件包构建过程中的额外步骤添加到 debian/rules 中,我应该这样做吗?

debian-packaging - 来自 deb postinst 中的 Apt-get 命令

go - goroutine的执行时间点是什么?

json - 在 Go 中将 JSON 解码为 map

sql - 执行查询 sql 时出错 - Golang

mysql - 从sql文件加载存储过程

cmake - 打包 CMake 时 RunCMake 测试失败