1 |
commit: 02ee937512a9261570b126ca283e4b87de0daa91 |
2 |
Author: André Erdmann <dywi <AT> mailerd <DOT> de> |
3 |
AuthorDate: Wed Aug 1 21:08:54 2012 +0000 |
4 |
Commit: André Erdmann <dywi <AT> mailerd <DOT> de> |
5 |
CommitDate: Wed Aug 1 21:08:54 2012 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=02ee9375 |
7 |
|
8 |
docs |
9 |
|
10 |
--- |
11 |
README | 24 ++++++++++++++++-------- |
12 |
config/R-overlay.conf | 6 ++++++ |
13 |
config/repo.list | 2 ++ |
14 |
man/roverlay-deprules.5 | 12 +++++++++--- |
15 |
man/roverlay-repo.5 | 39 +++++++++++++++++++++++++++++++++++---- |
16 |
man/roverlay.1 | 4 ++++ |
17 |
6 files changed, 72 insertions(+), 15 deletions(-) |
18 |
|
19 |
diff --git a/README b/README |
20 |
index 3be012c..40c2201 100644 |
21 |
--- a/README |
22 |
+++ b/README |
23 |
@@ -2,15 +2,24 @@ R overlay -- README |
24 |
|
25 |
== How to use == |
26 |
|
27 |
-There is currently no "R overlay" script, only modules that implement functionality. |
28 |
+./roverlay.py [option(s)] [command(s)] |
29 |
|
30 |
-=== Running tests === |
31 |
-# <TODO> write this section |
32 |
+See man/roverlay.1 or ./roverlay.py --help for all options. |
33 |
|
34 |
-Real tests are scheduled for July 10 - July 30. |
35 |
+=== Running tests === |
36 |
|
37 |
-A main script is available. See man/roverlay.1 or ./roverlay.py --help for usage. |
38 |
+Just run the main script, the '--repo-config' option can be used to use |
39 |
+other repo config files (instead of the default one that downloads ~50GB of packages). |
40 |
+The '--no-manifest' switch can be used to disable Manifest creation, which saves a |
41 |
+considerable amount of time at the expense of an unusable overlay |
42 |
+(but useful to analyze created metadata, ebuild and depres results). |
43 |
|
44 |
+Test run example: |
45 |
+<< |
46 |
+#!/bin/sh |
47 |
+./roverlay.py sync |
48 |
+time ./main.py --nosync --stats -O /tmp/created_overlay --no-manifest |
49 |
+>> |
50 |
|
51 |
== Configuration == |
52 |
|
53 |
@@ -18,11 +27,10 @@ A main script is available. See man/roverlay.1 or ./roverlay.py --help for usage |
54 |
see config/R-overlay.conf |
55 |
|
56 |
* repo configuration (CRAN,...) |
57 |
-see config/repo.list |
58 |
+see man/roverlay-repo.5 |
59 |
|
60 |
* description field configuration |
61 |
see config/description_fields.conf |
62 |
|
63 |
* dependency rules configuration |
64 |
-see config/simple-deprules.conf |
65 |
- |
66 |
+see man/roverlay-deprules.5 |
67 |
|
68 |
diff --git a/config/R-overlay.conf b/config/R-overlay.conf |
69 |
index 01f0037..a1ba48c 100644 |
70 |
--- a/config/R-overlay.conf |
71 |
+++ b/config/R-overlay.conf |
72 |
@@ -134,6 +134,12 @@ |
73 |
# * defaults to sci-R |
74 |
#OVERLAY_CATEGORY = 'dev-R' |
75 |
|
76 |
+# OVERLAY_KEEP_NTH_LATEST |
77 |
+# keep the n-th latest ebuilds per R package, removing all others |
78 |
+# * accepted values: integer, has no effect if < 1 |
79 |
+# * defaults to <unset>, which disables this option (keep all ebuilds) |
80 |
+#OVERLAY_KEEP_NTH_LATEST = 3 |
81 |
+ |
82 |
# EBUILD_HEADER |
83 |
# ebuild header file that will be included in all created ebuilds |
84 |
# *** NOT IN USE *** |
85 |
|
86 |
diff --git a/config/repo.list b/config/repo.list |
87 |
index f389fd7..378c03e 100644 |
88 |
--- a/config/repo.list |
89 |
+++ b/config/repo.list |
90 |
@@ -1,6 +1,8 @@ |
91 |
# repo.list |
92 |
# This file explains how to write repo config files. |
93 |
|
94 |
+# !! out of date, see man/roverlay-repo.5 |
95 |
+ |
96 |
# This file is parsed used ConfigParser syntax (known from .ini files). |
97 |
|
98 |
# A repo entry describes |
99 |
|
100 |
diff --git a/man/roverlay-deprules.5 b/man/roverlay-deprules.5 |
101 |
index e41beda..2af7920 100644 |
102 |
--- a/man/roverlay-deprules.5 |
103 |
+++ b/man/roverlay-deprules.5 |
104 |
@@ -105,10 +105,16 @@ dev\-lang/R when the version is \&<= the lowest version available in portage. |
105 |
.br |
106 |
In detail, this method matches if |
107 |
.br |
108 |
-\& \fIdep_string\fR ~= \fIfuzzy_string\fR \&<\fIversion_statement\fR\&>, |
109 |
+\& \fIdep_string\fR ~= \fIfuzzy_string\fR \&<\fIversion_statement\fR\&> |
110 |
.br |
111 |
-where \fIversion_statment\fR is something like \&>=2.10, \&!=0.9, 1.0, \&<5, |
112 |
-optionally enclosed with braces ((), [], {}). |
113 |
+where \fIversion_statement\fR ::= [\&<\fIversion_modifier\fR\&>] \&<\fIversion\fR\&> |
114 |
+.br |
115 |
+and \fIversion_modifier\fR is one out of \&{\&<, \&>, \&=, \&!, \&<\&=, \&>\&=, \&=\&=, \&!\&=\&}. |
116 |
+.br |
117 |
+ |
118 |
+Examples: \&'\&>=2.10\&', \&'\&!=0.9\&', \&'1.0\&', \&'\&<5\&'. |
119 |
+ |
120 |
+Version statements can optionally be enclosed with braces (\&'()\&', \&'[]\&', \&'{}\&'). |
121 |
Whitespace is ignored unless \fIversion_statment\fR is not enclosed, |
122 |
in which case some whitespace (more than zero chars) must exist between |
123 |
\fIfuzzy_string\fR and \fIversion_statment\fR. |
124 |
|
125 |
diff --git a/man/roverlay-repo.5 b/man/roverlay-repo.5 |
126 |
index c8e1270..212aae9 100644 |
127 |
--- a/man/roverlay-repo.5 |
128 |
+++ b/man/roverlay-repo.5 |
129 |
@@ -12,11 +12,11 @@ A repo entry describes where to find R packages that will be used for overlay cr |
130 |
and optionally where and how to get the R packages (using \fBREPO TYPES\fR). |
131 |
It also defines how ebuilds can download the R packages (used as \fISRC_URI\fR variable in ebuilds). |
132 |
.SS "REPO TYPES" |
133 |
-There are two types of repos, "rsync" and "local" ones: |
134 |
-.IP "\(bu local repositories" |
135 |
+There are 4 types of repos, "local", "rsync", "websync_repo" and "websync_pkglist": |
136 |
+.IP "\(bu local repositories (\&'local\&')" |
137 |
A \fBlocal repo\fR represents a directory with R packages in it. |
138 |
It will never be modified (i.e. synced) and has no special options. |
139 |
-.IP "\(bu rsync repositories" |
140 |
+.IP "\(bu rsync repositories (\&'rsync\&')" |
141 |
An \fBrsync repo\fR uses a local directory to sync with a remote. |
142 |
Its directory will be modified whenever syncing (using the rsync program). |
143 |
It behaves like a local repo if syncing is disabled. |
144 |
@@ -28,6 +28,17 @@ These rsync options are always passed to rsync: |
145 |
\-\-dirs, \-\-prune-empty-dirs, \-\-force, \-\-delete, |
146 |
\-\-human-readable, \-\-stats, \-\-chmod=ugo=r,u+w,Dugo+ |
147 |
\fR |
148 |
+.IP "\(bu websync repositories (\&'websync_repo\&')" |
149 |
+A \fBwebsync repo\fR fetches an R package list (deb-control file, typically named PACKAGES) |
150 |
+from a remote and downloads all packages afterwards (via http). It supports file-size and basic digest |
151 |
+verification for downloaded packages. |
152 |
+Nosync mode support for this type of repo is limited, it will report all packages from its |
153 |
+directory as synced. |
154 |
+.IP "\(bu package list websync (\&'websync_pkglist\&')" |
155 |
+This is not a real repo type, it merely reads package uris from a file |
156 |
+(one \&'http://...\&' entry per line) and downloads them (via http). |
157 |
+Package uri entries must end with \&'.tar.gz\&', else ebuild creation is not possible. |
158 |
+Nosync mode support is limited, all packages that exist locally will be reported as synced. |
159 |
.PP |
160 |
.SH "VARIABLES" |
161 |
Each repository is introduced with [\fIsection_name\fR] and has to declare some options. |
162 |
@@ -37,7 +48,7 @@ Each repository is introduced with [\fIsection_name\fR] and has to declare some |
163 |
This is used to determine the \fISRC_URI\fR variable used in ebuilds. |
164 |
\fIuri\fR usually starts with 'http://' which can be left out, |
165 |
"localhost/R-packages" is the same uri as "http://localhost/R-packages". |
166 |
-Always required. |
167 |
+Always required unless \fItype\fR is websync_pkglist in which case this option has no effect. |
168 |
.TP |
169 |
.BR "name" " = \fIrepo_name\fR" |
170 |
Specify a name for the repository. |
171 |
@@ -71,6 +82,26 @@ A whitespace-separated list of extra options that will be passed to rsync. |
172 |
Useful to in-/exclude files/dirs, show progress while running rsync etc. |
173 |
Options must not contain whitespace/quote chars. |
174 |
Note that the options won't be verified - this is \fBtotally unsafe!\fR |
175 |
+.SS "special options for websync repos" |
176 |
+.TP |
177 |
+.BR "pkglist_file" " = \fIfilename\fR" |
178 |
+Name of the package list file that will be downloaded. |
179 |
+Optional, defaults to \&'PACKAGES\&', which should be fine in |
180 |
+most cases. Note that reading compressed package lists (e.g. \&'PACKAGES.gz\&') |
181 |
+is not supported. Has no effect if \fBpkglist_uri\fR is set. |
182 |
+.TP |
183 |
+.BR "pkglist_uri" " = \fIuri\fR" |
184 |
+Fetch \fIuri\fR and use it as package list. |
185 |
+Optional, defaults to \fIsrc_uri\fR/\fIpkglist_file\fR. |
186 |
+.TP |
187 |
+.BR "digest_type" " = \fIdigest_type\fR" |
188 |
+Verify downloaded packages using \fIdigest_type\fR. |
189 |
+Available choices are \&'md5\&' and \&'none\&'. The remote has to support this, |
190 |
+i.e. list digests in the \fIpkglist_file\fR. |
191 |
+.SS "special options for package list websync" |
192 |
+.TP |
193 |
+.BR "pkglist_file" " = \fIfile\fR" |
194 |
+Path to the file that lists all package uris. |
195 |
.SH "EXAMPLES" |
196 |
Example 1: |
197 |
.RS 1 |
198 |
|
199 |
diff --git a/man/roverlay.1 b/man/roverlay.1 |
200 |
index 02c78ed..5d34be4 100644 |
201 |
--- a/man/roverlay.1 |
202 |
+++ b/man/roverlay.1 |
203 |
@@ -88,6 +88,10 @@ This includes ebuilds, metadata, Manifest files and the profiles/ dir. |
204 |
.BR "\-\-stats" "\fR, " "\-\-no\-stats" |
205 |
Print some stats after overlay creation/writing. |
206 |
.TP |
207 |
+.BR "\-\-no\-manifest" |
208 |
+Skip Manifest file creation to save time. Note that the resulting overlay |
209 |
+cannot be used with portage/emerge. |
210 |
+.TP |
211 |
.BR "\-\-overlay " "\fIdirectory\fR (\fB\-O\fR)" |
212 |
Set the overlay directory to \fIdirectory\fR. Else |
213 |
\fIOVERLAY_DIR\fR from the main config will be used. |