1 |
Last week I've been developing the repository driver for G-CRAN, |
2 |
focusing primarily on syncing CRAN-style repositories. Downloading a |
3 |
list of packages is easily done using python's urllib, which means |
4 |
that we'll also be able to sync from non-HTTP CRAN-style package |
5 |
mirrors. That file listing packages uses the Debian Control File |
6 |
syntax, which apparently is much like RFC822 syntax. Googling around |
7 |
for a good solution to read these files, I considered both |
8 |
python-debian, which is in the pypi package repository, and a python |
9 |
library called rfc822. |
10 |
|
11 |
Interestingly, if G-CRAN would use python-debian, it would indirectly |
12 |
depend on G-PYPI, which is of course slightly dubious. Nonetheless, |
13 |
I've taken a look at its code and decided it's not suited to my |
14 |
purposes, since it pretty much assumes a valid format, which is not a |
15 |
very fair assumption in the case of CRAN (remember, this is what held |
16 |
the Paludis devs from supporting it any further). |
17 |
|
18 |
The other option was rfc822.py, which initially appeared to be too |
19 |
much geared towards emails, but after some tests it seems to be a good |
20 |
candidate after all, and I've decided to go on with this. |
21 |
|
22 |
What I've also been working on is a piece of code somewhat like |
23 |
ebuild.sh for python... a way to deal with the PMS side of packages. |
24 |
I'm keeping it very minimalistic until I need any serious features and |
25 |
will use a mapping function to transform CRAN-style packages into |
26 |
PMS-style packages. |
27 |
|
28 |
During the next few days I'll be finishing the CRAN repository reading |
29 |
code, and if it's finished before the next report, I'll try to build |
30 |
some initial functionality to export it to g-common. It's slowly |
31 |
getting time to start uploading code to some repository and this is |
32 |
another item on my shortterm todo list. g-common is still on hold |
33 |
since the three of us are still working on our individual drivers. |