codema.in

Debian Packaging pre requisites

PP Pirate Praveen Public Seen by 709

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.

  1. You MUST have a Debian unstable system (physical, virtual machine, container or a chroot). See instructions given below to setup Debian Sid.
  1. Install packaging tools inside the container
    # apt-get install dh-make OR
    # apt-get install gem2deb OR
    # apt-get install npm2deb as 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-make can be used as a generic tool for any language.

  2. 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

  3. Get a basic overview of packaging from Debian New Maintainer's Guide
    https://www.debian.org/doc/manuals/maint-guide/

  4. Understand basic git usage (add, commit, clone, push, pull, branch, tag)

  5. Run a hello world program with NodeJs. Follow http://nodeguide.com/beginner.html You can apt-get install nodejs

  6. Go through https://wiki.debian.org/Javascript/Nodejs/Npm2Deb/Tutorial

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.

  1. Matrix: #debian-browserify:diasp.in
  2. IRC: #debian-browserify on irc.oftc.net
  3. Telegram: https://t.me/debian_browserify

If you are new to these technologies, I suggest you try matrix, see https://matrix.org for details. https://riot.im has a list of apps you can use.

http://webchat.oftc.net/?channels=debian-browserify&uio=MT11bmRlZmluZWQb1 to join the IRC room

AAM

Abhijit A M Thu 5 Jan 2017 7:16AM

Photos from the workshop

AAM

Abhijit A M Thu 5 Jan 2017 7:16AM

AAM

Abhijit A M Thu 5 Jan 2017 7:18AM

photos from the workshop

AAM

Abhijit A M Sun 8 Jan 2017 11:17AM

This was by and large one of the most fruitful workshops we had. More than 32 packages done. Almost 12+ already uploaded. Those who are not done yet, please finish your packages.

With the expectation that many amongst us will continue maintaining the packages and contribute more on the pkg-javascript-devel list.

SM

Shanavas M Thu 9 Feb 2017 2:05PM