-
Notifications
You must be signed in to change notification settings - Fork 1
Common Differences
A list of common issues when a role hasn't been FreeBSD-ified, and how to fix them.
Usually manifests as: No such file or directory
error.
Unlike Linux, FreeBSD puts things installed from packages under /usr/local
. Almost all DebOps roles hard-code paths to /etc
instead of /usr/local/etc
and /usr/bin
instead of /usr/local/bin
.
I handle this by using a pkg_base_path
variable with appropriate defaults instead of hard-coding the path:
-
/etc/foo
becomes{{ pkg_base_path | d() }}/etc/foo
-
/usr/bin/bar
becomes{{ pkg_base_path | d('/usr') }}/bin/bar
Usually manifests as: pkg complaining about no installation candidates
DebOps puts package names into variables defined in (usually) some_role/defaults/main.yml
. Currently it is best if you fix this in your project repo by overriding the variable in your ansible/group_vars/freebsd
(and please please please let me know, e.g. by filing an issue here). Closing issue #1 will enable a better way of fixing these things.
DebOps sets many config files to be owned by group root
, but on FreeBSD gid 0 is wheel
and root
does not exist.
How to best fix this is a decision I haven't made yet, see #3.
DebOps roles tend to have a variable that can be used to disable them. You can set that variable in your project's ansible/group_vars/freebsd
(and please let me know, e.g. by filing an issue here). Again, closing #1 will enable a better way of overriding the default variables.