+
+ if (IPC::Cmd->can_capture_buffer) {
+ my $buffers;
+ my ($success, $errmsg) = run command => [ qw/emerge --info/ ],
+ verbose => 0,
+ buffer => \$buffers;
+ if ($success) {
+ if ($buffers =~ /^PORTDIR_OVERLAY=(.*)$/m) {
+ $overlays = [ map abs_path($_), split ' ', $unquote->($1) ];
+ }
+ if ($buffers =~ /^ACCEPT_KEYWORDS=(.*)$/m) {
+ $default_keywords = [ split ' ', $unquote->($1) ];
+ }
+ if ($buffers =~ /^DISTDIR=(.*)$/m) {
+ $default_distdir = abs_path($unquote->($1));
+ }
+ if ($buffers =~ /^PORTDIR=(.*)$/m) {
+ $main_portdir = abs_path($unquote->($1));
+ }
+ } else {
+ __PACKAGE__->_abort($errmsg);
+ }
+ }
+
+ $default_keywords = [ 'x86' ] unless defined $default_keywords;
+ $default_distdir = '/usr/portage/distfiles' unless defined $default_distdir;
+
+ return $format_available = 1;