Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 339402 - Portage 2.2_rc88_p65 doesn't work with multiple words in repo_name
Summary: Portage 2.2_rc88_p65 doesn't work with multiple words in repo_name
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - Configuration (show other bugs)
Hardware: All Linux
: High minor (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords: InVCS, REGRESSION
Depends on:
Blocks:
 
Reported: 2010-10-02 00:01 UTC by tgR
Modified: 2010-10-03 02:21 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description tgR 2010-10-02 00:01:25 UTC
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
Comment 1 Zac Medico gentoo-dev 2010-10-02 00:13:24 UTC
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.
Comment 2 Zac Medico gentoo-dev 2010-10-02 16:16:49 UTC
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
Comment 3 Zac Medico gentoo-dev 2010-10-02 17:02:21 UTC
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
Comment 4 tgR 2010-10-02 23:23:44 UTC
(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 :)