1 |
commit: 9d03d59175075c4acac3be7e5ba5a7ded1abf17a |
2 |
Author: Aaron W. Swenson <titanofold <AT> gentoo <DOT> org> |
3 |
AuthorDate: Mon Jul 10 01:55:17 2017 +0000 |
4 |
Commit: Aaron Swenson <titanofold <AT> gentoo <DOT> org> |
5 |
CommitDate: Mon Jul 10 02:03:55 2017 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9d03d591 |
7 |
|
8 |
Initial commit postgres{,-multi}.eclass |
9 |
|
10 |
postgres.eclass provides convenience functions that are commonly |
11 |
performed in most packages that require PostgreSQL. |
12 |
|
13 |
postgres-multi.eclass enables packages to build against all selected |
14 |
PostgreSQL slots. |
15 |
|
16 |
Added POSTGRES_TARGETS as a new USE_EXPAND variable to select which |
17 |
slots are depended upon and built against. |
18 |
|
19 |
eclass/postgres-multi.eclass | 178 ++++++++++++++++++++++++++++++++++++ |
20 |
eclass/postgres.eclass | 159 ++++++++++++++++++++++++++++++++ |
21 |
profiles/base/make.defaults | 6 +- |
22 |
profiles/desc/postgres_targets.desc | 12 +++ |
23 |
profiles/embedded/make.defaults | 2 +- |
24 |
5 files changed, 355 insertions(+), 2 deletions(-) |
25 |
|
26 |
diff --git a/eclass/postgres-multi.eclass b/eclass/postgres-multi.eclass |
27 |
new file mode 100644 |
28 |
index 00000000000..f490eccb3d1 |
29 |
--- /dev/null |
30 |
+++ b/eclass/postgres-multi.eclass |
31 |
@@ -0,0 +1,178 @@ |
32 |
+# Copyright 1999-2016 Gentoo Foundation |
33 |
+# Distributed under the terms of the GNU General Public License v2 |
34 |
+# $Id$ |
35 |
+ |
36 |
+inherit multibuild postgres |
37 |
+EXPORT_FUNCTIONS pkg_setup src_prepare src_compile src_install src_test |
38 |
+ |
39 |
+ |
40 |
+# @ECLASS: postgres-multi |
41 |
+# @MAINTAINER: |
42 |
+# PostgreSQL <pgsql-bugs@g.o> |
43 |
+# @AUTHOR: Aaron W. Swenson <titanofold@g.o> |
44 |
+# @BLURB: An eclass to build PostgreSQL-related packages against multiple slots |
45 |
+# @DESCRIPTION: |
46 |
+# postgres-multi enables ebuilds, particularly PostgreSQL extensions, to |
47 |
+# build and install for one or more PostgreSQL slots as specified by |
48 |
+# POSTGRES_TARGETS use flags. |
49 |
+ |
50 |
+ |
51 |
+case ${EAPI:-0} in |
52 |
+ 5|6) ;; |
53 |
+ *) die "Unsupported EAPI=${EAPI} (unknown) for ${ECLASS}" ;; |
54 |
+esac |
55 |
+ |
56 |
+ |
57 |
+# @ECLASS-VARIABLE: POSTGRES_COMPAT |
58 |
+# @REQUIRED |
59 |
+# @DESCRIPTION: |
60 |
+# A Bash array containing a list of compatible PostgreSQL slots as |
61 |
+# defined by the developer. Must be declared before inheriting this |
62 |
+# eclass. Example: POSTGRES_COMPAT=( 9.4 9.{5,6} ) |
63 |
+if ! declare -p POSTGRES_COMPAT &>/dev/null; then |
64 |
+ die 'Required variable POSTGRES_COMPAT not declared.' |
65 |
+fi |
66 |
+ |
67 |
+# @ECLASS-VARIABLE: _POSTGRES_INTERSECT_SLOTS |
68 |
+# @INTERNAL |
69 |
+# @DESCRIPTION: |
70 |
+# A Bash array containing the intersect of POSTGRES_TARGETS and |
71 |
+# POSTGRES_COMPAT. |
72 |
+export _POSTGRES_INTERSECT_SLOTS=( ) |
73 |
+ |
74 |
+# @FUNCTION _postgres-multi_multibuild_wrapper |
75 |
+# @INTERNAL |
76 |
+# @USAGE: _postgres-multi_multibuild_wrapper <command> [<arg> ...] |
77 |
+# @DESCRIPTION: |
78 |
+# For the given variant, set the values of the PG_SLOT, PG_CONFIG, and |
79 |
+# PKG_CONFIG_PATH environment variables accordingly and replace any |
80 |
+# appearance of @PG_SLOT@ in the command and arguments with value of |
81 |
+# ${PG_SLOT}. |
82 |
+_postgres-multi_multibuild_wrapper() { |
83 |
+ debug-print-function ${FUNCNAME} "${@}" |
84 |
+ export PG_SLOT=${MULTIBUILD_VARIANT} |
85 |
+ export PG_CONFIG=$(which pg_config${MULTIBUILD_VARIANT//./}) |
86 |
+ if [[ -n ${PKG_CONFIG_PATH} ]] ; then |
87 |
+ PKG_CONFIG_PATH="$(${PG_CONFIG} --libdir)/pkgconfig:${PKG_CONFIG_PATH}" |
88 |
+ else |
89 |
+ PKG_CONFIG_PATH="$(${PG_CONFIG} --libdir)/pkgconfig" |
90 |
+ fi |
91 |
+ export PKG_CONFIG_PATH |
92 |
+ |
93 |
+ $(echo "${@}" | sed "s/@PG_SLOT@/${PG_SLOT}/g") |
94 |
+} |
95 |
+ |
96 |
+# @FUNCTION: postgres-multi_foreach |
97 |
+# @USAGE: postgres-multi_foreach <command> <arg> [<arg> ...] |
98 |
+# @DESCRIPTION: |
99 |
+# Run the given command in the package's build directory for each |
100 |
+# PostgreSQL slot in the intersect of POSTGRES_TARGETS and |
101 |
+# POSTGRES_COMPAT and user-enabled slots. The PG_CONFIG and |
102 |
+# PKG_CONFIG_PATH environment variables are updated on each iteration to |
103 |
+# point to the matching pg_config command and pkg-config metadata files, |
104 |
+# respectively, for the current slot. Any appearance of @PG_SLOT@ in the |
105 |
+# command or arguments will be substituted with the slot (e.g., 9.5) of |
106 |
+# the current iteration. |
107 |
+postgres-multi_foreach() { |
108 |
+ local MULTIBUILD_VARIANTS=("${_POSTGRES_INTERSECT_SLOTS[@]}") |
109 |
+ |
110 |
+ multibuild_foreach_variant \ |
111 |
+ _postgres-multi_multibuild_wrapper run_in_build_dir ${@} |
112 |
+} |
113 |
+ |
114 |
+# @FUNCTION: postgres-multi_forbest |
115 |
+# @USAGE: postgres-multi_forbest <command> <arg> [<arg> ...] |
116 |
+# @DESCRIPTION: |
117 |
+# Run the given command in the package's build directory for the highest |
118 |
+# slot in the intersect of POSTGRES_COMPAT and POSTGRES_TARGETS. The |
119 |
+# PG_CONFIG and PKG_CONFIG_PATH environment variables are set to the |
120 |
+# matching pg_config command and pkg-config metadata files, |
121 |
+# respectively. Any appearance of @PG_SLOT@ in the command or arguments |
122 |
+# will be substituted with the matching slot (e.g., 9.5). |
123 |
+postgres-multi_forbest() { |
124 |
+ # POSTGRES_COMPAT is reverse sorted once in postgres.eclass so |
125 |
+ # element 0 has the highest slot version. |
126 |
+ local MULTIBUILD_VARIANTS=("${_POSTGRES_INTERSECT_SLOTS[0]}") |
127 |
+ |
128 |
+ multibuild_foreach_variant \ |
129 |
+ _postgres-multi_multibuild_wrapper run_in_build_dir ${@} |
130 |
+} |
131 |
+ |
132 |
+# @FUNCTION: postgres-multi_pkg_setup |
133 |
+# @REQUIRED |
134 |
+# @USAGE: postgres-multi_pkg_setup |
135 |
+# @DESCRIPTION: |
136 |
+# Initialize internal environment variable(s). This is required if |
137 |
+# pkg_setup() is declared in the ebuild. |
138 |
+postgres-multi_pkg_setup() { |
139 |
+ local user_slot |
140 |
+ |
141 |
+ for user_slot in "${POSTGRES_COMPAT[@]}"; do |
142 |
+ use "postgres_targets_postgres${user_slot/\./_}" && \ |
143 |
+ _POSTGRES_INTERSECT_SLOTS+=( "${user_slot}" ) |
144 |
+ done |
145 |
+ |
146 |
+ if [[ "${#_POSTGRES_INTERSECT_SLOTS[@]}" -eq "0" ]]; then |
147 |
+ die "One of the postgres_targets_postgresSL_OT use flags must be enabled" |
148 |
+ fi |
149 |
+ |
150 |
+ einfo "Multibuild variants: ${_POSTGRES_INTERSECT_SLOTS[@]}" |
151 |
+} |
152 |
+ |
153 |
+# @FUNCTION: postgres-multi_src_prepare |
154 |
+# @REQUIRED |
155 |
+# @USAGE: postgres-multi_src_prepare |
156 |
+# @DESCRIPTION: |
157 |
+# Calls eapply_user then copies ${S} into a build directory for each |
158 |
+# intersect of POSTGRES_TARGETS and POSTGRES_COMPAT. |
159 |
+postgres-multi_src_prepare() { |
160 |
+ if [[ "${#_POSTGRES_INTERSECT_SLOTS[@]}" -eq "0" ]]; then |
161 |
+ eerror "Internal array _POSTGRES_INTERSECT_SLOTS is empty." |
162 |
+ die "Did you forget to call postgres-multi_pkg_setup?" |
163 |
+ fi |
164 |
+ |
165 |
+ # Check that the slot has been emerged (Should be prevented by |
166 |
+ # Portage, but won't be caught by /usr/bin/ebuild) |
167 |
+ local slot |
168 |
+ for slot in ${_POSTGRES_INTERSECT_SLOTS[@]} ; do |
169 |
+ if [[ -z $(which pg_config${slot/.} 2> /dev/null) ]] ; then |
170 |
+ eerror |
171 |
+ eerror "postgres_targets_postgres${slot/.} use flag is enabled, but hasn't been emerged." |
172 |
+ eerror |
173 |
+ die "a postgres_targets use flag is enabled, but not emerged" |
174 |
+ fi |
175 |
+ done |
176 |
+ |
177 |
+ case ${EAPI:-0} in |
178 |
+ 0|1|2|3|4|5) epatch_user ;; |
179 |
+ 6) eapply_user ;; |
180 |
+ esac |
181 |
+ |
182 |
+ local MULTIBUILD_VARIANT |
183 |
+ local MULTIBUILD_VARIANTS=("${_POSTGRES_INTERSECT_SLOTS[@]}") |
184 |
+ multibuild_copy_sources |
185 |
+} |
186 |
+ |
187 |
+# @FUNCTION: postgres-multi_src_compile |
188 |
+# @USAGE: postgres-multi_src_compile |
189 |
+# @DESCRIPTION: |
190 |
+# Runs `emake' in each build directory |
191 |
+postgres-multi_src_compile() { |
192 |
+ postgres-multi_foreach emake |
193 |
+} |
194 |
+ |
195 |
+# @FUNCTION: postgres-multi_src_install |
196 |
+# @USAGE: postgres-multi_src_install |
197 |
+# @DESCRIPTION: |
198 |
+# Runs `emake install DESTDIR="${D}"' in each build directory. |
199 |
+postgres-multi_src_install() { |
200 |
+ postgres-multi_foreach emake install DESTDIR="${D}" |
201 |
+} |
202 |
+ |
203 |
+# @FUNCTION: postgres-multi_src_test |
204 |
+# @USAGE: postgres-multi_src_test |
205 |
+# @DESCRIPTION: |
206 |
+# Runs `emake installcheck' in each build directory. |
207 |
+postgres-multi_src_test() { |
208 |
+ postgres-multi_foreach emake installcheck |
209 |
+} |
210 |
|
211 |
diff --git a/eclass/postgres.eclass b/eclass/postgres.eclass |
212 |
new file mode 100644 |
213 |
index 00000000000..6df81c19b3a |
214 |
--- /dev/null |
215 |
+++ b/eclass/postgres.eclass |
216 |
@@ -0,0 +1,159 @@ |
217 |
+# Copyright 1999-2016 Gentoo Foundation |
218 |
+# Distributed under the terms of the GNU General Public License v2 |
219 |
+# $Id$ |
220 |
+ |
221 |
+inherit user |
222 |
+EXPORT_FUNCTIONS pkg_setup |
223 |
+ |
224 |
+# @ECLASS: postgres |
225 |
+# @MAINTAINER: |
226 |
+# PostgreSQL <pgsql-bugs@g.o> |
227 |
+# @AUTHOR: Aaron W. Swenson <titanofold@g.o> |
228 |
+# @BLURB: An eclass for PostgreSQL-related packages |
229 |
+# @DESCRIPTION: |
230 |
+# This eclass provides common utility functions that many |
231 |
+# PostgreSQL-related packages perform, such as checking that the |
232 |
+# currently selected PostgreSQL slot is within a range, adding a system |
233 |
+# user to the postgres system group, and generating dependencies. |
234 |
+ |
235 |
+ |
236 |
+case ${EAPI:-0} in |
237 |
+ 5|6) ;; |
238 |
+ *) die "Unsupported EAPI=${EAPI} (unknown) for ${ECLASS}" ;; |
239 |
+esac |
240 |
+ |
241 |
+ |
242 |
+# @ECLASS-VARIABLE: POSTGRES_COMPAT |
243 |
+# @DESCRIPTION: |
244 |
+# A Bash array containing a list of compatible PostgreSQL slots as |
245 |
+# defined by the developer. If declared, must be declared before |
246 |
+# inheriting this eclass. Example: POSTGRES_COMPAT=( 9.4 9.{5,6} ) |
247 |
+ |
248 |
+# @ECLASS-VARIABLE: POSTGRES_USEDEP |
249 |
+# @DESCRIPTION: |
250 |
+# Add the 2-Style and/or 4-Style use dependencies without brackets to be used |
251 |
+# for POSTGRES_DEP. If declared, must be done before inheriting this eclass. |
252 |
+ |
253 |
+# @ECLASS-VARIABLE: POSTGRES_DEP |
254 |
+# @DESCRIPTION: |
255 |
+# An automatically generated dependency string suitable for use in |
256 |
+# DEPEND and RDEPEND declarations. |
257 |
+ |
258 |
+# @ECLASS-VARIABLE: POSTGRES_REQ_USE |
259 |
+# @DESCRIPTION: |
260 |
+# An automatically generated REQUIRED_USE-compatible string built upon |
261 |
+# POSTGRES_COMPAT. REQUIRED_USE="... ${POSTGRES_REQ_USE}" is only |
262 |
+# required if the package must build against one of the PostgreSQL slots |
263 |
+# declared in POSTGRES_COMPAT. |
264 |
+ |
265 |
+if declare -p POSTGRES_COMPAT &> /dev/null ; then |
266 |
+ # Reverse sort the given POSTGRES_COMPAT so that the most recent |
267 |
+ # slot is preferred over an older slot. |
268 |
+ # -- do we care if dependencies are deterministic by USE flags? |
269 |
+ readarray -t POSTGRES_COMPAT < <(printf '%s\n' "${POSTGRES_COMPAT[@]}" | sort -nr) |
270 |
+ |
271 |
+ POSTGRES_DEP="" |
272 |
+ POSTGRES_REQ_USE=" || (" |
273 |
+ for slot in "${POSTGRES_COMPAT[@]}" ; do |
274 |
+ POSTGRES_DEP+=" postgres_targets_postgres${slot/\./_}? ( dev-db/postgresql:${slot}=" |
275 |
+ declare -p POSTGRES_USEDEP &>/dev/null && \ |
276 |
+ POSTGRES_DEP+="[${POSTGRES_USEDEP}]" |
277 |
+ POSTGRES_DEP+=" )" |
278 |
+ |
279 |
+ IUSE+=" postgres_targets_postgres${slot/\./_}" |
280 |
+ POSTGRES_REQ_USE+=" postgres_targets_postgres${slot/\./_}" |
281 |
+ done |
282 |
+ POSTGRES_REQ_USE+=" )" |
283 |
+else |
284 |
+ POSTGRES_DEP="dev-db/postgresql:=" |
285 |
+ declare -p POSTGRES_USEDEP &>/dev/null && \ |
286 |
+ POSTGRES_DEP+="[${POSTGRES_USEDEP}]" |
287 |
+fi |
288 |
+ |
289 |
+ |
290 |
+# @FUNCTION: postgres_check_slot |
291 |
+# @DESCRIPTION: |
292 |
+# Verify that the currently selected PostgreSQL slot is set to one of |
293 |
+# the slots defined in POSTGRES_COMPAT. Automatically dies unless a |
294 |
+# POSTGRES_COMPAT slot is selected. Should be called in pkg_pretend(). |
295 |
+postgres_check_slot() { |
296 |
+ if ! declare -p POSTGRES_COMPAT &>/dev/null; then |
297 |
+ die 'POSTGRES_COMPAT not declared.' |
298 |
+ fi |
299 |
+ |
300 |
+ # Don't die because we can't run postgresql-config during pretend. |
301 |
+ [[ "$EBUILD_PHASE" = "pretend" && -z "$(which postgresql-config 2> /dev/null)" ]] \ |
302 |
+ && return 0 |
303 |
+ |
304 |
+ if has $(postgresql-config show 2> /dev/null) "${POSTGRES_COMPAT[@]}"; then |
305 |
+ return 0 |
306 |
+ else |
307 |
+ eerror "PostgreSQL slot must be set to one of: " |
308 |
+ eerror " ${POSTGRES_COMPAT[@]}" |
309 |
+ die "Incompatible PostgreSQL slot eselected" |
310 |
+ fi |
311 |
+} |
312 |
+ |
313 |
+# @FUNCTION: postgres_new_user |
314 |
+# @DESCRIPTION: |
315 |
+# Creates the "postgres" system group and user -- which is separate from |
316 |
+# the database user -- in addition to the developer defined user. Takes |
317 |
+# the same arguments as "enewuser". |
318 |
+postgres_new_user() { |
319 |
+ enewgroup postgres 70 |
320 |
+ enewuser postgres 70 /bin/bash /var/lib/postgresql postgres |
321 |
+ |
322 |
+ if [[ $# -gt 0 ]] ; then |
323 |
+ if [[ "$1" = "postgres" ]] ; then |
324 |
+ ewarn "Username 'postgres' implied, skipping" |
325 |
+ else |
326 |
+ local groups=$5 |
327 |
+ [[ -n "${groups}" ]] && groups+=",postgres" || groups="postgres" |
328 |
+ enewuser "$1" "${2:--1}" "${3:--1}" "${4:--1}" "${groups}" |
329 |
+ fi |
330 |
+ fi |
331 |
+} |
332 |
+ |
333 |
+# @FUNCTION: postgres_pkg_setup |
334 |
+# @REQUIRED |
335 |
+# @USAGE: postgres_pkg_setup |
336 |
+# @DESCRIPTION: |
337 |
+# Initialize environment variable(s) according to the best |
338 |
+# installed version of PostgreSQL that is also in POSTGRES_COMPAT. This |
339 |
+# is required if pkg_setup() is declared in the ebuild. |
340 |
+# Exports PG_SLOT, PG_CONFIG, and PKG_CONFIG_PATH. |
341 |
+postgres_pkg_setup() { |
342 |
+ debug-print-function ${FUNCNAME} "${@}" |
343 |
+ |
344 |
+ local compat_slot |
345 |
+ local best_slot |
346 |
+ for compat_slot in "${POSTGRES_COMPAT[@]}"; do |
347 |
+ if use "postgres_targets_postgres${compat_slot/\./_}"; then |
348 |
+ best_slot="${compat_slot}" |
349 |
+ break |
350 |
+ fi |
351 |
+ done |
352 |
+ |
353 |
+ if [[ -z "${best_slot}" ]]; then |
354 |
+ local flags f |
355 |
+ for f in "${POSTGRES_COMPAT[@]}"; do |
356 |
+ flags+=" postgres${f/./_}" |
357 |
+ done |
358 |
+ |
359 |
+ eerror "POSTGRES_TARGETS must contain at least one of:" |
360 |
+ eerror " ${flags}" |
361 |
+ die "No suitable POSTGRES_TARGETS enabled." |
362 |
+ fi |
363 |
+ |
364 |
+ export PG_SLOT=${best_slot} |
365 |
+ export PG_CONFIG=$(which pg_config${best_slot//./}) |
366 |
+ |
367 |
+ local pg_pkg_config_path="$(${PG_CONFIG} --libdir)/pkgconfig" |
368 |
+ if [[ -n "${PKG_CONFIG_PATH}" ]]; then |
369 |
+ export PKG_CONFIG_PATH="${pg_pkg_config_path}:${PKG_CONFIG_PATH}" |
370 |
+ else |
371 |
+ export PKG_CONFIG_PATH="${pg_pkg_config_path}" |
372 |
+ fi |
373 |
+ |
374 |
+ elog "PostgreSQL Target: ${best_slot}" |
375 |
+} |
376 |
|
377 |
diff --git a/profiles/base/make.defaults b/profiles/base/make.defaults |
378 |
index b090eab54c8..7e593196de0 100644 |
379 |
--- a/profiles/base/make.defaults |
380 |
+++ b/profiles/base/make.defaults |
381 |
@@ -13,7 +13,7 @@ USE_EXPAND_VALUES_USERLAND="BSD GNU" |
382 |
|
383 |
# Env vars to expand into USE vars. Modifying this requires prior |
384 |
# discussion on gentoo-dev@l.g.o. |
385 |
-USE_EXPAND="ABI_MIPS ABI_PPC ABI_S390 ABI_X86 ALSA_CARDS APACHE2_MODULES APACHE2_MPMS CALLIGRA_FEATURES CALLIGRA_EXPERIMENTAL_FEATURES CAMERAS COLLECTD_PLUGINS CPU_FLAGS_ARM CPU_FLAGS_X86 CROSSCOMPILE_OPTS CURL_SSL ELIBC ENLIGHTENMENT_MODULES FFTOOLS GPSD_PROTOCOLS GRUB_PLATFORMS INPUT_DEVICES KERNEL L10N LCD_DEVICES LIBREOFFICE_EXTENSIONS LINGUAS LIRC_DEVICES LLVM_TARGETS MONKEYD_PLUGINS NETBEANS_MODULES NGINX_MODULES_HTTP NGINX_MODULES_MAIL NGINX_MODULES_STREAM OFED_DRIVERS OFFICE_IMPLEMENTATION OPENMPI_FABRICS OPENMPI_OFED_FEATURES OPENMPI_RM PHP_TARGETS PYTHON_SINGLE_TARGET PYTHON_TARGETS QEMU_SOFTMMU_TARGETS QEMU_USER_TARGETS ROS_MESSAGES RUBY_TARGETS SANE_BACKENDS USERLAND UWSGI_PLUGINS VIDEO_CARDS VOICEMAIL_STORAGE XFCE_PLUGINS XTABLES_ADDONS" |
386 |
+USE_EXPAND="ABI_MIPS ABI_PPC ABI_S390 ABI_X86 ALSA_CARDS APACHE2_MODULES APACHE2_MPMS CALLIGRA_FEATURES CALLIGRA_EXPERIMENTAL_FEATURES CAMERAS COLLECTD_PLUGINS CPU_FLAGS_ARM CPU_FLAGS_X86 CROSSCOMPILE_OPTS CURL_SSL ELIBC ENLIGHTENMENT_MODULES FFTOOLS GPSD_PROTOCOLS GRUB_PLATFORMS INPUT_DEVICES KERNEL L10N LCD_DEVICES LIBREOFFICE_EXTENSIONS LINGUAS LIRC_DEVICES LLVM_TARGETS MONKEYD_PLUGINS NETBEANS_MODULES NGINX_MODULES_HTTP NGINX_MODULES_MAIL NGINX_MODULES_STREAM OFED_DRIVERS OFFICE_IMPLEMENTATION OPENMPI_FABRICS OPENMPI_OFED_FEATURES OPENMPI_RM PHP_TARGETS POSTGRES_TARGETS PYTHON_SINGLE_TARGET PYTHON_TARGETS QEMU_SOFTMMU_TARGETS QEMU_USER_TARGETS ROS_MESSAGES RUBY_TARGETS SANE_BACKENDS USERLAND UWSGI_PLUGINS VIDEO_CARDS VOICEMAIL_STORAGE XFCE_PLUGINS XTABLES_ADDONS" |
387 |
|
388 |
# USE_EXPAND variables whose contents are not shown in package manager |
389 |
# output. Changes need discussion on gentoo-dev. |
390 |
@@ -141,3 +141,7 @@ LC_MESSAGES="C" |
391 |
# disable twisted's plugin cache update to prevent access violations |
392 |
# call /usr/bin/twisted-regen-cache in pkg_postinst() |
393 |
TWISTED_DISABLE_WRITING_OF_PLUGIN_CACHE="1" |
394 |
+ |
395 |
+# Aaron W. Swenson <titanofold@g.o> (9 Jul 2017) |
396 |
+# Default target(s) for postgres{,-multi}.eclass |
397 |
+POSTGRES_TARGETS="postgres9_5" |
398 |
|
399 |
diff --git a/profiles/desc/postgres_targets.desc b/profiles/desc/postgres_targets.desc |
400 |
new file mode 100644 |
401 |
index 00000000000..284f4bc0092 |
402 |
--- /dev/null |
403 |
+++ b/profiles/desc/postgres_targets.desc |
404 |
@@ -0,0 +1,12 @@ |
405 |
+# Copyright 1999-2017 Gentoo Foundation |
406 |
+# Distributed under the terms of the GNU General Public License v2 |
407 |
+ |
408 |
+# This file contains descriptions of POSTGRES_TARGETS USE_EXPAND flags. |
409 |
+ |
410 |
+postgres9_2 - Build against PostgreSQL 9.2 |
411 |
+postgres9_3 - Build against PostgreSQL 9.3 |
412 |
+postgres9_4 - Build against PostgreSQL 9.4 |
413 |
+postgres9_5 - Build against PostgreSQL 9.5 |
414 |
+postgres9_6 - Build against PostgreSQL 9.6 |
415 |
+postgres10 - Build against PostgreSQL 10 |
416 |
+postgres11 - Build against PostgreSQL 11 |
417 |
|
418 |
diff --git a/profiles/embedded/make.defaults b/profiles/embedded/make.defaults |
419 |
index 0a6f3ed3cd7..1145142fe4a 100644 |
420 |
--- a/profiles/embedded/make.defaults |
421 |
+++ b/profiles/embedded/make.defaults |
422 |
@@ -27,7 +27,7 @@ USE_EXPAND_VALUES_USERLAND="BSD GNU" |
423 |
|
424 |
# Env vars to expand into USE vars. Modifying this requires prior |
425 |
# discussion on gentoo-dev@l.g.o. |
426 |
-USE_EXPAND="ABI_MIPS ABI_PPC ABI_S390 ABI_X86 ALSA_CARDS APACHE2_MODULES APACHE2_MPMS CALLIGRA_FEATURES CAMERAS COLLECTD_PLUGINS CPU_FLAGS_ARM CPU_FLAGS_X86 CROSSCOMPILE_OPTS CURL_SSL ELIBC ENLIGHTENMENT_MODULES FFTOOLS GPSD_PROTOCOLS GRUB_PLATFORMS INPUT_DEVICES KERNEL L10N LCD_DEVICES LIBREOFFICE_EXTENSIONS LINGUAS LIRC_DEVICES LLVM_TARGETS MONKEYD_PLUGINS NETBEANS_MODULES NGINX_MODULES_HTTP NGINX_MODULES_MAIL NGINX_MODULES_STREAM OFED_DRIVERS OFFICE_IMPLEMENTATION OPENMPI_FABRICS OPENMPI_OFED_FEATURES OPENMPI_RM PHP_TARGETS PYTHON_SINGLE_TARGET PYTHON_TARGETS QEMU_SOFTMMU_TARGETS QEMU_USER_TARGETS ROS_MESSAGES RUBY_TARGETS SANE_BACKENDS USERLAND UWSGI_PLUGINS VIDEO_CARDS VOICEMAIL_STORAGE XFCE_PLUGINS XTABLES_ADDONS" |
427 |
+USE_EXPAND="ABI_MIPS ABI_PPC ABI_S390 ABI_X86 ALSA_CARDS APACHE2_MODULES APACHE2_MPMS CALLIGRA_FEATURES CAMERAS COLLECTD_PLUGINS CPU_FLAGS_ARM CPU_FLAGS_X86 CROSSCOMPILE_OPTS CURL_SSL ELIBC ENLIGHTENMENT_MODULES FFTOOLS GPSD_PROTOCOLS GRUB_PLATFORMS INPUT_DEVICES KERNEL L10N LCD_DEVICES LIBREOFFICE_EXTENSIONS LINGUAS LIRC_DEVICES LLVM_TARGETS MONKEYD_PLUGINS NETBEANS_MODULES NGINX_MODULES_HTTP NGINX_MODULES_MAIL NGINX_MODULES_STREAM OFED_DRIVERS OFFICE_IMPLEMENTATION OPENMPI_FABRICS OPENMPI_OFED_FEATURES OPENMPI_RM PHP_TARGETS POSTGRES_TARGETS PYTHON_SINGLE_TARGET PYTHON_TARGETS QEMU_SOFTMMU_TARGETS QEMU_USER_TARGETS ROS_MESSAGES RUBY_TARGETS SANE_BACKENDS USERLAND UWSGI_PLUGINS VIDEO_CARDS VOICEMAIL_STORAGE XFCE_PLUGINS XTABLES_ADDONS" |
428 |
|
429 |
# USE_EXPAND variables whose contents are not shown in package manager |
430 |
# output. Changes need discussion on gentoo-dev. |