Gentoo Archives: gentoo-dev

From: Corentin Chary <corentin.chary@×××××.com>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] euscan proof of concept (like debian's uscan)
Date: Mon, 21 Mar 2011 08:24:42
Message-Id: AANLkTi=fCWrLsVPw_i7DO2UhgF5NfBZjWhSiE3Arr7r+@mail.gmail.com
1 Hi,
2
3 I recently started working on a small gentoo utility named "euscan"
4 (for Ebuild Upstream Scan)
5 For those who don't know debian's uscan, it allows to scan upstream
6 for new versions. It's used by packages.qa.debian.org (example:
7 http://packages.qa.debian.org/p/php-net-ipv4.html ).
8 It's available at: http://xf.iksaif.net/bordel/euscan
9
10 Currently, it uses two heuristics to find new versions, both based on
11 SRC_URI and PV:
12 - Directory scanning: scan directories to find files with newer version
13 - Brute Force: generate new possible versions, and try to download files
14
15 Note that it also works when only a part of the version is available
16 in the url.
17
18 I think that it would be great to have these informations on
19 http://packages.gentoo.org/ and/or unofficial
20 http://gentoo-portage.com/ website.
21
22 We could also add the ability to browse packages by maintainer to help
23 them see if they have any outdated package.
24
25 I started this mostly to see if it was possible, and I don't know if
26 i'll have the time to continue to work on that project, but I think
27 gentoo really needs an automated way to detect outdated packages.
28 This could also be a 2011 GSOC project (finishing euscan, and adding a
29 web based interface to browse the results).
30
31 Examples:
32
33 $ ./euscan PEAR-Validate-0.8.3
34 Package: dev-php/PEAR-Validate-0.8.3
35 Herd: php
36 Maintainer: none
37 Location: /usr/portage/dev-php/PEAR-Validate
38  * Scanning: http://pear.php.net/get/Validate-${PV}.tgz
39  * Scanning: http://pear.php.net/get
40  * Generating version from 0.8.3
41  * Brute forcing: http://pear.php.net/get/Validate-${PV}.tgz
42  * Trying: http://pear.php.net/get/Validate-0.8.4.tgz ...               [ ok ]
43  * Trying: http://pear.php.net/get/Validate-0.8.5.tgz ...               [ !! ]
44  * Trying: http://pear.php.net/get/Validate-0.9.0.tgz ...               [ !! ]
45  * Trying: http://pear.php.net/get/Validate-0.10.0.tgz ...              [ !! ]
46  * Trying: http://pear.php.net/get/Validate-0.8.6.tgz ...               [ !! ]
47 New Upstream Version: 0.8.4 http://pear.php.net/get/Validate-0.8.4.tgz
48
49 $ ./euscan icu4j-4.4.2
50 Package: dev-java/icu4j-4.4.2
51 Herd: java
52 Maintainer: none
53 Location: /usr/portage/dev-java/icu4j
54  * Scanning: http://download.icu-project.org/files/icu4j/${PV}/icu4j-4_4_2-src.jar
55  * Scanning: http://download.icu-project.org/files/icu4j
56 New Upstream Version: 4.5.1 http://download.icu-project.org/files/icu4j/4.5.1/
57 New Upstream Version: 4.5.2 http://download.icu-project.org/files/icu4j/4.5.2/
58 New Upstream Version: 4.6 http://download.icu-project.org/files/icu4j/4.6/
59 New Upstream Version: 4.6rc2 http://download.icu-project.org/files/icu4j/4.6rc2/
60 New Upstream Version: 4.7.1 http://download.icu-project.org/files/icu4j/4.7.1/
61 New Upstream Version: 4.6.1 http://download.icu-project.org/files/icu4j/4.6.1/
62
63 $ ./euscan IceE-1.3.0-r1
64 Package: dev-cpp/IceE-1.3.0-r1
65 Herd: no-herd
66 Maintainer: maintainer-needed@g.o
67 Description: The Internet Communications Engine (Ice) is a modern
68 object-oriented middleware with support for C++, .NET, Java, Python,
69 Ruby, and PHP
70 Location: /usr/portage/dev-cpp/IceE
71  * Scanning: http://www.zeroc.com/download/IceE/${0}.${1}//IceE-${PV}-linux.tar.gz
72  * Scanning: http://www.zeroc.com/download/IceE
73  * Generating version from 1.3.0
74  * Brute forcing:
75 http://www.zeroc.com/download/IceE/${0}.${1}//IceE-${PV}-linux.tar.gz
76  * Trying: http://www.zeroc.com/download/IceE/1.3//IceE-1.3.1-linux.tar.gz
77 ...      [ !! ]
78  * Trying: http://www.zeroc.com/download/IceE/1.3//IceE-1.3.2-linux.tar.gz
79 ...      [ !! ]
80  * Trying: http://www.zeroc.com/download/IceE/1.4//IceE-1.4.0-linux.tar.gz
81 ...      [ !! ]
82  * Trying: http://www.zeroc.com/download/IceE/1.5//IceE-1.5.0-linux.tar.gz
83 ...      [ !! ]
84
85 Thanks,
86 --
87 Corentin Chary
88 http://xf.iksaif.net

Replies