--- trunk/mage/usr/lib/mage/env-rebuild.sh 2009/11/20 21:53:33 942 +++ trunk/mage/usr/lib/mage/env-rebuild.sh 2011/04/27 08:43:45 1272 @@ -16,7 +16,7 @@ # sets root path P="${MROOT}" -SPECIALVARS="KDEDIRS PATH CLASSPATH LDPATH MANPATH INFODIR INFOPATH ROOTPATH CONFIG_PROTECT CONFIG_PROTECT_MASK CONFIG_PROTECT_IGNORE PRELINK_PATH PRELINK_PATH_MASK OMF_DIR LIBGL_DRIVERS_PATH" +SPECIALVARS="KDEDIRS PATH CLASSPATH LDPATH MANPATH INFODIR INFOPATH ROOTPATH CONFIG_PROTECT CONFIG_PROTECT_MASK CONFIG_PROTECT_IGNORE PRELINK_PATH PRELINK_PATH_MASK OMF_DIR LIBGL_DRIVERS_PATH XDG_CONFIG_DIRS XDG_DATA_DIRS" # secure tmp dir if [ -x /bin/mktemp ] @@ -42,7 +42,7 @@ # reads content of every file while read path do - # abort if empty or an comment + # ignore if empty or a comment case "${path}" in \#*|"") continue ;; esac @@ -63,20 +63,22 @@ if [[ ${SPECVAR} = yes ]] then - if [[ ${path%%=*} = CONFIG_PROTECT ]] || [[ ${path%%=*} = CONFIG_PROTECT_MASK ]] || [[ ${path%%=*} = CONFIG_PROTECT_IGNORE ]] - then - # CONFIG_PROTECTS has as delimiter not ':' but ' ' - path="${path//\"}" #}" <--- make code readable again :) - echo -n "${path##*=} " >> ${TMPDIR}/${path%%=*} - unset SPECVAR - else - # special var are written to tmpfile - # to substitude them to one variable - # substitudes " from $path if exists - path="${path//\"}" #}" <--- make code readable again :) - echo -n "${path##*=}:" >> ${TMPDIR}/${path%%=*} - unset SPECVAR - fi + case ${path%%=*} in + CONFIG_PROTECT*|XDG*) + # CONFIG_PROTECT*|XDG* have as delimiter not ':' but ' ' + path="${path//\"}" #}" <--- make code readable again :) + echo -n "${path##*=} " >> ${TMPDIR}/${path%%=*} + unset SPECVAR + ;; + *) + # special var are written to tmpfile + # to substitude them to one variable + # substitudes " from $path if exists + path="${path//\"}" #}" <--- make code readable again :) + echo -n "${path##*=}:" >> ${TMPDIR}/${path%%=*} + unset SPECVAR + ;; + esac else # all other vars go directly to /etc/profile.env echo "export ${path}" >> ${P}/etc/profile.env