Commit Graph

66 Commits

Author SHA1 Message Date
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
f45895e8dd [blacksmith] Bump version to 0.1.1 2016-10-13 01:06:01 +01:00
fa20f3aead Release 0.1.0 v0.1.0 2016-10-13 01:03:33 +01:00
76ffa4937b Add .pmtignore to exclude vendor directory from puppet module 2016-10-13 01:03:26 +01:00
24b4a82949 Update changelog for 0.1.0 2016-10-13 00:49:43 +01:00
336d8f355a Add spec tests for entropy_keywords 2016-10-13 00:48:20 +01:00
7f069307ee Handle keywords entries with just a repo and no package 2016-10-13 00:48:07 +01:00
9b9e1281f3 Add provider spec tests for common package types, and tidy up test locations 2016-10-12 23:13:05 +01:00
61b3262b7a Use native to_line methods which is more easily testable 2016-10-12 23:11:11 +01:00
60329c3dec WIP add provider flush tests 2016-10-12 16:19:05 +01:00
170787c7ad Add provider parser tests for the common package types 2016-10-12 13:18:55 +01:00
6a832304e3 Fix bug with splitdebug_mask provider fulfiling the wrong type 2016-10-12 13:18:32 +01:00
60d72803b1 Add basic tests for enman_repo type 2016-10-12 12:16:31 +01:00
d622d6b7dc Add tests for entropy_keywords 2016-10-12 12:07:44 +01:00
db52bda1c5 Extend spec test to all package types 2016-10-12 11:53:23 +01:00
e5b253546a Add required parameter and version validation to all package types 2016-10-12 11:51:22 +01:00
6c94c710db Add a test suite for the entropy_mask type 2016-10-11 23:58:33 +01:00
6e5f65befc Add additional validation for entropy_mask parameters
Goes part way towards fixing #1
2016-10-11 23:58:33 +01:00
5a658c5d7e Update allowed characters for slots, tags and repo names 2016-10-11 23:58:33 +01:00
1072760d2b Add support for entropy_keywords type 2016-10-11 23:58:33 +01:00
c2ee8a6ca5 Entropy wants ## for inline comments 2016-10-11 23:58:33 +01:00
Ettore Di Giacinto
0f8bfcdc01 README: fix typo 2016-10-11 23:12:18 +02:00
614e836827 Add support and docs for entropy_splitdebug_mask 2016-10-11 19:53:48 +01:00
deda75dc92 Update documentation, changelog for entropy_splitdebug 2016-10-11 19:08:06 +01:00
8ca58a6323 Add splitdebug type/provider 2016-10-11 18:53:44 +01:00
9928a31e06 Minor README formatting tweaks 2016-10-10 23:56:09 +01:00
57c7b3fbce Update README formatting 2016-10-10 23:54:03 +01:00
c2c066dd55 Add pkg to gitignore v0.0.2 2016-10-10 23:46:11 +01:00
37b4960ee1 Relocate github repository to official Sabayon org 2016-10-10 23:40:09 +01:00
83ec01304c Add blacksmith for module releases 2016-10-10 23:35:23 +01:00
404f09c426 Add documentation and module boilerplate 2016-10-10 23:18:58 +01:00
d3f8c5f5c9 Fix typo in category parameter 2016-10-10 23:15:07 +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
0da0175b3f Simplify the default for the sabayon systemd service handler 2016-10-10 21:14:45 +01:00
91e159fe6f Override the operatingsystem fact definition for sabayon 2016-10-10 21:14:27 +01:00
86e6bece99 Add a native type/provider to manage entropy package masks 2016-10-10 19:22:16 +01:00
6c63187e33 Add a sabayon class which ensures required tools for providers are installed 2016-10-10 19:18:30 +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
11c2b54be2 Update package provider to also check for non-repository installed packages 2016-09-30 19:13:19 +01:00
2d9f7eafe5 Handle the different module path when using puppet-agent 2016-04-30 20:01:13 +01:00
2c1d8c9d88 Remove facts that no longer work with puppetserver 2015-07-28 00:45:40 +01:00
7768afd23f Add additional constraints to ensure entropy is taken as the default provider 2014-11-25 21:33:17 +00:00
3a1e09db88 Update regex to handle versions like 20140101a when matching installed packages 2014-11-23 23:49:10 +00:00
f371e97b6b Include the necessary libraries to properly determine the running OS 2014-08-11 22:49:16 +01:00
3ef20e37ce Add an osfamily fact to define Sabayon as a Gentoo derivative 2014-08-11 22:48:35 +01:00
6524e3258c Update providers for sabayon 2014-08-10 10:41:53 +01:00