Add USES=ansible for Ansible ports
The purpose of this new USES file is to provide a central place for setting Ansible paths for modules and plugins. Perhaps in the future we will extend to reduce boilerplate code in existing Ansible-related ports. PR: 255920 Reported by: lcook Reviewed by: madpilot Differential Revision: https://reviews.freebsd.org/D30312
This commit is contained in:
parent
e11b1ffe71
commit
92939bfde2
1 changed files with 74 additions and 0 deletions
74
Mk/Uses/ansible.mk
Normal file
74
Mk/Uses/ansible.mk
Normal file
|
@ -0,0 +1,74 @@
|
|||
# Shared namespace for Ansible-related ports.
|
||||
#
|
||||
# Feature: ansible
|
||||
# Usage: USES=ansible:ARGS
|
||||
# Valid ARGS: env, module, plugin
|
||||
#
|
||||
# env The port does not depend on Ansible but needs some Ansible
|
||||
# variables set.
|
||||
# module The port is an Ansible module. (*)
|
||||
# plugin The port is an Ansible plugin. (*)
|
||||
#
|
||||
# (*) See Ansible documentation to learn about the difference
|
||||
# between a module and a plugin:
|
||||
# https://docs.ansible.com/ansible/latest/dev_guide/developing_locally.html
|
||||
#
|
||||
# Variables for ports:
|
||||
#
|
||||
# ANSIBLE_CMD - Path to the ansible program.
|
||||
# ANSIBLE_DOC_CMD - Path to the ansible-doc program.
|
||||
# ANSIBLE_RUN_DEPENDS - RUN_DEPENDS with the Ansible port.
|
||||
#
|
||||
# ANSIBLE_DATADIR - Path to the root of the directory structure where all
|
||||
# Ansible's modules and plugins are stored.
|
||||
# ANSIBLE_PLUGINS_PREFIX
|
||||
# - Path to the "plugins" directory
|
||||
# within ${ANSIBLE_DATADIR}.
|
||||
# ANSIBLE_MODULESDIR - Path to the directory for local Ansible modules.
|
||||
# ANSIBLE_PLUGINSDIR - Path to the directory for local Ansible plugins.
|
||||
# ANSIBLE_PLUGIN_TYPE - Ansible plugin type (e.g., "connection", "inventory",
|
||||
# or "vars").
|
||||
#
|
||||
# Other information:
|
||||
# - USES=ansible implies USES=python:env automatically is no USES=python has
|
||||
# been specified yet.
|
||||
#
|
||||
# MAINTAINER: ports@FreeBSD.org
|
||||
|
||||
.if !defined(_INCLUDE_USES_ANSIBLE_Mk)
|
||||
_INCLUDE_USES_ANSIBLE_Mk= yes
|
||||
|
||||
.if empty(ansible_ARGS)
|
||||
IGNORE= no arguments specified to USES=ansible
|
||||
.elif ${ansible_ARGS} == "env"
|
||||
.elif ${ansible_ARGS} == "module"
|
||||
.elif ${ansible_ARGS} == "plugin"
|
||||
.else
|
||||
IGNORE= uses unknown USES=ansible arguments: ${ansible_ARGS}
|
||||
.endif
|
||||
|
||||
.if !${USES:Mpython*}
|
||||
python_ARGS= env
|
||||
_USES_POST+= python:env
|
||||
.include "${USESDIR}/python.mk"
|
||||
.endif
|
||||
|
||||
ANSIBLE_CMD?= ${LOCALBASE}/bin/ansible
|
||||
ANSIBLE_DOC_CMD?= ${LOCALBASE}/bin/ansible-doc
|
||||
ANSIBLE_RUN_DEPENDS?= ${ANSIBLE_CMD}:sysutils/ansible@${PY_FLAVOR}
|
||||
|
||||
ANSIBLE_DATADIR?= ${PREFIX}/share/${PYTHON_PKGNAMEPREFIX}ansible
|
||||
ANSIBLE_PLUGINS_PREFIX?= ${ANSIBLE_DATADIR}/plugins
|
||||
.if ${ansible_ARGS} == "module"
|
||||
ANSIBLE_MODULESDIR?= ${ANSIBLE_PLUGINS_PREFIX}/modules
|
||||
.elif ${ansible_ARGS} == "plugin"
|
||||
. if empty(ANSIBLE_PLUGIN_TYPE)
|
||||
IGNORE= ANSIBLE_PLUGIN_TYPE must be set
|
||||
. endif
|
||||
ANSIBLE_PLUGINSDIR?= ${ANSIBLE_PLUGINS_PREFIX}/${ANSIBLE_PLUGIN_TYPE}
|
||||
.endif
|
||||
|
||||
.if ${ansible_ARGS} == "module" || ${ansible_ARGS} == "plugin"
|
||||
RUN_DEPENDS+= ${ANSIBLE_RUN_DEPENDS}
|
||||
.endif
|
||||
.endif
|
Loading…
Reference in a new issue