On Wed, Aug 09, 2006 at 10:31:21PM +0200, ?yvind Harboe wrote: > Does anyone feel like sharing a bit about how multiple eCos > repositories work w/ECOS_REPOSITORY? > > Is there any documentation anywhere? > > Will there be one ecos.db for each repository?
This feature was added thus: 2003-03-26 Bart Veer <[EMAIL PROTECTED]> * cdl.hxx, config.cxx.cxx, package.cxx: Update derived classes now that the repository is per-loadable rather than per-toplevel. Also turn ECOS_REPOSITORY into a path rather than a single directory, updating all affected database and config code. Searching ecos-patches i found an email from Bart: http://ecos.sourceware.org/ml/ecos-patches/2003-03/msg00195.html which says: ---------------------------------------------------------------------- These patches turn the ECOS_REPOSITORY environment variable into a path rather than a single directory, e.g. you can have: export ECOS_REPOSITORY=<private>:<anoncvs>:<last release>:... Each repository must have its own ecos.db database and its own pkgconf subdirectory. Effectively libcdl merges each repository into a single one. The repositories are scanned in order. If there are duplicates, e.g. version "current" of CYGPKG_KERNEL occurs in two separate repositories, then the first entry found will be used and the latter will be inaccessible. The repositories may contain completely separate packages/targets/templates. For example you can have an entry in the path for ports which are not in the public tree, with the appropriate HAL packages and target entries in the corresponding ecos.db file. With command-line ecosconfig --srcdir still overrides ECOS_REPOSITORY completely. Arguably the --srcdir value should be prepended to ECOS_REPOSITORY instead, but I think that could lead to more confusing behaviour. There is a potential incompatibility: previously under cygwin you could set ECOS_REPOSITORY to a windows-like directory e.g. c:/ecos/packages. Now that will be interpreted as a path with two entries, c and /ecos/packages. There is no easy way to cope with this, so from now on ECOS_REPOSITORY has to use cygwin paths. The generated /opt/ecos/ecosenv.sh already does this. The changes have not been tested with the GUI tool yet. They'll probably just work, as long as you don't then use the GUI to change the repository. In theory the GUI needs to be updated to allow you to add/remove/rearrange path entries, rather than define a single directory. There may also be problems with a VC++ build of the Windows configtool, but hopefully that will go away real soon. These changes are for the trunk only. They are non-trivial and I don't want to destabilize the 2.0 release. ---------------------------------------------------------------------- Somewhere there is an email from John saying making configtool support this is non-trivial, but 20s of googling didn't find it. Digging deeper should find it if you are interested. Andrew -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss