39 lines
1.6 KiB
Markdown
39 lines
1.6 KiB
Markdown
# go-deb - package things to make it easier on everyone else
|
|
|
|
Makes a debian package from a go git repository, but also arbitrary things.
|
|
|
|
# Usage (puts the finished .deb file in ~/incoming/) :
|
|
|
|
* go-deb --auto --repo go.wit.com/apps/go-clone # just make the .deb file already
|
|
* go-deb ---repo go.wit.com/apps/go-clone # will try to open a gtk gui
|
|
* go-deb --repo . # can be used for packaging anything. looks for a 'control' and 'build' file
|
|
|
|
# examples/
|
|
|
|
See the examples/ directory for custom 'control' and 'build' files for packaging arbitrary projects.
|
|
|
|
# Notes
|
|
|
|
Make a 'control' file for the debian package.
|
|
You can also make a custom 'build' script to run to place additional files in the debian package.
|
|
|
|
|
|
.deb files are actually a smart and very simple file format based off of tar. This was
|
|
a smart design decision in the early days when, if things went wrong, your system
|
|
could break when updating things like glibc. This would mean that you couldn't even
|
|
figure out what is what. Having a very primitive file format is a bonus. That also
|
|
means, it is simple to make them! This can be non-intuitive however. This tool
|
|
tries to simpilfy that process.
|
|
|
|
Basically a .deb file is based off of 'tar' and 'ar' (I can only assume 'ar' is a
|
|
precurser to tar, but I don't know for sure and will ask maddog!)
|
|
|
|
Inside the .deb file are some control files and debian specific files and then
|
|
a tarball of all the files to extract.
|
|
|
|
# Todo
|
|
|
|
* make .rpm, gentoo, arch, etc file formats also
|
|
* make whatever the macos needs
|
|
* windows support I guess. golang needs plugin support on windows first.
|