+
+ if (IPC::Cmd->can_capture_buffer) {
+ my ($success, $errmsg, $output) = run command => [ qw/emerge --info/ ],
+ verbose => 0;
+ if ($success) {
+ for (@{$output || []}) {
+ if (/^PORTDIR_OVERLAY=(.*)$/m) {
+ $overlays = [ map abs_path($_), split ' ', _unquote($1) ];
+ }
+ if (/^ACCEPT_KEYWORDS=(.*)$/m) {
+ $default_keywords = [ split ' ', _unquote($1) ];
+ }
+ if (/^DISTDIR=(.*)$/m) {
+ $default_distdir = abs_path(_unquote($1));
+ }
+ }
+ } else {
+ error $errmsg;
+ }
+ }
+
+ $default_keywords = [ 'x86' ] unless defined $default_keywords;
+ $default_distdir = '/usr/portage/distfiles' unless defined $default_distdir;
+