Gentoo Archives: gentoo-soc

From: EBo <ebo@×××××××.com>
To: "André Erdmann" <dywi@×××××××.de>
Cc: gentoo-soc@l.g.o, Denis Dupeyron <calchan@g.o>, Benda Xu <heroxbd@×××××.com>
Subject: [gentoo-soc] Re: R_Overlay: Automated overlay maintenance - final report
Date: Fri, 27 Sep 2013 02:23:58
Message-Id: 3c8efb508283b869936adcf6d478c887@mail.swcp.com
In Reply to: [gentoo-soc] R_Overlay: Automated overlay maintenance - final report by "André Erdmann"
1 André,
2
3 congratulations on the successful completion!
4
5 You mention that it is now in layman. I looked and cannot find any
6 mention of roverlay. Could you add instructions on how to access via
7 layman?
8
9 EBo --
10
11 On Sep 26 2013 8:03 PM, André Erdmann wrote:
12 > Hi everyone,
13 >
14 > == Overview ==
15 >
16 > This project is about creating an overlay of R packages, without
17 > requiring much interaction. Overlay creation itself was already
18 > implemented in last year's GSoC project "Automatically generated
19 > overlay
20 > of R packages", with "roverlay" [0] as result. This year's work
21 > focused
22 > on extending roverlay and facilitating overlay maintenance.
23 >
24 > I'm going to give an insight on what's been done this summer, without
25 > going too much into details.
26 >
27 >
28 > == Overlay creation features ==
29 >
30 > * RSUGGESTS USE_EXPAND variable
31 >
32 > Instead of a single "r_suggests" USE flag, overlay creation now
33 > produces
34 > per-package USE_EXPAND flags (r_suggests_<sth>). These flags can also
35 > be
36 > renamed and grouped.
37 >
38 > * extended package rules system
39 >
40 > package rules match a set of packages by name, origin,... using
41 > boolean
42 > expressions and apply actions to them, which manipulates their
43 > metadata
44 > or causes packages to be ignored. The general concept and
45 > syntax/parser
46 > was implemented prior to this year's GSoC, but lacked actions. Now,
47 > packages can be "relocated" (category, name, $SRC_URI), dependency
48 > resolution can be influenced (add/ignore dependencies) and ebuild
49 > variables (LICENSE,...) can be set. Additionally, support for
50 > "else"-blocks has been added, which makes writing of rule files
51 > easier.
52 >
53 > * support for SLOTs in resolved dependencies (including sub-slots)
54 >
55 > * patch generated ebuilds, import ebuilds into the overlay
56 >
57 >
58 > == Improved overlay quality ==
59 >
60 > * selfdep validation
61 >
62 > This feature ensures that all dependencies on packages provided by
63 > the
64 > generated overlay are satisfiable ("candidates" exist), which
65 > improves
66 > the overlay's consistency.
67 >
68 > * dependency resolution: look up package dependencies in own repo
69 > first
70 >
71 > More accurate dependencies if a package is available from more than
72 > one
73 > repo.
74 >
75 > * handle file collisions (package available from >1 repo)
76 >
77 > Very important, because it keeps the package mirror directory
78 > collision-free.
79 >
80 > * revbump if upstream modifies a tarball without renaming it
81 >
82 >
83 > == Misc ==
84 >
85 > * (dependency resolution) console reimplementation with support for
86 > tab
87 > completion, command history
88 >
89 > * API for using roverlay's functionality externally (dependency
90 > resolution and remote-sync)
91 >
92 > * "Event Hooks", execution of scripts on certain events, e.g.
93 > automatic
94 > metadata cache creation (suggested by heroxbd) and git commit/push
95 > after
96 > overlay creation
97 >
98 > * up-to-date documentation [1]
99 >
100 >
101 > == Helper scripts ==
102 >
103 > * roverlay-setup
104 >
105 > This script takes care of generating a config file, creating
106 > directories
107 > with proper permissions and managing event hook scripts.
108 > It's mostly intended for setting up a roverlay server, which can be
109 > done
110 > with "roverlay-setup" or "roverlay-setup-interactive"/"emerge
111 > --config
112 > roverlay".
113 >
114 > * roverlay-sh, a /bin/sh wrapper which sets up a environment similar
115 > to
116 > what's used for "Event Hooks" (access to variables like $OVERLAY)
117 >
118 > * roverlay-status
119 >
120 > Creates status reports based on mako templates and roverlay's stats.
121 > Can
122 > also be used as CGI script.
123 >
124 >
125 > == Conclusion and Future directions ==
126 >
127 > After 2 summers and some work in between, roverlay is now (more or
128 > less)
129 > complete. What's left to do is some more testing, updating the
130 > roverlay
131 > server and then making the R overlay available via layman.
132 >
133 > Finally, I'd like to thank Denis (Calchan), my mentor, for
134 > suggestions,
135 > testing and guidance throughout the past months, and for encouraging
136 > me
137 > to participate this year again ;)
138 >
139 > Credits also go to Benda (heroxbd) for a patch to the R-packages
140 > eclass
141 > and suggesting metadata cache creation (which then led to the "Event
142 > Hooks" feature), and Ebo for making me aware of a dependency
143 > resolution
144 > issue.
145 >
146 >
147 > [0]
148 > http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=summary
149 > [1]
150 >
151 > http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=blob_plain;f=doc/html/usage.html;hb=HEAD
152 >
153 > Regards,
154 > André E.

Replies