Workflow

The team repository has some helper scripts that help the team have a more or less consistent workflow. You are encouraged to read those helper scripts, specially the ones mentioned in this documentation, so that you can understanding what is going on and not treat them like magic.

Finding work to do

There are several sources of information for things to do in the Ruby team's packages. Try these:

Basic Setup

You need a few variables in your environment. Add lines similar to the ones below to your ~/.bashrc:

export DEBEMAIL="you@example.com"
export DEBFULLNAME="FirstName Lastname"

If you use a shell different from bash you probably know what you are doing so we trust you will be able to do a similar configuration for it.

Create an account on Salsa

Go to Salsa and create an account. Your account will look like "username-guest" if you are not a Debian member.

Ask to join the ruby-team group.

Add the following lines to ~/.ssh/config, replacing username-guest with your actual username:

Host salsa.debian.org
  User username-guest

Clone the team master repository

Clone the master repository with a name that suits you (e.g. ruby-team). It contains helper scripts, and will be used as the home to import other team repositories.

git clone git@salsa.debian.org:ruby-team/meta.git ruby-team

if you don't have a salsa account, you can use this instead (but not that the repository will be read-only and you will not be able to push changes with git)

git clone https://salsa.debian.org/ruby-team/meta.git ruby-team

Setup the build environment

From the root the master repository (e.g. ruby-team if you called it this way during the previous step), run:

./setup

Checkout a package

From the root the master repository (e.g. ruby-team if you called it this way during the previous step), run:

./checkout PACKAGENAME

Then cd into the package directory

cd PACKAGENAME

Fix a bug in the packaging

Add a new package

Update an existing package to a new upstream version

From the package directory, below the master repository, run:

../new-upstream

Refresh autogenerated packaging files

From the package directory, below the master repository, run:

dh-make-ruby -w

Do a local build

Make sure you have the package build dependencies installed. From the package directory, below the master repository, the following command will do:

dpkg-checkbuilddeps || mk-build-deps -i -r -s sudo

Please read the manpage of mk-build-deps(1) to understand what it does.

Then do the build:

gbp buildpackage -us -uc

Do a build in a clean environment

From the package directory, below the master repository, use the build helper script:

../build

Prepare the package for release

Request sponsorship

TO BE WRITTEN

Upload (DD/DM only)

From the package directory, below the master repository, use the build-and-upload help script:

../build-and-upload

If you already built the package before on its final state, you can also skip building again with the upload helper script:

../upload