76 | | variant client_only conflicts mysql51 mysql55 postgresql83 postgresql84 sqlite3 description "Install bacula client (bacula-fd) only" { |
| 76 | set db_ports {mariadb mariadb-10.0 mariadb-10.1 mariadb-10.2 mysql51 mysql55 mysql56 mysql57 percona postgresql83 postgresql84 postgresql90 postgresql91 postgresql92 postgresql93 postgresql94 postgresql95 postgresql96 postgresql10 postgresql11 sqlite3} |
| 77 | set db_variants [string map {- {}} ${db_ports}] |
| 78 | proc db_variant_isset {} { |
| 79 | global db_variants |
| 80 | foreach db_variant ${db_variants} { |
| 81 | if [variant_isset ${db_variant}] { |
| 82 | return yes |
| 83 | } |
| 84 | } |
| 85 | return no |
| 86 | } |
| 87 | foreach db_port ${db_ports} { |
| 88 | set db_type [regsub -nocase {[^a-z].*$} ${db_port} {}] |
| 89 | set db_index [lsearch -exact ${db_ports} ${db_port}] |
| 90 | set db_variant [lindex ${db_variants} ${db_index}] |
| 91 | set db_conflicts [lreplace ${db_variants} ${db_index} ${db_index}] |
| 92 | variant ${db_variant} description "Install bacula client and server with ${db_port} backend" conflicts client_only {*}${db_conflicts} " |
| 93 | depends_lib-append port:${db_port} |
| 94 | |
| 95 | configure.args-append --enable-batch-insert |
| 96 | |
| 97 | switch ${db_type} { |
| 98 | mariadb - |
| 99 | mysql - |
| 100 | percona { |
| 101 | configure.args-replace --without-mysql --with-mysql=${prefix}/include/${db_port}/mysql |
| 102 | configure.cppflags-append -I${prefix}/include/${db_port}/mysql |
| 103 | |
| 104 | patchfiles-append patch-configure-mysql.diff |
| 105 | |
| 106 | post-patch { |
| 107 | reinplace \"s|@@PREFIX@@|${prefix}|g\" ${worksrcpath}/configure |
| 108 | } |
| 109 | |
| 110 | notes-append { |
| 111 | To use the Bacula Director, you'll need to perform the following steps: |
| 112 | 1. create user \"bacula\" on a mysql database |
| 113 | 2. execute \"${prefix}/etc/bacula/create_bacula_database -h <mysql_server> -u <db_admin_user> -p\" |
| 114 | 3. execute \"${prefix}/etc/bacula/make_bacula_tables -h <mysql_server> -u <db_admin_user> -p\" |
| 115 | 4. execute \"${prefix}/etc/bacula/grant_bacula_privileges -h <mysql_server> -u <db_admin_user> -p\" |
| 116 | 5. configure \"${prefix}/etc/bacula/bacula-dir.conf\" and set the catalog database settings for the bacula db user. |
| 117 | } |
| 118 | } |
| 119 | postgresql { |
| 120 | configure.args-replace --without-postgresql --with-postgresql |
| 121 | |
| 122 | configure.env-append PATH=${prefix}/lib/${db_port}/bin:$env(PATH) |
| 123 | |
| 124 | patchfiles-append patch-create_postgresql_database.diff |
| 125 | |
| 126 | notes-append { |
| 127 | To use the Bacula Director, you'll need to perform the following steps: |
| 128 | 1. create user \"bacula\" on a PostgreSQL database |
| 129 | 2. execute \"${prefix}/etc/bacula/create_bacula_database -h <postgresql-server> -U <db_admin_user>\" |
| 130 | 3. execute \"${prefix}/etc/bacula/make_bacula_tables -h <postgresql-server> -U <db_admin_user>\" |
| 131 | 4. execute \"${prefix}/etc/bacula/grant_bacula_privileges -h <postgresql-server> -U <db_admin_user> -p\" |
| 132 | 5. configure \"${prefix}/etc/bacula/bacula-dir.conf\" and set the catalog database settings for the bacula db user. |
| 133 | } |
| 134 | } |
| 135 | sqlite { |
| 136 | configure.args-replace --without-sqlite3 --with-sqlite3=${prefix} |
| 137 | |
| 138 | notes-append { |
| 139 | To use the Bacula Director, you'll need to perform the following steps: |
| 140 | 1. execute \"${prefix}/etc/bacula/create_bacula_database\" |
| 141 | 2. execute \"${prefix}/etc/bacula/make_bacula_tables\" |
| 142 | 3. configure \"${prefix}/etc/bacula/bacula-dir.conf\" and set the catalog database settings for the bacula db user. |
| 143 | } |
| 144 | } |
| 145 | } |
| 146 | " |
| 147 | } |
| 148 | |
| 149 | variant client_only conflicts {*}${db_variants} description "Install bacula client (bacula-fd) only" { |
101 | | variant mysql51 conflicts client_only mysql55 postgresql83 postgresql84 sqlite3 description "Install bacula client and server with mysql 5.1 backend" { |
102 | | depends_lib-append port:mysql51 |
103 | | configure.args-append --with-mysql=${prefix}/include/mysql51/mysql |
104 | | configure.args-delete --without-mysql |
105 | | configure.args-append --enable-batch-insert |
106 | | configure.cppflags-append -I${prefix}/include/mysql51/mysql |
107 | | |
108 | | patchfiles-append patch-configure-mysql.diff |
109 | | post-patch { |
110 | | reinplace "s|@@PREFIX@@|${prefix}|g" ${worksrcpath}/configure |
111 | | } |
112 | | notes-append " |
113 | | To use the Bacula Director, you'll need to perform the following steps: |
114 | | 1. create user \"bacula\" on a mysql database |
115 | | 2. execute \"${prefix}/etc/bacula/create_bacula_database -h <mysql_server> -u <db_admin_user> -p\" |
116 | | 3. execute \"${prefix}/etc/bacula/make_bacula_tables -h <mysql_server> -u <db_admin_user> -p\" |
117 | | 4. execute \"${prefix}/etc/bacula/grant_bacula_privileges -h <mysql_server> -u <db_admin_user> -p\" |
118 | | 5. configure \"${prefix}/etc/bacula/bacula-dir.conf\" and set the catalog database settings for the bacula db user. |
119 | | " |
120 | | } |
121 | | |
122 | | variant mysql55 conflicts client_only mysql51 postgresql83 postgresql84 sqlite3 description "Install bacula client and server with mysql 5.5 backend" { |
123 | | depends_lib-append port:mysql55 |
124 | | configure.args-append --with-mysql=${prefix}/include/mysql55/mysql |
125 | | configure.args-delete --without-mysql |
126 | | configure.args-append --enable-batch-insert |
127 | | configure.cppflags-append -I${prefix}/include/mysql55/mysql |
128 | | |
129 | | patchfiles-append patch-configure-mysql.diff |
130 | | post-patch { |
131 | | reinplace "s|@@PREFIX@@|${prefix}|g" ${worksrcpath}/configure |
132 | | } |
133 | | notes-append " |
134 | | To use the Bacula Director, you'll need to perform the following steps: |
135 | | 1. create user \"bacula\" on a mysql database |
136 | | 2. execute \"${prefix}/etc/bacula/create_bacula_database -h <mysql_server> -u <db_admin_user> -p\" |
137 | | 3. execute \"${prefix}/etc/bacula/make_bacula_tables -h <mysql_server> -u <db_admin_user> -p\" |
138 | | 4. execute \"${prefix}/etc/bacula/grant_bacula_privileges -h <mysql_server> -u <db_admin_user> -p\" |
139 | | 5. configure \"${prefix}/etc/bacula/bacula-dir.conf\" and set the catalog database settings for the bacula db user. |
140 | | " |
141 | | } |
142 | | |
143 | | variant postgresql83 conflicts mysql51 mysql55 postgresql84 sqlite3 client_only description "Install bacula client and server with postgresql 8.3 backend" { |
144 | | depends_lib-append port:postgresql83 |
145 | | configure.args-append --with-postgresql |
146 | | configure.args-delete --without-postgresql |
147 | | configure.args-append --enable-batch-insert |
148 | | configure.env-append PATH=${prefix}/lib/postgresql83/bin:$env(PATH) |
149 | | |
150 | | patchfiles-append patch-create_postgresql_database.diff |
151 | | |
152 | | notes-append " |
153 | | To use the Bacula Director, you'll need to perform the following steps: |
154 | | 1. create user \"bacula\" on a PostgreSQL database |
155 | | 2. execute \"${prefix}/etc/bacula/create_bacula_database -h <postgresql-server> -U <db_admin_user>\" |
156 | | 3. execute \"${prefix}/etc/bacula/make_bacula_tables -h <postgresql-server> -U <db_admin_user>\" |
157 | | 4. execute \"${prefix}/etc/bacula/grant_bacula_privileges -h <postgresql-server> -U <db_admin_user> -p\" |
158 | | 5. configure \"${prefix}/etc/bacula/bacula-dir.conf\" and set the catalog database settings for the bacula db user. |
159 | | " |
160 | | } |
161 | | |
162 | | variant postgresql84 conflicts mysql51 mysql55 postgresql83 sqlite3 client_only description "Install bacula client and server with postgresql 8.4 backend" { |
163 | | depends_lib-append port:postgresql84 |
164 | | configure.args-append --with-postgresql |
165 | | configure.args-delete --without-postgresql |
166 | | configure.args-append --enable-batch-insert |
167 | | configure.env-append PATH=${prefix}/lib/postgresql84/bin:$env(PATH) |
168 | | |
169 | | patchfiles-append patch-create_postgresql_database.diff |
170 | | |
171 | | notes-append " |
172 | | To use the Bacula Director, you'll need to perform the following steps: |
173 | | 1. create user \"bacula\" on a PostgreSQL database |
174 | | 2. execute \"${prefix}/etc/bacula/create_bacula_database -h <postgresql-server> -U <db_admin_user>\" |
175 | | 3. execute \"${prefix}/etc/bacula/make_bacula_tables -h <postgresql-server> -U <db_admin_user>\" |
176 | | 4. execute \"${prefix}/etc/bacula/grant_bacula_privileges -h <postgresql-server> -U <db_admin_user> -p\" |
177 | | 5. configure \"${prefix}/etc/bacula/bacula-dir.conf\" and set the catalog database settings for the bacula db user. |
178 | | " |
179 | | } |
180 | | |
181 | | variant sqlite3 conflicts client_only mysql51 mysql55 postgresql83 postgresql84 description "Install bacula client and server with sqlite 3 backend" { |
182 | | depends_lib-append port:sqlite3 |
183 | | configure.args-append --with-sqlite3=${prefix} |
184 | | configure.args-delete --without-sqlite3 |
185 | | configure.args-append --enable-batch-insert |
186 | | notes-append " |
187 | | To use the Bacula Director, you'll need to perform the following steps: |
188 | | 1. execute \"${prefix}/etc/bacula/create_bacula_database\" |
189 | | 2. execute \"${prefix}/etc/bacula/make_bacula_tables\" |
190 | | 3. configure \"${prefix}/etc/bacula/bacula-dir.conf\" and set the catalog database settings for the bacula db user. |
191 | | " |
192 | | } |
193 | | |