1 |
On Thu, 10 Mar 2016 18:40:31 -0800 |
2 |
Patrick McLean <chutzpah@g.o> wrote: |
3 |
|
4 |
> On Thu, 10 Mar 2016 18:30:07 -0800 |
5 |
> Brian Dolbec <dolsen@g.o> wrote: |
6 |
> |
7 |
> > So, where do we place this directory and what rules do we |
8 |
> > establish about it's modifications? |
9 |
> > |
10 |
> > location? : in the metadata dir alongside the install-qa-check.d |
11 |
> > directory? |
12 |
> |
13 |
> That sounds reasonable to me, it is certainly metadata. |
14 |
> |
15 |
> > |
16 |
> > name of the directory? : repoman, qa-rules, qa-data, |
17 |
> > repo-qa-data, ... ideas? |
18 |
> |
19 |
> Something not project name specific, so nothing about repoman. Perhaps |
20 |
> something like "repo-checks", my personal vote would be make it a |
21 |
> directory with the contents being merged (so repo-checks.d maybe?) |
22 |
> |
23 |
> > |
24 |
> > data format? : json (my favorite) |
25 |
> > compatible with many lanquages/interfaces |
26 |
> > is flexible to match various data types |
27 |
> > ie: dictionaries, lists, strings... |
28 |
> > is human readable/editable |
29 |
> > can be validated |
30 |
> > |
31 |
> > xml (PLEASE NO!) |
32 |
> > |
33 |
> > native python file (too language dependant) |
34 |
> > |
35 |
> > ini style (python configparser compatible) meh :/ |
36 |
> > |
37 |
> > other ideas? |
38 |
> |
39 |
> YAML - like JSON but made to be edited/read by humans (comment support |
40 |
> is a big feature). Also valid JSON is valid YAML. Also can be |
41 |
> validated just like JSON can. |
42 |
|
43 |
OK, I just had a closer look at yaml. It does look easier for humans |
44 |
to edit and read. And seems to have the same data type flexibility. |
45 |
Maybe not quite as many languages have libs for it. But I don't think |
46 |
that is an issue for this data. |
47 |
|
48 |
|
49 |
I also want to separate the repoman release from the main portage |
50 |
release. This will have several advantages. |
51 |
|
52 |
1) smaller portage install for installs that don't need repoman |
53 |
capabilities. |
54 |
|
55 |
2) Repoman can add extra dependencies as needed for things like |
56 |
pyyaml and xmlschema. These deps would not be required for the |
57 |
base portage/emerge code. Keeping a base install stage3 lighter |
58 |
and not complicate bootstrapping a stage1, stage2. |
59 |
|
60 |
3) They can be released indendant of each other as the need for a |
61 |
new release is desired/required. While repoman will still be tied |
62 |
to the portage codebase. Most of it's code use is via fairly |
63 |
stable API's. So only when those API's change will there need to |
64 |
be a simultaneos release. |
65 |
|
66 |
-- |
67 |
Brian Dolbec <dolsen> |