Debian Packaging Workshop at COEP Jan 2017
Coordination thread for Debian Packaging Workshop at COEP.
Pre-requisites are documented here
https://codema.in/d/LTpSdMuX/debian-packaging-pre-requisites
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.
IRC: #debian-in on irc.oftc.net
XMPP: debian-in@conference.diasp.in
Matrix: #_oftc_#debian-in:matrix.org
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
Please refer https://wiki.debian.org/Javascript/Nodejs/Npm2Deb for detailed steps of packaging.
For repacking instructions please refer https://wiki.debian.org/Javascript/Repacking
Software I want to package during the week
1. Ava https://wiki.debian.org/Javascript/Nodejs/Tasks/ava (has long dependency chain, we should try to package as much as possible).
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.
If your request to join pkg-javascript team is accepted, follow the steps below to import your package to alioth. Import all your packages to alioth and use it directly for all future packages (we were using git.fosscommunity.in only as a temporary option till we got access to alioth).
- 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
- gbp create-remote-repo --remote-url-pattern='git+ssh://git.debian.org/git/pkg-javascript/%(pkg)s.git'
(You can saved this command as a shell script with
js-create-repo
name 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 withnode-
) 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.
Pirate Praveen Wed 14 Dec 2016 8:28AM
I updated the thread description with a link to pre-requisites and steps to join the chat room.
Pirate Praveen Mon 19 Dec 2016 5:25AM
Also if you setup apt-cacher-ng on foss server, it will make installing packages faster. It is similar to squid, but for apt (a package will be downloaded only once and everyone else will get the cached copy).
Pirate Praveen Sat 17 Dec 2016 11:29AM
@abhijitam everyone need not create the container themselves, they can just copy the container if at least one person creates it. Container directory will be in /var/lib/lxc, you can just create a tarball and copy/extract it to same location on the target system.
Abhijit A M Thu 22 Dec 2016 6:04AM
@praveenarimbrathod We should come up with a list of software which we can actually get packaged in the span of a week. I'm expecting a turnout of around 30-35 students. So we can actually target around 20-25 packages. We can also, alternatively, select a set of software (like javascript packages) from which everyone does one packaging in the week of workshop, and another set of software which can be a 2-6 weeks task.
Pirate Praveen Fri 23 Dec 2016 9:39AM
We can choose a nodejs app and that will have enough dependencies to give each for all. See https://wiki.debian.org/Javascript/Nodejs/Tasks/lerna for example. Most of it is simple to package. We can also target o package gnukhata.
Pirate Praveen Sat 24 Dec 2016 5:43PM
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).
Abhijit A M Sun 25 Dec 2016 9:49AM
If any of the attendees is facing issues in installing the software in their laptops, as mentioned by @praveenarimbrathod in this post https://codema.in/d/LTpSdMuX/debian-packaging-pre-requisites, please post the concerns here so that we can try to solve them before the workshop
Pirate Praveen Sun 25 Dec 2016 12:44PM
They may not have subscribed to this thread so may not see this thread (by default only new thread will be notified by email). So its better you remind them via email once.
Nupur Malpani Wed 4 Jan 2017 10:19AM
I am packaging get-port
Abhijit A M · Wed 14 Dec 2016 8:23AM
Praveen, please post the pre-requisites here, so that those who join will be able to see.