Debian Packaging Workshop at COEP Jan 2017
Coordination thread for Debian Packaging Workshop at COEP.
Pre-requisites are documented here
Join our real time chat group using one of the 3 options and say hi. If you have difficulty with pre-requisites please ask here or on our chat room.
#debian-in on irc.oftc.net
If you are new to these technologies, I suggest you try matrix, see https://matrix.org for details.
See https://poddery.com/#xmpp for XMPP apps and use http://webchat.oftc.net/?channels=debian-in&uio=MT11bmRlZmluZWQb1 to join the IRC room
I'm hoping to divide the whole students into the following teams based on their interest, once they understand the basics of packaging (using nodejs modules, as they are easy to package for a new person. @sruthi is maintaining hundreds of nodejs modules even though she was a librarian before).
- Those who want to focus on packaging (again split into nodejs, ruby, python, go)
- Those who are interested in coding (we need help improving tools like npm2deb, gem2deb, lintian, dh-make. Adding glue code like grunt-browserify-lite, troubleshooting test failures, porting to new library versions etc)
- Those who want to work on maintaining big packages like gitlab, diaspora, pagure
- Those who want to help with system administration (maintaining poddery.com, diasp.in, git.fosscommunity.in, adding new services like matrix etc).
To set up name and email in environment variables https://wiki.debian.org/Diaspora/Packaging/gem2deb#Setup_your_environment
Software I want to package during the week
2. GNUKhata, Behave (https://github.com/behave/behave/)
3. Update diaspora to 0.6.2.0 (will need new rubygems packages or existing packages updated)
4. Fix bugs of some nodejs/ruby packages
Everyone should have gitlab running on their lxc containers and it should be accessible via local network.
- Configure your alioth username in ~/.ssh/config and add ssh keys to alioth. See link below. https://wiki.debian.org/Alioth/SSH#How_to_handle_differing_username
- Remove origin from your existing repos.
git remote remove origin
(You can saved this command as a shell script with
js-create-reponame in your $PATH). This will create a repo in alioth and push your changes there. Make sure your directory name is same as package name (it starts with
node-) and also the debian/xyz-1 tag is pointing to latest commit. (git tag -d debian/xyz-1; git push origin :debian/xyz-1; git tag debian/xyz-1). It is always better to remove debian/xyz-1 tag immediately after gbp import-dsc --pristine-tar command.
Before sending an RFS, please check you can install the package correctly using dpkg -i (you'll know if its dependencies are packaged or not). If a dependency is available from experimental, enable experimental in your sources.list and install it. If a dependency is available in NEW, gbp clone (with --pristine-tar option) the repo from alioth (all repo addresses follow the same pattern, differing only by the actual package name), build the package locally and install it. If it is not in experimental or NEW, it has to be packaged first.