g-cpan's ebuilds are generated with an empty KEYWORDS for me. The warning is: * g-cpan: Generating ebuild for XML::XPath::Simple Use of uninitialized value in concatenation (.) or string at /usr/bin/g-cpan line 573. The problem appears to be with this line: my $keywords = $gcpan_run->getValue("ACCEPT_KEYWORDS"); this is returned undef. I looked at Gentoo::Config.pm, and this behavior happens because I don't have ACCEPT_KEYWORDS set in make.conf. emerge --info reports ACCEPT_KEYWORDS="x86", so... One suggestion would be to, instead of parsing make.conf and make.globals, parse the output of emerge --info --verbose, perhaps with Cache::Cache.pm to speed it up. That way Gentoo::Config has completely up to date info on what portage thinks is going on. If you like the idea but don't really have time to implement it, let me know and I'll whip something up. (Just don't want to do it and then find out that you consider it equivalent to clubbing baby seals or something). A second problem I'm having (maybe this should be another bug, but..) I can't seem to emerge perl-gcpan packages without category [snipped a bit]: root@neal:~> emerge perl-gcpan/Hash-Merge -p [ebuild R ] perl-gcpan/Hash-Merge-0.07 root@neal:~> emerge Hash-Merge -p emerge: there are no ebuilds to satisfy "Hash-Merge". This smacks of a configuration problem or something on my system... Dunno what's going on there. Fallout from this is when i do g-cpan -i, it makes the ebuild and then: * g-cpan: Ebuild generated for XML-XPath-Simple Calculating dependencies emerge: there are no ebuilds to satisfy "XML-XPath-Simple". Since g-cpan sends the packages without category to emerge. Gentoo Base System version 1.6.15 Portage 2.1.1_pre3-r4 (default-linux/x86/2006.0, gcc-3.4.6, glibc-2.3.6-r4, 2.6.16-gentoo-r7 i686) ================================================================= System uname: 2.6.16-gentoo-r7 i686 Intel(R) Pentium(R) 4 CPU 3.40GHz distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.3 [disabled] app-admin/eselect-compiler: [Not Present] dev-lang/python: 2.4.3-r1 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: 2.3 dev-util/confcache: 0.4.2-r1 sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2 sys-devel/binutils: 2.16.1-r3 sys-devel/gcc-config: 1.3.13-r3 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=pentium4 -O2 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c" CXXFLAGS="-march=pentium4 -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks metadata-transfer parallel-fetch sandbox sfperms strict" GENTOO_MIRRORS="http://mirror.datapipe.net/gentoo" LC_ALL="en_US.utf8" LINGUAS="en" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/opt/overlay" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 S3TC X a52 aac acpi acpi4linux alsa amazon aotuv apache apache1 ared aredmem asf audiofile avi bcp berkdb bitmap-fonts bjam browserplugin bzip2 cairo calendar cap cddb cdparanoia cdr cg cli crypt crypto cups curl dbus dga djbfft dlloader dmi dri dts dv dvd dvdr dvdread edl emboss encode exif exim exo extensions faac faad fam ffmpeg fftw firefox fla flac foomaticdb freetype gb gd gdbm gif gimp ginac glade glgd glitz glut gmp gnome gnomedb gphoto2 graphviz gstreamer gtk gtk2 gtkhtml hal imagemagick imap imlib imlib2 innodb isdnlog ithreads javascript jikes jpeg junit kde kdeenablefinal kdexdeltas kqemu latex lcms lesstif libg++ libgda libnotify libwww live logitech-mouse lua mad maildir matroska mikmod mime mmx mng modperl modplug mozcalendar mozdomi mozilla moznocompose moznoirc moznomail mozsvg mp3 mpeg mpeg4 mplayer musepack music mysql ncurses nethack network nocardbus nocd nodrm nowin nptl nptlonly nsplugin nvidia objc offensive ogg ooo-kde openal opengl oss pam panel-plugin pcap pcre pda pdf pdflib perl physfs pic plotutils png posix povray ppds pppd print python qhull qt qt3 quicktime quotes rar readline real reflection rtc ruby samba sdk sdl session sid silc slp sockets spell spl sqlite sqlite3 sse sse2 ssl startup-notification stream stroke subtitles svg tcltk tcpd tetex theora thumbnail thunar-vfs tidy tiff truetype truetype-fonts type1-fonts udev ungif unicode usb userlocales v4l2 vhosts videos vim-pager vim-with-x vorbis win32codecs wma x264 xine xinerama xinetd xml xml2 xorg xosd xrandr xscreensaver xslt xv xvid zeroconf zlib elibc_glibc input_devices_evdev input_devices_keyboard input_devices_mouse kernel_linux linguas_en userland_GNU video_cards_nvidia" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS
this is fixed and will be in the tree in the next few days. this happens because you haven't actually defined accept_keywords in your make.conf, which rc3 (and below) relies on to generate keywords.