Debian Packaging pre requisites
On previous packaging workshops, we had to spend a lot of time troubleshooting issues when people used older versions of Ubuntu which had an older version of dh-make, gem2deb, npm2deb etc. So we thought of clearly mentioning the prerequisites so we can use the available time more efficiently.
If you have Machine with Debian-Sid it is well and good. if not we are having several other ways to set up a packaging environment. those are following but not limited to it.
1. Schroot chroot (lightweight and preferred)
2. LXC Container (saving bandwidth with apt-cacher-ng is easy)
3. Docker Container (if you are familiar with docker already)
4. VM (Using Vagrant or Manually installed. Host system should be sufficiently powerful to run a Virtual Machine)
If you have a GNU/Linux system already with schroot and sbuild packages, using Schroot is recommended (schroot and sbuild can be run on the host system). LXC or docker will work fine for the beginners (for simple packages). Also running docker as privileged container is important otherwise sbuild command will not work, which is required to build packages in clean Debian sid environment.
- You MUST have a Debian unstable system (physical, virtual machine, container or a chroot). See instructions given below to setup Debian Sid.
Virtual Machine - https://wiki.debian.org/Packaging/Pre-Requisites#Virtual_Machine
Install packaging tools inside the container
# apt-get install dh-makeOR
# apt-get install gem2debOR
# apt-get install npm2debas required. For Node.js modules, use
npm2deb; for ruby gems, use
gem2deb; for go packages, use
dh-make-golang. If there is no tool specific to a language,
dh-makecan be used as a generic tool for any language.
Understand how a basic command line program is created and installed using a simple Makefile
See https://git.fosscommunity.in/praveen/hello for an example
Get a basic overview of packaging from Debian New Maintainer's Guide
Understand basic git usage (add, commit, clone, push, pull, branch, tag)
- Pick any book from http://sixrevisions.com/resources/git-tutorials-beginners/
- Create an account at https://git.fosscommunity.in and add your ssh public key to your account https://git-scm.com/book/en/v2/Git-on-the-Server-Generating-Your-SSH-Public-Key
Run a hello world program with NodeJs. Follow http://nodeguide.com/beginner.html You can
apt-get install nodejs
Join our real-time chat group using one of the 3 options (all 3 services are bridged/interconnected) and say hi. If you have difficulty with pre-requisites please ask here or on our chat room.
- Matrix: #debian-browserify:diasp.in
- IRC: #debian-browserify on irc.oftc.net
- Telegram: https://t.me/debian_browserify
http://webchat.oftc.net/?channels=debian-browserify&uio=MT11bmRlZmluZWQb1 to join the IRC room