What is LoCo Lint?

LoCo Lint is a tool to help the members, administrators, and the LoCo Council better use Launchpad. LoCo Lint allows structured input, and simple questions. The rest will be done by the script.

Are you on the LoCo Council? Read up on the LoCo Council LoCoLint Guide


Installing the tool should be easy. LoCo Lint is not in the Ubuntu repositories, so you will have to add a PPA to install it. These commands should take care of it:

sudo apt-add-repository ppa:paultag/locotools
sudo apt-get update
sudo apt-get install locolint

LoCo Lint is now installed on your machine.


The first time you run LoCo Lint, you will need to set up the Application. Run the command

lintco whoami

You should now see a screen that looks a bit like:


You will now need to setup lintco's access to your Launchpad profile. Lintco will now open up your favorite web browser, in an effort to set up the access levels. The page loaded should look a bit like:


You will want to click on "Change Anything". We will need to deal with private bug reports, so we need this access. Don't worry, the code is nice. Please review it for any security issues you have. Click on the button ( as shown below )


Good, now after you click it, you will move on the the last page, which looks a bit like:


Head on back to the terminal, and hit enter. You're now set up and ready to use lintco.


This section will cover the basic usage of lintco -- LoCo Lint's main tool.

Reporting Issues with a LoCo Team

LoCo Lint is able to file issues ( with your permission ) for the LoCo Council to respond to. All the issues filed will be private! We'd rather like these reports to be honest, and to the point.

The advantage with using Launchpad over IRC or Email is that you will be able to watch the progress on the issue, rather then just sending in a complaint and hearing back later.

Basic Usage

To file an issue with the council, just run:

lintco report-issue

The first section of output will be working to figure out what LoCo teams you're on. Since there is a small issue with Launchpad's API ( and not exposing bits of it ) this may take a while, depending on how many teams you're on. Thanks, wgrant for helping me work through this, though.

The output should be similar to mine, but not with my name Smile :)

N: Connecting to Launchpad...
N: Identified as Paul Tagliamonte!
N: OK. I'm going to fetch your teams now, and figure out 
N: what LoCo team(s) you're on
N: 0) Ubuntu Iowa LoCo Team ( ubuntu-us-ia )
N: 1) Ubuntu LoCo Council ( ubuntu-lococouncil )
N: 2) Ubuntu North East Ohio ( ubuntu-us-ohio-ne )
N: 3) Ubuntu Ohio LoCo Team ( ubuntu-us-ohio )
N: 4) Ubuntu United States, Massachusetts ( ubuntu-us-ma )
N: Which team would you like to file against?

At this point, you may enter a number between 0 and the last element. If you are not on any teams, it will default to lp:~locoteams.

Let's say I would like to report an issue with Ubuntu Ohio. I then type 3, and hit enter.

N: Let's send a report about team `ubuntu-us-ohio'
N: I'm going to need some info about what this is about
N: Just write up what the problem is, treat this like
N: an email. To end the comment section put a . on it's own
N: line, please.

I may now enter the "body" of the issue that I would like to raise. Here's an example:

This is just a test, I don't have any real issue
with the Ubuntu Ohio team. Since I am the contact, after all.
This is also just for the Wiki, since I'd rather like to file
a bug and copy the session over.

Much love,

After the last line ( where there is a period on it's own line ), the app will take the text, and send it in as a ( private ) bug report against the loco council.

Now that We've got the Input, LoCo lint will file the bug. You should first see output that looks like:

N: Righto! So, I'm going to file this bug for you.
N: Sending now!

Then, after it's done, you should see

N: Alrighty! Issue filed. The LoCo Council has been
N: notified of the report. Feel free to email or talk
N: with anyone on the LoCo Council. Be sure to mention
N: that you have filed LP Bug #671562
N: Quick Link: https://launchpad.net/bugs/671562
N: Thanks so much!

Check out the demo bug Here.

Advanced Usage ( Version 2+ )

In addition, report-issue is able to accept up to two arguments, the first for the team to file against ( this saves time, looking up your loco teams takes a while ).

lintco report-issue ubuntu-XY

This will still ask for the report via stdin as usual. If you have a prepared report in text format, you may also give it the file path, such as:

lintco report-issue ubuntu-XY ./formal-complaint

The more arguments you add, the faster it is to send a report. Please use this with care, and only send issues that need to be reported.

Finding out who is the contact of a team

LoCo Lint is able to go out and find who owns a given team. It will either return the owner of the team ( if there is a single owner ), or the top-level members of the group that owns the LoCo. This should work for most use cases.

Let's run it a few times and see what we get!

To kick off a lookup against the loco team "ubuntu-alaska", run the command:

lintco admin ubuntu-alaska

The output should look like this ( I've removed Jim's email, when you actually run it, it works better Smile :) )

N: Connecting to Launchpad...
N: Identified as Paul Tagliamonte!
E: Team name is wrong. Please fix this, or bring it
E: to the attention of the team owner. Thanks!
N: Team is being run by jimmacdonald
N: He or She may be contacted by jim@...org
N: jimmacdonald has signed the CoC

Sweet. You'll notice it also made a note that the team name is formatted wrong. This is more for the Administrators of the team, and the LoCo Council.

Let's take a look at a team run by other teams -- such as ubuntu-us-ohio

lintco admin ubuntu-us-ohio

N: Connecting to Launchpad...
N: Identified as Paul Tagliamonte!
N: Anyone on the ubuntu-us-ohio-buckeyes team
N: Since that's not helpful, I'm doing a lookup for you now.
N: Please hold.
N: Team is being run by another team -- Ohio ReLoCo Leaders
N: lp:~ubuntu-us-ohio-reloco-leads
N: Paul Tagliamonte <paultag@ubuntu.com>
N: paultag has signed the CoC
N: lp:~paultag
N: Team is being run by another team -- Ubuntu Ohio Rockstars
N: lp:~ubuntu-us-ohio-rockstars

Nice. Looks good.

Checking to see if a LoCo Name is Well Formatted

There is a bit of locolint that checks LoCo names to see if they are standard ( and normalized ) or non-standard. There are a lot of non-standard teams, but hopefully this will make it easier for people to check if their LoCo's name is right or wrong.

Some examples of well formated LoCo names: ubuntu-fr, ubuntu-tr, ubuntu-us

Some examples of poorly formated LoCo names: ubuntu-alaska, pennsylvania, texasteam

Let's run them against LoCo Lint to check!

lintco name-check ubuntu-fr
N: ubuntu-fr : is from FRANCE . Good.

lintco name-check ubuntu-tr
N: ubuntu-tr : is from TURKEY . Good.

lintco name-check ubuntu-us
N: ubuntu-us : is from UNITED STATES . Good.

lintco name-check ubuntu-alaska
E: ubuntu-alaska : Has a non ISO code second set id

lintco name-check pennsylvania
E: pennsylvania : Wrong foo-bar-baz format.

lintco name-check texasteam
E: texasteam : Wrong foo-bar-baz format.

Looks good! Be sure to use this to test that the LoCo team you're creating is actually in the correct format!

LoCoTeams/LoCoLint (last edited 2010-11-10 02:48:04 by 143)