fi
# return shell-true/shell-false if exists.
# Takes single depend-type atoms.
- if "${PORTAGE_BIN_PATH}/portageq" 'has_version' "${ROOT}" "$1"; then
- return 0
- else
- return 1
- fi
+ "${PORTAGE_BIN_PATH}"/portageq has_version "${ROOT}" "$1"
+ local retval=$?
+ case "${retval}" in
+ 0)
+ return 0
+ ;;
+ 1)
+ return 1
+ ;;
+ *)
+ die "unexpected portageq exit code: ${retval}"
+ ;;
+ esac
}
portageq() {
post_emerge(settings, mtimedb, 0)
if __name__ == "__main__":
- retval = emerge_main()
+ from portage_exception import PermissionDenied
+ try:
+ retval = emerge_main()
+ except PermissionDenied, e:
+ sys.stderr.write("Permission denied: '%s'\n" % str(e))
+ sys.exit(e.errno)
sys.exit(retval)
sys.exit(2)
try:
mylist=portage.db[argv[0]]["porttree"].dbapi.match(argv[1])
- visible=portage.best(mylist)
- if visible:
- print visible
- sys.exit(0)
- else:
- sys.exit(1)
+ print portage.best(mylist)
except KeyError:
sys.exit(1)
best_visible.uses_root = True
mtime = pathstat[stat.ST_MTIME]
else:
raise portage_exception.DirectoryNotFound(mypath)
- except (IOError,OSError,portage_exception.PortageException):
+ except EnvironmentError, e:
+ if e.errno == portage_exception.PermissionDenied.errno:
+ raise portage_exception.PermissionDenied(mypath)
+ del e
+ if EmptyOnError:
+ return [], []
+ return None, None
+ except portage_exception.PortageException:
if EmptyOnError:
return [], []
return None, None
if e.errno != errno.EACCES:
raise
del e
- if EmptyOnError:
- return [], []
raise portage_exception.PermissionDenied(mypath)
ftype = []
for x in list: