package mapping rule "attributes" should be more strongly defined
The current pkg_attributes macro has undefined behavior: each argument defaults to None and as is left open to interpretation by the package builder. This can leave some things dependent on the environment, losing hermiticity. Most important ones are likely user and the group
Some non-mutually-exclusive options:
- Leave it as-is.
- Set defaults in
pkg_attributes - Allow for overriding default attributes in
pkg_filegroup - Codify the behavior in the packaging rules level
And another
- add fallback value attributes to the package building rules
I'm not sure I know enough yet to pick the right solution. I do know that what I would like is for a *_binary to show up as executable and for data files to be 0x444 - without the user having to say anything.
Also, we might consider using symbolic names for modes. Instead of the posix octal modes, perhaps go to the chmod model ( ugo+-rwx ). The reason to do that now is so that when we add a windows installer, we can translate desired modes to the Windows equivalent.