[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Please try expo.debian.net -- a replacement for mentors.debian.net

On Tue, 26 Jul 2011, Julien Valroff wrote:

Hi Asheesh,

Le mardi 26 juil. 2011 à 19:55:00 (+0200 CEST), Asheesh Laroia a écrit :
Hi all people on debian-mentors,

Debexpo is a replacement for http://mentors.debian.net/. I hereby
request testers! It is of "beta" quality -- I think it works fully
and has enough features to replace mentors.debian.net.

Thanks for working on this.

Looks very promising!


I am grateful to all the people who put energy into this: Signum (Christopher Haas) and Jonny Lamb, first, who started the project. Andrey (wRAR), who helped bring the project back to life about nine months ago. Christine Spang, for providing the hosting. Arno Toell and Karl Goetz, for urging me on in #debexpo, filing bugs, and giving feedback. Jan Dittberner and Ondrej Certik and Paul Wise and Serafeim Zanikolas, for the code they committed and pushed to git. Signum again, for his patience with me over the past year.

It's a lot of names, and it's been a lot of work for all those people!

My role here, as I will try to repeat and make clear, is to provide our community with something that we can use, and that we can improve. My role will not be to build any more features, but instead focus entirely on making sure that community maintenance is possible.

I will be quite happy to deploy patches written by others. The policy for SSH access to the deployment is that anyone who successfully gets a patch merged may have SSH access to the deployment.

To encourage that to happen faster, I'm going to reply to many of these requests with the information it would take to write a fix. I won't myself. If the community wants it fixed, someone other than me is going to have to fix it. I'll try to rank things in difficulty 0 (stringfix) to 5 (a full day's work).

Some of the more difficult or sysadmin-esque issues I might handle myself, but in general the above is what I'll do.

On the package details page, it would be great if URL's could be clickable (Homepage, VCS-Browser).

Difficulty: 1

To fix this, you'll probably want to add a 'linkify' string processor to the template system.

Steps to fix:

Step 0: Do a 'git clone' of debexpo and set up a dev environment

Step 1: Add an htmlify function to the app

You can copy-paste this one, so long as you cite it, and rtain the Apache License.


Step 2: Change the templates to use that htmlify function

You can be inspired by

Step 3: Make sure it works

In the near future I will get the expo-dev.debian.net site working, but until then, test locally.

Step 4: Submit a patch

'git format-patch origin/master' will generate some files. Email them to the debexpo list (debexpo-devel at lists.alioth.org)

Also Lintian tags could be linked to their description on lintian.d.o

Difficulty: 0.5 (super easy; requires writing code)

Step 0: Do a git clone

Step 1: Edit debexpo/plugins/lintian.py

The call to:

self.failed(outcome, output, severity)

(currently line 70) is what passes the information to be logged into the database, where the package page will pull it out. 'output' is the line of text from lintian.

Change it so that outcome is an HTML string that contains the link.

I also think it is not necessary to show missing optional fields (eg.
various VCS-* fields).

Difficulty: 0 (super easy)

Step 0: Get a git clone

Step 1: Edit debexpo/plugins/controlfields.py

This line:

self.info('%s-is-not-present' % item.lower(), None)

Just remove it.

Step 2. Submit a patch to the mailing list

It may also help to know whether the package is already in Debian (with
a link to packages.d.o in order to know more about the history of the
uploads) or if it is a new package.

That would be great!

Difficulty: 1.5 (requires writing a plugin, and understanding how plugins are written -- but they are quite easy)

Step 0: Get a git clone

Step 1: Read a sample plugin

Take a look at debexpo/plugins/ubuntuversion.py

That's a good, simple quality-assurance plugin.

Step 2: Write a new plugin to check if the package is in Debian

You'd probably want to do a urllib.urlopen() on some URL -- packages.debian.org/sid/ + packagename, maybe -- and check its value. If the package is in Debian, generate a string that contains a link to the package page.

You pass that down the chain by just calling self.info() (if you descend from BasePlugin, as you should).

Step 3: (Preferable but not necessary) Write a test

It would be great if you submit a test case for this. If you're not sure how to do that, I would explain how.

Step 4: Submit a patch

As from the maintainer "personal package archive" page, I understand that binary packages will be made publicly available? The page states 'deb ...' entries in sources.list. If so, I think it is a bad idea. Only source packages should be available to avoid people use this as a standard repository (I remember it used to be the case for mentors.d.n).

For now there is no plan to share the binary packages. Originally debexpo was supposed to do that, but I think it never will actually.

If you call:

 $ git grep -i 'personal package archive'
 $ git grep 'ppa/'

you will find all the references to the PPA text. That text should be removed.

I eagerly welcome a patch that changes that.

-- Asheesh.

Reply to: