summaryrefslogtreecommitdiff
path: root/app-admin/eselect/files/eselect-1.4.22-env-module.patch
blob: 54eb20692d141637448b8aa2fa2b6de547c58d1e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
env.eselect: More robust file type detection
https://bugs.gentoo.org/908401

--- a/modules/env.eselect
+++ b/modules/env.eselect
@@ -46,9 +46,10 @@ is_envfile() {
 	[[ -n ${envfile##*~} ]] || return 1
 	[[ ${envfile##*.} != bak ]] || return 1
 
-	mime=$(POSIXLY_CORRECT=1 file -i "${envfile}" \
-		| cut -d ' ' -f 2 | sed -e 's/;$//')
-	if ! has ${mime} ${MIME_WHITELIST}; then
+	mime=$(POSIXLY_CORRECT=1 file -bi -e soft "${envfile}") \
+		|| die "'file' command failed"
+	mime=${mime%%;*}
+	if ! has "${mime}" ${MIME_WHITELIST}; then
 		echo "Skipping non-text file ${envfile}."
 		return 1
 	fi