On Oct 8, 2009, at 11:08 AM, David Lutterkort wrote: > > On Thu, 2009-10-01 at 15:57 -0700, Luke Kanies wrote: >> So (Paul Lathrop will correct me if I'm wrong, I hope), it looks like >> we decided on the following simplistic metadata for modules: >> >> * version >> * name >> * author >> * source (i.e., a URL) >> * requires > > I just looked through gem2rpm to see what metadata we'd need to > automatically generate RPM spec files from module metadata. > >> From the above list we'd need name, version, and requires; we'd >> need two > URL's: what RPM calls 'URL', a pointer to some project page (where > humans would go) and a Source URL, which points to a tarball or > similar > of a released module. > > In addition: > > * Summary: a one line summary of what the module does > * Description: a longer, human readable description of the module > * Required puppet version (this could eventually sprout into > dependencies on specific versions of other packages outside of > puppet if you know your module will trigger bugs in them, e.g. > ruby-selinux >= $version, though that's not needed now; it will > become an issue for modules that contain plugins) > * List of files in the module with an indication of whether they > are 'normal', docs or config - since for now, modules only > contain 'normal' files, besides the license, that can be added > in the future > * Standardize the name of the license file (COPYING or LICENSE) > * a License tag that indicates what license it is. For RPM, it > would be easiest if the values for that tag were directly the > ones from the Short Names column in [1] - if other short names > are used, we'd need to map them, which isn't that big a deal. > But that list needs to be documented on the Wiki. > > We should also settle on a recommendation for where to put 3rd party > modules. I cleverly added /usr/share/puppet/modules[2] to the default > module search path way back when - that's what I would use as the > recommended place for 3rd party modules; the generated spec file can > easily place files there.
I've added some of these to my 'feature/master/module_metadata' branch, but I didn't add the license tag/fixed name information, nor have I added the file list. How would we manage the list of allowed licenses? The goal is to provide consistency, right, not just restrict what license people can use? So do we just have an array somewhere that we update when we discover a new license we want to use? Or can we seed it with the valid licenses in RPM? As to the file list, I'm not really ready to do that. I think the right answer is some easy way to generate it from git or ruby; having a fixed file list is just fugly. -- Experience is that marvelous thing that enables you recognize a mistake when you make it again. -- F. P. Jones --------------------------------------------------------------------- Luke Kanies | http://reductivelabs.com | http://madstop.com --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Puppet Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/puppet-dev?hl=en -~----------~----~----~----~------~----~------~--~---
