Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 363831 - app-portage/flaggie-0.1.1 breaks quotes around irrelevant variable in make.conf
Summary: app-portage/flaggie-0.1.1 breaks quotes around irrelevant variable in make.conf
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Michał Górny
URL:
Whiteboard:
Keywords: InVCS
Depends on:
Blocks:
 
Reported: 2011-04-16 14:43 UTC by Joe Breuer
Modified: 2011-08-14 08:57 UTC (History)
0 users

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


Attachments
One of my make.conf exposing the problem (make.conf,2.11 KB, text/plain)
2011-04-20 06:17 UTC, Joe Breuer
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Joe Breuer 2011-04-16 14:43:33 UTC
The current flaggie-0.1.1 writes a misquoted version of make.conf when editing global use flags.

My make.conf contains the following line:
...
PORTDIR_OVERLAY="/usr/local/portage $PORTDIR_OVERLAY"
...

After editing with flaggie (i.e. 'flaggie +3dfx', just as a test) this line gets mangled to:
...
[The USE modification is performed as expected.]
...
PORTDIR_OVERLAY="/usr/local/portage $PORTDIR_OVERLAY
...

I.e. the ending double quote is missing.

This will, of course, cause emerge & others reading make.conf to fail, typically with something like this:

ParseError: Invalid token 'http://gentoo.mirror.dkm.cz/pub/gentoo/' (not '='): /etc/make.conf: line 29 in /etc/make.conf


Background: The reassignment to PORTDIR_OVERLAY in my make.conf is used to have /usr/local/portage first for crossdev-generated ebuilds; followed by layman-managed overlays.


emerge --info (with a non-broken make.conf):
Portage 2.1.9.42 (default/linux/amd64/10.0, gcc-4.4.5, glibc-2.11.3-r0, 2.6.37-gentoo-r4 x86_64)
=================================================================
System uname: Linux-2.6.37-gentoo-r4-x86_64-Intel-R-_Xeon-R-_CPU_X5550_@_2.67GHz-with-gentoo-1.12.14
Timestamp of tree: Sat, 16 Apr 2011 09:15:01 +0000
distcc 3.1 x86_64-pc-linux-gnu [disabled]
app-shells/bash:     4.1_p9
dev-lang/python:     2.7.1-r1, 3.1.3-r1
sys-apps/baselayout: 1.12.14-r1
sys-apps/sandbox:    2.4
sys-devel/autoconf:  2.65-r1
sys-devel/automake:  1.11.1
sys-devel/binutils:  2.20.1-r1
sys-devel/gcc:       4.4.5
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.10
sys-devel/make:      3.81-r2
sys-kernel/linux-headers: 2.6.36.1
virtual/os-headers:  0
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=core2 -mtune=generic -O2 -pipe -momit-leaf-frame-pointer"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/openvpn/easy-rsa"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/php/apache2-php5.3/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=core2 -mtune=generic -O2 -pipe -momit-leaf-frame-pointer"
DISTDIR="/var/portage/distfiles"
EMERGE_DEFAULT_OPTS="-j --load-average=8"
FEATURES="assume-digests binpkg-logs buildpkg collision-protect distlocks fixlafiles fixpackages news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox"
FFLAGS=""
GENTOO_MIRRORS="http://de-mirror.org/distro/gentoo/ http://ftp-stud.hs-esslingen.de/pub/Mirrors/gentoo/ http://gentoo.mirror.dkm.cz/pub/gentoo/ http://mirror.ovh.net/gentoo-distfiles/ http://mirrors.linuxant.fr/distfiles.gentoo.org/"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="en de"
MAKEOPTS="-j -l 12"
PKGDIR="/var/portage/packages"
PORTAGE_CONFIGROOT="/"
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="/usr/local/portage /var/lib/layman/jmbreuer"
SYNC="rsync://rsync.de.gentoo.org/gentoo-portage"
USE="acl acpi amd64 apache2 berkdb bzip2 cli cracklib crypt cxx dri gd gdbm gpm iconv ipv6 ldap mmx modules mudflap multilib ncurses network-cron nls nptl nptlonly openmp pam pcre perl pppd python readline session sse sse2 ssl subversion sysfs tcpd unicode vim-syntax xml xorg zip zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" 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" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CAMERAS="ptp2" 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="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en de" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="fbdev glint intel mach64 mga neomagic nouveau nv r128 radeon savage sis tdfx trident vesa via vmware dummy v4l" 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, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2011-04-18 06:21:57 UTC
Could you attach the complete make.conf file? I'll take a look at it ASAP.
Comment 2 Joe Breuer 2011-04-20 06:17:33 UTC
Created attachment 270615 [details]
One of my make.conf exposing the problem
Comment 3 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2011-04-20 12:14:40 UTC
Ok, I'm able to reproduce it. Debugging is going to take a while, though.
Comment 4 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2011-04-20 12:23:22 UTC
Ok, it seems like a lexer fault; should be easy to solve then. In the meantime, the workaround is to used braced variable references, i.e. s/$PORTDIR_OVERLAY/${PORTDIR_OVERLAY}/.
Comment 5 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2011-04-20 12:34:20 UTC
Fixed in 8312d01 [1]. I'll mark this bug fixed as soon as the fix gets released.

[1] https://github.com/mgorny/flaggie/commit/8312d01786de0d6a0558f8bcafb57ece760c1398
Comment 6 Joe Breuer 2011-04-21 05:47:22 UTC
Great, thanks! - Especially for posting the workaround; that significantly "demilitarizes" the situation for me (and all others finding the bug report) in the mean time.

And... "I can confirm that the workaround performs as expected here."
Comment 7 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2011-08-14 08:57:41 UTC
Ok, finally bumped.