if i use multiple words to name my repo, emerge won't work, if i change it to 1 words, there is no error, and i can emerge successful packages 2.2_rc88 works without a problem Reproducible: Always Steps to Reproduce: 1.use multiple words into the repo name in "profiles/repo_name" 2.try to emerge anything/sync the tree 3. Actual Results: Vipera-Berus tgr # emerge portage Traceback (most recent call last): File "/usr/bin/emerge", line 43, in <module> retval = emerge_main() File "/usr/lib64/portage/pym/_emerge/main.py", line 1295, in emerge_main settings, trees, mtimedb = load_emerge_config() File "/usr/lib64/portage/pym/_emerge/actions.py", line 2824, in load_emerge_config trees = portage.create_trees(trees=trees, **kwargs) File "/usr/lib64/portage/pym/portage/__init__.py", line 508, in create_trees config_incrementals=portage.const.INCREMENTALS) File "/usr/lib64/portage/pym/portage/proxy/objectproxy.py", line 31, in __call__ return result(*args, **kwargs) File "/usr/lib64/portage/pym/portage/package/ebuild/config.py", line 534, in __init__ strict_umatched_removal=_unmatched_removal) File "/usr/lib64/portage/pym/portage/package/ebuild/_config/MaskManager.py", line 42, in __init__ repo_pkgmasklines.extend(append_repo(stack_lists(lines), repo.name, remember_source_file=True)) File "/usr/lib64/portage/pym/portage/util/__init__.py", line 240, in append_repo for atom, source in atom_list] File "/usr/lib64/portage/pym/portage/dep/__init__.py", line 1006, in __init__ raise InvalidAtom(self) InvalidAtom: =dev-lisp/cl-utilities-1.2.3::tgR aka local repo Expected Results: successful emerge of a package ];-> emerge --info Portage 2.2_rc88_p65 (default/linux/amd64/10.0/desktop, gcc-4.4.4, glibc-2.12.1-r1, 2.6.35-gentoo-r9 x86_64) ================================================================= System uname: Linux-2.6.35-gentoo-r9-x86_64-AMD_Athlon-tm-_II_Dual-Core_M300-with-gentoo-2.0.1 Timestamp of tree: Fri, 01 Oct 2010 23:00:01 +0000 app-shells/bash: 4.1_p7 dev-java/java-config: 2.1.11 dev-lang/python: 2.6.5-r3, 3.1.2-r4 dev-util/cmake: 2.8.1-r2 sys-apps/baselayout: 2.0.1 sys-apps/openrc: 9999::openrc sys-apps/sandbox: 2.3-r1 sys-devel/autoconf: 2.13, 2.67 sys-devel/automake: 1.9.6-r3, 1.10.3, 1.11.1 sys-devel/binutils: 2.20.1-r1 sys-devel/gcc: 4.4.4-r2 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.10 sys-devel/make: 3.81-r2 virtual/os-headers: 2.6.35 (sys-kernel/linux-headers) ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="*" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /var/lib/hsqldb" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo" CXXFLAGS="-O2 -pipe" DISTDIR="/usr/portage/distfiles" EMERGE_DEFAULT_OPTS="--keep-going --with-bdeps=y --jobs=1 --load-average=1.5" FEATURES="assume-digests binpkg-logs distlocks fixlafiles fixpackages news parallel-fetch preserve-libs protect-owned sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch" GENTOO_MIRRORS="http://gentoo.osuosl.org/" LANG="pl_PL.UTF-8" LC_ALL="pl_PL.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,--as-needed" LINGUAS="pl" MAKEOPTS="-j1 -l2" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_EXTRA_OPTS="--progress" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/home/var/lib/layman/x11 /home/var/lib/layman/openrc /home/var/lib/layman/pro-audio /home/var/lib/layman/mpd /home/var/lib/layman/sunrise /home/var/lib/layman/hardened-development /home/var/lib/layman/toolchain /home/var/lib/layman/multimedia /home/var/lib/layman/java-overlay /home/var/lib/layman/games /home/var/lib/layman/gamerlay /home/var/lib/layman/pure-funtoo /home/var/lib/layman/lxde /home/var/lib/layman/zugaina /usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="3dnow 3dnowext 64bit X a52 aac acpi aften alsa amd64 bash-completion bluetooth branding bzip2 cairo ccache cdr cli consolekit cracklib crypt cups custom-cflags custom-cxxflags custom-optimization cxx dbus dri dts dvd dvdr emboss encode exif ffmpeg firefox flac fortran gif glib gpm iconv id3tag idn imlib ipv6 jpeg laptop lcms lm_sensors mad mandoc mikmod mmx mmxext mng modules mp3 mp4 mpeg mtp mudflap multilib nano-completion nano-syntax nls nouveau nptl nptlonly ogg opengl openmp pam pango pcf pcre pdf perl png ppds pppd psf python qt3support qt4 readline reflection samba scanner sdl session sse sse2 ssl svg sysfs syslog taglib tcpd threads tiff truetype unicode usb userlocales v4l2 vcd vorbis wav wavpack x264 xcb xcomposite xft xgetdefault xorg xscreensaver xulrunner xv xvid zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev touchpad synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="pl" RUBY_TARGETS="ruby18" SANE_BACKENDS="lexmark" USERLAND="GNU" VIDEO_CARDS="radeon radeonhd" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CPPFLAGS, CTARGET, FFLAGS, INSTALL_MASK, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS
We need to handle that exception, but it's invalid to have whitespace in repo_name. Here's what PMS says: 3.1.5 Repository Names A repository name may contain any of the characters [A-Za-z0-9_-]. It must not begin with a hyphen.
There's a simple fix here that replaces any whitespace with a hyphen: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=f195e7bee59984c6518c67bd0d13718dcbb67a1e
There's a more complete fix here, ensuring complete PMS compliance: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=86ea3834dcb002bbe9e095771aedbbc85f539748
(In reply to comment #1) > We need to handle that exception, but it's invalid to have whitespace in > repo_name. Here's what PMS says: > > 3.1.5 Repository Names > A repository name may contain any of the characters [A-Za-z0-9_-]. > It must not begin with a hyphen. > my bad, didn't read that ... (In reply to comment #3) > There's a more complete fix here, ensuring complete PMS compliance: > > http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=86ea3834dcb002bbe9e095771aedbbc85f539748 > now it works as a charm :)