Jeff Carr c8bbe3c298 | ||
---|---|---|
deb.extraction-tests | ||
examples | ||
resources | ||
.gitignore | ||
LICENSE | ||
Makefile | ||
README.md | ||
addRepo.go | ||
argv.go | ||
buildPackage.go | ||
control | ||
controlBox.go | ||
main.go | ||
postinst | ||
readControlFile.go | ||
stateWindow.go |
README.md
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.