Date: Mon, 17 May 2021 13:38:41 GMT From: Mateusz Piotrowski <0mp@FreeBSD.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org Subject: git: 92939bfde271 - main - Add USES=ansible for Ansible ports Message-ID: <202105171338.14HDcfiX037502@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by 0mp: URL: https://cgit.FreeBSD.org/ports/commit/?id=92939bfde271f881e76fdb94ee5047271d2d1b43 commit 92939bfde271f881e76fdb94ee5047271d2d1b43 Author: Mateusz Piotrowski <0mp@FreeBSD.org> AuthorDate: 2021-05-17 11:51:15 +0000 Commit: Mateusz Piotrowski <0mp@FreeBSD.org> CommitDate: 2021-05-17 13:38:41 +0000 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 --- Mk/Uses/ansible.mk | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) diff --git a/Mk/Uses/ansible.mk b/Mk/Uses/ansible.mk new file mode 100644 index 000000000000..f4dd11b3e587 --- /dev/null +++ b/Mk/Uses/ansible.mk @@ -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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202105171338.14HDcfiX037502>