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

Difference between revisions of "Learn Debian Packaging"

From FSCI Wiki
(create a course outline)
 
(Fix links)
Line 1: Line 1:
We are guiding some learners of [https://camp.fsf.org.in|Free Software Camp] to learn Debian Packaging and this page will be used to track the progress of the tasks.
We are guiding some learners of [https://camp.fsf.org.in Free Software Camp] to learn Debian Packaging and this page will be used to track the progress of the tasks.


== Setting up a Debian Sid environment for packaging ==
== Setting up a Debian Sid environment for packaging ==


* [https://wiki.debian.org/Packaging/Pre-Requisites| Different options for setting up a Debian Sid environment]
* [https://wiki.debian.org/Packaging/Pre-Requisites Different options for setting up a Debian Sid environment]


== Learn basics of Packaging ==
== Learn basics of Packaging ==
Line 9: Line 9:
Understand the basic concepts using debmake/dh_make (getting source tarballs, creating source package, building the binary package, making it lintian clean)
Understand the basic concepts using debmake/dh_make (getting source tarballs, creating source package, building the binary package, making it lintian clean)


* [https://wiki.abrahamraji.in/simple-packaging-tutorial/|Abraham Raji's simple packaging tutorial]
* [https://wiki.abrahamraji.in/simple-packaging-tutorial/ Abraham Raji's simple packaging tutorial]
* [https://wiki.debian.org/SimplePackagingTutorial| Simple Packaging Tutorial on Debian Wiki]
* [https://wiki.debian.org/SimplePackagingTutorial Simple Packaging Tutorial on Debian Wiki]


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


* [https://wiki.debian.org/Javascript/Nodejs/Npm2Deb/Tutorial|npm2deb Tutorial on Debian Wiki]
* [https://wiki.debian.org/Javascript/Nodejs/Npm2Deb/Tutorial npm2deb Tutorial on Debian Wiki]


By this time you should know creating lintian clean packages for simple modules and building it in a clean environment like sbuild.
By this time you should know creating lintian clean packages for simple modules and building it in a clean environment like sbuild.
Line 22: Line 22:
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.
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.


* [https://wiki.debian.org/Javascript/Nodejs/Npm2Deb/AdvancedTutorial| Advanced tutorial for more complicated modules]
* [https://wiki.debian.org/Javascript/Nodejs/Npm2Deb/AdvancedTutorial Advanced tutorial for more complicated modules]

Revision as of 16:43, 27 January 2021

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.

Setting up a Debian Sid environment for packaging

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 creating lintian clean packages for simple modules and building it in a clean environment like sbuild.

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.