diff --git a/README.rst b/README.rst index 88daca437924b9b89adbc8aab28ab6bca0dcc8b4..4d42fe0c55632f3747e454005f70e93d4e3435c4 100644 --- a/README.rst +++ b/README.rst @@ -82,6 +82,15 @@ Remove the database called ``test``, normally created as part of a default MySQL installation. This state is **not** included as part of the meta-state above as this name may conflict with a real database. +``mysql.dev`` +------------------------------ + +Install the MySQL development libraries and header files. + +.. note:: + Note that this state is not installed by the mysql meta-state unless you set + your pillar data accordingly. + Updating the supported parameters ================================= diff --git a/mysql/defaults.yaml b/mysql/defaults.yaml index 8a3a16b9d9552565e22e32a98a8c07fd6a7690c3..f21ea79210aaf4e676d40d09b51cb0700edd6ca0 100644 --- a/mysql/defaults.yaml +++ b/mysql/defaults.yaml @@ -6,6 +6,7 @@ Ubuntu: service: mysql python: python-mysqldb debconf_utils: debconf-utils + dev: libmysqlclient-dev config: file: /etc/mysql/my.cnf sections: @@ -50,6 +51,7 @@ Debian: service: mysql python: python-mysqldb debconf_utils: debconf-utils + dev: libmysqlclient-dev config: file: /etc/mysql/my.cnf sections: @@ -92,6 +94,7 @@ CentOS: client: mysql service: mysqld python: MySQL-python + dev: mysql-devel config: file: /etc/my.cnf sections: @@ -110,6 +113,7 @@ RedHat: client: mysql service: mysqld python: MySQL-python + dev: mysql-devel config: file: /etc/my.cnf sections: @@ -128,6 +132,7 @@ Amazon: client: mysql service: mysqld python: MySQL-python + dev: mysql-devel config: file: /etc/my.cnf sections: @@ -146,6 +151,7 @@ Gentoo: client: dev-db/mysql service: mysql python: dev-python/mysql-python + dev: dev-db/mysqlced config: file: /etc/mysql/my.cnf sections: @@ -227,6 +233,7 @@ FreeBSD: client: mysql56-client service: mysql-server python: pymysql + dev: mysql56-server config: file: /usr/local/etc/my.cnf sections: diff --git a/mysql/dev.sls b/mysql/dev.sls new file mode 100644 index 0000000000000000000000000000000000000000..e111b700f0c521ce38192feef5f47448537c228c --- /dev/null +++ b/mysql/dev.sls @@ -0,0 +1,7 @@ +{% from "mysql/defaults.yaml" import rawmap with context %} +{%- set mysql = salt['grains.filter_by'](rawmap, grain='os', merge=salt['pillar.get']('mysql:server:lookup')) %} + +mysql_dev: + pkg: + - installed + - name: {{ mysql.dev }} diff --git a/mysql/init.sls b/mysql/init.sls index ae2d9d2c40fddc901703babcd9c56ff1b2b77e27..3a44d2b412b67ce395e7e2cf74e0c4d190f651ee 100644 --- a/mysql/init.sls +++ b/mysql/init.sls @@ -7,10 +7,16 @@ {%- endfor -%} {% endmacro %} +{% set mysql_dev = salt['pillar.get']('mysql:dev:install', False) %} + include: - mysql.server - mysql.database - mysql.user +{% if mysql_dev %} + - mysql.dev +{% endif %} + {% if (db_states|length() + user_states|length()) > 0 %} extend: diff --git a/pillar.example b/pillar.example index e6cf278c377098827b35825df05adae63a366da8..026b595422c84f518b51bf742dd9114fc2fc5271 100644 --- a/pillar.example +++ b/pillar.example @@ -60,3 +60,8 @@ mysql: service: mysql-service config: /etc/mysql/my.cnf python: python-mysqldb + + # Install MySQL headers + dev: + # Install dev package - defaults to False + install: False \ No newline at end of file