Well. I think the only "trauma" of debuild
is that it runs lintian
after building the package, and it's lintian
who tries to spot problems with your package.
So there are two ways to combat the situation:
- Do not use
debuild
: this tool merely calls dpkg-buildpackage
which really does the necessary powerlifting. The usual call to build a binary package is dpkg-buildpackage -us -uc -b
. You still might call debuild
for other purposes, like debuild clean
for instance.
- Add the so-called "lintian override" which can be used to make
lintian
turn a blind eye to selected problems with your package which, you insist, are not problems.
Both approaches imply that you do not attempt to build your application by the packaging tools but rather treat it as a blob which is just wrapped to a package. This would require slightly abstraining from the normal way debian/rules
work (to not attempt to build anything).
Another solution which might be possible (and is really way more Debian-ish) is to try to use gcc-go
(plus gold
for linking): since it's a GCC front-end, this tool produces a dynamically-linked application (which links against libgo
or something like this). I, personally, have no experience with it yet, and would only consider using it if you intend to try to push your package into the Debian proper.
Regarding the general question of packaging Go programs for Debian, you might find the following resources useful:
- This thread started on go-nuts by one of Go for Debian packagers.
- In particular, the first post in that thread links to this discussion on debian-devel.
- The second thread on debian-devel regarding that same problem (it's a logical continuation of the former thread).
Update on 2015-10-15.
(Since this post appears to still be searched and found and studied by people I've decided to update it to better reflec the current state of affairs.)
Since then the situation with packaging Go apps and packages got improved dramatically, and it's possible to build a Debian package using "classic" Go (the so-called gc
suite originating from Google) rather than gcc-go
.
And there exist a good infrastructure for packages as well.
The key tool to use when debianizing a Go program now is dh-golang
described here.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…