Minor bug in crossdev, as the title says its storing the options I passed without the quotes. That means emerge spills some messages about 'command not found' referring to the second options on those lines. Here's an example of what I'm doing (mind you it doesn't work for what its intended -- i.e. the mingw-w64 tools are not quite right, they are missing the 32 bit libc++ and other details): $ sudo crossdev -t x86_64-w64-mingw32 \ > --b 2.22 --g 4.6.2 \ > --benv EXTRA_ECONF="--enable-targets=x86_64-w64-mingw32,i686-w64-mingw32" \ > --genv EXTRA_ECONF="--enable-multilib --enable-targets=all" \ > --lenv EXTRA_ECONF="--enable-lib64 --enable-lib32" That command succeeds. Later using emerge for my weekly update: /etc/portage/env/cross-x86_64-w64-mingw32/mingw64-runtime: line 2: --enable-lib32: command not found /etc/portage/env/cross-x86_64-w64-mingw32/gcc: line 2: --enable-targets=all: command not found And the offending lines: $ head -n 2 /etc/portage/env/cross-x86_64-w64-mingw32/mingw64-runtime /etc/portage/env/cross-x86_64-w64-mingw32/gcc ==> /etc/portage/env/cross-x86_64-w64-mingw32/mingw64-runtime <== SYMLINK_LIB=no EXTRA_ECONF=--enable-lib64 --enable-lib32 ==> /etc/portage/env/cross-x86_64-w64-mingw32/gcc <== SYMLINK_LIB=no EXTRA_ECONF=--enable-multilib --enable-targets=all Same thing with /etc/portage/env/cross-x86_64-w64-mingw32/binutils (but emerge didn't spill anything about it). Reproducible: Always Steps to Reproduce: 1. Use crossdev with some extra options, more than one. 2. Use emerge for anything. 3. See the first lines output by emerge. Actual Results: The options where stored without quoting them, emerge sets those options, the second (and subsequent) option is taken a separate command. Expected Results: No messages about these options.
this is behaving (mostly) as intended idea was to do: --benv 'VAR="some values"\nSOMETHING="more stuff"' in your example below, there's no way of supporting multiple variables. obviously this won't work: --genv EXTRA_ECONF="--enable-multilib --enable-targets=all" CFLAGS="-pipe" you need to pass that in as a single argument: --genv 'EXTRA_ECONF="--enable-multilib --enable-targets=all" CFLAGS="-pipe"' i've added a little more info to the --help output http://git.overlays.gentoo.org/gitweb/?p=proj/crossdev.git;a=commitdiff;h=17661edff9a8933975ada3f4b1448d132aa0f050
(In reply to comment #1) > this is behaving (mostly) as intended > > idea was to do: > --benv 'VAR="some values"\nSOMETHING="more stuff"' > > in your example below, there's no way of supporting multiple variables. > obviously this won't work: > --genv EXTRA_ECONF="--enable-multilib --enable-targets=all" CFLAGS="-pipe" [snip] And where did you get the CFLAGS from? I certainly didn't use it, and you seem to be missing the point: its multiple parameters not multiple environment variables.
(In reply to comment #2) no, i'm afraid you seemed to miss the point. the --env flags take multiple variables, not just one you happen to want to set.
(In reply to comment #3) > (In reply to comment #2) > > no, i'm afraid you seemed to miss the point. the --env flags take multiple > variables, not just one you happen to want to set. My report is about multiple parameters set in one variable missing the required quotes. No mention of multiple variables.
(In reply to comment #4) and i'm afraid you missed the point then. current behavior is working as intended. use the syntax i suggested to make it work for you.