summaryrefslogtreecommitdiffstats
path: root/meta-openstack/recipes-support/salt/salt_2016.11.0.bb
diff options
context:
space:
mode:
Diffstat (limited to 'meta-openstack/recipes-support/salt/salt_2016.11.0.bb')
-rw-r--r--meta-openstack/recipes-support/salt/salt_2016.11.0.bb165
1 files changed, 165 insertions, 0 deletions
diff --git a/meta-openstack/recipes-support/salt/salt_2016.11.0.bb b/meta-openstack/recipes-support/salt/salt_2016.11.0.bb
new file mode 100644
index 0000000..ba1def7
--- /dev/null
+++ b/meta-openstack/recipes-support/salt/salt_2016.11.0.bb
@@ -0,0 +1,165 @@
1HOMEPAGE = "http://saltstack.com/"
2SECTION = "admin"
3LICENSE = "Apache-2.0"
4LIC_FILES_CHKSUM = "file://LICENSE;md5=fb92f464675f6b5df90f540d60237915"
5DEPENDS = "\
6 python-msgpack \
7 python-pyyaml \
8 python-jinja2 \
9 python-markupsafe \
10"
11
12PACKAGECONFIG ??= "zeromq"
13PACKAGECONFIG[zeromq] = ",,python-pyzmq python-pycrypto,"
14PACKAGECONFIG[tcp] = ",,python-pycrypto"
15
16SRCNAME = "salt"
17SRC_URI = "https://files.pythonhosted.org/packages/source/s/${SRCNAME}/${SRCNAME}-${PV}.tar.gz \
18 file://set_python_location_hashbang.patch \
19 file://minion \
20 file://salt-minion \
21 file://salt-common.bash_completion \
22 file://salt-common.logrotate \
23 file://salt-api \
24 file://salt-master \
25 file://master \
26 file://salt-syndic \
27 file://cloud \
28 file://roster \
29"
30
31SRC_URI[md5sum] = "eced07a652cc6a31870fc098d5325a9c"
32SRC_URI[sha256sum] = "b516285926ee95cedc64ecddab05d14422b7c8819c9f6d046a431c41d608e6bc"
33
34S = "${WORKDIR}/${SRCNAME}-${PV}"
35
36inherit setuptools update-rc.d
37
38# Avoid a QA Warning triggered by the test package including a file
39# with a .a extension
40INSANE_SKIP_${PN}-tests += "staticdev"
41
42# Note ${PN}-tests must be before ${PN}-common in the PACKAGES variable
43# in order for ${PN}-tests to own the correct FILES.
44PACKAGES += "\
45 ${PN}-tests \
46 ${PN}-api \
47 ${PN}-cloud \
48 ${PN}-common \
49 ${PN}-master \
50 ${PN}-minion \
51 ${PN}-ssh \
52 ${PN}-syndic \
53 ${PN}-bash-completion \
54"
55
56do_install_append() {
57 install -d ${D}${sysconfdir}/bash_completion.d/
58 install -m 0644 ${WORKDIR}/salt-common.bash_completion ${D}${sysconfdir}/bash_completion.d/${PN}-common
59 install -d ${D}${sysconfdir}/logrotate.d/
60 install -m 0644 ${WORKDIR}/salt-common.logrotate ${D}${sysconfdir}/logrotate.d/${PN}-common
61 install -d ${D}${sysconfdir}/init.d/
62 install -m 0755 ${WORKDIR}/salt-minion ${D}${sysconfdir}/init.d/${PN}-minion
63 install -m 0755 ${WORKDIR}/salt-api ${D}${sysconfdir}/init.d/${PN}-api
64 install -m 0755 ${WORKDIR}/salt-master ${D}${sysconfdir}/init.d/${PN}-master
65 install -m 0755 ${WORKDIR}/salt-syndic ${D}${sysconfdir}/init.d/${PN}-syndic
66 install -d ${D}${sysconfdir}/${PN}/
67 install -m 0644 ${WORKDIR}/minion ${D}${sysconfdir}/${PN}/minion
68 install -m 0644 ${WORKDIR}/master ${D}${sysconfdir}/${PN}/master
69 install -m 0644 ${WORKDIR}/cloud ${D}${sysconfdir}/${PN}/cloud
70 install -m 0644 ${WORKDIR}/roster ${D}${sysconfdir}/${PN}/roster
71 install -d ${D}${sysconfdir}/${PN}/cloud.conf.d ${D}${sysconfdir}/${PN}/cloud.profiles.d ${D}${sysconfdir}/${PN}/cloud.providers.d
72
73 install -d ${D}${PYTHON_SITEPACKAGES_DIR}/${PN}-tests/
74 cp -r ${S}/tests/ ${D}${PYTHON_SITEPACKAGES_DIR}/${PN}-tests/
75}
76
77ALLOW_EMPTY_${PN} = "1"
78FILES_${PN} = ""
79
80INITSCRIPT_PACKAGES = "${PN}-minion ${PN}-api ${PN}-master ${PN}-syndic"
81
82DESCRIPTION_COMMON = "salt is a powerful remote execution manager that can be used to administer servers in a\
83 fast and efficient way. It allows commands to be executed across large groups of servers. This means systems\
84 can be easily managed, but data can also be easily gathered. Quick introspection into running systems becomes\
85 a reality. Remote execution is usually used to set up a certain state on a remote system. Salt addresses this\
86 problem as well, the salt state system uses salt state files to define the state a server needs to be in. \
87Between the remote execution system, and state management Salt addresses the backbone of cloud and data center\
88 management."
89
90SUMMARY_${PN}-minion = "client package for salt, the distributed remote execution system"
91DESCRIPTION_${PN}-minion = "${DESCRIPTION_COMMON} This particular package provides the worker agent for salt."
92RDEPENDS_${PN}-minion = "python (>=2.6), ${PN}-common (= ${EXTENDPKGV}) python-msgpack"
93RDEPENDS_${PN}-minion += "${@bb.utils.contains('PACKAGECONFIG', 'zeromq', 'python-pycrypto python-pyzmq (>= 13.1.0)', '',d)}"
94RDEPENDS_${PN}-minion += "${@bb.utils.contains('PACKAGECONFIG', 'tcp', 'python-pycrypto', '',d)}"
95RRECOMMENDS_${PN}-minion_append_x64 = "dmidecode"
96RSUGGESTS_${PN}-minion = "python-augeas"
97CONFFILES_${PN}-minion = "${sysconfdir}/${PN}/minion ${sysconfdir}/init.d/${PN}-minion"
98FILES_${PN}-minion = "${bindir}/${PN}-minion ${sysconfdir}/${PN}/minion.d/ ${CONFFILES_${PN}-minion} ${bindir}/${PN}-proxy"
99INITSCRIPT_NAME_${PN}-minion = "${PN}-minion"
100INITSCRIPT_PARAMS_${PN}-minion = "defaults"
101
102SUMMARY_${PN}-common = "shared libraries that salt requires for all packages"
103DESCRIPTION_${PN}-common ="${DESCRIPTION_COMMON} This particular package provides shared libraries that \
104salt-master, salt-minion, and salt-syndic require to function."
105RDEPENDS_${PN}-common = "python (>= 2.7.5-5) python (< 2.8) python-dateutil python-jinja2 python-pyyaml python-requests (>= 1.0.0) python-tornado (>= 4.2.1)"
106RRECOMMENDS_${PN}-common = "lsb python-futures"
107RSUGGESTS_${PN}-common = "python-mako python-git"
108RCONFLICTS_${PN}-common = "python-mako (< 0.7.0)"
109CONFFILES_${PN}-common="${sysconfdir}/logrotate.d/${PN}-common"
110FILES_${PN}-common = "${bindir}/${PN}-call ${libdir}/python2.7/ ${CONFFILES_${PN}-common}"
111
112SUMMARY_${PN}-ssh = "remote manager to administer servers via salt"
113DESCRIPTION_${PN}-ssh = "${DESCRIPTION_COMMON} This particular package provides the salt ssh controller. It \
114is able to run salt modules and states on remote hosts via ssh. No minion or other salt specific software needs\
115 to be installed on the remote host."
116RDEPENDS_${PN}-ssh = "python (>= 2.6) ${PN}-common (= ${EXTENDPKGV}) python-msgpack"
117CONFFILES_${PN}-ssh="${sysconfdir}/${PN}/roster"
118FILES_${PN}-ssh = "${bindir}/${PN}-ssh ${CONFFILES_${PN}-ssh}"
119
120SUMMARY_${PN}-api = "generic, modular network access system"
121DESCRIPTION_${PN}-api = "a modular interface on top of Salt that can provide a variety of entry points into a \
122running Salt system. It can start and manage multiple interfaces allowing a REST API to coexist with XMLRPC or \
123even a Websocket API. The Salt API system is used to expose the fundamental aspects of Salt control to external\
124 sources. salt-api acts as the bridge between Salt itself and REST, Websockets, etc. Documentation is available\
125 on Read the Docs: http://salt-api.readthedocs.org/"
126RDEPENDS_${PN}-api = "python (>= 2.6) ${PN}-master"
127RSUGGESTS_${PN}-api = "python-cherrypy"
128CONFFILES_${PN}-api = "${sysconfdir}/init.d/${PN}-api"
129FILES_${PN}-api = "${bindir}/${PN}-api ${CONFFILES_${PN}-api}"
130INITSCRIPT_NAME_${PN}-api = "${PN}-api"
131INITSCRIPT_PARAMS_${PN}-api = "defaults"
132
133SUMMARY_${PN}-master = "remote manager to administer servers via salt"
134DESCRIPTION_${PN}-master ="${DESCRIPTION_COMMON} This particular package provides the salt controller."
135RDEPENDS_${PN}-master = "python (>= 2.6) ${PN}-common (= ${EXTENDPKGV}) python-msgpack"
136RDEPENDS_${PN}-master += "${@bb.utils.contains('PACKAGECONFIG', 'zeromq', 'python-pycrypto python-pyzmq (>= 13.1.0)', '',d)}"
137RDEPENDS_${PN}-master += "${@bb.utils.contains('PACKAGECONFIG', 'tcp', 'python-pycrypto', '',d)}"
138CONFFILES_${PN}-master="${sysconfdir}/init.d/${PN}-master ${sysconfdir}/${PN}/master"
139RSUGGESTS_${PN}-master = "python-git"
140FILES_${PN}-master = "${bindir}/${PN} ${bindir}/${PN}-cp ${bindir}/${PN}-key ${bindir}/${PN}-master ${bindir}/${PN}-run ${bindir}/${PN}-unity ${bindir}/spm ${CONFFILES_${PN}-master}"
141INITSCRIPT_NAME_${PN}-master = "${PN}-master"
142INITSCRIPT_PARAMS_${PN}-master = "defaults"
143
144SUMMARY_${PN}-syndic = "master-of-masters for salt, the distributed remote execution system"
145DESCRIPTION_${PN}-syndic = "${DESCRIPTION_COMMON} This particular package provides the master of masters for \
146salt; it enables the management of multiple masters at a time."
147RDEPENDS_${PN}-syndic = "python (>= 2.6) ${PN}-master (= ${EXTENDPKGV})"
148CONFFILES_${PN}-syndic="${sysconfdir}/init.d/${PN}-syndic"
149FILES_${PN}-syndic = "${bindir}/${PN}-syndic ${CONFFILES_${PN}-syndic}"
150INITSCRIPT_NAME_${PN}-syndic = "${PN}-syndic"
151INITSCRIPT_PARAMS_${PN}-syndic = "defaults"
152
153SUMMARY_${PN}-cloud = "public cloud VM management system"
154DESCRIPTION_${PN}-cloud = "provision virtual machines on various public clouds via a cleanly controlled profile and mapping system."
155RDEPENDS_${PN}-cloud = "python (>= 2.6) ${PN}-common (= ${EXTENDPKGV})"
156RSUGGESTS_${PN}-cloud = "python-netaddr python-botocore"
157CONFFILES_${PN}-cloud = "${sysconfdir}/${PN}/cloud"
158FILES_${PN}-cloud = "${bindir}/${PN}-cloud ${sysconfdir}/${PN}/cloud.conf.d/ ${sysconfdir}/${PN}/cloud.profiles.d/ ${sysconfdir}/${PN}/cloud.providers.d/ ${CONFFILES_${PN}-cloud}"
159
160SUMMARY_${PN}-tests = "salt stack test suite"
161DESCRIPTION_${PN}-tests ="${DESCRIPTION_COMMON} This particular package provides the salt unit test suite."
162RDEPENDS_${PN}-tests = "${PN}-common python-salttesting python-tests python-image bash"
163FILES_${PN}-tests = "${PYTHON_SITEPACKAGES_DIR}/salt-tests/tests/"
164
165FILES_${PN}-bash-completion = "${sysconfdir}/bash_completion.d/${PN}-common"