Description of Problem:
If you use the -v flag to ecosconfig it will show possible solutions to
conflicts. Its getting the solutions wrong. It suggests turning an option
off, when it should turn it on.
~>ecosconfig -v resolve
C CYGPKG_OPENSSL, "requires" constraint not satisfied: (CYGPKG_OPENSSL_SHA
(CYGPKG_OPENSSL_MDC2 && CYGPKG_OPENSSL_DES) ||
CYGPKG_OPENSSL_MD5 -> 0
C CYGPKG_OPENSSL, "requires" constraint not satisfied: CYGPKG_OPENSSL_BUFFER
CYGPKG_OPENSSL_BUFFER -> 0
ecosconfig 1.5.2 (Oct 31 2001 10:42:53)
Copyright (c) 2001 Red Hat, Inc.
The correct solution for both of these is -> 1, not 0.
Attached is the ecos.ecc file. Sorry, its huge!
Created attachment 37502 [details]
ecos.ecc which makes it go wrong
Created attachment 39867 [details]
Patch for host/tools/configtool/standalone/common/cdl_exec.cxx
The analysis was not quite correct. The code that reported possible
solutions was ignoring the different flavors of CDL options. It
would report the right thing for options with the data flavor,
but not for bool or booldata options. A patch has been attached
and should show up in anoncvs for the next update.
Andrew, feel free to close this when you're happy...
anoncvs will be updated tomorrow if that helps.
Bart, did you build a new ecosconfig binary you could just give Andrew?
It not gets the correct answer when check is used.
Should resolve use this answer? When i use the resolve command it just reports
the conflict. If -v is used it reports the solution. But it will not use the
solution. Is the code which uses the solution broken in the same way as the code
that printed the solution?
"ecosconfig resolve" will never overwrite a user setting - the same applies
for all of the configuration technology. In this example the solutions cannot
be applied automatically because both CYGPKG_OPENSSL_BUFFER and
CYGPKG_OPENSSL_MD5 have user values. So it is the user that must apply
It would be possible to add a flag to "ecosconfig resolve" giving it
permission to override user values, but I am somewhat reluctant to
give batch tools that much power. Interactive tools such as the GUI
are more suited for such situations.