From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1Q1aPq-0005T5-89 for garchives@archives.gentoo.org; Mon, 21 Mar 2011 08:24:42 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 44A54E05BE; Mon, 21 Mar 2011 08:24:33 +0000 (UTC) Received: from mail-ey0-f181.google.com (mail-ey0-f181.google.com [209.85.215.181]) by pigeon.gentoo.org (Postfix) with ESMTP id 21E2E1C07B for ; Mon, 21 Mar 2011 08:24:04 +0000 (UTC) Received: by eyh5 with SMTP id 5so1948340eyh.40 for ; Mon, 21 Mar 2011 01:24:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:date :message-id:subject:from:to:content-type:content-transfer-encoding; bh=OW8bKFEkPDONE/wuVEJ7t63O3EyIG1YNOQPProxJtPc=; b=qeNQoQlXmq3qJrzFsk+7kjimLNQjL+qaAacX5XqVaHHDUkq9pnZHNgQHwWpTDNOrD+ uJabYOerdsSzv4px8P7NjgW5ZWDWTIKSABB8obwYBli+janiVn/zzOTIUaAhFrqk1hRb HvSm2uR507bLX7HenW2bJXeN/A60uinO1dRN4= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=xLvqgNIXSJP8YqNmbOKlr0CWCozYRfKBLNRP9tmUaBEtZ8bCwdiqBlSqZYBKmvqwdK JfACAAxK0XR+RnX3EyHlNvUhQzQIXVU9eIXlA9wX0bbZqsuYYvojBLvJGZcRSceKQQvi 1YX10Y5J9IO/3sYVX5/PXaplT63oLLMnfdEHc= Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org MIME-Version: 1.0 Received: by 10.14.126.73 with SMTP id a49mr1008608eei.178.1300695844076; Mon, 21 Mar 2011 01:24:04 -0700 (PDT) Received: by 10.14.42.1 with HTTP; Mon, 21 Mar 2011 01:24:04 -0700 (PDT) In-Reply-To: References: Date: Mon, 21 Mar 2011 08:24:04 +0000 Message-ID: Subject: [gentoo-dev] euscan proof of concept (like debian's uscan) From: Corentin Chary To: gentoo-dev@lists.gentoo.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Archives-Salt: X-Archives-Hash: 5924506813e9c3a6b5f7f1fc06bfb825 Hi, I recently started working on a small gentoo utility named "euscan" (for Ebuild Upstream Scan) For those who don't know debian's uscan, it allows to scan upstream for new versions. It's used by packages.qa.debian.org (example: http://packages.qa.debian.org/p/php-net-ipv4.html ). It's available at: http://xf.iksaif.net/bordel/euscan Currently, it uses two heuristics to find new versions, both based on SRC_URI and PV: - Directory scanning: scan directories to find files with newer version - Brute Force: generate new possible versions, and try to download files Note that it also works when only a part of the version is available in the url. I think that it would be great to have these informations on http://packages.gentoo.org/ and/or unofficial http://gentoo-portage.com/ website. We could also add the ability to browse packages by maintainer to help them see if they have any outdated package. I started this mostly to see if it was possible, and I don't know if i'll have the time to continue to work on that project, but I think gentoo really needs an automated way to detect outdated packages. This could also be a 2011 GSOC project (finishing euscan, and adding a web based interface to browse the results). Examples: $ ./euscan PEAR-Validate-0.8.3 Package: dev-php/PEAR-Validate-0.8.3 Herd: php Maintainer: none Location: /usr/portage/dev-php/PEAR-Validate =C2=A0* Scanning: http://pear.php.net/get/Validate-${PV}.tgz =C2=A0* Scanning: http://pear.php.net/get =C2=A0* Generating version from 0.8.3 =C2=A0* Brute forcing: http://pear.php.net/get/Validate-${PV}.tgz =C2=A0* Trying: http://pear.php.net/get/Validate-0.8.4.tgz ... =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 [ ok ] =C2=A0* Trying: http://pear.php.net/get/Validate-0.8.5.tgz ... =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 [ !! ] =C2=A0* Trying: http://pear.php.net/get/Validate-0.9.0.tgz ... =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 [ !! ] =C2=A0* Trying: http://pear.php.net/get/Validate-0.10.0.tgz ... =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0[ !! ] =C2=A0* Trying: http://pear.php.net/get/Validate-0.8.6.tgz ... =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 [ !! ] New Upstream Version: 0.8.4 http://pear.php.net/get/Validate-0.8.4.tgz $ ./euscan icu4j-4.4.2 Package: dev-java/icu4j-4.4.2 Herd: java Maintainer: none Location: /usr/portage/dev-java/icu4j =C2=A0* Scanning: http://download.icu-project.org/files/icu4j/${PV}/icu4j-4= _4_2-src.jar =C2=A0* Scanning: http://download.icu-project.org/files/icu4j New Upstream Version: 4.5.1 http://download.icu-project.org/files/icu4j/4.5= .1/ New Upstream Version: 4.5.2 http://download.icu-project.org/files/icu4j/4.5= .2/ New Upstream Version: 4.6 http://download.icu-project.org/files/icu4j/4.6/ New Upstream Version: 4.6rc2 http://download.icu-project.org/files/icu4j/4.= 6rc2/ New Upstream Version: 4.7.1 http://download.icu-project.org/files/icu4j/4.7= .1/ New Upstream Version: 4.6.1 http://download.icu-project.org/files/icu4j/4.6= .1/ $ ./euscan IceE-1.3.0-r1 Package: dev-cpp/IceE-1.3.0-r1 Herd: no-herd Maintainer: maintainer-needed@gentoo.org Description: The Internet Communications Engine (Ice) is a modern object-oriented middleware with support for C++, .NET, Java, Python, Ruby, and PHP Location: /usr/portage/dev-cpp/IceE =C2=A0* Scanning: http://www.zeroc.com/download/IceE/${0}.${1}//IceE-${PV}-= linux.tar.gz =C2=A0* Scanning: http://www.zeroc.com/download/IceE =C2=A0* Generating version from 1.3.0 =C2=A0* Brute forcing: http://www.zeroc.com/download/IceE/${0}.${1}//IceE-${PV}-linux.tar.gz =C2=A0* Trying: http://www.zeroc.com/download/IceE/1.3//IceE-1.3.1-linux.ta= r.gz ... =C2=A0 =C2=A0 =C2=A0[ !! ] =C2=A0* Trying: http://www.zeroc.com/download/IceE/1.3//IceE-1.3.2-linux.ta= r.gz ... =C2=A0 =C2=A0 =C2=A0[ !! ] =C2=A0* Trying: http://www.zeroc.com/download/IceE/1.4//IceE-1.4.0-linux.ta= r.gz ... =C2=A0 =C2=A0 =C2=A0[ !! ] =C2=A0* Trying: http://www.zeroc.com/download/IceE/1.5//IceE-1.5.0-linux.ta= r.gz ... =C2=A0 =C2=A0 =C2=A0[ !! ] Thanks, --=20 Corentin Chary http://xf.iksaif.net