Debpic lets you build Debian packages in an isolated Docker environment.
See the man page for an introduction and usage instructions.
The Debian wiki has a list of similar tools.
Tasks | Steps |
---|---|
Build | debpic |
Interactive mode | debpic --interactive |
Open VSCode in container | debpic --vscode |
Local Apt Repository | debpic --local-repository ~/mydebs |
Private Apt Repository (Configure) | Write deb822 format sources to /etc/debpic/sources.list.d/MyServer |
Private Apt Repository (Use) | debpic --sources MyServer |
Use DEB_BUILD_OPTIONS | DEB_BUILD_OPTIONS="nocheck no_lto" debpic |
Run Command in container | debpic "my command" |
Install extra packages | debpic --extra-pkg gdb |
Set destination directory | debpic --destination ~/my_built_packages |
Pass args to dpkg-buildpackage | debpic -- -b |
Hook script (Configure) | Write script to /etc/debpic/hooks/myscript |
Hook script (Use) | debpic --hook myscript |
Use golang tooling | debpic --hook gopath --interactive |
Jenkins Integration | See Using With Jenkins. |
User Experience | Info |
---|---|
Tab completion | Yes |
Man page | Yes |
Coloured Output | Yes |
Caching | Container is cached. Ccache enabled by default. |
Config file | ~/.config/debpic/debpic.conf |
Built package location | ./built_packages/ |
Include extra tools | Edit ./developer-packages.txt |
-
Download debpic debian package
-
Install debpic
sudo apt install ~/Downloads/debpic_1.0.0_all.deb
- Configure docker to run as non-root user. See official docker documentation for more details.
sudo usermod -aG docker $USER
newgrp docker
- . Optionally - configure git to globally ignore generated built_packages directory
echo built_packages >> ~/.config/git/ignore