I've recently updated opengl-update to use the eselect framework. I think the team has done a great job as it was extremely easy to port the bash script to an eselect module. However, when I placed it in the portage tree, it sparked a little bit of a policy discussion between myself and the core eselect devs on how to best include modules in the tree, so I'd like to let other devs chime in as well.
Firstly if you don't know what eselect is, check out: http://www.gentoo.org/proj/en/eselect/index.xml The eselect developers want to keep all eselect modules in their svn repository and distributed through a single package (app-admin/eselect). Their main reasons for this are better QA and less overhead for releases and merging. I have a problem with this policy because: 1) Stability of the modules should not be tied to stability of the core package. Basically, I'd like to determine when my modules get pushed into stable without considering how it'll effect the eselect modules of other developers. Similarly, I don't want bugs in another module holding up my module from going into stable. 2) Not all users will want all modules. The goal of the eselect project is to provide a framework to replace java-config, motif-config, gcc-config, binutils-config, opengl-update, etc, but not all users will need all modules. 3) Some modules require extra files (opengl-update installs header files, gcc-config installs a wrapper, etc), and the app-admin/eselect package is not the correct place to provide these files. Also, what should the correct way to introduce these modules into portage? Should we keep them in the packages they're replacing (x11-base/opengl-update)? Should we place them in a new package in the same category as the script they're replacing (x11-base/eselect-opengl)? Should we place them in app-admin/eselect-<module name> or perhaps app-eselect/<module name>? Note that for backwards compatibility in all cases, x11-base/opengl-update will RDEPEND on this eselect module and install a backwards-compatible frontend to the eselect module until all packages in portage have been updated to use the eselect module instead.
signature.asc
Description: This is a digitally signed message part