Note: Currently new registrations are closed, if you want an account Contact us

Learn Debian Packaging

From Free Software Community of India
Revision as of 17:50, 27 January 2021 by Pravs (talk | contribs) (add more details to different levels)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

We are guiding some learners of Free Software Camp to learn Debian Packaging and this page will be used to track the progress of the tasks.

Level 0: Setting up a Debian Sid environment for packaging

By this time you should be familiar with

  1. apt source/dget,
  2. dpkg-source -x,
  3. dpkg-buildpackage,
  4. apt build-dep,
  5. apt-source -b

commands to rebuild an existing debian package from source.

Level 1: Learn basics of Packaging

Understand the basic concepts using debmake/dh_make (getting source tarballs, creating source package, building the binary package, making it lintian clean)

Once you understand the basic concepts, use npm2deb to automate some of those tasks like getting source tarball, a better debian directory template than the ones created by dh_make/debmake as npm2deb knows more details specific to node modules. You will still have to fix the remaining issues flagged by lintian.

By this time you should know,

  1. creating lintian clean packages for simple modules and
  2. building it in a clean environment like sbuild.
  3. You should also know to import a dsc file to a git repo (gbp import-dsc --pristine-tar) and
  4. push your work to a public git hosting service like (git push -u --all --follow-tags)

Level 2: Packaging more complicated modules

Once you get a clear picture of packaging a simple module, we can move to the next stage of packaging more complicated modules that will involve things like, modifying some upstream files, removing some files from source tarball, generating some files from source, getting the source tarball from a git commit etc.

By this time you should know,

  1. Creating patches with quilt
  2. Repacking orig.tar and exclude specific files
  3. Use pkg-js-tools options to build from source files
  4. Build packages with typescript sources

Level 3: Pick an unpackaged but useful module and upload to archive

By this time you should know,

  1. How to file ITP
  2. How to send RFS mails