This is the mail archive of the
ecos-bugs@sourceware.org
mailing list for the eCos project.
[Issue 1001632] New: Patch for making it easy to diff ecosconfigurations
- From: bugzilla-daemon at ecoscentric dot com
- To: ecos-bugs at ecos dot sourceware dot org
- Date: Thu, 26 Jul 2012 08:58:28 +0100
- Subject: [Issue 1001632] New: Patch for making it easy to diff ecosconfigurations
- Auto-submitted: auto-generated
Please do not reply to this email. Use the web interface provided at:
https://bugzilla.ecoscentric.com/show_bug.cgi?id=1001632
Summary: Patch for making it easy to diff ecos configurations
Product: eCos
Version: unknown
Platform: All
OS/Version: All
Status: UNCONFIRMED
Severity: enhancement
Priority: normal
Component: ecosconfig
AssignedTo: unassigned@bugs.ecos.sourceware.org
ReportedBy: mha@sophion.dk
QAContact: ecos-bugs@ecos.sourceware.org
CC: ecos-bugs@ecos.sourceware.org
Class: Advice Request
Created an attachment (id=1843)
--> (https://bugzilla.ecoscentric.com/attachment.cgi?id=1843)
Adds the command "dump" to ecosconfig
I have been frustrated when trying to diff two versions of our configuration
files that this is so hard to do. Changing one option often has side effects in
a lot of places, much of it in comments without any real impact on the values
in effect. Sometimes a change makes an option user selected rather than
default, but the value stays the same.
I am attaching a patch that adds a dump command to ecosconfig. This outputs
something like the following:
...
component CYGPKG_HAL_ROM_MONITOR =
component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT = 1
option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE = inactive
option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE = 1
option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE = 1
option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE = 1
option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT = inactive
option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET = 1
option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION = 1
option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US = 1
option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VPRINTF = 0
option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA = 1
option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS = 1
option CYGSEM_HAL_VIRTUAL_VECTOR_DIAG = 1
option CYGSEM_HAL_ROM_MONITOR = 0
option CYGSEM_HAL_USE_ROM_MONITOR = 0 GDB_stubs
option CYGFUN_HAL_GDB_FILEIO = 0
component CYGFUN_HAL_DIAG_VIA_GDB_FILEIO = 0
option CYGSEM_HAL_DIAG_TO_GDBFILEIO_CHAN = inactive
option CYGPKG_HAL_BUILD_COMPILER_TESTS = 0
component CYGPKG_HAL_TESTS = tests/context tests/basic tests/cache
component CYGBLD_HAL_COMMON_MINIMIZE = 0
option CYGBLD_HAL_COMMON_MINIMIZE_IDLE_STACK = inactive
option CYGBLD_HAL_COMMON_MINIMIZE_INTERRUPT_STACK = inactive
package CYGPKG_HAL_ARM
...
Each entry is a single line, which makes it easy to diff. Each value shows the
effective value - regardless of how it was arrived at.
I am also attaching a python script that I use to make the actual diffing
easier. Given two config files (which may reside in subversion or on disc) it
computes the difference in an easy to read way.
Finally, I am also attaching an example of a python unittest that demonstrates
how this can be used to check that
1. two configurations differ only in allowed ways (we have a jtag and a ram
configuration that should always stay in sync)
2. certain configuration settings are kept at a specified value (we found that
a particular setting was accidentally changed which affected our network
throughput)
--
Configure issuemail: https://bugzilla.ecoscentric.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the issue.
You are on the CC list for the issue.