This document describes the process for forwarding gNewSense bugs upstream.

Italics will be used for files and paths, bold for commands, and 'code blocks' for file contents.

The goal

Have all our freedom related bugs *related to Debian* forwarded to Debian. Note that if it's not related to Debian (a.k.a., not a DFSG violation) it shouldn't be forwarded. Install the 'debian-policy' package and see /usr/share/doc/debian-policy/policy.txt.gz for the Debian policy, Section 2.1 for the DFSG.

Your setup

I'm assuming a release of gNewSense, but any Debian derivative (eg Trisquel) would do. Add the following lines to your /etc/apt/sources.list

# Source debian repositories for freedom verification
deb-src stable main
deb-src squeeze/updates main

Run apt-get update to pull down the latest package lists, and you should be able to run apt-get source.

To ease source downloading, install the 'devscripts' package, which will provide you with dget (useful for downloading single packages without modifying sources.list), and install apt-file to help locate files moving between packages.

Checking packages

Find a bug report in Savannah. Before forwarding we need to confirm the freedom bug really exists.

Before that though, we'll create a temporary area to work in. This can be anyware you choose.

mkdir ~/pfv
cd ~/pfv

Now lets start by downloading the source of the suspect package from Debian.

apt-get source <packagename>

[stuff will appear on the screen as apt downloads and unpacks the source]

Change into the packages working directory.

cd <packagename>-*

Look at the relevant/suspect files for headers excluding distribution, modification, use, or anything that means it doesn't match the DFSG. Note when forwarding bugs to Debian, that's what matters, not the FSF definition.

Forwarding bugs

Use the following format for messages:

To: Debian Bug Tracking System <>
Subject: May contain non-free data (customise as appropriate)

In the body of the email, include the following:
Package: <package name>
Version: <version, blank for all/any>
Severity: serious
Justification: fails dfsg <cite relevant part for bonus points>
Usertags: gnewsense libreplanet

<rest of the email containing detailed information>

Usertags to set

All freedom bugs filed by us should should be in both these tags.

Retroactively Tagging

If you find you missed a tag, typod or something else you can use the 'bts' command from the 'devscripts' package.

bts user , usertags 600340 + libreplanet

The example above usertags bug 600340 with the libreplanet tag. You need a working MTA on your system for this to work.

Tagging archived bugs

Found a bug which we submitted but which has been archived? You'll need to unarchive it first. Hopefully the following template will help. Note that BUGNUMBER is the number of the bug you want to usertag. You can tag multiple bugs in one email, but they must be on separate lines.

To: Debian BTS control <>
Subject: Usertagging archived bug (Sorry for the noise)

unarchive BUGNUMBER
usertag BUGNUMBER + gnewsense
usertag BUGNUMBER + libreplanet

Changing the user who the tag is for

This is done by removing the tags from the first user, then adding them to the second user.

bts user , usertags 600339 - libreplanet
bts user , usertags 600339 + libreplanet

Forwarded bugs should appear on this page, though not all our earlier bugs are captured here.

Bug report status

If a package is only partially non-free (e.g. it contains a non-free data file) then it's usually in one of the following states.

  1. Blacklisted and not yet forwarded: set bug report status to In Progress, assign it and forward as soon as possible.

  2. Blacklisted and forwarded: set bug report status to Postponed. Assign to None if you want to wait for a fix from Debian or leave freeing the package to someone else.

  3. Unblacklisted and freed in gNewSense and forwarded: set bug report status to Upstream, because we want to have it fixed in Debian too.

BugForwarding/LearningResources (last edited 2012-03-13 19:01:07 by samgee2)