In the first few lines of the pkg_config() functions, there is some code dealing with LC_* variables. After checking for a certain variable having any value at all, it is compared against LC_ALL. For LC_NUMERIC, the second check is made with LC_MONETARY rather than LC_NUMERIC. Reproducible: Always Steps to Reproduce: 1. (cd /usr/portage/dev-db/postgresql-server/; grep -n LC_MONETARY *.ebuild | grep LC_NUMERIC) 2. find all affected ebuilds and the number of the line with the error on it Actual Results: postgresql-server-7.4.28.ebuild:156: [ -n "${LC_NUMERIC}" -a "${LC_MONETARY}" != "${LC_ALL}" ] && postgresql-server-7.4.29.ebuild:156: [ -n "${LC_NUMERIC}" -a "${LC_MONETARY}" != "${LC_ALL}" ] && postgresql-server-8.0.24.ebuild:157: [ -n "${LC_NUMERIC}" -a "${LC_MONETARY}" != "${LC_ALL}" ] && postgresql-server-8.0.25.ebuild:157: [ -n "${LC_NUMERIC}" -a "${LC_MONETARY}" != "${LC_ALL}" ] && postgresql-server-8.1.20.ebuild:160: [ -n "${LC_NUMERIC}" -a "${LC_MONETARY}" != "${LC_ALL}" ] && postgresql-server-8.1.21.ebuild:160: [ -n "${LC_NUMERIC}" -a "${LC_MONETARY}" != "${LC_ALL}" ] && postgresql-server-8.2.16.ebuild:165: [ -n "${LC_NUMERIC}" -a "${LC_MONETARY}" != "${LC_ALL}" ] && postgresql-server-8.2.17.ebuild:165: [ -n "${LC_NUMERIC}" -a "${LC_MONETARY}" != "${LC_ALL}" ] && postgresql-server-8.3.10.ebuild:170: [ -n "${LC_NUMERIC}" -a "${LC_MONETARY}" != "${LC_ALL}" ] && postgresql-server-8.3.11.ebuild:170: [ -n "${LC_NUMERIC}" -a "${LC_MONETARY}" != "${LC_ALL}" ] && postgresql-server-8.4.3.ebuild:176: [ -n "${LC_NUMERIC}" -a "${LC_MONETARY}" != "${LC_ALL}" ] && postgresql-server-8.4.4.ebuild:176: [ -n "${LC_NUMERIC}" -a "${LC_MONETARY}" != "${LC_ALL}" ] && postgresql-server-9.0_alpha4.ebuild:180: [ -n "${LC_NUMERIC}" -a "${LC_MONETARY}" != "${LC_ALL}" ] && postgresql-server-9.0_beta1.ebuild:179: [ -n "${LC_NUMERIC}" -a "${LC_MONETARY}" != "${LC_ALL}" ] && Expected Results: (nothing) Fix: The line [ -n "${LC_NUMERIC}" -a "${LC_MONETARY}" != "${LC_ALL}" ] && should be changed to [ -n "${LC_NUMERIC}" -a "${LC_NUMERIC}" != "${LC_ALL}" ] && in all affected ebuilds. Workaround: use PG_INITDB_OPTS in /etc/conf.d/postgresql-*, or edit the ebuild :) This error is not likely to cause any problems on 'normal' installations, so almost everyone should be fine.
Doh! Thanks for spotting that. This script will be removed in favor of properly setting the environment variables. (This script was actually a workaround for old environment variables being preserved.) Once the favored solution is in the tree, this bug will be closed.
The -r1's have been committed to the tree. This bug should be resolved.