Hi,

Vincas Dargis:
> What about actual implementation, should we "push":

> * `tunables/usr.bin.thunderbird` empty file (same as with 
> local/usr.bin.thunderbird), or
> * `tunables/usr.bin.thunderbird.d` directory for more flexibility, but 
> without a file (user should create one himself)?

> Or maybe these tunables should be placed deeper, like:

> `tunables/<something>/usr.bin.thunderbird{,.d}`

At first glance I would essentially apply the same path structure as
what we do for top-level profiles:

 * `tunables/usr.bin.thunderbird`, shipped by the package, has the
   default settings

 * `local/tunables/usr.bin.thunderbird` can be used by the local admin
   to override/extend the default settings

The thing is, I'd rather not ship yet another empty file that is
strictly needed to parse/compile the usr.bin.thunderbird profile: as
we've been discussing a few days ago, this would cause unnecessary
packaging complexity, add painful coupling, and make us even more
stuck into old-style filesystem conventions that are problematic for
important use cases these days.

So this seems to be yet another use case for a directive like
#include_if_exists (or #include -<path/to/snippet>, to reuse systemd
conventions wrt. directives that are allowed to fail). I've had
a quick look (disclaimer: I'm not a C person and know nothing about
flex parsers) and it seems this should not be very hard to implement
in parser/parser_lex.l. Maybe we could discuss the interface and
behavior of this new/updated directive in a dedicated thread, and once
we've reached an agreement I could try to find someone to implement it?

Cheers,
-- 
intrigeri

-- 
AppArmor mailing list
AppArmor@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/apparmor

Reply via email to