Course on Debian packages in LinuxChix
As it was proposed in DebConf7 BoF, I'm setting up the course on Debian package development in LinuxChix. I'll probably set up the course using Moodle (I don't know how to use it, but some other LinuxChix have offered to help me in this). To make sure that everyone starts from the same point, I'll probably make a pre-course explaining about building programs from the source, and the basics on Makefiles, Autotools and so, and then have a second entry point for the rest of the participants, who already know about that.
My plan is to start explaining what is a package and why they are needed, and explain how to create a basic package both with autotools and with a Makefile, using Debhelper and dh_make. I'll go on explaining what the most important files in debian/* are for, and try to move a bit forward introducing also menu files, desktop files, watch files and so on. Afterwards I plan on explaining how to create multiple binary packages, and also packaging other kind of programs, like python, php or fonts. I'm not sure we will get this far anyway, but if there's interest on it I'll go ahead. If we go beyond that, I'd like to introduce them to the most common patching systems (quilt and dpatch), how to manage the BTS, maybe how to manage packaging stuff using a versioning system (probably SVN, maybe bazaar too, I don't know). Maybe also explaining them what cdbs is too.
My plan is to go ahead slowly, doing stuff all the way (not just me explaining a lot of things but soing exercises, maybe their own packages). I'm not in any hurry, so I prefer to do it well and keep them interested, and maybe at some point some of them might want to join Debian. I also want to show them a way of doing things, not all the possible ways of doing everything, as I don't want them to get lost in the ocean of possibilities. Every person in charge of each part of the course is free to decide how they show them that part, even though other people might think their own way is better. Once they learn a way of doing something, they can have their knowledge extended on the other possible ways of doing it, so they can choose, but as I said, one of my main goals is to catch and keep their interest, and make the course as entertaining as possible.
I'm gonna need some help, so please volunteer yourself if you want to cooperate in this you're really welcome. Don't worry if you can just help in some part, or if you don't have much time. I'll take care of coordinating everything. I'll certainly need some help in some areas in which I'm not really too proficient, mostly those related to BTS, svn-buildpackage, cdbs, packaging web applications, bazaar and some other stuff. I don't think I could properly explain all about those.
Ideas are also welcome.