Makes debian packages from go git repos
Go to file
Jeff Carr 53ca277ca1 add gocomplete example 2024-11-17 04:16:24 -06:00
deb.extraction-tests .deb file format for non-debian systems 2024-03-01 19:43:01 -06:00
examples add gocomplete example 2024-11-17 04:16:24 -06:00
resources blank.so causes resources/ to not fail 2024-11-07 04:53:46 -06:00
.gitignore initial commit 2024-02-11 01:00:05 -06:00
LICENSE initial commit 2024-02-11 01:00:05 -06:00
Makefile add an example to build a custom .deb 2024-11-16 09:49:49 -06:00
README.md update docs and arch dropdown menu 2024-11-16 13:51:51 -06:00
addRepo.go add argv --keep-files 2024-11-06 15:52:43 -06:00
argv.go fix makefile 2024-11-16 00:05:07 -06:00
buildPackage.go add an example to build a custom .deb 2024-11-16 09:49:49 -06:00
control omg. never did os.UserHomeDir() 2024-11-06 16:31:23 -06:00
controlBox.go update docs and arch dropdown menu 2024-11-16 13:51:51 -06:00
main.go add an example to build a custom .deb 2024-11-16 09:49:49 -06:00
postinst cleanup files/ after packaging 2024-03-02 15:58:56 -06:00
readControlFile.go fix arch 'all' example 2024-11-16 11:00:46 -06:00
stateWindow.go add an example to build a custom .deb 2024-11-16 09:49:49 -06:00

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.