On my system (I use symbolic links in env.d directory - real files are placed in SVN and they are in local copy in other directory) "eselect env update" command skips all symlinks with message like "Skipping non-text file /etc/env.d/02locale". env.eselect doesn't process symlinks. So, my offer is either put "application/x-symlink" mime type in MIME_WHITELIST of use -L option for "file" utility like in this patch for /usr/share/eselect/modules/env.eselect: 52c52 < mime=$(file -i ${envfile} | cut -d ' ' -f 2 | sed -e 's/;$//') --- > mime=$(file -iL ${envfile} | cut -d ' ' -f 2 | sed -e 's/;$//') Reproducible: Always Steps to Reproduce: 1. mv /etc/env.d/02locale ~ 2. ln -s ~/02locale /etc/env.d/ 3. eselect env update 4. See output results Actual Results: Environment configs in env.d directory are not processed Expected Results: It will be cool if they are precessed
Unfortunately, "file -L" is not portable. Does the following also work for you? - mime=$(file -i ${envfile} | cut -d ' ' -f 2 | sed -e 's/;$//') + mime=$(POSIXLY_CORRECT=1 file -i ${envfile} \ + | cut -d ' ' -f 2 | sed -e 's/;$//')
Committed to SVN trunk (r445) and 1.0.x branch (r447), since I think this is a safe change.
Fixed in 1.0.12. Thanks for reporting.