Gentoo Archives: gentoo-soc

From: "André Erdmann" <dywi@×××××××.de>
To: gentoo-soc@l.g.o
Cc: Denis Dupeyron <calchan@g.o>
Subject: [gentoo-soc] Automatically generated overlay of R packages - progress report #4
Date: Mon, 18 Jun 2012 09:07:06
Message-Id: CAGrucu2PrZ10JRhUXwyWTVzghzBhSLg5gQdQBee3tJk9n-eBKw@mail.gmail.com
1 Hi everyone,
2
3 == Brief summary of this project ==
4
5 The aim of this project is to create scripts that automate the process
6 of overlay creation/maintenance for R packages from repositories such
7 as CRAN and Bioconductor.
8
9 Longer:
10 For the ebuild creation of a single package one needs to extract the
11 package, copy-paste data from its description file to the ebuild and
12 look up dependencies, which is time-consuming.
13 Although trivial for a few number of packages, this is practically
14 impossible to do by hand for repositories like CRAN (> 3500 packages),
15 especially 'cause it also requires tracking changes (new / updated /
16 removed packages).
17 The solution is to automate that process and this is what this project is about.
18
19 == Progress of this week ==
20
21 My plan for this week was:
22 * improve dependency resolution, add some functionality (e.g. listener
23 modules that log unresolved dependencies in a separate file) and make
24 it more thread-able
25 * add Manifest / metadata creation
26
27 And that's what I've achieved:
28
29 * dependency resolution
30 -> listener modules, unresolved dependencies can now be logged to an extra file
31 -> 'negative' result cache that stores unresolvable dependencies
32 -> the dependency resolver supports threads now (one master and
33 multiple worker threads)
34
35 Manifest creation should work (needs more testing), I'm currently
36 using the ebuild(1) interface to do this within a filtered
37 environment, which contains only necessary variables from os.environ
38 and adjusts portage variables (DISTDIR, FEATURES).
39
40 Metadata creation works using a data tree (metadata root, description
41 node, use flag list node, use flag nodes,...). This is inspired by how
42 portage is reading metadata files.
43
44 I'm on schedule.
45
46 == Plans for the next (this) week ==
47 I'm now starting with 'putting all things together'. This means I'll
48 first concentrate on an "R package -> ebuild in overlay" interface
49 (including metadata, Manifest), which will later be part of an "local
50 distfiles dir -> overlay" interface.
51
52 --
53 Regards,
54 André E.