Gentoo Archives: gentoo-soc

From: Corentin Chary <corentin.chary@×××××.com>
To: gentoo-soc@l.g.o
Subject: [gentoo-soc] GSoC 2012 Ideas: euscan enhancements
Date: Tue, 14 Feb 2012 09:03:42
Message-Id: CAHR064hoz7SKQr1Ze8D7MTQoQE_EPMMs04FawawxrK918W2UFQ@mail.gmail.com
1 Some ideas that I've already exposed on #gentoo-soc, mainly for
2 euscan. Depending on the state of my recruitment process I'd like to
3 be mentor or co-mentor for those.
4
5 euscan (Ebuild Upstream Scanner) is an utility to check if an ebuild
6 have new upstream version. It was designed to provide the same
7 features as debian's uscan and DEHS (http://dehs.alioth.debian.org/).
8 euscan is also a web interface that aggregates the result of euscan
9 ran on all gentoo ebuilds (currently hosted at
10 http://euscan.iksaif.net but will move to gentoo.org someday). There
11 are a lot of things to do on euscan, here are some examples:
12
13
14 ## Celery port and better overlay integration (and gentoo celery packaging):
15 Currently euscan use shell scripts and GNU parallel to scan the
16 portage tree. Using celery (a python task queue that integrates well
17 with django) would allow a more flexible scan process. Scanning the
18 tree or a package could be done with a simple django command starting
19 a celery task, the web interface could rescan old packages on-demand
20 too. While adding celery commands, it would be great to add simple
21 commands to: create the local filesytem needed by euscan,
22 add/sync/remove an overlay, etc...
23 Celery is not really packaged for gentoo, but I got some ebuilds in my
24 overlay, so another side of the project could be to push them to the
25 tree.
26
27 Skills: python, django, celery, portage
28
29
30 ## Euscan version detection enhancements:
31 euscan currently use multiple heuristics to determine upstream
32 version, but there is a lot to do to enhance that to remove false
33 positive and be able to scan more package:
34 - create a script to gather statistics on euscan success and failure
35 and use methods.
36 - use metadata.xml's <upstream><remote-id> tag with the appropriate
37 euscan site-handler (pypi, pearl, cpan, etc...) and make sure that all
38 packages have this tag correctly set in the portage tree
39 - create a new metadata tag <upstream><watch> that works like
40 debian/watch and make euscan use it. Create a script to import
41 informations from the associated debian/watch file.
42 - steal ideas from other tools (uscan, portscout) and use other source
43 of data (youri, distrowatch, distromatch, whoas; Equivalent-Packages)
44
45 Skills: python, portage, shell
46
47
48 ## Euscan Web enhancements:
49 Add an account system, and allow maintainer to register to subscribe
50 to automatic weekly notifications. Integrate euscan with other webapps
51 like http://portage.gentoo.org, http://znurt.org/,
52 http://gpo.zugaina.org/, http://soc.dev.gentoo.org/gentoostats and try
53 to create a single killer webapp . Add better overlay support and
54 tweak django administration.
55
56 Skills: python, django, portage, html/css/js
57
58
59 Thanks,
60
61 --
62 Corentin Chary
63 http://xf.iksaif.net