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.
https://github.com/facebook/tornado/blob/master/tornado/escape.py
Step 2: Change the templates to use that htmlify function
You can be inspired by
http://188.40.52.54/cgit/anzu/commit/demos/chat?h=performance&id=f732f98063f8a0bf9f7e331876964bedbbdc8462
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'
and
$ 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.