summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bin/isolated-functions.sh11
-rw-r--r--pym/portage_data.py22
2 files changed, 19 insertions, 14 deletions
diff --git a/bin/isolated-functions.sh b/bin/isolated-functions.sh
index 3290654a6..6feb48dd7 100644
--- a/bin/isolated-functions.sh
+++ b/bin/isolated-functions.sh
@@ -375,6 +375,17 @@ case "${NOCOLOR:-false}" in
;;
esac
+if [[ -z ${USERLAND} ]] ; then
+ case $(uname -s) in
+ *BSD|DragonFly)
+ export USERLAND="BSD"
+ ;;
+ *)
+ export USERLAND="GNU"
+ ;;
+ esac
+fi
+
if [[ -z ${XARGS} ]] ; then
case ${USERLAND} in
BSD|Darwin)
diff --git a/pym/portage_data.py b/pym/portage_data.py
index 3421d9b9d..0e996fa06 100644
--- a/pym/portage_data.py
+++ b/pym/portage_data.py
@@ -13,24 +13,18 @@ from output import create_color_func
bad = create_color_func("BAD")
ostype=os.uname()[0]
-
userland = None
+if ostype == "DragonFly" or ostype.endswith("BSD"):
+ userland = "BSD"
+else:
+ userland = "GNU"
+
lchown = getattr(os, "lchown", None)
-if ostype == "Linux" or \
- ostype.lower().startswith("gnu") or \
- ostype.lower().endswith("gnu"):
- userland="GNU"
-elif ostype == "Darwin":
- userland="Darwin"
- def lchown(*pos_args, **key_args):
- pass
-elif ostype.endswith("BSD") or ostype =="DragonFly":
- userland="BSD"
if not lchown:
- if "lchown" in dir(os):
- # Included in python-2.3
- lchown = os.lchown
+ if ostype == "Darwin":
+ def lchown(*pos_args, **key_args):
+ pass
else:
try:
import missingos