I've also been extending the mid level api a little so that it is more flexible for use as a lib in other applications. It does not require an overlay definition be input via xml file only. It can now accept a python dictionary to define an overlay or for that matter any VCS be it a development checkout, etc.., also it's location can be anywhere in the filesytem. That is something portage/pkgcore or a layman gui might use, it is not intended for the cli interface.
Some notable changes:
- * New high level API
* New cli connection to the new API
* New add, sync, postsync config options for each repo type
* repo xml definitions can now be placed in the /etc/layman/overlays/ dir and they will automatically be added to the available list without adding them to the config manually
* New multiple config functions/classes allows for more flexible API use when using layman as a lib.
* It now timestamps the remote list and only downloads a new list if there is a change since it was last downloaded.
* New repo type g-common. The dep is not yet included in the ebuild as it is supplied via app-portage/g-cran from the science overlay. But if you use g-cran packages you probably already know this.
* New Message class fully capable of re-directing output to the defined output passed in. Again mostly for guis or consumer apps use.
* other code cleanups, small improvements.
So those that would like to help test:
|echo 'app-portage/layman **' >> /etc/portage/package.keywords|
# emerge =layman-9999
Please report any issues you have with it so I can get them fixed
I would like to try and stabilize the code for a release sometime in the near future.
gentoo forum thread