Commit Graph

14 Commits

Author SHA1 Message Date
3a4c1c85ad Add entropy_repo type/provider, with tests and docs 2016-10-16 00:40:35 +01:00
5e5d056025 Remove required attribute validation
Previously, the entropy types would require that either package, tag, or repo
were provided, since that makes sense for the entropy files. Having a resource
that could not provide any of these would leave a malformed entry in the files.

I've had to remove that due to a deficiency in Puppet that's taken a long time
to track down. While the validation works fine for resources specified in
manifests, it breaks when parsing the records back in. Here's why:

- The provider instances method is called to retrieve a list of all entries
  in the entropy files. This correctly parses the name and properties into the
  provider instance object
- Puppet's type.rb enumerates through each of these, and tries to create a new
  Type insance using just the name and provider parameters from the provider
  instance. It then intends to iterate through the properties and add them one
  at a time.
  0c2157974a/lib/puppet/type.rb (L1180)
- The problem is that the top-level validation function is called when the
  object is first created, and at this time, none of the properties have been
  set, so the required properties have not been set and validation fails.

The top-level validation block cannot mandate a property be set, only other
types of condition.
2016-10-13 16:52:29 +01:00
0e774c77d5 Improve category/package regex, validation and add spec tests 2016-10-13 16:51:22 +01:00
e5b253546a Add required parameter and version validation to all package types 2016-10-12 11:51:22 +01:00
6e5f65befc Add additional validation for entropy_mask parameters
Goes part way towards fixing #1
2016-10-11 23:58:33 +01:00
1072760d2b Add support for entropy_keywords type 2016-10-11 23:58:33 +01:00
614e836827 Add support and docs for entropy_splitdebug_mask 2016-10-11 19:53:48 +01:00
8ca58a6323 Add splitdebug type/provider 2016-10-11 18:53:44 +01:00
d7b0532677 Add entropy_unmask provider, based on the entropy_mask one 2016-10-10 21:43:54 +01:00
11aa4bcb50 Minor fixups to entropy_mask provider 2016-10-10 21:43:30 +01:00
86e6bece99 Add a native type/provider to manage entropy package masks 2016-10-10 19:22:16 +01:00
294cedb18e Tidy up unused code, fix description in enman_repo 2016-10-10 19:17:48 +01:00
e2a40f8012 Add autorequires for enman_repo on package[enman] 2016-10-09 13:47:43 +01:00
7b5f189acf Add a type/provider to handle enman repos 2016-10-08 20:22:10 +01:00