On Thu, 10 Mar 2016 18:40:31 -0800 Patrick McLean <chutz...@gentoo.org> wrote:
> On Thu, 10 Mar 2016 18:30:07 -0800 > Brian Dolbec <dol...@gentoo.org> wrote: > > > So, where do we place this directory and what rules do we > > establish about it's modifications? > > > > location? : in the metadata dir alongside the install-qa-check.d > > directory? > > That sounds reasonable to me, it is certainly metadata. > > > > > name of the directory? : repoman, qa-rules, qa-data, > > repo-qa-data, ... ideas? > > Something not project name specific, so nothing about repoman. Perhaps > something like "repo-checks", my personal vote would be make it a > directory with the contents being merged (so repo-checks.d maybe?) > > > > > data format? : json (my favorite) > > compatible with many lanquages/interfaces > > is flexible to match various data types > > ie: dictionaries, lists, strings... > > is human readable/editable > > can be validated > > > > xml (PLEASE NO!) > > > > native python file (too language dependant) > > > > ini style (python configparser compatible) meh :/ > > > > other ideas? > > YAML - like JSON but made to be edited/read by humans (comment support > is a big feature). Also valid JSON is valid YAML. Also can be > validated just like JSON can. OK, I just had a closer look at yaml. It does look easier for humans to edit and read. And seems to have the same data type flexibility. Maybe not quite as many languages have libs for it. But I don't think that is an issue for this data. I also want to separate the repoman release from the main portage release. This will have several advantages. 1) smaller portage install for installs that don't need repoman capabilities. 2) Repoman can add extra dependencies as needed for things like pyyaml and xmlschema. These deps would not be required for the base portage/emerge code. Keeping a base install stage3 lighter and not complicate bootstrapping a stage1, stage2. 3) They can be released indendant of each other as the need for a new release is desired/required. While repoman will still be tied to the portage codebase. Most of it's code use is via fairly stable API's. So only when those API's change will there need to be a simultaneos release. -- Brian Dolbec <dolsen>